/*!***************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/@symfony/webpack-encore/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/bootstrap/dist/css/bootstrap.css ***!
  \***************************************************************************************************************************************************************************/
@charset "UTF-8";
/*!
 * Bootstrap  v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
: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: #198754;
  --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: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: #052c65;
  --bs-secondary-text-emphasis: #2b2f32;
  --bs-success-text-emphasis: #0a3622;
  --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: #cfe2ff;
  --bs-secondary-bg-subtle: #e2e3e5;
  --bs-success-bg-subtle: #d1e7dd;
  --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: #9ec5fe;
  --bs-secondary-border-subtle: #c4c8cb;
  --bs-success-border-subtle: #a3cfbb;
  --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-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --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: #0d6efd;
  --bs-link-color-rgb: 13, 110, 253;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #0a58ca;
  --bs-link-hover-color-rgb: 10, 88, 202;
  --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(13, 110, 253, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: #2b3035;
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: #6ea8fe;
  --bs-secondary-text-emphasis: #a7acb1;
  --bs-success-text-emphasis: #75b798;
  --bs-info-text-emphasis: #6edff6;
  --bs-warning-text-emphasis: #ffda6a;
  --bs-danger-text-emphasis: #ea868f;
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: #031633;
  --bs-secondary-bg-subtle: #161719;
  --bs-success-bg-subtle: #051b11;
  --bs-info-bg-subtle: #032830;
  --bs-warning-bg-subtle: #332701;
  --bs-danger-bg-subtle: #2c0b0e;
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: #084298;
  --bs-secondary-border-subtle: #41464b;
  --bs-success-border-subtle: #0f5132;
  --bs-info-border-subtle: #087990;
  --bs-warning-border-subtle: #997404;
  --bs-danger-border-subtle: #842029;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: #6ea8fe;
  --bs-link-hover-color: #8bb9fe;
  --bs-link-color-rgb: 110, 168, 254;
  --bs-link-hover-color-rgb: 139, 185, 254;
  --bs-code-color: #e685b5;
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: #664d03;
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: #75b798;
  --bs-form-valid-border-color: #75b798;
  --bs-form-invalid-color: #ea868f;
  --bs-form-invalid-border-color: #ea868f;
}

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

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

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

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

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--bs-heading-color);
}

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

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

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

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

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

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

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

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

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

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

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

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

dt {
  font-weight: 700;
}

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

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: underline;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

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

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

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

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

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

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

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

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: 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;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

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

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

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

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

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

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

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

textarea {
  resize: vertical;
}

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

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

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

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

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

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

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

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

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

output {
  display: inline-block;
}

iframe {
  border: 0;
}

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

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.img-thumbnail {
  padding: 0.25rem;
  background-color: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

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

.figure-caption {
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}

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

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

.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: 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: 1400px) {
  .col-xxl {
    flex: 1 0 0%;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.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;
  }
}
.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-emphasis-color);
  --bs-table-bg: var(--bs-body-bg);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-emphasis-color);
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: var(--bs-emphasis-color);
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}

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

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

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

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

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

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

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

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

.table-primary {
  --bs-table-color: #000;
  --bs-table-bg: #cfe2ff;
  --bs-table-border-color: #a6b5cc;
  --bs-table-striped-bg: #c5d7f2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bacbe6;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bfd1ec;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-secondary {
  --bs-table-color: #000;
  --bs-table-bg: #e2e3e5;
  --bs-table-border-color: #b5b6b7;
  --bs-table-striped-bg: #d7d8da;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #cbccce;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #d1d2d4;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

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

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

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

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

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

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

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

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

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

.col-form-label-lg {
  padding-top: calc(0.5rem + var(--bs-border-width));
  padding-bottom: calc(0.5rem + var(--bs-border-width));
  font-size: 1.25rem;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + var(--bs-border-width));
  padding-bottom: calc(0.25rem + var(--bs-border-width));
  font-size: 0.875rem;
}

.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}
.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::-moz-placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control::placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.form-control::-webkit-file-upload-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::-webkit-file-upload-button {
    -webkit-transition: none;
    transition: none;
  }
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
  background-color: var(--bs-secondary-bg);
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: var(--bs-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--bs-border-width) 0;
}
.form-control-plaintext:focus {
  outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

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

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

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

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

.form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--bs-body-bg);
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}
.form-select:disabled {
  background-color: var(--bs-secondary-bg);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--bs-body-color);
}

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

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

[data-bs-theme=dark] .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23dee2e6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");
}

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

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

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

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

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

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

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%28255, 255, 255, 0.25%29%27/%3e%3c/svg%3e");
}

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

.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: var(--bs-border-width) solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 0.75rem;
}
.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder {
  color: transparent;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:not(:-moz-placeholder-shown), .form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}
.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.form-floating > .form-control-plaintext ~ label::after,
.form-floating > .form-select ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: var(--bs-border-width) 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #6c757d;
}
.form-floating > :disabled ~ label::after,
.form-floating > .form-control:disabled ~ label::after {
  background-color: var(--bs-secondary-bg);
}

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

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-tertiary-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
}

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

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

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

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

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-valid-color);
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-success);
  border-radius: var(--bs-border-radius);
}

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

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

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

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

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

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--bs-form-valid-color);
}

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

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

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-invalid-color);
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-danger);
  border-radius: var(--bs-border-radius);
}

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

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

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

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

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

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--bs-form-invalid-color);
}

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

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

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

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0d6efd;
  --bs-btn-border-color: #0d6efd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0b5ed7;
  --bs-btn-hover-border-color: #0a58ca;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0a58ca;
  --bs-btn-active-border-color: #0a53be;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5c636a;
  --bs-btn-hover-border-color: #565e64;
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #565e64;
  --bs-btn-active-border-color: #51585e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #6c757d;
  --bs-btn-disabled-border-color: #6c757d;
}

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

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

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

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

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

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

.btn-outline-primary {
  --bs-btn-color: #0d6efd;
  --bs-btn-border-color: #0d6efd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0d6efd;
  --bs-btn-hover-border-color: #0d6efd;
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0d6efd;
  --bs-btn-active-border-color: #0d6efd;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #0d6efd;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0d6efd;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6c757d;
  --bs-btn-hover-border-color: #6c757d;
  --bs-btn-focus-shadow-rgb: 108, 117, 125;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6c757d;
  --bs-btn-active-border-color: #6c757d;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #6c757d;
  --bs-gradient: none;
}

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

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

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

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

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

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

.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--bs-nav-tabs-border-radius);
  border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #0d6efd;
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}

.nav-underline {
  --bs-nav-underline-gap: 1rem;
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
  gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--bs-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

[data-bs-theme=dark] .navbar-toggler-icon {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27%23212529%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27M2 5L8 11L14 5%27/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27%23052c65%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27M2 5L8 11L14 5%27/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}

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

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

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

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

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

[data-bs-theme=dark] .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%236ea8fe%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%236ea8fe%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e");
}

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

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

.pagination {
  --bs-pagination-padding-x: 0.75rem;
  --bs-pagination-padding-y: 0.375rem;
  --bs-pagination-font-size: 1rem;
  --bs-pagination-color: var(--bs-link-color);
  --bs-pagination-bg: var(--bs-body-bg);
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-border-color: var(--bs-border-color);
  --bs-pagination-border-radius: var(--bs-border-radius);
  --bs-pagination-hover-color: var(--bs-link-hover-color);
  --bs-pagination-hover-bg: var(--bs-tertiary-bg);
  --bs-pagination-hover-border-color: var(--bs-border-color);
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: var(--bs-secondary-bg);
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #0d6efd;
  --bs-pagination-active-border-color: #0d6efd;
  --bs-pagination-disabled-color: var(--bs-secondary-color);
  --bs-pagination-disabled-bg: var(--bs-secondary-bg);
  --bs-pagination-disabled-border-color: var(--bs-border-color);
  display: flex;
  padding-left: 0;
  list-style: none;
}

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

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

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

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

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

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

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

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
  color: var(--bs-alert-link-color);
}

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

.alert-primary {
  --bs-alert-color: var(--bs-primary-text-emphasis);
  --bs-alert-bg: var(--bs-primary-bg-subtle);
  --bs-alert-border-color: var(--bs-primary-border-subtle);
  --bs-alert-link-color: var(--bs-primary-text-emphasis);
}

.alert-secondary {
  --bs-alert-color: var(--bs-secondary-text-emphasis);
  --bs-alert-bg: var(--bs-secondary-bg-subtle);
  --bs-alert-border-color: var(--bs-secondary-border-subtle);
  --bs-alert-link-color: var(--bs-secondary-text-emphasis);
}

.alert-success {
  --bs-alert-color: var(--bs-success-text-emphasis);
  --bs-alert-bg: var(--bs-success-bg-subtle);
  --bs-alert-border-color: var(--bs-success-border-subtle);
  --bs-alert-link-color: var(--bs-success-text-emphasis);
}

.alert-info {
  --bs-alert-color: var(--bs-info-text-emphasis);
  --bs-alert-bg: var(--bs-info-bg-subtle);
  --bs-alert-border-color: var(--bs-info-border-subtle);
  --bs-alert-link-color: var(--bs-info-text-emphasis);
}

.alert-warning {
  --bs-alert-color: var(--bs-warning-text-emphasis);
  --bs-alert-bg: var(--bs-warning-bg-subtle);
  --bs-alert-border-color: var(--bs-warning-border-subtle);
  --bs-alert-link-color: var(--bs-warning-text-emphasis);
}

.alert-danger {
  --bs-alert-color: var(--bs-danger-text-emphasis);
  --bs-alert-bg: var(--bs-danger-bg-subtle);
  --bs-alert-border-color: var(--bs-danger-border-subtle);
  --bs-alert-link-color: var(--bs-danger-text-emphasis);
}

.alert-light {
  --bs-alert-color: var(--bs-light-text-emphasis);
  --bs-alert-bg: var(--bs-light-bg-subtle);
  --bs-alert-border-color: var(--bs-light-border-subtle);
  --bs-alert-link-color: var(--bs-light-text-emphasis);
}

.alert-dark {
  --bs-alert-color: var(--bs-dark-text-emphasis);
  --bs-alert-bg: var(--bs-dark-bg-subtle);
  --bs-alert-border-color: var(--bs-dark-border-subtle);
  --bs-alert-link-color: var(--bs-dark-text-emphasis);
}

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

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

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

.progress-stacked > .progress {
  overflow: visible;
}

.progress-stacked > .progress > .progress-bar {
  width: 100%;
}

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

.list-group {
  --bs-list-group-color: var(--bs-body-color);
  --bs-list-group-bg: var(--bs-body-bg);
  --bs-list-group-border-color: var(--bs-border-color);
  --bs-list-group-border-width: var(--bs-border-width);
  --bs-list-group-border-radius: var(--bs-border-radius);
  --bs-list-group-item-padding-x: 1rem;
  --bs-list-group-item-padding-y: 0.5rem;
  --bs-list-group-action-color: var(--bs-secondary-color);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
  --bs-list-group-action-active-color: var(--bs-body-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-bg);
  --bs-list-group-disabled-color: var(--bs-secondary-color);
  --bs-list-group-disabled-bg: var(--bs-body-bg);
  --bs-list-group-active-color: #fff;
  --bs-list-group-active-bg: #0d6efd;
  --bs-list-group-active-border-color: #0d6efd;
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--bs-list-group-border-radius);
}

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

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

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

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

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

.list-group-item-primary {
  --bs-list-group-color: var(--bs-primary-text-emphasis);
  --bs-list-group-bg: var(--bs-primary-bg-subtle);
  --bs-list-group-border-color: var(--bs-primary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
  --bs-list-group-active-color: var(--bs-primary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
}

.list-group-item-secondary {
  --bs-list-group-color: var(--bs-secondary-text-emphasis);
  --bs-list-group-bg: var(--bs-secondary-bg-subtle);
  --bs-list-group-border-color: var(--bs-secondary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
}

.list-group-item-success {
  --bs-list-group-color: var(--bs-success-text-emphasis);
  --bs-list-group-bg: var(--bs-success-bg-subtle);
  --bs-list-group-border-color: var(--bs-success-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
  --bs-list-group-active-color: var(--bs-success-bg-subtle);
  --bs-list-group-active-bg: var(--bs-success-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
}

.list-group-item-info {
  --bs-list-group-color: var(--bs-info-text-emphasis);
  --bs-list-group-bg: var(--bs-info-bg-subtle);
  --bs-list-group-border-color: var(--bs-info-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
  --bs-list-group-active-color: var(--bs-info-bg-subtle);
  --bs-list-group-active-bg: var(--bs-info-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
}

.list-group-item-warning {
  --bs-list-group-color: var(--bs-warning-text-emphasis);
  --bs-list-group-bg: var(--bs-warning-bg-subtle);
  --bs-list-group-border-color: var(--bs-warning-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
  --bs-list-group-active-color: var(--bs-warning-bg-subtle);
  --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
}

.list-group-item-danger {
  --bs-list-group-color: var(--bs-danger-text-emphasis);
  --bs-list-group-bg: var(--bs-danger-bg-subtle);
  --bs-list-group-border-color: var(--bs-danger-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
  --bs-list-group-active-color: var(--bs-danger-bg-subtle);
  --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
}

.list-group-item-light {
  --bs-list-group-color: var(--bs-light-text-emphasis);
  --bs-list-group-bg: var(--bs-light-bg-subtle);
  --bs-list-group-border-color: var(--bs-light-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
  --bs-list-group-active-color: var(--bs-light-bg-subtle);
  --bs-list-group-active-bg: var(--bs-light-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
}

.list-group-item-dark {
  --bs-list-group-color: var(--bs-dark-text-emphasis);
  --bs-list-group-bg: var(--bs-dark-bg-subtle);
  --bs-list-group-border-color: var(--bs-dark-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
  --bs-list-group-active-color: var(--bs-dark-bg-subtle);
  --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
}

.btn-close {
  --bs-btn-close-color: #000;
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23000%27%3e%3cpath d=%27M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z%27/%3e%3c/svg%3e");
  --bs-btn-close-opacity: 0.5;
  --bs-btn-close-hover-opacity: 0.75;
  --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-btn-close-focus-opacity: 1;
  --bs-btn-close-disabled-opacity: 0.25;
  --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--bs-btn-close-color);
  background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
  border: 0;
  border-radius: 0.375rem;
  opacity: var(--bs-btn-close-opacity);
}
.btn-close:hover {
  color: var(--bs-btn-close-color);
  text-decoration: none;
  opacity: var(--bs-btn-close-hover-opacity);
}
.btn-close:focus {
  outline: 0;
  box-shadow: var(--bs-btn-close-focus-shadow);
  opacity: var(--bs-btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  opacity: var(--bs-btn-close-disabled-opacity);
}

.btn-close-white {
  filter: var(--bs-btn-close-white-filter);
}

[data-bs-theme=dark] .btn-close {
  filter: var(--bs-btn-close-white-filter);
}

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

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

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

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

.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 1rem;
  --bs-modal-margin: 0.5rem;
  --bs-modal-color: ;
  --bs-modal-bg: 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.5;
  --bs-modal-footer-gap: 0.5rem;
  --bs-modal-footer-bg: ;
  --bs-modal-footer-border-color: var(--bs-border-color);
  --bs-modal-footer-border-width: 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 {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

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

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

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

.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: #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);
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
  padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
  margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;
}

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

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

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

@media (min-width: 576px) {
  .modal {
    --bs-modal-margin: 1.75rem;
    --bs-modal-box-shadow: 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;
  border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}

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

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

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

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

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

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

.popover {
  --bs-popover-zindex: 1070;
  --bs-popover-max-width: 276px;
  --bs-popover-font-size: 0.875rem;
  --bs-popover-bg: var(--bs-body-bg);
  --bs-popover-border-width: var(--bs-border-width);
  --bs-popover-border-color: var(--bs-border-color-translucent);
  --bs-popover-border-radius: var(--bs-border-radius-lg);
  --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
  --bs-popover-box-shadow: var(--bs-box-shadow);
  --bs-popover-header-padding-x: 1rem;
  --bs-popover-header-padding-y: 0.5rem;
  --bs-popover-header-font-size: 1rem;
  --bs-popover-header-color: inherit;
  --bs-popover-header-bg: var(--bs-secondary-bg);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: 1rem;
  --bs-popover-body-color: var(--bs-body-color);
  --bs-popover-arrow-width: 1rem;
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-border: var(--bs-popover-border-color);
  z-index: var(--bs-popover-zindex);
  display: block;
  max-width: var(--bs-popover-max-width);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-popover-font-size);
  word-wrap: break-word;
  background-color: var(--bs-popover-bg);
  background-clip: padding-box;
  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-radius: var(--bs-popover-border-radius);
}
.popover .popover-arrow {
  display: block;
  width: var(--bs-popover-arrow-width);
  height: var(--bs-popover-arrow-height);
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}

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

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

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

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

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

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

.carousel {
  position: relative;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    --bs-spinner-animation-speed: 1.5s;
  }
}
.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
  --bs-offcanvas-zindex: 1045;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 1rem;
  --bs-offcanvas-padding-y: 1rem;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-bg: var(--bs-body-bg);
  --bs-offcanvas-border-width: var(--bs-border-width);
  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
  --bs-offcanvas-transition: transform 0.3s ease-in-out;
  --bs-offcanvas-title-line-height: 1.5;
}

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

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

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

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

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

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

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

.offcanvas-header {
  display: flex;
  align-items: center;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
}
.offcanvas-header .btn-close {
  padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
  margin: calc(-0.5 * var(--bs-offcanvas-padding-y)) calc(-0.5 * var(--bs-offcanvas-padding-x)) calc(-0.5 * var(--bs-offcanvas-padding-y)) auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.link-primary {
  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
}

.link-success {
  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
}

.link-info {
  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
}

.link-warning {
  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
}

.link-danger {
  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
}

.link-light {
  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
  color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
}

.link-dark {
  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
}

.link-body-emphasis {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}

.focus-ring:focus {
  outline: 0;
  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}

.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}

.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.vr {
  display: inline-block;
  align-self: stretch;
  width: var(--bs-border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.25;
}

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

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

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

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

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

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

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

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

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

.object-fit-contain {
  -o-object-fit: contain !important;
  object-fit: contain !important;
}

.object-fit-cover {
  -o-object-fit: cover !important;
  object-fit: cover !important;
}

.object-fit-fill {
  -o-object-fit: fill !important;
  object-fit: fill !important;
}

.object-fit-scale {
  -o-object-fit: scale-down !important;
  object-fit: scale-down !important;
}

.object-fit-none {
  -o-object-fit: none !important;
  object-fit: none !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.d-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;
}

.shadow {
  box-shadow: var(--bs-box-shadow) !important;
}

.shadow-sm {
  box-shadow: var(--bs-box-shadow-sm) !important;
}

.shadow-lg {
  box-shadow: var(--bs-box-shadow-lg) !important;
}

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

.focus-ring-primary {
  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-secondary {
  --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-success {
  --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-info {
  --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-warning {
  --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-danger {
  --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-light {
  --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-dark {
  --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.border-primary-subtle {
  border-color: var(--bs-primary-border-subtle) !important;
}

.border-secondary-subtle {
  border-color: var(--bs-secondary-border-subtle) !important;
}

.border-success-subtle {
  border-color: var(--bs-success-border-subtle) !important;
}

.border-info-subtle {
  border-color: var(--bs-info-border-subtle) !important;
}

.border-warning-subtle {
  border-color: var(--bs-warning-border-subtle) !important;
}

.border-danger-subtle {
  border-color: var(--bs-danger-border-subtle) !important;
}

.border-light-subtle {
  border-color: var(--bs-light-border-subtle) !important;
}

.border-dark-subtle {
  border-color: var(--bs-dark-border-subtle) !important;
}

.border-1 {
  border-width: 1px !important;
}

.border-2 {
  border-width: 2px !important;
}

.border-3 {
  border-width: 3px !important;
}

.border-4 {
  border-width: 4px !important;
}

.border-5 {
  border-width: 5px !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.text-primary-emphasis {
  color: var(--bs-primary-text-emphasis) !important;
}

.text-secondary-emphasis {
  color: var(--bs-secondary-text-emphasis) !important;
}

.text-success-emphasis {
  color: var(--bs-success-text-emphasis) !important;
}

.text-info-emphasis {
  color: var(--bs-info-text-emphasis) !important;
}

.text-warning-emphasis {
  color: var(--bs-warning-text-emphasis) !important;
}

.text-danger-emphasis {
  color: var(--bs-danger-text-emphasis) !important;
}

.text-light-emphasis {
  color: var(--bs-light-text-emphasis) !important;
}

.text-dark-emphasis {
  color: var(--bs-dark-text-emphasis) !important;
}

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

.link-opacity-10-hover:hover {
  --bs-link-opacity: 0.1;
}

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

.link-opacity-25-hover:hover {
  --bs-link-opacity: 0.25;
}

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

.link-opacity-50-hover:hover {
  --bs-link-opacity: 0.5;
}

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

.link-opacity-75-hover:hover {
  --bs-link-opacity: 0.75;
}

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

.link-opacity-100-hover:hover {
  --bs-link-opacity: 1;
}

.link-offset-1 {
  text-underline-offset: 0.125em !important;
}

.link-offset-1-hover:hover {
  text-underline-offset: 0.125em !important;
}

.link-offset-2 {
  text-underline-offset: 0.25em !important;
}

.link-offset-2-hover:hover {
  text-underline-offset: 0.25em !important;
}

.link-offset-3 {
  text-underline-offset: 0.375em !important;
}

.link-offset-3-hover:hover {
  text-underline-offset: 0.375em !important;
}

.link-underline-primary {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}

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

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

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

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

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

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

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

.link-underline {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}

.link-underline-opacity-0 {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-0-hover:hover {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-10 {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-10-hover:hover {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-25 {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-25-hover:hover {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-50 {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-50-hover:hover {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-75 {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-75-hover:hover {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-100 {
  --bs-link-underline-opacity: 1;
}

.link-underline-opacity-100-hover:hover {
  --bs-link-underline-opacity: 1;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bg-primary-subtle {
  background-color: var(--bs-primary-bg-subtle) !important;
}

.bg-secondary-subtle {
  background-color: var(--bs-secondary-bg-subtle) !important;
}

.bg-success-subtle {
  background-color: var(--bs-success-bg-subtle) !important;
}

.bg-info-subtle {
  background-color: var(--bs-info-bg-subtle) !important;
}

.bg-warning-subtle {
  background-color: var(--bs-warning-bg-subtle) !important;
}

.bg-danger-subtle {
  background-color: var(--bs-danger-bg-subtle) !important;
}

.bg-light-subtle {
  background-color: var(--bs-light-bg-subtle) !important;
}

.bg-dark-subtle {
  background-color: var(--bs-dark-bg-subtle) !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.rounded-end-0 {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

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

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

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

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

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

.rounded-end-circle {
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

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

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

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

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

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

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

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

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

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

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

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

.rounded-start-0 {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}

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

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

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

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

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

.rounded-start-circle {
  border-bottom-left-radius: 50% !important;
  border-top-left-radius: 50% !important;
}

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

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

.z-n1 {
  z-index: -1 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

.z-3 {
  z-index: 3 !important;
}

@media (min-width: 576px) {
  .float-sm-start {
    float: left !important;
  }
  .float-sm-end {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .object-fit-sm-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
  .object-fit-sm-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
  .object-fit-sm-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important;
  }
  .object-fit-sm-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    -o-object-fit: none !important;
    object-fit: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-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;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .me-sm-3 {
    margin-right: 1rem !important;
  }
  .me-sm-4 {
    margin-right: 1.5rem !important;
  }
  .me-sm-5 {
    margin-right: 3rem !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 1rem !important;
  }
  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-left: 3rem !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-right: 1rem !important;
  }
  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-left: 1rem !important;
  }
  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-left: 3rem !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 0.25rem !important;
  }
  .gap-sm-2 {
    gap: 0.5rem !important;
  }
  .gap-sm-3 {
    gap: 1rem !important;
  }
  .gap-sm-4 {
    gap: 1.5rem !important;
  }
  .gap-sm-5 {
    gap: 3rem !important;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-sm-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-sm-3 {
    row-gap: 1rem !important;
  }
  .row-gap-sm-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-sm-5 {
    row-gap: 3rem !important;
  }
  .column-gap-sm-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
  }
  .column-gap-sm-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
  }
  .column-gap-sm-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
  }
  .column-gap-sm-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
  }
  .column-gap-sm-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
  }
  .text-sm-start {
    text-align: left !important;
  }
  .text-sm-end {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: left !important;
  }
  .float-md-end {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
  .object-fit-md-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
  .object-fit-md-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
  .object-fit-md-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important;
  }
  .object-fit-md-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
  }
  .object-fit-md-none {
    -o-object-fit: none !important;
    object-fit: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-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;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 0.25rem !important;
  }
  .me-md-2 {
    margin-right: 0.5rem !important;
  }
  .me-md-3 {
    margin-right: 1rem !important;
  }
  .me-md-4 {
    margin-right: 1.5rem !important;
  }
  .me-md-5 {
    margin-right: 3rem !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 1rem !important;
  }
  .ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .ms-md-5 {
    margin-left: 3rem !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .pe-md-3 {
    padding-right: 1rem !important;
  }
  .pe-md-4 {
    padding-right: 1.5rem !important;
  }
  .pe-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .ps-md-3 {
    padding-left: 1rem !important;
  }
  .ps-md-4 {
    padding-left: 1.5rem !important;
  }
  .ps-md-5 {
    padding-left: 3rem !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 0.25rem !important;
  }
  .gap-md-2 {
    gap: 0.5rem !important;
  }
  .gap-md-3 {
    gap: 1rem !important;
  }
  .gap-md-4 {
    gap: 1.5rem !important;
  }
  .gap-md-5 {
    gap: 3rem !important;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-md-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-md-3 {
    row-gap: 1rem !important;
  }
  .row-gap-md-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-md-5 {
    row-gap: 3rem !important;
  }
  .column-gap-md-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
  }
  .column-gap-md-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
  }
  .column-gap-md-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
  }
  .column-gap-md-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
  }
  .column-gap-md-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
  }
  .column-gap-md-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: left !important;
  }
  .float-lg-end {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .object-fit-lg-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
  .object-fit-lg-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
  .object-fit-lg-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important;
  }
  .object-fit-lg-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    -o-object-fit: none !important;
    object-fit: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-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;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .me-lg-3 {
    margin-right: 1rem !important;
  }
  .me-lg-4 {
    margin-right: 1.5rem !important;
  }
  .me-lg-5 {
    margin-right: 3rem !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 1rem !important;
  }
  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-left: 3rem !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-right: 1rem !important;
  }
  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-left: 1rem !important;
  }
  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-left: 3rem !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 0.25rem !important;
  }
  .gap-lg-2 {
    gap: 0.5rem !important;
  }
  .gap-lg-3 {
    gap: 1rem !important;
  }
  .gap-lg-4 {
    gap: 1.5rem !important;
  }
  .gap-lg-5 {
    gap: 3rem !important;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-lg-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-lg-3 {
    row-gap: 1rem !important;
  }
  .row-gap-lg-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-lg-5 {
    row-gap: 3rem !important;
  }
  .column-gap-lg-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
  }
  .column-gap-lg-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
  }
  .column-gap-lg-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
  }
  .column-gap-lg-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
  }
  .column-gap-lg-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
  }
  .text-lg-start {
    text-align: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-start {
    float: left !important;
  }
  .float-xl-end {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .object-fit-xl-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
  .object-fit-xl-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
  .object-fit-xl-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important;
  }
  .object-fit-xl-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    -o-object-fit: none !important;
    object-fit: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-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;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xl-3 {
    margin-right: 1rem !important;
  }
  .me-xl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xl-5 {
    margin-right: 3rem !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 1rem !important;
  }
  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-left: 3rem !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-right: 1rem !important;
  }
  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-left: 1rem !important;
  }
  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-left: 3rem !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 0.25rem !important;
  }
  .gap-xl-2 {
    gap: 0.5rem !important;
  }
  .gap-xl-3 {
    gap: 1rem !important;
  }
  .gap-xl-4 {
    gap: 1.5rem !important;
  }
  .gap-xl-5 {
    gap: 3rem !important;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xl-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
  }
  .column-gap-xl-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
  }
  .column-gap-xl-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
  }
  .column-gap-xl-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
  }
  .column-gap-xl-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
  }
  .text-xl-start {
    text-align: left !important;
  }
  .text-xl-end {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: left !important;
  }
  .float-xxl-end {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .object-fit-xxl-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    -o-object-fit: none !important;
    object-fit: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-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;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-right: 1rem !important;
  }
  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-right: 3rem !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-left: 3rem !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-right: 1rem !important;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-right: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-left: 1rem !important;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-left: 3rem !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 0.25rem !important;
  }
  .gap-xxl-2 {
    gap: 0.5rem !important;
  }
  .gap-xxl-3 {
    gap: 1rem !important;
  }
  .gap-xxl-4 {
    gap: 1.5rem !important;
  }
  .gap-xxl-5 {
    gap: 3rem !important;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xxl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xxl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xxl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xxl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xxl-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
  }
  .column-gap-xxl-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
  }
  .column-gap-xxl-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
  }
  .column-gap-xxl-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
  }
  .column-gap-xxl-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
  }
  .text-xxl-start {
    text-align: left !important;
  }
  .text-xxl-end {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.5rem !important;
  }
  .fs-2 {
    font-size: 2rem !important;
  }
  .fs-3 {
    font-size: 1.75rem !important;
  }
  .fs-4 {
    font-size: 1.5rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-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;
  }
}

/*# sourceMappingURL=bootstrap.css.map */
/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/@symfony/webpack-encore/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css ***!
  \*****************************************************************************************************************************************************************************************************/
/*!
 * Datepicker for Bootstrap v1.10.0 (https://github.com/uxsolutions/bootstrap-datepicker)
 *
 * Licensed under the Apache License v2.0 (https://www.apache.org/licenses/LICENSE-2.0)
 */

.datepicker{padding:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #999;border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid #999}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker td,.datepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day.focused,.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.new,.datepicker table tr td.old{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.highlighted{background:#d9edf7;border-radius:0}.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{background-color:#fde19a;background-image:-moz-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-o-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#000}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today.disabled:hover[disabled],.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today:active,.datepicker table tr td.today:hover,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today:hover:active,.datepicker table tr td.today:hover:hover,.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today[disabled]{background-color:#fdf59a}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today:active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active{background-color:#fbf069\9}.datepicker table tr td.today:hover:hover{color:#000}.datepicker table tr td.today.active:hover{color:#fff}.datepicker table tr td.range,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range:hover{background:#eee;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today:hover{background-color:#f3d17a;background-image:-moz-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-ms-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f3c17a),to(#f3e97a));background-image:-webkit-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-o-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:linear-gradient(to bottom,#f3c17a,#f3e97a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);border-color:#f3e97a #f3e97a #edde34;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled.disabled,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover.disabled,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.disabled:hover:hover,.datepicker table tr td.range.today.disabled:hover[disabled],.datepicker table tr td.range.today.disabled[disabled],.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover.disabled,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today:hover:hover,.datepicker table tr td.range.today:hover[disabled],.datepicker table tr td.range.today[disabled]{background-color:#f3e97a}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active{background-color:#efe24b\9}.datepicker table tr td.selected,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected:hover{background-color:#9e9e9e;background-image:-moz-linear-gradient(to bottom,#b3b3b3,grey);background-image:-ms-linear-gradient(to bottom,#b3b3b3,grey);background-image:-webkit-gradient(linear,0 0,0 100%,from(#b3b3b3),to(grey));background-image:-webkit-linear-gradient(to bottom,#b3b3b3,grey);background-image:-o-linear-gradient(to bottom,#b3b3b3,grey);background-image:linear-gradient(to bottom,#b3b3b3,grey);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);border-color:grey grey #595959;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled.disabled,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover.disabled,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.disabled:hover:hover,.datepicker table tr td.selected.disabled:hover[disabled],.datepicker table tr td.selected.disabled[disabled],.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover.disabled,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected:hover:hover,.datepicker table tr td.selected:hover[disabled],.datepicker table tr td.selected[disabled]{background-color:grey}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active{background-color:#666\9}.datepicker table tr td.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active.disabled:hover[disabled],.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active:active,.datepicker table tr td.active:hover,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active:hover:active,.datepicker table tr td.active:hover:hover,.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active[disabled]{background-color:#04c}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active:active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active{background-color:#039\9}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active.disabled:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active[disabled]{background-color:#04c}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{background-color:#039\9}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#999}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-append.date .add-on,.input-prepend.date .add-on{cursor:pointer}.input-append.date .add-on i,.input-prepend.date .add-on i{margin-top:3px}.input-daterange input{text-align:center}.input-daterange input:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-daterange input:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-daterange .add-on{display:inline-block;width:auto;min-width:16px;height:18px;padding:4px 5px;font-weight:400;line-height:18px;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:1px solid #ccc;margin-left:-5px;margin-right:-5px}
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/@symfony/webpack-encore/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sweetalert2/src/sweetalert2.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.swal2-popup.swal2-toast {
  box-sizing: border-box;
  grid-column: 1/4 !important;
  grid-row: 1/4 !important;
  grid-template-columns: 1fr 99fr 1fr;
  padding: 1em;
  overflow-y: hidden;
  background: #fff;
  box-shadow: 0 0 1px hsla(0, 0%, 0%, 0.075), 0 1px 2px hsla(0, 0%, 0%, 0.075), 1px 2px 4px hsla(0, 0%, 0%, 0.075), 1px 3px 8px hsla(0, 0%, 0%, 0.075), 2px 4px 16px hsla(0, 0%, 0%, 0.075);
  pointer-events: all;
}
.swal2-popup.swal2-toast > * {
  grid-column: 2;
}
.swal2-popup.swal2-toast .swal2-title {
  margin: 0.5em 1em;
  padding: 0;
  font-size: 1em;
  text-align: initial;
}
.swal2-popup.swal2-toast .swal2-loading {
  justify-content: center;
}
.swal2-popup.swal2-toast .swal2-input {
  height: 2em;
  margin: 0.5em;
  font-size: 1em;
}
.swal2-popup.swal2-toast .swal2-validation-message {
  font-size: 1em;
}
.swal2-popup.swal2-toast .swal2-footer {
  margin: 0.5em 0 0;
  padding: 0.5em 0 0;
  font-size: 0.8em;
}
.swal2-popup.swal2-toast .swal2-close {
  grid-column: 3/3;
  grid-row: 1/99;
  align-self: center;
  width: 0.8em;
  height: 0.8em;
  margin: 0;
  font-size: 2em;
}
.swal2-popup.swal2-toast .swal2-html-container {
  margin: 0.5em 1em;
  padding: 0;
  font-size: 1em;
  text-align: initial;
}
.swal2-popup.swal2-toast .swal2-html-container:empty {
  padding: 0;
}
.swal2-popup.swal2-toast .swal2-loader {
  grid-column: 1;
  grid-row: 1/99;
  align-self: center;
  width: 2em;
  height: 2em;
  margin: 0.25em;
}
.swal2-popup.swal2-toast .swal2-icon {
  grid-column: 1;
  grid-row: 1/99;
  align-self: center;
  width: 2em;
  min-width: 2em;
  height: 2em;
  margin: 0 0.5em 0 0;
}
.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content {
  display: flex;
  align-items: center;
  font-size: 1.8em;
  font-weight: bold;
}
.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring {
  width: 2em;
  height: 2em;
}
.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line] {
  top: 0.875em;
  width: 1.375em;
}
.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left] {
  left: 0.3125em;
}
.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right] {
  right: 0.3125em;
}
.swal2-popup.swal2-toast .swal2-actions {
  justify-content: flex-start;
  height: auto;
  margin: 0;
  margin-top: 0.5em;
  padding: 0 0.5em;
}
.swal2-popup.swal2-toast .swal2-styled {
  margin: 0.25em 0.5em;
  padding: 0.4em 0.6em;
  font-size: 1em;
}
.swal2-popup.swal2-toast .swal2-success {
  border-color: #a5dc86;
}
.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line] {
  position: absolute;
  width: 1.6em;
  height: 3em;
  transform: rotate(45deg);
  border-radius: 50%;
}
.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left] {
  top: -0.8em;
  left: -0.5em;
  transform: rotate(-45deg);
  transform-origin: 2em 2em;
  border-radius: 4em 0 0 4em;
}
.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right] {
  top: -0.25em;
  left: 0.9375em;
  transform-origin: 0 1.5em;
  border-radius: 0 4em 4em 0;
}
.swal2-popup.swal2-toast .swal2-success .swal2-success-ring {
  width: 2em;
  height: 2em;
}
.swal2-popup.swal2-toast .swal2-success .swal2-success-fix {
  top: 0;
  left: 0.4375em;
  width: 0.4375em;
  height: 2.6875em;
}
.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line] {
  height: 0.3125em;
}
.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip] {
  top: 1.125em;
  left: 0.1875em;
  width: 0.75em;
}
.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long] {
  top: 0.9375em;
  right: 0.1875em;
  width: 1.375em;
}
.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip {
  animation: swal2-toast-animate-success-line-tip 0.75s;
}
.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long {
  animation: swal2-toast-animate-success-line-long 0.75s;
}
.swal2-popup.swal2-toast.swal2-show {
  animation: swal2-toast-show 0.5s;
}
.swal2-popup.swal2-toast.swal2-hide {
  animation: swal2-toast-hide 0.1s forwards;
}

.swal2-container {
  display: grid;
  position: fixed;
  z-index: 1060;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  box-sizing: border-box;
  grid-template-areas: "top-start     top            top-end" "center-start  center         center-end" "bottom-start  bottom-center  bottom-end";
  grid-template-rows: minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);
  height: 100%;
  padding: 0.625em;
  overflow-x: hidden;
  transition: background-color 0.1s;
  -webkit-overflow-scrolling: touch;
}
.swal2-container.swal2-backdrop-show, .swal2-container.swal2-noanimation {
  background: rgba(0, 0, 0, 0.4);
}
.swal2-container.swal2-backdrop-hide {
  background: transparent !important;
}
.swal2-container.swal2-top-start, .swal2-container.swal2-center-start, .swal2-container.swal2-bottom-start {
  grid-template-columns: minmax(0, 1fr) auto auto;
}
.swal2-container.swal2-top, .swal2-container.swal2-center, .swal2-container.swal2-bottom {
  grid-template-columns: auto minmax(0, 1fr) auto;
}
.swal2-container.swal2-top-end, .swal2-container.swal2-center-end, .swal2-container.swal2-bottom-end {
  grid-template-columns: auto auto minmax(0, 1fr);
}
.swal2-container.swal2-top-start > .swal2-popup {
  align-self: start;
}
.swal2-container.swal2-top > .swal2-popup {
  grid-column: 2;
  align-self: start;
  justify-self: center;
}
.swal2-container.swal2-top-end > .swal2-popup, .swal2-container.swal2-top-right > .swal2-popup {
  grid-column: 3;
  align-self: start;
  justify-self: end;
}
.swal2-container.swal2-center-start > .swal2-popup, .swal2-container.swal2-center-left > .swal2-popup {
  grid-row: 2;
  align-self: center;
}
.swal2-container.swal2-center > .swal2-popup {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  justify-self: center;
}
.swal2-container.swal2-center-end > .swal2-popup, .swal2-container.swal2-center-right > .swal2-popup {
  grid-column: 3;
  grid-row: 2;
  align-self: center;
  justify-self: end;
}
.swal2-container.swal2-bottom-start > .swal2-popup, .swal2-container.swal2-bottom-left > .swal2-popup {
  grid-column: 1;
  grid-row: 3;
  align-self: end;
}
.swal2-container.swal2-bottom > .swal2-popup {
  grid-column: 2;
  grid-row: 3;
  justify-self: center;
  align-self: end;
}
.swal2-container.swal2-bottom-end > .swal2-popup, .swal2-container.swal2-bottom-right > .swal2-popup {
  grid-column: 3;
  grid-row: 3;
  align-self: end;
  justify-self: end;
}
.swal2-container.swal2-grow-row > .swal2-popup, .swal2-container.swal2-grow-fullscreen > .swal2-popup {
  grid-column: 1/4;
  width: 100%;
}
.swal2-container.swal2-grow-column > .swal2-popup, .swal2-container.swal2-grow-fullscreen > .swal2-popup {
  grid-row: 1/4;
  align-self: stretch;
}
.swal2-container.swal2-no-transition {
  transition: none !important;
}

.swal2-popup {
  display: none;
  position: relative;
  box-sizing: border-box;
  grid-template-columns: minmax(0, 100%);
  width: 32em;
  max-width: 100%;
  padding: 0 0 1.25em;
  border: none;
  border-radius: 5px;
  background: #fff;
  color: #545454;
  font-family: inherit;
  font-size: 1rem;
}
.swal2-popup:focus {
  outline: none;
}
.swal2-popup.swal2-loading {
  overflow-y: hidden;
}

.swal2-title {
  position: relative;
  max-width: 100%;
  margin: 0;
  padding: 0.8em 1em 0;
  color: inherit;
  font-size: 1.875em;
  font-weight: 600;
  text-align: center;
  text-transform: none;
  word-wrap: break-word;
}

.swal2-actions {
  display: flex;
  z-index: 1;
  box-sizing: border-box;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: auto;
  margin: 1.25em auto 0;
  padding: 0;
}
.swal2-actions:not(.swal2-loading) .swal2-styled[disabled] {
  opacity: 0.4;
}
.swal2-actions:not(.swal2-loading) .swal2-styled:hover {
  background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));
}
.swal2-actions:not(.swal2-loading) .swal2-styled:active {
  background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
}

.swal2-loader {
  display: none;
  align-items: center;
  justify-content: center;
  width: 2.2em;
  height: 2.2em;
  margin: 0 1.875em;
  animation: swal2-rotate-loading 1.5s linear 0s infinite normal;
  border-width: 0.25em;
  border-style: solid;
  border-radius: 100%;
  border-color: #2778c4 transparent #2778c4 transparent;
}

.swal2-styled {
  margin: 0.3125em;
  padding: 0.625em 1.1em;
  transition: box-shadow 0.1s;
  box-shadow: 0 0 0 3px transparent;
  font-weight: 500;
}
.swal2-styled:not([disabled]) {
  cursor: pointer;
}
.swal2-styled.swal2-confirm {
  border: 0;
  border-radius: 0.25em;
  background: initial;
  background-color: #7066e0;
  color: #fff;
  font-size: 1em;
}
.swal2-styled.swal2-confirm:focus {
  box-shadow: 0 0 0 3px rgba(112, 102, 224, 0.5);
}
.swal2-styled.swal2-deny {
  border: 0;
  border-radius: 0.25em;
  background: initial;
  background-color: #dc3741;
  color: #fff;
  font-size: 1em;
}
.swal2-styled.swal2-deny:focus {
  box-shadow: 0 0 0 3px rgba(220, 55, 65, 0.5);
}
.swal2-styled.swal2-cancel {
  border: 0;
  border-radius: 0.25em;
  background: initial;
  background-color: #6e7881;
  color: #fff;
  font-size: 1em;
}
.swal2-styled.swal2-cancel:focus {
  box-shadow: 0 0 0 3px rgba(110, 120, 129, 0.5);
}
.swal2-styled.swal2-default-outline:focus {
  box-shadow: 0 0 0 3px rgba(100, 150, 200, 0.5);
}
.swal2-styled:focus {
  outline: none;
}
.swal2-styled::-moz-focus-inner {
  border: 0;
}

.swal2-footer {
  justify-content: center;
  margin: 1em 0 0;
  padding: 1em 1em 0;
  border-top: 1px solid #eee;
  color: inherit;
  font-size: 1em;
}

.swal2-timer-progress-bar-container {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  grid-column: auto !important;
  overflow: hidden;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}

.swal2-timer-progress-bar {
  width: 100%;
  height: 0.25em;
  background: rgba(0, 0, 0, 0.2);
}

.swal2-image {
  max-width: 100%;
  margin: 2em auto 1em;
}

.swal2-close {
  z-index: 2;
  align-items: center;
  justify-content: center;
  width: 1.2em;
  height: 1.2em;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: -1.2em;
  padding: 0;
  overflow: hidden;
  transition: color 0.1s, box-shadow 0.1s;
  border: none;
  border-radius: 5px;
  background: transparent;
  color: #ccc;
  font-family: serif;
  font-family: monospace;
  font-size: 2.5em;
  cursor: pointer;
  justify-self: end;
}
.swal2-close:hover {
  transform: none;
  background: transparent;
  color: #f27474;
}
.swal2-close:focus {
  outline: none;
  box-shadow: inset 0 0 0 3px rgba(100, 150, 200, 0.5);
}
.swal2-close::-moz-focus-inner {
  border: 0;
}

.swal2-html-container {
  z-index: 1;
  justify-content: center;
  margin: 1em 1.6em 0.3em;
  padding: 0;
  overflow: auto;
  color: inherit;
  font-size: 1.125em;
  font-weight: normal;
  line-height: normal;
  text-align: center;
  word-wrap: break-word;
  word-break: break-word;
}

.swal2-input,
.swal2-file,
.swal2-textarea,
.swal2-select,
.swal2-radio,
.swal2-checkbox {
  margin: 1em 2em 3px;
}

.swal2-input,
.swal2-file,
.swal2-textarea {
  box-sizing: border-box;
  width: auto;
  transition: border-color 0.1s, box-shadow 0.1s;
  border: 1px solid #d9d9d9;
  border-radius: 0.1875em;
  background: inherit;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;
  color: inherit;
  font-size: 1.125em;
}
.swal2-input.swal2-inputerror,
.swal2-file.swal2-inputerror,
.swal2-textarea.swal2-inputerror {
  border-color: #f27474 !important;
  box-shadow: 0 0 2px #f27474 !important;
}
.swal2-input:focus,
.swal2-file:focus,
.swal2-textarea:focus {
  border: 1px solid #b4dbed;
  outline: none;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px rgba(100, 150, 200, 0.5);
}
.swal2-input::placeholder,
.swal2-file::placeholder,
.swal2-textarea::placeholder {
  color: #ccc;
}

.swal2-range {
  margin: 1em 2em 3px;
  background: #fff;
}
.swal2-range input {
  width: 80%;
}
.swal2-range output {
  width: 20%;
  color: inherit;
  font-weight: 600;
  text-align: center;
}
.swal2-range input,
.swal2-range output {
  height: 2.625em;
  padding: 0;
  font-size: 1.125em;
  line-height: 2.625em;
}

.swal2-input {
  height: 2.625em;
  padding: 0 0.75em;
}

.swal2-file {
  width: 75%;
  margin-right: auto;
  margin-left: auto;
  background: inherit;
  font-size: 1.125em;
}

.swal2-textarea {
  height: 6.75em;
  padding: 0.75em;
}

.swal2-select {
  min-width: 50%;
  max-width: 100%;
  padding: 0.375em 0.625em;
  background: inherit;
  color: inherit;
  font-size: 1.125em;
}

.swal2-radio,
.swal2-checkbox {
  align-items: center;
  justify-content: center;
  background: #fff;
  color: inherit;
}
.swal2-radio label,
.swal2-checkbox label {
  margin: 0 0.6em;
  font-size: 1.125em;
}
.swal2-radio input,
.swal2-checkbox input {
  flex-shrink: 0;
  margin: 0 0.4em;
}

.swal2-input-label {
  display: flex;
  justify-content: center;
  margin: 1em auto 0;
}

.swal2-validation-message {
  align-items: center;
  justify-content: center;
  margin: 1em 0 0;
  padding: 0.625em;
  overflow: hidden;
  background: #f0f0f0;
  color: #666666;
  font-size: 1em;
  font-weight: 300;
}
.swal2-validation-message::before {
  content: "!";
  display: inline-block;
  width: 1.5em;
  min-width: 1.5em;
  height: 1.5em;
  margin: 0 0.625em;
  border-radius: 50%;
  background-color: #f27474;
  color: #fff;
  font-weight: 600;
  line-height: 1.5em;
  text-align: center;
}

.swal2-icon {
  position: relative;
  box-sizing: content-box;
  justify-content: center;
  width: 5em;
  height: 5em;
  margin: 2.5em auto 0.6em;
  border: 0.25em solid transparent;
  border-radius: 50%;
  border-color: #000;
  font-family: inherit;
  line-height: 5em;
  cursor: default;
  user-select: none;
}
.swal2-icon .swal2-icon-content {
  display: flex;
  align-items: center;
  font-size: 3.75em;
}
.swal2-icon.swal2-error {
  border-color: #f27474;
  color: #f27474;
}
.swal2-icon.swal2-error .swal2-x-mark {
  position: relative;
  flex-grow: 1;
}
.swal2-icon.swal2-error [class^=swal2-x-mark-line] {
  display: block;
  position: absolute;
  top: 2.3125em;
  width: 2.9375em;
  height: 0.3125em;
  border-radius: 0.125em;
  background-color: #f27474;
}
.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left] {
  left: 1.0625em;
  transform: rotate(45deg);
}
.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right] {
  right: 1em;
  transform: rotate(-45deg);
}
.swal2-icon.swal2-error.swal2-icon-show {
  animation: swal2-animate-error-icon 0.5s;
}
.swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark {
  animation: swal2-animate-error-x-mark 0.5s;
}
.swal2-icon.swal2-warning {
  border-color: #facea8;
  color: #f8bb86;
}
.swal2-icon.swal2-warning.swal2-icon-show {
  animation: swal2-animate-error-icon 0.5s;
}
.swal2-icon.swal2-warning.swal2-icon-show .swal2-icon-content {
  animation: swal2-animate-i-mark 0.5s;
}
.swal2-icon.swal2-info {
  border-color: #9de0f6;
  color: #3fc3ee;
}
.swal2-icon.swal2-info.swal2-icon-show {
  animation: swal2-animate-error-icon 0.5s;
}
.swal2-icon.swal2-info.swal2-icon-show .swal2-icon-content {
  animation: swal2-animate-i-mark 0.8s;
}
.swal2-icon.swal2-question {
  border-color: #c9dae1;
  color: #87adbd;
}
.swal2-icon.swal2-question.swal2-icon-show {
  animation: swal2-animate-error-icon 0.5s;
}
.swal2-icon.swal2-question.swal2-icon-show .swal2-icon-content {
  animation: swal2-animate-question-mark 0.8s;
}
.swal2-icon.swal2-success {
  border-color: #a5dc86;
  color: #a5dc86;
}
.swal2-icon.swal2-success [class^=swal2-success-circular-line] {
  position: absolute;
  width: 3.75em;
  height: 7.5em;
  transform: rotate(45deg);
  border-radius: 50%;
}
.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left] {
  top: -0.4375em;
  left: -2.0635em;
  transform: rotate(-45deg);
  transform-origin: 3.75em 3.75em;
  border-radius: 7.5em 0 0 7.5em;
}
.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right] {
  top: -0.6875em;
  left: 1.875em;
  transform: rotate(-45deg);
  transform-origin: 0 3.75em;
  border-radius: 0 7.5em 7.5em 0;
}
.swal2-icon.swal2-success .swal2-success-ring {
  position: absolute;
  z-index: 2;
  top: -0.25em;
  left: -0.25em;
  box-sizing: content-box;
  width: 100%;
  height: 100%;
  border: 0.25em solid rgba(165, 220, 134, 0.3);
  border-radius: 50%;
}
.swal2-icon.swal2-success .swal2-success-fix {
  position: absolute;
  z-index: 1;
  top: 0.5em;
  left: 1.625em;
  width: 0.4375em;
  height: 5.625em;
  transform: rotate(-45deg);
}
.swal2-icon.swal2-success [class^=swal2-success-line] {
  display: block;
  position: absolute;
  z-index: 2;
  height: 0.3125em;
  border-radius: 0.125em;
  background-color: #a5dc86;
}
.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip] {
  top: 2.875em;
  left: 0.8125em;
  width: 1.5625em;
  transform: rotate(45deg);
}
.swal2-icon.swal2-success [class^=swal2-success-line][class$=long] {
  top: 2.375em;
  right: 0.5em;
  width: 2.9375em;
  transform: rotate(-45deg);
}
.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip {
  animation: swal2-animate-success-line-tip 0.75s;
}
.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long {
  animation: swal2-animate-success-line-long 0.75s;
}
.swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right {
  animation: swal2-rotate-success-circular-line 4.25s ease-in;
}

.swal2-progress-steps {
  flex-wrap: wrap;
  align-items: center;
  max-width: 100%;
  margin: 1.25em auto;
  padding: 0;
  background: inherit;
  font-weight: 600;
}
.swal2-progress-steps li {
  display: inline-block;
  position: relative;
}
.swal2-progress-steps .swal2-progress-step {
  z-index: 20;
  flex-shrink: 0;
  width: 2em;
  height: 2em;
  border-radius: 2em;
  background: #2778c4;
  color: #fff;
  line-height: 2em;
  text-align: center;
}
.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step {
  background: #2778c4;
}
.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step {
  background: #add8e6;
  color: #fff;
}
.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line {
  background: #add8e6;
}
.swal2-progress-steps .swal2-progress-step-line {
  z-index: 10;
  flex-shrink: 0;
  width: 2.5em;
  height: 0.4em;
  margin: 0 -1px;
  background: #2778c4;
}

[class^=swal2] {
  -webkit-tap-highlight-color: transparent;
}

.swal2-show {
  animation: swal2-show 0.3s;
}

.swal2-hide {
  animation: swal2-hide 0.15s forwards;
}

.swal2-noanimation {
  transition: none;
}

.swal2-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

.swal2-rtl .swal2-close {
  margin-right: initial;
  margin-left: 0;
}
.swal2-rtl .swal2-timer-progress-bar {
  right: 0;
  left: auto;
}

@keyframes swal2-toast-show {
  0% {
    transform: translateY(-0.625em) rotateZ(2deg);
  }
  33% {
    transform: translateY(0) rotateZ(-2deg);
  }
  66% {
    transform: translateY(0.3125em) rotateZ(2deg);
  }
  100% {
    transform: translateY(0) rotateZ(0deg);
  }
}
@keyframes swal2-toast-hide {
  100% {
    transform: rotateZ(1deg);
    opacity: 0;
  }
}
@keyframes swal2-toast-animate-success-line-tip {
  0% {
    top: 0.5625em;
    left: 0.0625em;
    width: 0;
  }
  54% {
    top: 0.125em;
    left: 0.125em;
    width: 0;
  }
  70% {
    top: 0.625em;
    left: -0.25em;
    width: 1.625em;
  }
  84% {
    top: 1.0625em;
    left: 0.75em;
    width: 0.5em;
  }
  100% {
    top: 1.125em;
    left: 0.1875em;
    width: 0.75em;
  }
}
@keyframes swal2-toast-animate-success-line-long {
  0% {
    top: 1.625em;
    right: 1.375em;
    width: 0;
  }
  65% {
    top: 1.25em;
    right: 0.9375em;
    width: 0;
  }
  84% {
    top: 0.9375em;
    right: 0;
    width: 1.125em;
  }
  100% {
    top: 0.9375em;
    right: 0.1875em;
    width: 1.375em;
  }
}
@keyframes swal2-show {
  0% {
    transform: scale(0.7);
  }
  45% {
    transform: scale(1.05);
  }
  80% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes swal2-hide {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(0.5);
    opacity: 0;
  }
}
@keyframes swal2-animate-success-line-tip {
  0% {
    top: 1.1875em;
    left: 0.0625em;
    width: 0;
  }
  54% {
    top: 1.0625em;
    left: 0.125em;
    width: 0;
  }
  70% {
    top: 2.1875em;
    left: -0.375em;
    width: 3.125em;
  }
  84% {
    top: 3em;
    left: 1.3125em;
    width: 1.0625em;
  }
  100% {
    top: 2.8125em;
    left: 0.8125em;
    width: 1.5625em;
  }
}
@keyframes swal2-animate-success-line-long {
  0% {
    top: 3.375em;
    right: 2.875em;
    width: 0;
  }
  65% {
    top: 3.375em;
    right: 2.875em;
    width: 0;
  }
  84% {
    top: 2.1875em;
    right: 0;
    width: 3.4375em;
  }
  100% {
    top: 2.375em;
    right: 0.5em;
    width: 2.9375em;
  }
}
@keyframes swal2-rotate-success-circular-line {
  0% {
    transform: rotate(-45deg);
  }
  5% {
    transform: rotate(-45deg);
  }
  12% {
    transform: rotate(-405deg);
  }
  100% {
    transform: rotate(-405deg);
  }
}
@keyframes swal2-animate-error-x-mark {
  0% {
    margin-top: 1.625em;
    transform: scale(0.4);
    opacity: 0;
  }
  50% {
    margin-top: 1.625em;
    transform: scale(0.4);
    opacity: 0;
  }
  80% {
    margin-top: -0.375em;
    transform: scale(1.15);
  }
  100% {
    margin-top: 0;
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes swal2-animate-error-icon {
  0% {
    transform: rotateX(100deg);
    opacity: 0;
  }
  100% {
    transform: rotateX(0deg);
    opacity: 1;
  }
}
@keyframes swal2-rotate-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes swal2-animate-question-mark {
  0% {
    transform: rotateY(-360deg);
  }
  100% {
    transform: rotateY(0);
  }
}
@keyframes swal2-animate-i-mark {
  0% {
    transform: rotateZ(45deg);
    opacity: 0;
  }
  25% {
    transform: rotateZ(-25deg);
    opacity: 0.4;
  }
  50% {
    transform: rotateZ(15deg);
    opacity: 0.8;
  }
  75% {
    transform: rotateZ(-5deg);
    opacity: 1;
  }
  100% {
    transform: rotateX(0);
    opacity: 1;
  }
}
body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
  overflow: hidden;
}
body.swal2-height-auto {
  height: auto !important;
}
body.swal2-no-backdrop .swal2-container {
  background-color: transparent !important;
  pointer-events: none;
}
body.swal2-no-backdrop .swal2-container .swal2-popup {
  pointer-events: all;
}
body.swal2-no-backdrop .swal2-container .swal2-modal {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}
@media print {
  body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
    overflow-y: scroll !important;
  }
  body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) > [aria-hidden=true] {
    display: none;
  }
  body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container {
    position: static !important;
  }
}
body.swal2-toast-shown .swal2-container {
  box-sizing: border-box;
  width: 360px;
  max-width: 100%;
  background-color: transparent;
  pointer-events: none;
}
body.swal2-toast-shown .swal2-container.swal2-top {
  top: 0;
  right: auto;
  bottom: auto;
  left: 50%;
  transform: translateX(-50%);
}
body.swal2-toast-shown .swal2-container.swal2-top-end, body.swal2-toast-shown .swal2-container.swal2-top-right {
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
}
body.swal2-toast-shown .swal2-container.swal2-top-start, body.swal2-toast-shown .swal2-container.swal2-top-left {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
}
body.swal2-toast-shown .swal2-container.swal2-center-start, body.swal2-toast-shown .swal2-container.swal2-center-left {
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  transform: translateY(-50%);
}
body.swal2-toast-shown .swal2-container.swal2-center {
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  transform: translate(-50%, -50%);
}
body.swal2-toast-shown .swal2-container.swal2-center-end, body.swal2-toast-shown .swal2-container.swal2-center-right {
  top: 50%;
  right: 0;
  bottom: auto;
  left: auto;
  transform: translateY(-50%);
}
body.swal2-toast-shown .swal2-container.swal2-bottom-start, body.swal2-toast-shown .swal2-container.swal2-bottom-left {
  top: auto;
  right: auto;
  bottom: 0;
  left: 0;
}
body.swal2-toast-shown .swal2-container.swal2-bottom {
  top: auto;
  right: auto;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
body.swal2-toast-shown .swal2-container.swal2-bottom-end, body.swal2-toast-shown .swal2-container.swal2-bottom-right {
  top: auto;
  right: 0;
  bottom: 0;
  left: auto;
}
/*!******************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/@symfony/webpack-encore/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/jquery.loadmask/jquery.loadmask.css ***!
  \******************************************************************************************************************************************************************************/
@CHARSET "UTF-8";

/************************************/
.mask-hidden {
	overflow: hidden !important;
}

.mask-relative {
	position: relative;
}

.mask-backdrop {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background-color: #ccc;
	opacity: 0.5;
	filter: alpha(opacity = 50);
}

.mask-icon {
	position: absolute;
	z-index: 1001;
	top: 0;
	left: 0;
	cursor: wait;
}

.mask-backdrop-fixed {
	position: fixed;
	z-index: 999999999;
}

.mask-icon-fixed {
	position: fixed;
	z-index: 999999999;
}
/*!***********************************************************************************************************************************************************************!*\
  !*** css ./node_modules/@symfony/webpack-encore/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/ckeditor5/dist/ckeditor5.css ***!
  \***********************************************************************************************************************************************************************/
/**
 * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* Reset */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-color-base-foreground: 								hsl(0, 0%, 98%);
	--ck-color-base-background: 								hsl(0, 0%, 100%);
	--ck-color-base-border: 									hsl(220, 6%, 81%);
	--ck-color-base-action: 									hsl(104, 50.2%, 42.5%);
	--ck-color-base-focus: 										hsl(209, 92%, 70%);
	--ck-color-base-text: 										hsl(0, 0%, 20%);
	--ck-color-base-active: 									hsl(218.1, 100%, 58%);
	--ck-color-base-active-focus:								hsl(218.2, 100%, 52.5%);
	--ck-color-base-error:										hsl(15, 100%, 43%);

	/* -- Generic colors ------------------------------------------------------------------------ */

	--ck-color-focus-border-coordinates: 						218, 81.8%, 56.9%;
	--ck-color-focus-border: 									hsl(var(--ck-color-focus-border-coordinates));
	--ck-color-focus-outer-shadow:								hsl(212.4, 89.3%, 89%);
	--ck-color-focus-disabled-shadow:							hsla(209, 90%, 72%,.3);
	--ck-color-focus-error-shadow:								hsla(9,100%,56%,.3);
	--ck-color-text: 											var(--ck-color-base-text);
	--ck-color-shadow-drop: 									hsla(0, 0%, 0%, 0.15);
	--ck-color-shadow-drop-active:								hsla(0, 0%, 0%, 0.2);
	--ck-color-shadow-inner: 									hsla(0, 0%, 0%, 0.1);

	/* -- Buttons ------------------------------------------------------------------------------- */

	--ck-color-button-default-background: 						transparent;
	--ck-color-button-default-hover-background: 				hsl(0, 0%, 94.1%);
	--ck-color-button-default-active-background: 				hsl(0, 0%, 94.1%);
	--ck-color-button-default-disabled-background: 				transparent;

	--ck-color-button-on-background: 							hsl(212, 100%, 97.1%);
	--ck-color-button-on-hover-background: 						hsl(211.7, 100%, 92.9%);
	--ck-color-button-on-active-background: 					hsl(211.7, 100%, 92.9%);
	--ck-color-button-on-disabled-background: 					hsl(211, 15%, 95%);
	--ck-color-button-on-color:									hsl(218.1, 100%, 58%);


	--ck-color-button-action-background: 						var(--ck-color-base-action);
	--ck-color-button-action-hover-background: 					hsl(104, 53.2%, 40.2%);
	--ck-color-button-action-active-background: 				hsl(104, 53.2%, 40.2%);
	--ck-color-button-action-disabled-background: 				hsl(104, 44%, 58%);
	--ck-color-button-action-text: 								var(--ck-color-base-background);

	--ck-color-button-save: 									hsl(120, 100%, 27%);
	--ck-color-button-cancel: 									hsl(15, 100%, 43%);

	--ck-color-switch-button-off-background:					hsl(0, 0%, 57.6%);
	--ck-color-switch-button-off-hover-background:				hsl(0, 0%, 49%);
	--ck-color-switch-button-on-background:						var(--ck-color-button-action-background);
	--ck-color-switch-button-on-hover-background:				hsl(104, 53.2%, 40.2%);
	--ck-color-switch-button-inner-background:					var(--ck-color-base-background);
	--ck-color-switch-button-inner-shadow:						hsla(0, 0%, 0%, 0.1);

	/* -- Dropdown ------------------------------------------------------------------------------ */

	--ck-color-dropdown-panel-background: 						var(--ck-color-base-background);
	--ck-color-dropdown-panel-border: 							var(--ck-color-base-border);

	/* -- Dialog -------------------------------------------------------------------------------- */

	--ck-color-dialog-background: 								var(--ck-custom-background);
	--ck-color-dialog-form-header-border: 						var(--ck-custom-border);

	/* -- Input --------------------------------------------------------------------------------- */

	--ck-color-input-background: 								var(--ck-color-base-background);
	--ck-color-input-border: 									var(--ck-color-base-border);
	--ck-color-input-error-border:								var(--ck-color-base-error);
	--ck-color-input-text: 										var(--ck-color-base-text);
	--ck-color-input-disabled-background: 						hsl(0, 0%, 95%);
	--ck-color-input-disabled-border: 							var(--ck-color-base-border);
	--ck-color-input-disabled-text: 							hsl(0, 0%, 46%);

	/* -- List ---------------------------------------------------------------------------------- */

	--ck-color-list-background: 								var(--ck-color-base-background);
	--ck-color-list-button-hover-background: 					var(--ck-color-button-default-hover-background);
	--ck-color-list-button-on-background: 						var(--ck-color-button-on-color);
	--ck-color-list-button-on-background-focus: 				var(--ck-color-button-on-color);
	--ck-color-list-button-on-text:								var(--ck-color-base-background);

	/* -- Panel --------------------------------------------------------------------------------- */

	--ck-color-panel-background: 								var(--ck-color-base-background);
	--ck-color-panel-border: 									var(--ck-color-base-border);

	/* -- Toolbar ------------------------------------------------------------------------------- */

	--ck-color-toolbar-background: 								var(--ck-color-base-background);
	--ck-color-toolbar-border: 									var(--ck-color-base-border);

	/* -- Tooltip ------------------------------------------------------------------------------- */

	--ck-color-tooltip-background: 								var(--ck-color-base-text);
	--ck-color-tooltip-text: 									var(--ck-color-base-background);

	/* -- Engine -------------------------------------------------------------------------------- */

	--ck-color-engine-placeholder-text: 						hsl(0, 0%, 44%);

	/* -- Upload -------------------------------------------------------------------------------- */

	--ck-color-upload-bar-background:		 					hsl(209, 92%, 70%);

	/* -- Link -------------------------------------------------------------------------------- */

	--ck-color-link-default:									hsl(240, 100%, 47%);
	--ck-color-link-selected-background:						hsla(201, 100%, 56%, 0.1);
	--ck-color-link-fake-selection:								hsla(201, 100%, 56%, 0.3);

	/* -- Search result highlight ---------------------------------------------------------------- */

	--ck-color-highlight-background:							hsl(60, 100%, 50%);

	/* -- Generic colors ------------------------------------------------------------------------- */

	--ck-color-light-red:										hsl(0, 100%, 90%);
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	/**
	 * An opacity value of disabled UI item.
	 */
	--ck-disabled-opacity: .5;
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	/**
	 * The geometry of the of focused element's outer shadow.
	 */
	--ck-focus-outer-shadow-geometry: 0 0 0 3px;

	/**
	 * A visual style of focused element's outer shadow.
	 */
	--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);

	/**
	 * A visual style of focused element's outer shadow (when disabled).
	 */
	--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);

	/**
	 * A visual style of focused element's outer shadow (when has errors).
	 */
	--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);

	/**
	 * A visual style of focused element's border or outline.
	 */
	--ck-focus-ring: 1px solid var(--ck-color-focus-border);
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-font-size-base: 13px;
	--ck-line-height-base: 1.84615;
	--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;

	--ck-font-size-tiny: 0.7em;
	--ck-font-size-small: 0.75em;
	--ck-font-size-normal: 1em;
	--ck-font-size-big: 1.4em;
	--ck-font-size-large: 1.8em;
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	/* This is super-important. This is **manually** adjusted so a button without an icon
	is never smaller than a button with icon, additionally making sure that text-less buttons
	are perfect squares. The value is also shared by other components which should stay "in-line"
	with buttons. */
	--ck-ui-component-min-height: 2.3em;
}
/**
 * Resets an element, ignoring its children.
 */
.ck.ck-reset,
.ck.ck-reset_all,
.ck-reset_all *:not(.ck-reset_all-excluded *) {
	box-sizing: border-box;
	width: auto;
	height: auto;
	position: static;

	/* Do not include inheritable rules here. */
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	text-decoration: none;
	vertical-align: middle;
	transition: none;

	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */
	word-wrap: break-word;
}
/**
 * Resets an element AND its children.
 */
.ck.ck-reset_all,
.ck-reset_all *:not(.ck-reset_all-excluded *) {
	/* These are rule inherited by all children elements. */
	border-collapse: collapse;
	font: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);
	color: var(--ck-color-text);
	text-align: left;
	white-space: nowrap;
	cursor: auto;
	float: none;
}
.ck-reset_all .ck-rtl *:not(.ck-reset_all-excluded *) {
		text-align: right;
	}
.ck-reset_all iframe:not(.ck-reset_all-excluded *) {
		/* For IE */
		vertical-align: inherit;
	}
.ck-reset_all textarea:not(.ck-reset_all-excluded *) {
		white-space: pre-wrap;
	}
.ck-reset_all textarea:not(.ck-reset_all-excluded *),
	.ck-reset_all input[type="text"]:not(.ck-reset_all-excluded *),
	.ck-reset_all input[type="password"]:not(.ck-reset_all-excluded *) {
		cursor: text;
	}
.ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *),
	.ck-reset_all input[type="text"][disabled]:not(.ck-reset_all-excluded *),
	.ck-reset_all input[type="password"][disabled]:not(.ck-reset_all-excluded *) {
		cursor: default;
	}
.ck-reset_all fieldset:not(.ck-reset_all-excluded *) {
		padding: 10px;
		border: 2px groove hsl(255, 7%, 88%);
	}
.ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner {
		/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */
		padding: 0;
		border: 0
	}
/**
 * Default UI rules for RTL languages.
 */
.ck[dir="rtl"],
.ck[dir="rtl"] .ck {
	text-align: right;
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Default border-radius value.
 */
:root{
	--ck-border-radius: 2px;
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	/**
	 * A visual style of element's inner shadow (i.e. input).
	 */
	--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;

	/**
	 * A visual style of element's drop shadow (i.e. panel).
	 */
	--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);

	/**
	 * A visual style of element's active shadow (i.e. comment or suggestion).
	 */
	--ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active);
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-spacing-unit: 						0.6em;
	--ck-spacing-large: 					calc(var(--ck-spacing-unit) * 1.5);
	--ck-spacing-standard: 					var(--ck-spacing-unit);
	--ck-spacing-medium: 					calc(var(--ck-spacing-unit) * 0.8);
	--ck-spacing-small: 					calc(var(--ck-spacing-unit) * 0.5);
	--ck-spacing-tiny: 						calc(var(--ck-spacing-unit) * 0.3);
	--ck-spacing-extra-tiny: 				calc(var(--ck-spacing-unit) * 0.16);
}

/* Components */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */
.ck.ck-autocomplete > .ck-search__results {
		border-radius: 0;

		max-height: 200px;
		overflow-y: auto;
		background: var(--ck-color-base-background);
		border: 1px solid var(--ck-color-dropdown-panel-border);
		min-width: auto;
	}
.ck-rounded-corners .ck.ck-autocomplete > .ck-search__results,
	.ck.ck-autocomplete > .ck-search__results.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
	}
.ck.ck-autocomplete > .ck-search__results {
		box-shadow: var(--ck-drop-shadow), 0 0;
	}
.ck.ck-autocomplete > .ck-search__results.ck-search__results_n {
			border-bottom-left-radius: 0;
			border-bottom-right-radius: 0;

			/* Prevent duplicated borders between the input and the results pane. */
			margin-bottom: -1px;
		}
.ck.ck-autocomplete > .ck-search__results.ck-search__results_s {
			border-top-left-radius: 0;
			border-top-right-radius: 0;

			/* Prevent duplicated borders between the input and the results pane. */
			margin-top: -1px;
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A visual style of focused element's border.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A class which indicates that an element holding it is disabled.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements a button of given background color.
 *
 * @param {String} $background - Background color of the button.
 * @param {String} $border - Border color of the button.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-button,
a.ck.ck-button {
	background: var(--ck-color-button-default-background);
	border-radius: 0;

	white-space: nowrap;
	cursor: default;
	vertical-align: middle;
	padding: var(--ck-spacing-tiny);
	text-align: center;

	/* A very important piece of styling. Go to variable declaration to learn more. */
	min-width: var(--ck-ui-component-min-height);
	min-height: var(--ck-ui-component-min-height);

	/* Normalize the height of the line. Removing this will break consistent height
	among text and text-less buttons (with icons). */
	line-height: 1;

	/* Enable font size inheritance, which allows fluid UI scaling. */
	font-size: inherit;

	/* Avoid flickering when the foucs border shows up. */
	border: 1px solid transparent;

	/* Apply some smooth transition to the box-shadow and border. */
	transition: box-shadow .2s ease-in-out, border .2s ease-in-out;

	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */
	-webkit-appearance: none;
}
.ck.ck-button:not(.ck-disabled):hover, a.ck.ck-button:not(.ck-disabled):hover {
			background: var(--ck-color-button-default-hover-background);
		}
.ck.ck-button:not(.ck-disabled):active, a.ck.ck-button:not(.ck-disabled):active {
			background: var(--ck-color-button-default-active-background);
		}
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
.ck.ck-button.ck-disabled, a.ck.ck-button.ck-disabled {
		background: var(--ck-color-button-default-disabled-background);
	}
.ck-rounded-corners .ck.ck-button,
	.ck-rounded-corners a.ck.ck-button,
	.ck.ck-button.ck-rounded-corners,
	a.ck.ck-button.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
	}
@media (prefers-reduced-motion: reduce) {
.ck.ck-button,
a.ck.ck-button {
		transition: none;
}
	}
.ck.ck-button:active,
	a.ck.ck-button:active,
	.ck.ck-button:focus,
	a.ck.ck-button:focus {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-focus-outer-shadow), 0 0;
	}
/* Allow icon coloring using the text "color" property. */
.ck.ck-button .ck-button__icon use,
		a.ck.ck-button .ck-button__icon use,
		.ck.ck-button .ck-button__icon use *,
		a.ck.ck-button .ck-button__icon use * {
			color: inherit;
		}
.ck.ck-button .ck-button__label, a.ck.ck-button .ck-button__label {
		/* Enable font size inheritance, which allows fluid UI scaling. */
		font-size: inherit;
		font-weight: inherit;
		color: inherit;
		cursor: inherit;

		/* Must be consistent with .ck-icon's vertical align. Otherwise, buttons with and
		without labels (but with icons) have different sizes in Chrome */
		vertical-align: middle;
	}
[dir="ltr"] .ck.ck-button .ck-button__label, [dir="ltr"] a.ck.ck-button .ck-button__label {
			text-align: left;
	}
[dir="rtl"] .ck.ck-button .ck-button__label, [dir="rtl"] a.ck.ck-button .ck-button__label {
			text-align: right;
	}
.ck.ck-button .ck-button__keystroke, a.ck.ck-button .ck-button__keystroke {
		color: inherit;

		opacity: .5;
	}
[dir="ltr"] .ck.ck-button .ck-button__keystroke, [dir="ltr"] a.ck.ck-button .ck-button__keystroke {
			margin-left: var(--ck-spacing-large);
	}
[dir="rtl"] .ck.ck-button .ck-button__keystroke, [dir="rtl"] a.ck.ck-button .ck-button__keystroke {
			margin-right: var(--ck-spacing-large);
	}
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */
.ck.ck-button.ck-disabled:active,
		a.ck.ck-button.ck-disabled:active,
		.ck.ck-button.ck-disabled:focus,
		a.ck.ck-button.ck-disabled:focus {
			/* The disabled button should have a slightly less visible shadow when focused. */
			box-shadow: var(--ck-focus-disabled-outer-shadow), 0 0;
		}
.ck.ck-button.ck-disabled .ck-button__icon, a.ck.ck-button.ck-disabled .ck-button__icon {
			opacity: var(--ck-disabled-opacity);
		}
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
.ck.ck-button.ck-disabled .ck-button__label, a.ck.ck-button.ck-disabled .ck-button__label {
			opacity: var(--ck-disabled-opacity);
		}
.ck.ck-button.ck-disabled .ck-button__keystroke, a.ck.ck-button.ck-disabled .ck-button__keystroke {
			opacity: .3;
		}
.ck.ck-button.ck-button_with-text, a.ck.ck-button.ck-button_with-text {
		padding: var(--ck-spacing-tiny) var(--ck-spacing-standard);

		/* stylelint-disable-next-line no-descending-specificity */
	}
[dir="ltr"] .ck.ck-button.ck-button_with-text .ck-button__icon, [dir="ltr"] a.ck.ck-button.ck-button_with-text .ck-button__icon {
				margin-right: var(--ck-spacing-medium);
	}
[dir="rtl"] .ck.ck-button.ck-button_with-text .ck-button__icon, [dir="rtl"] a.ck.ck-button.ck-button_with-text .ck-button__icon {
				margin-left: var(--ck-spacing-medium);
	}
/* stylelint-disable-next-line no-descending-specificity */
.ck.ck-button.ck-button_with-keystroke .ck-button__label, a.ck.ck-button.ck-button_with-keystroke .ck-button__label {
			flex-grow: 1;
		}
/* A style of the button which is currently on, e.g. its feature is active. */
.ck.ck-button.ck-on, a.ck.ck-button.ck-on {
		background: var(--ck-color-button-on-background);

		color: var(--ck-color-button-on-color);
	}
.ck.ck-button.ck-on:not(.ck-disabled):hover, a.ck.ck-button.ck-on:not(.ck-disabled):hover {
			background: var(--ck-color-button-on-hover-background);
		}
.ck.ck-button.ck-on:not(.ck-disabled):active, a.ck.ck-button.ck-on:not(.ck-disabled):active {
			background: var(--ck-color-button-on-active-background);
		}
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
.ck.ck-button.ck-on.ck-disabled, a.ck.ck-button.ck-on.ck-disabled {
		background: var(--ck-color-button-on-disabled-background);
	}
.ck.ck-button.ck-button-save, a.ck.ck-button.ck-button-save {
		color: var(--ck-color-button-save);
	}
.ck.ck-button.ck-button-cancel, a.ck.ck-button.ck-button-cancel {
		color: var(--ck-color-button-cancel);
	}
/* A style of the button which handles the primary action. */
.ck.ck-button-action,
a.ck.ck-button-action {
	background: var(--ck-color-button-action-background);

	color: var(--ck-color-button-action-text);
}
.ck.ck-button-action:not(.ck-disabled):hover, a.ck.ck-button-action:not(.ck-disabled):hover {
			background: var(--ck-color-button-action-hover-background);
		}
.ck.ck-button-action:not(.ck-disabled):active, a.ck.ck-button-action:not(.ck-disabled):active {
			background: var(--ck-color-button-action-active-background);
		}
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
.ck.ck-button-action.ck-disabled, a.ck.ck-button-action.ck-disabled {
		background: var(--ck-color-button-action-disabled-background);
	}
.ck.ck-button-bold,
a.ck.ck-button-bold {
	font-weight: bold;
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A class which indicates that an element holding it is disabled.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature
of the component, floating–point numbers have been used which, for the default font size
(see: --ck-font-size-base), will generate simple integers. */
:root {
	/* 34px at 13px font-size */
	--ck-switch-button-toggle-width: 2.6153846154em;
	/* 14px at 13px font-size */
	--ck-switch-button-toggle-inner-size: calc(1.0769230769em + 1px);
	--ck-switch-button-translation: calc(
		var(--ck-switch-button-toggle-width) -
		var(--ck-switch-button-toggle-inner-size) -
		2px /* Border */
	);
	--ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);
}
/* Unlike a regular button, the switch button text color and background should never change.
	 * Changing toggle switch (background, outline) is enough to carry the information about the
	 * state of the entire component (https://github.com/ckeditor/ckeditor5/issues/12519)
	 */
.ck.ck-button.ck-switchbutton, .ck.ck-button.ck-switchbutton:hover, .ck.ck-button.ck-switchbutton:focus, .ck.ck-button.ck-switchbutton:active, .ck.ck-button.ck-switchbutton.ck-on:hover, .ck.ck-button.ck-switchbutton.ck-on:focus, .ck.ck-button.ck-switchbutton.ck-on:active {
		color: inherit;
		background: transparent;
	}
[dir="ltr"] .ck.ck-button.ck-switchbutton .ck-button__label {
			/* Separate the label from the switch */
			margin-right: calc(2 * var(--ck-spacing-large));
	}
[dir="rtl"] .ck.ck-button.ck-switchbutton .ck-button__label {
			/* Separate the label from the switch */
			margin-left: calc(2 * var(--ck-spacing-large));
	}
.ck.ck-button.ck-switchbutton .ck-button__toggle {
		border-radius: 0;

		/* Apply some smooth transition to the box-shadow and border. */
		/* Gently animate the background color of the toggle switch */
		transition: background 400ms ease, box-shadow .2s ease-in-out, outline .2s ease-in-out;
		border: 1px solid transparent;
		width: var(--ck-switch-button-toggle-width);
		background: var(--ck-color-switch-button-off-background);
	}
.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,
	.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
	}
[dir="ltr"] .ck.ck-button.ck-switchbutton .ck-button__toggle {
			/* Make sure the toggle is always to the right as far as possible. */
			margin-left: auto;
	}
[dir="rtl"] .ck.ck-button.ck-switchbutton .ck-button__toggle {
			/* Make sure the toggle is always to the left as far as possible. */
			margin-right: auto;
	}
.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner {
			border-radius: 0;

			width: var(--ck-switch-button-toggle-inner-size);
			height: var(--ck-switch-button-toggle-inner-size);
			background: var(--ck-color-switch-button-inner-background);

			/* Gently animate the inner part of the toggle switch */
			transition: all 300ms ease;
		}
.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,
	.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-radius: calc(.5 * var(--ck-border-radius));
	}
@media (prefers-reduced-motion: reduce) {
.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner {
				transition: none;
		}
			}
.ck.ck-button.ck-switchbutton .ck-button__toggle:hover {
			background: var(--ck-color-switch-button-off-hover-background);
		}
.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner {
				box-shadow: var(--ck-switch-button-inner-hover-shadow);
			}
.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle {
		opacity: var(--ck-disabled-opacity);
	}
/* Overriding default .ck-button:focus styles + an outline around the toogle */
.ck.ck-button.ck-switchbutton:focus {
		border-color: transparent;
		outline: none;
		box-shadow: none;
	}
.ck.ck-button.ck-switchbutton:focus .ck-button__toggle {
			box-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 5px var(--ck-color-focus-outer-shadow);
			outline-offset: 1px;
			outline: var(--ck-focus-ring);
		}
/* stylelint-disable-next-line no-descending-specificity */
.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle {
			background: var(--ck-color-switch-button-on-background);
		}
.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover {
				background: var(--ck-color-switch-button-on-hover-background);
			}
/*
				* Move the toggle switch to the right. It will be animated.
				*/
[dir="ltr"] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner {
					transform: translateX( var( --ck-switch-button-translation ) );
	}
[dir="rtl"] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner {
					transform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) );
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-button.ck-list-item-button {
	padding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard));
}
.ck.ck-button.ck-list-item-button,
	.ck.ck-button.ck-list-item-button.ck-on {
		background: var(--ck-color-list-background);
		color: var(--ck-color-text);
	}
[dir="ltr"] .ck.ck-button.ck-list-item-button:has(.ck-list-item-button__check-holder) {
			padding-left: var(--ck-spacing-small);
	}
[dir="rtl"] .ck.ck-button.ck-list-item-button:has(.ck-list-item-button__check-holder) {
			padding-right: var(--ck-spacing-small);
	}
/*
	 * `.ck-on` class and background styling is overridden for `ck-button` in many places.
	 * This is a workaround to make sure that the background is not overridden and uses similar
	 * selector specificity as the other overrides.
	 */
.ck.ck-button.ck-list-item-button:hover:not(.ck-disabled),
	.ck.ck-button.ck-list-item-button.ck-button.ck-on:hover,
	.ck.ck-button.ck-list-item-button.ck-on:not(.ck-list-item-button_toggleable),
	.ck.ck-button.ck-list-item-button.ck-on:hover {
		background: var(--ck-color-list-button-hover-background);
	}
.ck.ck-button.ck-list-item-button:hover:not(.ck-disabled):not(.ck-disabled), .ck.ck-button.ck-list-item-button.ck-button.ck-on:hover:not(.ck-disabled), .ck.ck-button.ck-list-item-button.ck-on:not(.ck-list-item-button_toggleable):not(.ck-disabled), .ck.ck-button.ck-list-item-button.ck-on:hover:not(.ck-disabled) {
			color: var(--ck-color-text);
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-collapsible-arrow-size: calc(0.5 * var(--ck-icon-size));
}
.ck.ck-collapsible > .ck.ck-button {
		width: 100%;
		font-weight: bold;
		border-radius: 0;
		color: inherit;
	}
.ck.ck-collapsible > .ck.ck-button:focus {
			background: transparent;
		}
.ck.ck-collapsible > .ck.ck-button:active, .ck.ck-collapsible > .ck.ck-button:not(:focus), .ck.ck-collapsible > .ck.ck-button:hover:not(:focus) {
			background: transparent;
			border-color: transparent;
			box-shadow: none;
		}
.ck.ck-collapsible > .ck.ck-button > .ck-icon {
			margin-right: var(--ck-spacing-medium);
			width: var(--ck-collapsible-arrow-size);
		}
.ck.ck-collapsible > .ck-collapsible__children {
		padding: var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large);
	}
.ck.ck-collapsible.ck-collapsible_collapsed > .ck.ck-button .ck-icon {
			transform: rotate(-90deg);
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-color-grid-tile-size: 24px;

	/* Not using global colors here because these may change but some colors in a pallette
	 * require special treatment. For instance, this ensures no matter what the UI text color is,
	 * the check icon will look good on the black color tile. */
	--ck-color-color-grid-check-icon: hsl(212, 81%, 46%);
}
.ck.ck-color-grid {
	grid-gap: 5px;
	padding: 8px;
}
.ck.ck-color-grid__tile {
	transition: .2s ease box-shadow;
}
@media (forced-colors: none) {
		.ck.ck-color-grid__tile {
		width: var(--ck-color-grid-tile-size);
		height: var(--ck-color-grid-tile-size);
		min-width: var(--ck-color-grid-tile-size);
		min-height: var(--ck-color-grid-tile-size);
		padding: 0;
		border: 0;
		}

		.ck.ck-color-grid__tile.ck-on,
		.ck.ck-color-grid__tile:focus:not( .ck-disabled ),
		.ck.ck-color-grid__tile:hover:not( .ck-disabled ) {
			/* Disable the default .ck-button's border ring. */
			border: 0;
		}

		.ck.ck-color-grid__tile.ck-color-selector__color-tile_bordered {
			box-shadow: 0 0 0 1px var(--ck-color-base-border);
		}

		.ck.ck-color-grid__tile.ck-on {
			box-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text);
		}

		.ck.ck-color-grid__tile:focus:not( .ck-disabled ),
		.ck.ck-color-grid__tile:hover:not( .ck-disabled ) {
			box-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);
		}
	}
/*
	 * In high contrast mode, the colors are replaced with text labels.
	 * See https://github.com/ckeditor/ckeditor5/issues/14907.
	 */
@media (forced-colors: active) {
		.ck.ck-color-grid__tile {
		width: unset;
		height: unset;
		min-width: unset;
		min-height: unset;
		padding: 0 var(--ck-spacing-small);
		}

		.ck.ck-color-grid__tile .ck-button__label {
			display: inline-block;
		}
	}
@media (prefers-reduced-motion: reduce) {
.ck.ck-color-grid__tile {
		transition: none;
}
	}
.ck.ck-color-grid__tile.ck-disabled {
		cursor: unset;
		transition: unset;
	}
.ck.ck-color-grid__tile .ck.ck-icon {
		display: none;
		color: var(--ck-color-color-grid-check-icon);
	}
.ck.ck-color-grid__tile.ck-on .ck.ck-icon {
			display: block;
		}
.ck.ck-color-grid__label {
	padding: 0 var(--ck-spacing-standard);
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/* View fragment with color grids. */
.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color,
		.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker {
			width: 100%;
		}
.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker {
			padding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);
			border-bottom-left-radius: 0;
			border-bottom-right-radius: 0;
		}
.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker:not(:focus) {
				border-top: 1px solid var(--ck-color-base-border);
			}
[dir="ltr"] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon {
					margin-right: var(--ck-spacing-standard);
	}
[dir="rtl"] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon {
					margin-left: var(--ck-spacing-standard);
	}
.ck.ck-color-selector .ck-color-grids-fragment label.ck.ck-color-grid__label {
			font-weight: unset;
		}
/* View fragment with a color picker. */
.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker {
			padding: 8px;
		}
.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker {
				height: 100px;
				min-width: 180px;
			}
.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation) {
					border-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;
				}
.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue) {
					border-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);
				}
.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation-pointer),
				.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue-pointer) {
					width: 15px;
					height: 15px;
				}
.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar {
			padding: 0 8px 8px;
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-dialog-overlay-background-color: hsla( 0, 0%, 0%, .5 );
	--ck-dialog-drop-shadow: 0px 0px 6px 2px hsl(0deg 0% 0% / 15%);
	--ck-dialog-max-width: 100vw;
	--ck-dialog-max-height: 90vh;
	--ck-color-dialog-background: var(--ck-color-base-background);
	--ck-color-dialog-form-header-border: var(--ck-color-base-border);
}
.ck.ck-dialog-overlay {
	animation: ck-dialog-fade-in .3s;
	background: var(--ck-dialog-overlay-background-color);
	z-index: var(--ck-z-dialog);
}
.ck.ck-dialog {
	border-radius: 0;

	--ck-drop-shadow: var(--ck-dialog-drop-shadow);

	background: var(--ck-color-dialog-background);
	max-height: var(--ck-dialog-max-height);
	max-width: var(--ck-dialog-max-width);
	border: 1px solid var(--ck-color-base-border);
	overscroll-behavior: contain;
}
.ck-rounded-corners .ck.ck-dialog,
	.ck.ck-dialog.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
	}
.ck.ck-dialog {
	box-shadow: var(--ck-drop-shadow), 0 0;
}
.ck.ck-dialog .ck.ck-form__header {
		border-bottom: 1px solid var(--ck-color-dialog-form-header-border);
	}
.ck-dialog-scroll-locked {
	overflow: hidden;
}
@keyframes ck-dialog-fade-in {
	0% {
		background: hsla( 0, 0%, 0%, 0 );
	}

	100% {
		background: var(--ck-dialog-overlay-background-color);
	}
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-dialog .ck.ck-dialog__actions {
		padding: var(--ck-spacing-large);
	}
.ck.ck-dialog .ck.ck-dialog__actions > * + * {
			margin-left: var(--ck-spacing-large);
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A class which indicates that an element holding it is disabled.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));
}
.ck.ck-dropdown {
	/* Enable font size inheritance, which allows fluid UI scaling. */
	font-size: inherit;
}
.ck.ck-dropdown .ck-dropdown__arrow {
		width: var(--ck-dropdown-arrow-size);
	}
[dir="ltr"] .ck.ck-dropdown .ck-dropdown__arrow {
			right: var(--ck-spacing-standard);

			/* A space to accommodate the triangle. */
			margin-left: var(--ck-spacing-standard);
		}
[dir="rtl"] .ck.ck-dropdown .ck-dropdown__arrow {
			left: var(--ck-spacing-standard);

			/* A space to accommodate the triangle. */
			margin-right: var(--ck-spacing-small);
		}
.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow {
		opacity: var(--ck-disabled-opacity);
	}
[dir="ltr"] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text) {
				/* Make sure dropdowns with just an icon have the right inner spacing */
				padding-left: var(--ck-spacing-small);
			}
[dir="rtl"] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text) {
				/* Make sure dropdowns with just an icon have the right inner spacing */
				padding-right: var(--ck-spacing-small);
			}
/* #23 */
.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label {
			width: 7em;
			overflow: hidden;
			text-overflow: ellipsis;
		}
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */
.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label {
			opacity: var(--ck-disabled-opacity);
		}
/* https://github.com/ckeditor/ckeditor5/issues/816 */
.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on {
			border-bottom-left-radius: 0;
			border-bottom-right-radius: 0;
		}
.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label {
			width: auto;
		}
/* https://github.com/ckeditor/ckeditor5/issues/8699 */
.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active,
		.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active {
			box-shadow: none;
		}
.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus, .ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus {
				box-shadow: var(--ck-focus-outer-shadow), 0 0;
			}
.ck.ck-dropdown__panel {
	border-radius: 0;

	background: var(--ck-color-dropdown-panel-background);
	border: 1px solid var(--ck-color-dropdown-panel-border);
	bottom: 0;

	/* Make sure the panel is at least as wide as the drop-down's button. */
	min-width: 100%;
}
.ck-rounded-corners .ck.ck-dropdown__panel,
	.ck.ck-dropdown__panel.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
	}
.ck.ck-dropdown__panel {
	box-shadow: var(--ck-drop-shadow), 0 0;

	/* Disabled corner border radius to be consistent with the .dropdown__button
	https://github.com/ckeditor/ckeditor5/issues/816 */
}
.ck.ck-dropdown__panel.ck-dropdown__panel_se {
		border-top-left-radius: 0;
	}
.ck.ck-dropdown__panel.ck-dropdown__panel_sw {
		border-top-right-radius: 0;
	}
.ck.ck-dropdown__panel.ck-dropdown__panel_ne {
		border-bottom-left-radius: 0;
	}
.ck.ck-dropdown__panel.ck-dropdown__panel_nw {
		border-bottom-right-radius: 0;
	}
.ck.ck-dropdown__panel:focus {
		outline: none;
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
.ck.ck-dropdown > .ck-dropdown__panel > .ck-list {
	/* Disabled radius of top-left border to be consistent with .dropdown__button
	https://github.com/ckeditor/ckeditor5/issues/816 */
	border-radius: 0;
}
.ck-rounded-corners .ck.ck-dropdown > .ck-dropdown__panel > .ck-list,
	.ck.ck-dropdown > .ck-dropdown__panel > .ck-list.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
		border-top-left-radius: 0;
	}
/* Make sure the button belonging to the first/last child of the list goes well with the
	border radius of the entire panel. */
.ck.ck-dropdown > .ck-dropdown__panel > .ck-list .ck-list__item:first-child > .ck-button {
			border-radius: 0;
		}
.ck-rounded-corners .ck.ck-dropdown > .ck-dropdown__panel > .ck-list .ck-list__item:first-child > .ck-button,
	.ck.ck-dropdown > .ck-dropdown__panel > .ck-list .ck-list__item:first-child > .ck-button.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-top-left-radius: 0;
				border-bottom-left-radius: 0;
				border-bottom-right-radius: 0;
	}
.ck.ck-dropdown > .ck-dropdown__panel > .ck-list .ck-list__item:last-child > .ck-button {
			border-radius: 0;
		}
.ck-rounded-corners .ck.ck-dropdown > .ck-dropdown__panel > .ck-list .ck-list__item:last-child > .ck-button,
	.ck.ck-dropdown > .ck-dropdown__panel > .ck-list .ck-list__item:last-child > .ck-button.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-top-left-radius: 0;
				border-top-right-radius: 0;
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
:root {
	--ck-color-split-button-hover-background: hsl(0, 0%, 92%);
	--ck-color-split-button-hover-border: hsl(0, 0%, 70%);
}
/*
	 * Note: ck-rounded and ck-dir mixins don't go together (because they both use @nest).
	 */
[dir="ltr"] .ck.ck-splitbutton:hover > .ck-splitbutton__action, [dir="ltr"] .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__action {
			/* Don't round the action button on the right side */
			border-top-right-radius: unset;
			border-bottom-right-radius: unset;
		}
[dir="rtl"] .ck.ck-splitbutton:hover > .ck-splitbutton__action, [dir="rtl"] .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__action {
			/* Don't round the action button on the left side */
			border-top-left-radius: unset;
			border-bottom-left-radius: unset;
		}
.ck.ck-splitbutton > .ck-splitbutton__arrow {
		/* It's a text-less button and since the icon is positioned absolutely in such situation,
		it must get some arbitrary min-width. */
		min-width: unset;
	}
[dir="ltr"] .ck.ck-splitbutton > .ck-splitbutton__arrow {
			/* Don't round the arrow button on the left side */
			border-top-left-radius: unset;
			border-bottom-left-radius: unset;
		}
[dir="rtl"] .ck.ck-splitbutton > .ck-splitbutton__arrow {
			/* Don't round the arrow button on the right side */
			border-top-right-radius: unset;
			border-bottom-right-radius: unset;
		}
.ck.ck-splitbutton > .ck-splitbutton__arrow svg {
			width: var(--ck-dropdown-arrow-size);
		}
/* Make sure the divider stretches 100% height of the button
	https://github.com/ckeditor/ckeditor5/issues/10936 */
.ck.ck-splitbutton > .ck-splitbutton__arrow:not(:focus) {
		border-top-width: 0px;
		border-bottom-width: 0px;
	}
/* Don't round the bottom left and right corners of the buttons when "open"
	https://github.com/ckeditor/ckeditor5/issues/816 */
.ck.ck-splitbutton.ck-splitbutton_open {
		border-radius: 0;
	}
.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,
	.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
	}
.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__action, .ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners > .ck-splitbutton__action {
				border-bottom-left-radius: 0;
			}
.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__arrow, .ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners > .ck-splitbutton__arrow {
				border-bottom-right-radius: 0;
			}
/* When the split button is "open" (the arrow is on) or being hovered, it should get some styling
	as a whole. The background of both buttons should stand out and there should be a visual
	separation between both buttons. */
/* When the split button hovered as a whole, not as individual buttons. */
.ck.ck-splitbutton.ck-splitbutton_open > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover), .ck.ck-splitbutton:hover > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {
			background: var(--ck-color-split-button-hover-background);
		}
/* Splitbutton separator needs to be set with the ::after pseudoselector
		to display properly the borders on focus */
.ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled)::after, .ck.ck-splitbutton:hover > .ck-splitbutton__arrow:not(.ck-disabled)::after {
			content: '';
			position: absolute;
			width: 1px;
			height: 100%;
			background-color: var(--ck-color-split-button-hover-border);
		}
/* Make sure the divider between the buttons looks fine when the button is focused */
.ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__arrow:focus::after, .ck.ck-splitbutton:hover > .ck-splitbutton__arrow:focus::after {
			--ck-color-split-button-hover-border: var(--ck-color-focus-border);
		}
[dir="ltr"] .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled)::after, [dir="ltr"] .ck.ck-splitbutton:hover > .ck-splitbutton__arrow:not(.ck-disabled)::after {
				left: -1px;
			}
[dir="rtl"] .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled)::after, [dir="rtl"] .ck.ck-splitbutton:hover > .ck-splitbutton__arrow:not(.ck-disabled)::after {
				right: -1px;
			}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-toolbar-dropdown .ck-toolbar {
	border: 0;
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A class which indicates that an element holding it is disabled.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements a button of given background color.
 *
 * @param {String} $background - Background color of the button.
 * @param {String} $border - Border color of the button.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * All menu buttons.
 */
.ck.ck-button.ck-dropdown-menu-list__nested-menu__button {
	width: 100%;
	padding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard));
	border-radius: 0;
}
.ck.ck-button.ck-dropdown-menu-list__nested-menu__button:focus {
		border-color: transparent;
		box-shadow: none;
	}
.ck.ck-button.ck-dropdown-menu-list__nested-menu__button:focus:not(.ck-on) {
			background: var(--ck-color-button-default-hover-background);
		}
.ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-button__label {
		flex-grow: 1;
		overflow: hidden;
		text-overflow: ellipsis;
	}
.ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-disabled > .ck-button__label {
		opacity: var(--ck-disabled-opacity);
	}
/* Spacing in buttons that miss the icon. */
.ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-icon-spacing:not(:has(.ck-button__icon)) > .ck-button__label {
		margin-left: calc(var(--ck-icon-size) - var(--ck-spacing-small));
	}
.ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow {
		width: var(--ck-dropdown-arrow-size);
	}
[dir="ltr"] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow {
			transform: rotate(-90deg);

			/* Nudge the arrow gently to the right because its center of gravity is to the left */
			margin-right: calc(-1 * var(--ck-spacing-small));
	}
[dir="rtl"] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow {
			transform: rotate(90deg);

			/* Nudge the arrow gently to the left because its center of gravity is to the right (after rotation). */
			margin-left: calc(-1 * var(--ck-spacing-small));
	}
.ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-disabled > .ck-dropdown-menu-list__nested-menu__button__arrow {
		opacity: var(--ck-disabled-opacity);
	}
[dir="ltr"] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button:not(.ck-button_with-text) {
			padding-left: var(--ck-spacing-small);
		}
[dir="ltr"] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow {
			right: var(--ck-spacing-standard);

			/* A space to accommodate the triangle. */
			margin-left: var(--ck-spacing-standard);
		}
[dir="rtl"] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button:not(.ck-button_with-text) {
			padding-right: var(--ck-spacing-small);
		}
[dir="rtl"] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow {
			left: var(--ck-spacing-standard);

			/* A space to accommodate the triangle. */
			margin-right: var(--ck-spacing-small);
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-dropdown-menu-menu-item-min-width: 18em;
}
.ck.ck-dropdown-menu-list__nested-menu__item {
	min-width: var(--ck-dropdown-menu-menu-item-min-width);
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * List item buttons.
 */
.ck-button.ck-dropdown-menu-list__nested-menu__item__button {
	border-radius: 0;
}
.ck-button.ck-dropdown-menu-list__nested-menu__item__button > .ck-spinner-container,
	.ck-button.ck-dropdown-menu-list__nested-menu__item__button > .ck-spinner-container .ck-spinner {
		/* These styles correspond to .ck-icon so that the spinner seamlessly replaces the icon. */
		--ck-toolbar-spinner-size: 20px;
	}
.ck-button.ck-dropdown-menu-list__nested-menu__item__button > .ck-spinner-container {
		/* These margins are the same as for .ck-icon. */
		margin-left: calc(-1 * var(--ck-spacing-small));
		margin-right: var(--ck-spacing-small);
	}
/*
	 * Hovered items automatically get focused. Default focus styles look odd
	 * while moving across a huge list of items so let's get rid of them
	 */
.ck-button.ck-dropdown-menu-list__nested-menu__item__button:focus {
		border-color: transparent;
		box-shadow: none;
	}
.ck-button.ck-dropdown-menu-list__nested-menu__item__button:focus:not(.ck-on) {
			background: var(--ck-color-button-default-hover-background);
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */
:root {
	--ck-dropdown-menu-menu-panel-max-width: 75vw;
}
.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel {
	box-shadow: var(--ck-drop-shadow), 0 0;

	background: var(--ck-color-dropdown-panel-background);
	border: 1px solid var(--ck-color-dropdown-panel-border);
	bottom: 0;
	height: fit-content;
	max-width: var(--ck-dropdown-menu-menu-panel-max-width);

	/* Reset balloon styling */
}
.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel::after,
	.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel::before {
		display: none;
	}
/* Corner border radius consistent with the button. */
.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_es,
	.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_se {
		border-top-left-radius: 0;
	}
.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_ws,
	.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_sw {
		border-top-right-radius: 0;
	}
.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_en,
	.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_ne {
		border-bottom-left-radius: 0;
	}
.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_wn,
	.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_nw {
		border-bottom-right-radius: 0;
	}
.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel:focus {
		outline: none;
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A visual style of focused element's border.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */
:root {
	--ck-accessibility-help-dialog-max-width: 600px;
	--ck-accessibility-help-dialog-max-height: 400px;
	--ck-accessibility-help-dialog-border-color: hsl(220, 6%, 81%);
	--ck-accessibility-help-dialog-code-background-color: hsl(0deg 0% 92.94%);
	--ck-accessibility-help-dialog-kbd-shadow-color: hsl(0deg 0% 61%);
}
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content {
	padding: var(--ck-spacing-large);
	max-width: var(--ck-accessibility-help-dialog-max-width);
	max-height: var(--ck-accessibility-help-dialog-max-height);
	overflow: auto;
	user-select: text;

	border: 1px solid transparent;
}
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content:focus {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-focus-outer-shadow), 0 0;
	}
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content * {
		white-space: normal;
	}
/* Hide the main label of the content container. */
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content .ck-label {
		display: none;
	}
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h3 {
		font-weight: bold;
		font-size: 1.2em;
	}
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h4 {
		font-weight: bold;
		font-size: 1em;
	}
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content p,
	.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h3,
	.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h4,
	.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content table {
		margin: 1em 0;
	}
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl {
		display: grid;
		grid-template-columns: 2fr 1fr;
		border-top: 1px solid var(--ck-accessibility-help-dialog-border-color);
		border-bottom: none;
	}
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dt, .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dd {
			border-bottom: 1px solid var(--ck-accessibility-help-dialog-border-color);
			padding: .4em 0;
		}
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dt {
			grid-column-start: 1;
		}
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dd {
			grid-column-start: 2;
			text-align: right;
		}
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd, .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content code {
		display: inline-block;
		background: var(--ck-accessibility-help-dialog-code-background-color);
		padding: .4em;
		vertical-align: middle;
		line-height: 1;
		border-radius: 2px;
		text-align: center;
		font-size: .9em;
	}
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content code {
		font-family: monospace;
	}
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd {
		min-width: 1.8em;
		box-shadow: 0px 1px 1px var(--ck-accessibility-help-dialog-kbd-shadow-color);
		margin: 0 1px;
	}
.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd + kbd {
			margin-left: 2px;
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A class which indicates that an element holding it is disabled.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A visual style of focused element's border.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements a button of given background color.
 *
 * @param {String} $background - Background color of the button.
 * @param {String} $border - Border color of the button.
 */
:root {
	--ck-color-editable-blur-selection: hsl(0, 0%, 85%);
}
.ck.ck-editor__editable:not(.ck-editor__nested-editable) {
	border-radius: 0;
}
.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),
	.ck.ck-editor__editable.ck-rounded-corners:not(.ck-editor__nested-editable) {
		border-radius: var(--ck-border-radius);
	}
.ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable) {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-inner-shadow), 0 0;
	}
.ck.ck-editor__editable_inline {
	overflow: auto;
	padding: 0 var(--ck-spacing-standard);
	border: 1px solid transparent;
}
.ck.ck-editor__editable_inline[dir="ltr"] {
		text-align: left;
	}
.ck.ck-editor__editable_inline[dir="rtl"] {
		text-align: right;
	}
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */
.ck.ck-editor__editable_inline > *:first-child {
		margin-top: var(--ck-spacing-large);
	}
/* https://github.com/ckeditor/ckeditor5/issues/847 */
.ck.ck-editor__editable_inline > *:last-child {
		/*
		 * This value should match with the default margins of the block elements (like .media or .image)
		 * to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825).
		 */
		margin-bottom: var(--ck-spacing-large);
	}
/* https://github.com/ckeditor/ckeditor5/issues/6517 */
.ck.ck-editor__editable_inline.ck-blurred ::selection {
		background: var(--ck-color-editable-blur-selection);
	}
/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */
.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"]::after {
		border-bottom-color: var(--ck-color-panel-background);
	}
.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"]::after {
		border-top-color: var(--ck-color-panel-background);
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-form-header-height: 44px;
}
.ck.ck-form__header {
	padding: var(--ck-spacing-small) var(--ck-spacing-large);
	height: var(--ck-form-header-height);
	line-height: var(--ck-form-header-height);
	border-bottom: 1px solid var(--ck-color-base-border);
}
[dir="ltr"] .ck.ck-form__header > .ck-icon {
			margin-right: var(--ck-spacing-medium);
	}
[dir="rtl"] .ck.ck-form__header > .ck-icon {
			margin-left: var(--ck-spacing-medium);
	}
.ck.ck-form__header .ck-form__header__label {
		--ck-font-size-base: 15px;
		font-weight: bold;
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));
	--ck-icon-font-size: .8333350694em;
}
.ck.ck-icon {
	width: var(--ck-icon-size);
	height: var(--ck-icon-size);

	/* Multiplied by the height of the line in "px" should give SVG "viewport" dimensions */
	font-size: var(--ck-icon-font-size);

	/* Inherit cursor style (#5). */
	cursor: inherit;

	/* This will prevent blurry icons on Firefox. See #340. */
	will-change: transform;
}
.ck.ck-icon * {
		/* Inherit cursor style (#5). */
		cursor: inherit;
	}
/* Allows dynamic coloring of an icon by inheriting its color from the parent. */
.ck.ck-icon.ck-icon_inherit-color {
		color: inherit;
	}
.ck.ck-icon.ck-icon_inherit-color * {
			color: inherit;
		}
.ck.ck-icon.ck-icon_inherit-color *:not([fill]) {
				/* Needed by FF. */
				fill: currentColor;
			}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A visual style of focused element's border.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */
:root {
	--ck-input-width: 18em;

	/* Backward compatibility. */
	--ck-input-text-width: var(--ck-input-width);
}
.ck.ck-input {
	border-radius: 0;

	background: var(--ck-color-input-background);
	border: 1px solid var(--ck-color-input-border);
	padding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);
	min-width: var(--ck-input-width);

	/* This is important to stay of the same height as surrounding buttons */
	min-height: var(--ck-ui-component-min-height);

	/* Apply some smooth transition to the box-shadow and border. */
	transition: box-shadow .1s ease-in-out, border .1s ease-in-out;
}
.ck-rounded-corners .ck.ck-input,
	.ck.ck-input.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
	}
@media (prefers-reduced-motion: reduce) {
.ck.ck-input {
		transition: none;
}
	}
.ck.ck-input:focus {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-focus-outer-shadow), 0 0;
	}
.ck.ck-input[readonly] {
		border: 1px solid var(--ck-color-input-disabled-border);
		background: var(--ck-color-input-disabled-background);
		color: var(--ck-color-input-disabled-text);
	}
.ck.ck-input[readonly]:focus {
			/* The read-only input should have a slightly less visible shadow when focused. */
			box-shadow: var(--ck-focus-disabled-outer-shadow), 0 0;
		}
.ck.ck-input.ck-error {
		border-color: var(--ck-color-input-error-border);
		animation: ck-input-shake .3s ease both;
	}
@media (prefers-reduced-motion: reduce) {
.ck.ck-input.ck-error {
			animation: none;
	}
		}
.ck.ck-input.ck-error:focus {
			box-shadow: var(--ck-focus-error-outer-shadow), 0 0;
		}
@keyframes ck-input-shake {
	20% {
		transform: translateX(-2px);
	}

	40% {
		transform: translateX(2px);
	}

	60% {
		transform: translateX(-1px);
	}

	80% {
		transform: translateX(1px);
	}
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-label {
	font-weight: bold;
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
:root {
	--ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95);
	--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium);
	--ck-labeled-field-label-default-position-x: var(--ck-spacing-medium);
	--ck-labeled-field-label-default-position-y: calc(0.6 * var(--ck-font-size-base));
	--ck-color-labeled-field-label-background: var(--ck-color-base-background);
}
.ck.ck-labeled-field-view {
	border-radius: 0;
}
.ck-rounded-corners .ck.ck-labeled-field-view,
	.ck.ck-labeled-field-view.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
	}
.ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper {
		width: 100%;
	}
.ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {
			top: 0px;

			pointer-events: none;

			background: var(--ck-color-labeled-field-label-background);
			padding: 0 calc(.5 * var(--ck-font-size-tiny));
			line-height: initial;
			font-weight: normal;

			/* Prevent overflow when the label is longer than the input */
			text-overflow: ellipsis;
			overflow: hidden;

			max-width: 100%;

			transition:
				transform var(--ck-labeled-field-view-transition),
				padding var(--ck-labeled-field-view-transition),
				background var(--ck-labeled-field-view-transition);
		}
[dir="ltr"] .ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {
				left: 0px;
				transform-origin: 0 0;
				/* By default, display the label scaled down above the field. */
				transform: translate(var(--ck-spacing-medium), -6px) scale(.75);
	}
[dir="rtl"] .ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {
				right: 0px;
				transform-origin: 100% 0;
				transform: translate(calc(-1 * var(--ck-spacing-medium)), -6px) scale(.75);
	}
@media (prefers-reduced-motion: reduce) {
.ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {
				transition: none;
		}
			}
.ck.ck-labeled-field-view.ck-error > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {
			color: var(--ck-color-base-error);
		}
.ck.ck-labeled-field-view.ck-error .ck-input:not([readonly]) + .ck.ck-label {
			color: var(--ck-color-base-error);
		}
.ck.ck-labeled-field-view .ck-labeled-field-view__status {
		font-size: var(--ck-font-size-small);
		margin-top: var(--ck-spacing-small);

		/* Let the info wrap to the next line to avoid stretching the layout horizontally.
		The status could be very long. */
		white-space: normal;
	}
.ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error {
			color: var(--ck-color-base-error);
		}
/* Disabled fields and fields that have no focus should fade out. */
.ck.ck-labeled-field-view.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,
	.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {
		color: var(--ck-color-input-disabled-text);
	}
/* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */
/* stylelint-disable-next-line no-descending-specificity */
.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,
	.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {

		/* Compensate for the default translate position. */
		max-width: calc(var(--ck-labeled-field-empty-unfocused-max-width));

		background: transparent;
		padding: 0;
	}
[dir="ltr"] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, [dir="ltr"] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {
			transform: translate(var(--ck-labeled-field-label-default-position-x), var(--ck-labeled-field-label-default-position-y)) scale(1);
	}
[dir="rtl"] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, [dir="rtl"] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {
			transform: translate(calc(-1 * var(--ck-labeled-field-label-default-position-x)), var(--ck-labeled-field-label-default-position-y)) scale(1);
	}
/*------ DropdownView integration ----------------------------------------------------------------------------------- */
/* Make sure dropdown' background color in any of dropdown's state does not collide with labeled field. */
.ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button {
		background: transparent;
	}
/* When the dropdown is "empty", the labeled field label replaces its label. */
.ck.ck-labeled-field-view.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label {
		opacity: 0;
	}
/* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */
.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label {
		max-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard));
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-labeled-input .ck-labeled-input__status {
	font-size: var(--ck-font-size-small);
	margin-top: var(--ck-spacing-small);

	/* Let the info wrap to the next line to avoid stretching the layout horizontally.
	The status could be very long. */
	white-space: normal;
}
.ck.ck-labeled-input .ck-labeled-input__status_error {
	color: var(--ck-color-base-error);
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A class which indicates that an element holding it is disabled.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-list {
	border-radius: 0;

	list-style-type: none;
	background: var(--ck-color-list-background);

	/* A spacing at the beginning and end of the list */
	padding: var(--ck-spacing-small) 0;
}
.ck-rounded-corners .ck.ck-list,
	.ck.ck-list.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
	}
.ck.ck-list__item {
	cursor: default;

	/* Almost as wide as menu bar items. */
	min-width: 15em;
}
.ck.ck-list__item > .ck-button:not(.ck-list-item-button) {
		padding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard));
		min-height: unset;
		width: 100%;
		border-radius: 0;
	}
[dir="ltr"] .ck.ck-list__item > .ck-button:not(.ck-list-item-button) {
			text-align: left;
	}
[dir="rtl"] .ck.ck-list__item > .ck-button:not(.ck-list-item-button) {
			text-align: right;
	}
.ck.ck-list__item > .ck-button:not(.ck-list-item-button) .ck-button__label {
			/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */
			line-height: calc(var(--ck-line-height-base) * var(--ck-font-size-base));
		}
.ck.ck-list__item > .ck-button:not(.ck-list-item-button):active {
			box-shadow: none;
		}
.ck.ck-list__item > .ck-button.ck-on:not(.ck-list-item-button) {
			background: var(--ck-color-list-button-on-background);
			color: var(--ck-color-list-button-on-text);
		}
.ck.ck-list__item > .ck-button.ck-on:not(.ck-list-item-button):active {
				box-shadow: none;
			}
.ck.ck-list__item > .ck-button.ck-on:not(.ck-list-item-button):hover:not(.ck-disabled) {
				background: var(--ck-color-list-button-on-background-focus);
			}
.ck.ck-list__item > .ck-button.ck-on:not(.ck-list-item-button):focus:not(.ck-disabled) {
				border-color: var(--ck-color-base-background);
			}
.ck.ck-list__item > .ck-button:not(.ck-list-item-button):hover:not(.ck-disabled) {
			background: var(--ck-color-list-button-hover-background);
		}
/* It's unnecessary to change the background/text of a switch toggle; it has different ways
	of conveying its state (like the switcher) */
.ck.ck-list__item > .ck-button.ck-switchbutton.ck-on {
			background: var(--ck-color-list-background);
			color: inherit;
		}
.ck.ck-list__item > .ck-button.ck-switchbutton.ck-on:hover:not(.ck-disabled) {
				background: var(--ck-color-list-button-hover-background);
				color: inherit;
			}
.ck-list .ck-list__group {
	padding-top: var(--ck-spacing-medium);

	/* Lists come with an inner vertical padding. Don't duplicate it. */
}
.ck-list .ck-list__group:first-child {
		padding-top: 0;
	}
/* The group should have a border when it's not the first item. */
*:not(.ck-hidden) ~ .ck-list .ck-list__group {
		border-top: 1px solid var(--ck-color-base-border);
	}
.ck-list .ck-list__group > .ck-label {
		font-size: 11px;
		font-weight: bold;
		padding: var(--ck-spacing-medium) var(--ck-spacing-large) 0;
	}
.ck.ck-list__separator {
	height: 1px;
	width: 100%;
	background: var(--ck-color-base-border);

	/* Give the separator some air */
	margin: var(--ck-spacing-small) 0;
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-menu-bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	background: var(--ck-color-base-background);
	padding: var(--ck-spacing-small);
	gap: var(--ck-spacing-small);
	border: 1px solid var(--ck-color-toolbar-border);
	width: 100%;
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-menu-bar__menu {
	/* Enable font size inheritance, which allows fluid UI scaling. */
	font-size: inherit;
}
.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level {
		max-width: 100%;
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A class which indicates that an element holding it is disabled.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements a button of given background color.
 *
 * @param {String} $background - Background color of the button.
 * @param {String} $border - Border color of the button.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
	 * All menu buttons.
	 */
.ck.ck-menu-bar__menu > .ck-menu-bar__menu__button {
		width: 100%;
	}
.ck.ck-menu-bar__menu > .ck-menu-bar__menu__button > .ck-button__label {
			flex-grow: 1;
			overflow: hidden;
			text-overflow: ellipsis;
		}
.ck.ck-menu-bar__menu > .ck-menu-bar__menu__button.ck-disabled > .ck-button__label {
			opacity: var(--ck-disabled-opacity);
		}
[dir="ltr"] .ck.ck-menu-bar__menu > .ck-menu-bar__menu__button:not(.ck-button_with-text) {
				padding-left: var(--ck-spacing-small);
			}
[dir="rtl"] .ck.ck-menu-bar__menu > .ck-menu-bar__menu__button:not(.ck-button_with-text) {
				padding-right: var(--ck-spacing-small);
			}
/*
	 * Top-level menu buttons only.
	 */
.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button {
		padding: var(--ck-spacing-small) var(--ck-spacing-medium);
		min-height: unset;
	}
.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button .ck-button__label {
			width: unset;
			line-height: unset;
		}
.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button.ck-on {
			border-bottom-left-radius: 0;
			border-bottom-right-radius: 0;
		}
.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button .ck-icon {
			display: none;
		}
/*
	 * Sub-menu buttons.
	 */
.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button {
		border-radius: 0;
	}
.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button > .ck-menu-bar__menu__button__arrow {
			width: var(--ck-dropdown-arrow-size);
		}
[dir="ltr"] .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button > .ck-menu-bar__menu__button__arrow {
				transform: rotate(-90deg);

				/* A space to accommodate the triangle. */
				margin-left: var(--ck-spacing-standard);

				/* Nudge the arrow gently to the right because its center of gravity is to the left */
				margin-right: calc(-1 * var(--ck-spacing-small));
	}
[dir="rtl"] .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button > .ck-menu-bar__menu__button__arrow {
				transform: rotate(90deg);

				left: var(--ck-spacing-standard);

				/* A space to accommodate the triangle. */
				margin-right: var(--ck-spacing-small);

				/* Nudge the arrow gently to the left because its center of gravity is to the right (after rotation). */
				margin-left: calc(-1 * var(--ck-spacing-small));
	}
.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button.ck-disabled > .ck-menu-bar__menu__button__arrow {
			opacity: var(--ck-disabled-opacity);
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-menu-bar-menu-item-min-width: 18em;
}
.ck.ck-menu-bar__menu .ck.ck-menu-bar__menu__item {
	min-width: var(--ck-menu-bar-menu-item-min-width);
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
	 * List item buttons.
	 */
.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button {
		border-radius: 0;
	}
.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button > .ck-spinner-container,
		.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button > .ck-spinner-container .ck-spinner {
			/* These styles correspond to .ck-icon so that the spinner seamlessly replaces the icon. */
			--ck-toolbar-spinner-size: 20px;
		}
.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button > .ck-spinner-container {
			/* This ensures margins corresponding to the .ck-icon. */
			font-size: var(--ck-icon-font-size);
		}
[dir="ltr"] .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button > .ck-spinner-container {
				margin-right: var(--ck-spacing-medium);
	}
[dir="rtl"] .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button > .ck-spinner-container {
				margin-left: var(--ck-spacing-medium);
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A visual style of focused element's border.
 */
:root {
	--ck-menu-bar-menu-panel-max-width: 75vw;
}
.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel {
	border-radius: 0;

	background: var(--ck-color-dropdown-panel-background);
	border: 1px solid var(--ck-color-dropdown-panel-border);
	bottom: 0;
	height: fit-content;
	max-width: var(--ck-menu-bar-menu-panel-max-width);
}
.ck-rounded-corners .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel,
	.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
	}
.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel {
	box-shadow: var(--ck-drop-shadow), 0 0;

	/* Corner border radius consistent with the button. */
}
.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es,
	.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se {
		border-top-left-radius: 0;
	}
.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws,
	.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw {
		border-top-right-radius: 0;
	}
.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en,
	.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne {
		border-bottom-left-radius: 0;
	}
.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn,
	.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw {
		border-bottom-right-radius: 0;
	}
.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel:focus {
		outline: none;
	}
.ck.ck-menu-bar .ck-list-item-button:focus,
		.ck.ck-menu-bar .ck-list-item-button:active {
			border-color: transparent;
			box-shadow: none;
		}
.ck.ck-menu-bar.ck-menu-bar_focus-border-enabled .ck-list-item-button:focus,
		.ck.ck-menu-bar.ck-menu-bar_focus-border-enabled .ck-list-item-button:active {
			/* Fix truncated shadows due to rendering order. */
			position: relative;
			z-index: 2;

			/* Disable native outline. */

			outline: none;

			border: var(--ck-focus-ring);
			box-shadow: var(--ck-focus-outer-shadow), 0 0;
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */
:root {
	--ck-balloon-border-width: 1px;
	--ck-balloon-arrow-offset: 2px;
	--ck-balloon-arrow-height: 10px;
	--ck-balloon-arrow-half-width: 8px;
	--ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop);
}
.ck.ck-balloon-panel {
	border-radius: 0;

	min-height: 15px;

	background: var(--ck-color-panel-background);
	border: var(--ck-balloon-border-width) solid var(--ck-color-panel-border);
}
.ck-rounded-corners .ck.ck-balloon-panel,
	.ck.ck-balloon-panel.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
	}
.ck.ck-balloon-panel {
	box-shadow: var(--ck-drop-shadow), 0 0;
}
.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::before,
		.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::after {
			width: 0;
			height: 0;
			border-style: solid;
		}
.ck.ck-balloon-panel[class*="arrow_n"]::before,
		.ck.ck-balloon-panel[class*="arrow_n"]::after {
			border-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);
		}
.ck.ck-balloon-panel[class*="arrow_n"]::before {
			border-color: transparent transparent var(--ck-color-panel-border) transparent;
			margin-top: calc( -1 * var(--ck-balloon-border-width) );
		}
.ck.ck-balloon-panel[class*="arrow_n"]::after {
			border-color: transparent transparent var(--ck-color-panel-background) transparent;
			margin-top: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );
		}
.ck.ck-balloon-panel[class*="arrow_s"]::before,
		.ck.ck-balloon-panel[class*="arrow_s"]::after {
			border-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);
		}
.ck.ck-balloon-panel[class*="arrow_s"]::before {
			border-color: var(--ck-color-panel-border) transparent transparent;
			filter: drop-shadow(var(--ck-balloon-arrow-drop-shadow));
			margin-bottom: calc( -1 * var(--ck-balloon-border-width) );
		}
.ck.ck-balloon-panel[class*="arrow_s"]::after {
			border-color: var(--ck-color-panel-background) transparent transparent transparent;
			margin-bottom: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );
		}
.ck.ck-balloon-panel[class*="arrow_e"]::before,
		.ck.ck-balloon-panel[class*="arrow_e"]::after {
			border-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height);
		}
.ck.ck-balloon-panel[class*="arrow_e"]::before {
			border-color: transparent transparent transparent var(--ck-color-panel-border);
			margin-right: calc( -1 * var(--ck-balloon-border-width) );
		}
.ck.ck-balloon-panel[class*="arrow_e"]::after {
			border-color: transparent transparent transparent var(--ck-color-panel-background);
			margin-right: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );
		}
.ck.ck-balloon-panel[class*="arrow_w"]::before,
		.ck.ck-balloon-panel[class*="arrow_w"]::after {
			border-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0;
		}
.ck.ck-balloon-panel[class*="arrow_w"]::before {
			border-color: transparent var(--ck-color-panel-border) transparent transparent;
			margin-left: calc( -1 * var(--ck-balloon-border-width) );
		}
.ck.ck-balloon-panel[class*="arrow_w"]::after {
			border-color: transparent var(--ck-color-panel-background) transparent transparent;
			margin-left: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );
		}
.ck.ck-balloon-panel.ck-balloon-panel_arrow_n::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_n::after {
			left: 50%;
			margin-left: calc(-1 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}
.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw::after {
			left: calc(2 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}
.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne::after {
			right: calc(2 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}
.ck.ck-balloon-panel.ck-balloon-panel_arrow_s::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_s::after {
			left: 50%;
			margin-left: calc(-1 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}
.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw::after {
			left: calc(2 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}
.ck.ck-balloon-panel.ck-balloon-panel_arrow_se::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_se::after {
			right: calc(2 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}
.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme::after {
			right: 25%;
			margin-right: calc(2 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}
.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw::after {
			left: 25%;
			margin-left: calc(2 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}
.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme::after {
			right: 25%;
			margin-right: calc(2 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}
.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw::after {
			left: 25%;
			margin-left: calc(2 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}
.ck.ck-balloon-panel.ck-balloon-panel_arrow_e::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_e::after {
			right: calc(-1 * var(--ck-balloon-arrow-height));
			margin-top: calc(-1 * var(--ck-balloon-arrow-half-width));
			top: 50%;
		}
.ck.ck-balloon-panel.ck-balloon-panel_arrow_w::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_w::after {
			left: calc(-1 * var(--ck-balloon-arrow-height));
			margin-top: calc(-1 * var(--ck-balloon-arrow-half-width));
			top: 50%;
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck .ck-balloon-rotator__navigation {
	background: var(--ck-color-toolbar-background);
	border-bottom: 1px solid var(--ck-color-toolbar-border);
	padding: 0 var(--ck-spacing-small);

	/* Let's keep similar appearance to `ck-toolbar`. */
}
.ck .ck-balloon-rotator__navigation > * {
		margin-right: var(--ck-spacing-small);
		margin-top: var(--ck-spacing-small);
		margin-bottom: var(--ck-spacing-small);
	}
/* Gives counter more breath than buttons. */
.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter {
		margin-right: var(--ck-spacing-standard);

		/* We need to use smaller margin because of previous button's right margin. */
		margin-left: var(--ck-spacing-small);
	}
/* Disable default annotation shadow inside rotator with fake panels. */
.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper {
		box-shadow: none;
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */
:root {
	--ck-balloon-fake-panel-offset-horizontal: 6px;
	--ck-balloon-fake-panel-offset-vertical: 6px;
}
/* Let's use `.ck-balloon-panel` appearance. See: balloonpanel.css. */
.ck .ck-fake-panel div {
	box-shadow: var(--ck-drop-shadow), 0 0;

	min-height: 15px;

	background: var(--ck-color-panel-background);
	border: 1px solid var(--ck-color-panel-border);
	border-radius: var(--ck-border-radius);

	width: 100%;
	height: 100%;
}
.ck .ck-fake-panel div:nth-child( 1 ) {
	margin-left: var(--ck-balloon-fake-panel-offset-horizontal);
	margin-top: var(--ck-balloon-fake-panel-offset-vertical);
}
.ck .ck-fake-panel div:nth-child( 2 ) {
	margin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);
	margin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);
}
.ck .ck-fake-panel div:nth-child( 3 ) {
	margin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);
	margin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);
}
/* If balloon is positioned above element, we need to move fake panel to the top. */
.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,
.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,
.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {
	--ck-balloon-fake-panel-offset-vertical: -6px;
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */
.ck.ck-sticky-panel .ck-sticky-panel__content_sticky {
		box-shadow: var(--ck-drop-shadow), 0 0;

		border-width: 0 1px 1px;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck-vertical-form > .ck-button:nth-last-child(2)::after {
	border-right: 1px solid var(--ck-color-base-border);
}
.ck.ck-responsive-form {
	padding: var(--ck-spacing-large);
}
.ck.ck-responsive-form:focus {
		/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */
		outline: none;
	}
[dir="ltr"] .ck.ck-responsive-form > :not(:first-child) {
			margin-left: var(--ck-spacing-standard);
		}
[dir="rtl"] .ck.ck-responsive-form > :not(:last-child) {
			margin-left: var(--ck-spacing-standard);
		}
@media screen and (max-width: 600px) {
.ck.ck-responsive-form {
		padding: 0;
		width: calc(.8 * var(--ck-input-width));
}

		.ck.ck-responsive-form .ck-labeled-field-view {
			margin: var(--ck-spacing-large) var(--ck-spacing-large) 0;
		}

			.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text,
			.ck.ck-responsive-form .ck-labeled-field-view .ck-input-number {
				min-width: 0;
				width: 100%;
			}

			/* Let the long error messages wrap in the narrow form. */
			.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error {
				white-space: normal;
			}

		/* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */
			.ck.ck-responsive-form > .ck-button:nth-last-child(2)::after {
				border-right: 1px solid var(--ck-color-base-border);
			}

		.ck.ck-responsive-form > .ck-button:nth-last-child(1),
		.ck.ck-responsive-form > .ck-button:nth-last-child(2) {
			padding: var(--ck-spacing-standard);
			margin-top: var(--ck-spacing-large);
			border-radius: 0;
		}

			.ck.ck-responsive-form > .ck-button:nth-last-child(1):not(:focus), .ck.ck-responsive-form > .ck-button:nth-last-child(2):not(:focus) {
				border-top: 1px solid var(--ck-color-base-border);
			}

			[dir="ltr"] .ck.ck-responsive-form > .ck-button:nth-last-child(1), [dir="ltr"] .ck.ck-responsive-form > .ck-button:nth-last-child(2) {
				margin-left: 0;
	}

			[dir="rtl"] .ck.ck-responsive-form > .ck-button:nth-last-child(1), [dir="rtl"] .ck.ck-responsive-form > .ck-button:nth-last-child(2) {
				margin-left: 0;
	}

				[dir="rtl"] .ck.ck-responsive-form > .ck-button:nth-last-child(1):last-of-type, [dir="rtl"] .ck.ck-responsive-form > .ck-button:nth-last-child(2):last-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-search-field-view-horizontal-spacing: calc(var(--ck-icon-size) + var(--ck-spacing-medium));
}
.ck.ck-search > .ck-labeled-field-view .ck-input {
			width: 100%;
		}
.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-icon {
			--ck-labeled-field-label-default-position-x: var(--ck-search-field-view-horizontal-spacing);
		}
.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-icon > .ck-labeled-field-view__input-wrapper > .ck-icon {
				opacity: .5;
				pointer-events: none;
			}
.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-icon .ck-input {
				width: 100%;
			}
[dir="ltr"] .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-icon .ck-input {
					padding-left: var(--ck-search-field-view-horizontal-spacing);
	}
[dir="rtl"] .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-icon .ck-input:not(.ck-input-text_empty) {
						padding-left: var(--ck-search-field-view-horizontal-spacing);
					}
.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset {
			--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-search-field-view-horizontal-spacing);
		}
.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset.ck-labeled-field-view_empty {
				--ck-labeled-field-empty-unfocused-max-width: 100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium);
			}
.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset {
				min-width: auto;
				min-height: auto;

				background: none;
				opacity: .5;
				padding: 0;
			}
[dir="ltr"] .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset {
					right: var(--ck-spacing-medium);
	}
[dir="rtl"] .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset {
					left: var(--ck-spacing-medium);
	}
.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset:hover {
					opacity: 1;
				}
.ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-input {
				width: 100%;
			}
[dir="ltr"] .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-input:not(.ck-input-text_empty) {
						padding-right: var(--ck-search-field-view-horizontal-spacing);
					}
[dir="rtl"] .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-input {
					padding-right: var(--ck-search-field-view-horizontal-spacing);
	}
.ck.ck-search > .ck-search__results {
		min-width: 100%;
	}
.ck.ck-search > .ck-search__results > .ck-search__info {
			width: 100%;
			padding: var(--ck-spacing-medium) var(--ck-spacing-large);
		}
.ck.ck-search > .ck-search__results > .ck-search__info * {
				white-space: normal;
			}
.ck.ck-search > .ck-search__results > .ck-search__info > span:first-child {
				font-weight: bold;
			}
.ck.ck-search > .ck-search__results > .ck-search__info > span:last-child {
				margin-top: var(--ck-spacing-medium);
			}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-toolbar-spinner-size: 18px;
}
.ck.ck-spinner-container {
	width: var(--ck-toolbar-spinner-size);
	height: var(--ck-toolbar-spinner-size);
	animation: 1.5s infinite ck-spinner-rotate linear;
}
@media (prefers-reduced-motion: reduce) {
.ck.ck-spinner-container {
		animation-duration: 3s;
}
	}
.ck.ck-spinner {
	width: var(--ck-toolbar-spinner-size);
	height: var(--ck-toolbar-spinner-size);
	border-radius: 50%;
	border: 2px solid var(--ck-color-text);
	border-top-color: transparent;
}
@keyframes ck-spinner-rotate {
	to {
		transform: rotate(360deg)
	}
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * This fixes a problem in Firefox when the initial height of the complement does not match the number of rows.
 * This bug is especially visible when rows=1.
 */
.ck-textarea {
	overflow-x: hidden
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-color-block-toolbar-button: var(--ck-color-text);
	--ck-block-toolbar-button-size: var(--ck-font-size-normal);
}
.ck.ck-block-toolbar-button {
	color: var(--ck-color-block-toolbar-button);
	font-size: var(--ck-block-toolbar-size);
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-toolbar {
	border-radius: 0;

	background: var(--ck-color-toolbar-background);
	padding: 0 var(--ck-spacing-small);
	border: 1px solid var(--ck-color-toolbar-border);
}
.ck-rounded-corners .ck.ck-toolbar,
	.ck.ck-toolbar.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
	}
.ck.ck-toolbar .ck.ck-toolbar__separator {
		height: var(--ck-icon-size);
		width: 1px;
		min-width: 1px;
		background: var(--ck-color-toolbar-border);

		/*
		 * These margins make the separators look better in balloon toolbars (when aligned with the "tip").
		 * See https://github.com/ckeditor/ckeditor5/issues/7493.
		 */
		margin-top: var(--ck-spacing-small);
		margin-bottom: var(--ck-spacing-small);
	}
.ck.ck-toolbar .ck-toolbar__line-break {
		height: 0;
	}
.ck.ck-toolbar > .ck-toolbar__items > *:not(.ck-toolbar__line-break) {
			/* (#11) Separate toolbar items. */
			margin-right: var(--ck-spacing-small);
		}
/* Don't display a separator after an empty items container, for instance,
		when all items were grouped */
.ck.ck-toolbar > .ck-toolbar__items:empty + .ck.ck-toolbar__separator {
			display: none;
		}
.ck.ck-toolbar > .ck-toolbar__items > *:not(.ck-toolbar__line-break),
	.ck.ck-toolbar > .ck.ck-toolbar__grouped-dropdown {
		/* Make sure items wrapped to the next line have v-spacing */
		margin-top: var(--ck-spacing-small);
		margin-bottom: var(--ck-spacing-small);
	}
.ck.ck-toolbar.ck-toolbar_vertical {
		/* Items in a vertical toolbar span the entire width. */
		padding: 0;

		/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */
	}
.ck.ck-toolbar.ck-toolbar_vertical > .ck-toolbar__items > .ck {
			/* Items in a vertical toolbar should span the horizontal space. */
			width: 100%;

			/* Items in a vertical toolbar should have no margin. */
			margin: 0;

			/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */
			border-radius: 0;
		}
.ck.ck-toolbar.ck-toolbar_compact {
		/* No spacing around items. */
		padding: 0;
	}
.ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > * {
			/* Compact toolbar items have no spacing between them. */
			margin: 0;

			/* "Middle" children should have no rounded corners. */
		}
.ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > *:not(:first-child):not(:last-child) {
				border-radius: 0;
			}
/*
		 * Dropdown button has asymmetric padding to fit the arrow.
		 * This button has no arrow so let's revert that padding back to normal.
		 */
.ck.ck-toolbar > .ck.ck-toolbar__grouped-dropdown > .ck.ck-button.ck-dropdown__button {
			padding-left: var(--ck-spacing-tiny);
		}
/* A drop-down containing the nested toolbar with configured items. */
/* Prevent empty space in the panel when the dropdown label is visible and long but the toolbar has few items. */
.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown > .ck-dropdown__panel {
			min-width: auto;
		}
.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown > .ck-button > .ck-button__label {
			max-width: 7em;
			width: auto;
		}
.ck.ck-toolbar:focus {
		outline: none;
	}
.ck-toolbar-container .ck.ck-toolbar {
		border: 0;
	}
/* stylelint-disable */
/*
 * Styles for RTL toolbars.
 *
 * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"
 * because its parent is not controlled by the editor framework.
 */
[dir="rtl"] .ck.ck-toolbar > .ck-toolbar__items > .ck, .ck.ck-toolbar[dir="rtl"] > .ck-toolbar__items > .ck {
		margin-right: 0;
	}
[dir="rtl"] .ck.ck-toolbar:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck, .ck.ck-toolbar[dir="rtl"]:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {
		/* (#11) Separate toolbar items. */
		margin-left: var(--ck-spacing-small);
	}
[dir="rtl"] .ck.ck-toolbar > .ck-toolbar__items > .ck:last-child, .ck.ck-toolbar[dir="rtl"] > .ck-toolbar__items > .ck:last-child {
		margin-left: 0;
	}
/* No rounded corners on the right side of the first child. */
[dir="rtl"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck:first-child, .ck.ck-toolbar.ck-toolbar_compact[dir="rtl"] > .ck-toolbar__items > .ck:first-child {
			border-top-left-radius: 0;
			border-bottom-left-radius: 0;
		}
/* No rounded corners on the left side of the last child. */
[dir="rtl"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck:last-child, .ck.ck-toolbar.ck-toolbar_compact[dir="rtl"] > .ck-toolbar__items > .ck:last-child {
			border-top-right-radius: 0;
			border-bottom-right-radius: 0;
		}
/* Separate the the separator form the grouping dropdown when some items are grouped. */
[dir="rtl"] .ck.ck-toolbar > .ck.ck-toolbar__separator, .ck.ck-toolbar[dir="rtl"] > .ck.ck-toolbar__separator {
		margin-left: var(--ck-spacing-small);
	}
/* Some spacing between the items and the separator before the grouped items dropdown. */
[dir="rtl"] .ck.ck-toolbar.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child), .ck.ck-toolbar.ck-toolbar_grouping[dir="rtl"] > .ck-toolbar__items:not(:empty):not(:only-child) {
		margin-left: var(--ck-spacing-small);
	}
/*
 * Styles for LTR toolbars.
 *
 * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"
 * because its parent is not controlled by the editor framework.
 */
[dir="ltr"] .ck.ck-toolbar > .ck-toolbar__items > .ck:last-child, .ck.ck-toolbar[dir="ltr"] > .ck-toolbar__items > .ck:last-child {
		margin-right: 0;
	}
/* No rounded corners on the right side of the first child. */
[dir="ltr"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck:first-child, .ck.ck-toolbar.ck-toolbar_compact[dir="ltr"] > .ck-toolbar__items > .ck:first-child {
			border-top-right-radius: 0;
			border-bottom-right-radius: 0;
		}
/* No rounded corners on the left side of the last child. */
[dir="ltr"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck:last-child, .ck.ck-toolbar.ck-toolbar_compact[dir="ltr"] > .ck-toolbar__items > .ck:last-child {
			border-top-left-radius: 0;
			border-bottom-left-radius: 0;
		}
/* Separate the the separator form the grouping dropdown when some items are grouped. */
[dir="ltr"] .ck.ck-toolbar > .ck.ck-toolbar__separator, .ck.ck-toolbar[dir="ltr"] > .ck.ck-toolbar__separator {
		margin-right: var(--ck-spacing-small);
	}
/* Some spacing between the items and the separator before the grouped items dropdown. */
[dir="ltr"] .ck.ck-toolbar.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child), .ck.ck-toolbar.ck-toolbar_grouping[dir="ltr"] > .ck-toolbar__items:not(:empty):not(:only-child) {
		margin-right: var(--ck-spacing-small);
	}
/* stylelint-enable */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
.ck.ck-balloon-panel.ck-tooltip {
	--ck-balloon-border-width: 0px;
	--ck-balloon-arrow-offset: 0px;
	--ck-balloon-arrow-half-width: 4px;
	--ck-balloon-arrow-height: 4px;
	--ck-tooltip-text-padding: 4px;
	--ck-color-panel-background: var(--ck-color-tooltip-background);

	padding: 0 var(--ck-spacing-medium);

	/* Reset balloon panel styles */
	box-shadow: none;
}
.ck.ck-balloon-panel.ck-tooltip .ck-tooltip__text {
		font-size: .9em;
		line-height: 1.5;
		color: var(--ck-color-tooltip-text);
	}
.ck.ck-balloon-panel.ck-tooltip.ck-tooltip_multi-line .ck-tooltip__text {
		white-space: break-spaces;
		display: inline-block;
		padding: var(--ck-tooltip-text-padding) 0;
		max-width: 200px;
	}
/* Hide the default shadow of the .ck-balloon-panel tip */
.ck.ck-balloon-panel.ck-tooltip::before {
		display: none;
	}

/* Editor */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content {
			border-radius: 0;

			border: 1px solid var(--ck-color-base-border);
			border-bottom-width: 0;
		}
.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content,
	.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-bottom-left-radius: 0;
				border-bottom-right-radius: 0;
	}
.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content.ck-sticky-panel__content_sticky {
				border-bottom-width: 1px;
			}
.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content .ck-menu-bar {
				border: 0;
				border-bottom: 1px solid var(--ck-color-base-border);
			}
.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content .ck-toolbar {
				border: 0;
			}
/* Note: Use ck-editor__main to make sure these styles don't apply to other editor types */
.ck.ck-editor__main > .ck-editor__editable {
	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/113 */
	background: var(--ck-color-base-background);

	border-radius: 0;
}
.ck-rounded-corners .ck.ck-editor__main > .ck-editor__editable,
	.ck.ck-editor__main > .ck-editor__editable.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}
.ck.ck-editor__main > .ck-editor__editable:not(.ck-focused) {
		border-color: var(--ck-color-base-border);
	}

/* Plugins */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-clipboard-drop-target-dot-width: 12px;
	--ck-clipboard-drop-target-dot-height: 8px;
	--ck-clipboard-drop-target-color: var(--ck-color-focus-border);
}
/*
	 * Vertical drop target (in text).
	 */
.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span {
			bottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));
			top: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));
			border: 1px solid var(--ck-clipboard-drop-target-color);
			background: var(--ck-clipboard-drop-target-color);
			margin-left: -1px;

			/* The triangle above the marker */
		}
.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span::after {
				content: '';
				width: 0;
				height: 0;

				display: block;
				position: absolute;
				left: 50%;
				top: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));

				transform: translateX(-50%);
				border-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent;
				border-width: calc(var(--ck-clipboard-drop-target-dot-height)) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width));
				border-style: solid;
			}
/*
	 * Styles of the widget that it a drop target.
	 */
.ck.ck-editor__editable .ck-widget.ck-clipboard-drop-target-range {
		outline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important;
	}
/*
	 * Styles of the widget being dragged (its preview).
	 */
.ck.ck-editor__editable .ck-widget:-webkit-drag {
		zoom: 0.6;
		outline: none !important;
	}
.ck.ck-clipboard-drop-target-line {
	height: 0;
	border: 1px solid var(--ck-clipboard-drop-target-color);
	background: var(--ck-clipboard-drop-target-color);
	margin-top: -1px;
}
.ck.ck-clipboard-drop-target-line::before {
		content: '';
		position: absolute;
		top: calc(-.5 * var(--ck-clipboard-drop-target-dot-width));
		width: 0;
		height: 0;
		border-style: solid;
	}
[dir="ltr"] .ck.ck-clipboard-drop-target-line::before {
			left: -1px;

			border-width: calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height);
			border-color: transparent transparent transparent var(--ck-clipboard-drop-target-color);
	}
[dir="rtl"] .ck.ck-clipboard-drop-target-line::before {
			right: -1px;

			border-width:calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0;
			border-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent;
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-color-code-block-label-background: hsl(0, 0%, 46%);
}
.ck.ck-editor__editable pre[data-language]::after {
	top: -1px;
	right: 10px;
	background: var(--ck-color-code-block-label-background);

	font-size: 10px;
	font-family: var(--ck-font-face);
	line-height: 16px;
	padding: var(--ck-spacing-tiny) var(--ck-spacing-medium);
	color: hsl(0, 0%, 100%);
	white-space: nowrap;
}
.ck.ck-code-block-dropdown .ck-dropdown__panel {
	/* There could be dozens of languages available. Use scroll to prevent a 10e6px dropdown. */
	max-height: 250px;
	overflow-y: auto;
	overflow-x: hidden;
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/* See ckeditor/ckeditor5#936. */
@media (forced-colors: active) {
		.ck.ck-placeholder, .ck .ck-placeholder {
		/*
		 * This is needed for Edge on Windows to use the right color for the placeholder content (::before).
		 * See https://github.com/ckeditor/ckeditor5/issues/14907.
		 */
		forced-color-adjust: preserve-parent-color;
		}
	}
.ck.ck-placeholder::before, .ck .ck-placeholder::before {
		cursor: text;
	}
@media (forced-colors: none) {
		.ck.ck-placeholder::before, .ck .ck-placeholder::before {
			color: var(--ck-color-engine-placeholder-text);
		}
	}
@media (forced-colors: active) {
		.ck.ck-placeholder::before, .ck .ck-placeholder::before {
			/*
			 * In the high contrast mode there is no telling between regular and placeholder text. Using
			 * italic text to address that issue. See https://github.com/ckeditor/ckeditor5/issues/14907.
			 */
			font-style: italic;

			/*
			 * Without this margin, the caret will not show up and blink when the user puts the selection
			 * in the placeholder (Edge on Windows). See https://github.com/ckeditor/ckeditor5/issues/14907.
			 */
			margin-left: 1px;
		}
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-find-and-replace-form {
	width: 400px;

	/*
	 * The <form> needs tabindex="-1" for proper Esc handling after being clicked
	 * but the side effect is that this creates a nasty focus outline in some browsers.
	 */
}
.ck.ck-find-and-replace-form:focus {
		outline: none;
	}
/* Generic styles for the form inputs and actions. */
.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs,
	.ck.ck-find-and-replace-form .ck-find-and-replace-form__actions {
		flex: 1 1 auto;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		align-content: stretch;

		padding: var(--ck-spacing-large);
		margin: 0;

	}
.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs > .ck-button, .ck.ck-find-and-replace-form .ck-find-and-replace-form__actions > .ck-button {
			flex: 0 0 auto;
		}
[dir="ltr"] .ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs > * + *, [dir="ltr"] .ck.ck-find-and-replace-form .ck-find-and-replace-form__actions > * + * {
				margin-left: var(--ck-spacing-standard);
			}
[dir="rtl"] .ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs > * + *, [dir="rtl"] .ck.ck-find-and-replace-form .ck-find-and-replace-form__actions > * + * {
				margin-right: var(--ck-spacing-standard);
			}
.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs .ck-labeled-field-view, .ck.ck-find-and-replace-form .ck-find-and-replace-form__actions .ck-labeled-field-view {
			flex: 1 1 auto;
		}
.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs .ck-labeled-field-view .ck-input, .ck.ck-find-and-replace-form .ck-find-and-replace-form__actions .ck-labeled-field-view .ck-input {
				width: 100%;
				min-width: 50px;
			}
/* Styles specific for inputs area. */
.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs {
		/* To display all controls in line when there's an error under the input */
		align-items: flex-start;
	}
.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs > .ck-button-prev > .ck-icon {
			transform: rotate(90deg);
		}
.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs > .ck-button-next > .ck-icon {
			transform: rotate(-90deg);
		}
.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs .ck-results-counter {
			top: 50%;
			transform: translateY(-50%);

			color: var(--ck-color-base-border);
		}
[dir="ltr"] .ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs .ck-results-counter {
				right: var(--ck-spacing-standard);
	}
[dir="rtl"] .ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs .ck-results-counter {
				left: var(--ck-spacing-standard);
	}
.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs > .ck-labeled-field-replace {
			flex: 0 0 100%;
			padding-top: var(--ck-spacing-standard);
		}
[dir="ltr"] .ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs > .ck-labeled-field-replace {
				margin-left: 0;
	}
[dir="rtl"] .ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs > .ck-labeled-field-replace {
				margin-right: 0;
	}
/* Styles specific for actions area. */
.ck.ck-find-and-replace-form .ck-find-and-replace-form__actions {
		flex-wrap: wrap;
		justify-content: flex-end;
		margin-top: calc( -1 * var(--ck-spacing-large) );
	}
.ck.ck-find-and-replace-form .ck-find-and-replace-form__actions > .ck-button-find {
			font-weight: bold;

			/* Beef the find button up a little. It's the main action button in the form */
		}
.ck.ck-find-and-replace-form .ck-find-and-replace-form__actions > .ck-button-find .ck-button__label {
				padding-left: var(--ck-spacing-large);
				padding-right: var(--ck-spacing-large);
			}
.ck.ck-find-and-replace-form .ck-switchbutton {
		width: 100%;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
	}
@media screen and (max-width: 600px) {
	.ck.ck-find-and-replace-form {
		width: 300px;

		/* Don't let the form overflow from the dialog (https://github.com/cksource/ckeditor5-commercial/issues/5913) */
		max-width: 100%;

		/* Styles specific for inputs area. */
	}
		.ck.ck-find-and-replace-form.ck-find-and-replace-form__input {
			flex-wrap: wrap;
		}

			.ck.ck-find-and-replace-form.ck-find-and-replace-form__input .ck-labeled-field-view {
				flex: 1 0 auto;
				width: 100%;
				margin-bottom: var(--ck-spacing-standard);
			}

			.ck.ck-find-and-replace-form.ck-find-and-replace-form__input > .ck-button {
				text-align: center;
			}

				.ck.ck-find-and-replace-form.ck-find-and-replace-form__input > .ck-button:first-of-type {
					flex: 1 1 auto;
				}

					[dir="ltr"] .ck.ck-find-and-replace-form.ck-find-and-replace-form__input > .ck-button:first-of-type {
						margin-left: 0;
	}

					[dir="rtl"] .ck.ck-find-and-replace-form.ck-find-and-replace-form__input > .ck-button:first-of-type {
						margin-right: 0;
	}

					.ck.ck-find-and-replace-form.ck-find-and-replace-form__input > .ck-button:first-of-type .ck-button__label {
						width: 100%;
						text-align: center;
					}

		/* Styles specific for actions area. */
		.ck.ck-find-and-replace-form.ck-find-and-replace-form__actions > :not(.ck-labeled-field-view) {
			flex-wrap: wrap;
			flex: 1 1 auto;
		}

			.ck.ck-find-and-replace-form.ck-find-and-replace-form__actions > :not(.ck-labeled-field-view) > .ck-button {
				text-align: center;
			}

				.ck.ck-find-and-replace-form.ck-find-and-replace-form__actions > :not(.ck-labeled-field-view) > .ck-button:first-of-type {
					flex: 1 1 auto;
				}

					[dir="ltr"] .ck.ck-find-and-replace-form.ck-find-and-replace-form__actions > :not(.ck-labeled-field-view) > .ck-button:first-of-type {
						margin-left: 0;
	}

					[dir="rtl"] .ck.ck-find-and-replace-form.ck-find-and-replace-form__actions > :not(.ck-labeled-field-view) > .ck-button:first-of-type {
						margin-right: 0;
	}

				.ck.ck-find-and-replace-form.ck-find-and-replace-form__actions > :not(.ck-labeled-field-view) > .ck-button .ck-button__label {
					width: 100%;
					text-align: center;
				}
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/* Resize dropdown's button label. */
.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label {
		width: 8em;
	}
.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item {
		min-width: 18em;
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-html-embed-content-width: calc(100% - 1.5 * var(--ck-icon-size));
	--ck-html-embed-source-height: 10em;
	--ck-html-embed-unfocused-outline-width: 1px;
	--ck-html-embed-content-min-height: calc(var(--ck-icon-size) + var(--ck-spacing-standard));

	--ck-html-embed-source-disabled-background: var(--ck-color-base-foreground);
	--ck-html-embed-source-disabled-color: hsl(0deg 0% 45%);
}
/* The feature container. */
.ck-widget.raw-html-embed {
	font-size: var(--ck-font-size-base);
	background-color: var(--ck-color-base-foreground);
}
.ck-widget.raw-html-embed:not(.ck-widget_selected):not(:hover) {
		outline: var(--ck-html-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border);
	}
/* HTML embed widget itself should respect UI language direction */
.ck-widget.raw-html-embed[dir="ltr"] {
		text-align: left;
	}
.ck-widget.raw-html-embed[dir="rtl"] {
		text-align: right;
	}
/* ----- Embed label in the upper left corner ----------------------------------------------- */
.ck-widget.raw-html-embed::before {
		content: attr(data-html-embed-label);
		top: calc(-1 * var(--ck-html-embed-unfocused-outline-width));
		left: var(--ck-spacing-standard);
		background: hsl(0deg 0% 60%);
		transition: background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);
		padding: calc(var(--ck-spacing-tiny) + var(--ck-html-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);
		border-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);
		color: var(--ck-color-base-background);
		font-size: var(--ck-font-size-tiny);
		font-family: var(--ck-font-face);
	}
.ck-widget.raw-html-embed[dir="rtl"]::before {
		left: auto;
		right: var(--ck-spacing-standard);
	}
/* Make space for label but it only collides in LTR languages */
.ck-widget.raw-html-embed[dir="ltr"] .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before {
		margin-left: 50px;
	}
.ck.ck-editor__editable.ck-blurred .ck-widget.raw-html-embed.ck-widget_selected::before {
		top: 0px;
		padding: var(--ck-spacing-tiny) var(--ck-spacing-small);
	}
.ck.ck-editor__editable:not(.ck-blurred) .ck-widget.raw-html-embed.ck-widget_selected::before {
		top: 0;
		padding: var(--ck-spacing-tiny) var(--ck-spacing-small);
		background: var(--ck-color-focus-border);
	}
.ck.ck-editor__editable .ck-widget.raw-html-embed:not(.ck-widget_selected):hover::before {
		top: 0px;
		padding: var(--ck-spacing-tiny) var(--ck-spacing-small);
	}
/* ----- Emebed internals --------------------------------------------------------------------- */
.ck-widget.raw-html-embed .raw-html-embed__content-wrapper {
		padding: var(--ck-spacing-standard);
	}
/* The switch mode button wrapper. */
.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper {
		top: var(--ck-spacing-standard);
		right: var(--ck-spacing-standard);
	}
.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper .ck-button.raw-html-embed__save-button {
			color: var(--ck-color-button-save);
		}
.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper .ck-button.raw-html-embed__cancel-button {
			color: var(--ck-color-button-cancel);
		}
.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper .ck-button:not(:first-child) {
			margin-top: var(--ck-spacing-small);
		}
.ck-widget.raw-html-embed[dir="rtl"] .raw-html-embed__buttons-wrapper {
		left: var(--ck-spacing-standard);
		right: auto;
	}
/* The edit source element. */
.ck-widget.raw-html-embed .raw-html-embed__source {
		box-sizing: border-box;
		height: var(--ck-html-embed-source-height);
		width: var(--ck-html-embed-content-width);
		resize: none;
		min-width: 0;
		padding: var(--ck-spacing-standard);

		font-family: monospace;
		tab-size: 4;
		white-space: pre-wrap;
		font-size: var(--ck-font-size-base); /* Safari needs this. */

		/* HTML code is direction–agnostic. */
		text-align: left;
		direction: ltr;
	}
.ck-widget.raw-html-embed .raw-html-embed__source[disabled] {
			background: var(--ck-html-embed-source-disabled-background);
			color: var(--ck-html-embed-source-disabled-color);

			/* Safari needs this for the proper text color in disabled input (https://github.com/ckeditor/ckeditor5/issues/8320). */
			-webkit-text-fill-color: var(--ck-html-embed-source-disabled-color);
			opacity: 1;
		}
/* The preview data container. */
.ck-widget.raw-html-embed .raw-html-embed__preview {
		min-height: var(--ck-html-embed-content-min-height);
		width: var(--ck-html-embed-content-width);

		/* Disable all mouse interaction as long as the editor is not read–only. */
	}
.ck-editor__editable:not(.ck-read-only) .ck-widget.raw-html-embed .raw-html-embed__preview {
			pointer-events: none;
		}
.ck-widget.raw-html-embed .raw-html-embed__preview-content {
		box-sizing: border-box;
		background-color: var(--ck-color-base-foreground);
	}
.ck-widget.raw-html-embed .raw-html-embed__preview-content > * {
			margin-left: auto;
			margin-right: auto;
		}
.ck-widget.raw-html-embed .raw-html-embed__preview-placeholder {
		color: var(--ck-html-embed-source-disabled-color)
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-image-insert-insert-by-url-width: 250px;
}
.ck.ck-image-insert-url {
	--ck-input-width: 100%;
}
.ck.ck-image-insert-url .ck-image-insert-url__action-row {
		grid-column-gap: var(--ck-spacing-large);
		margin-top: var(--ck-spacing-large);
	}
.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-save,
		.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-cancel {
			justify-content: center;
			min-width: auto;
		}
.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button .ck-button__label {
			color: var(--ck-color-text);
		}
.ck.ck-image-insert-form > .ck.ck-button {
		display: block;
		width: 100%;
	}
[dir="ltr"] .ck.ck-image-insert-form > .ck.ck-button {
			text-align: left;
	}
[dir="rtl"] .ck.ck-image-insert-form > .ck.ck-button {
			text-align: right;
	}
.ck.ck-image-insert-form > .ck.ck-collapsible {

		min-width: var(--ck-image-insert-insert-by-url-width);
	}
.ck.ck-image-insert-form > .ck.ck-collapsible:not(:first-child) {
			border-top: 1px solid var(--ck-color-base-border);
		}
.ck.ck-image-insert-form > .ck.ck-collapsible:not(:last-child) {
			border-bottom: 1px solid var(--ck-color-base-border);
		}
/* This is the case when there are no other integrations configured than insert by URL */
.ck.ck-image-insert-form > .ck.ck-image-insert-url {
		min-width: var(--ck-image-insert-insert-by-url-width);
		padding: var(--ck-spacing-large);
	}
.ck.ck-image-insert-form:focus {
		outline: none;
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-color-image-upload-icon: hsl(0, 0%, 100%);
	--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);

	/* Match the icon size with the linked image indicator brought by the link image feature. */
	--ck-image-upload-icon-size: 20;
	--ck-image-upload-icon-width: 2px;
	--ck-image-upload-icon-is-visible: clamp(0px, 100% - 50px, 1px);
}
.ck-image-upload-complete-icon {
	opacity: 0;
	background: var(--ck-color-image-upload-icon-background);
	animation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;
	animation-fill-mode: forwards, forwards;
	animation-duration: 500ms, 500ms;

	/* To make animation scalable. */
	font-size: calc(1px * var(--ck-image-upload-icon-size));

	/* Hide completed upload icon after 3 seconds. */
	animation-delay: 0ms, 3000ms;

	/*
	 * Use CSS math to simulate container queries.
	 * https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things
	 */
	overflow: hidden;
	width: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));
	height: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));

	/* This is check icon element made from border-width mixed with animations. */
}
.ck-image-upload-complete-icon::after {
		/* Because of border transformation we need to "hard code" left position. */
		left: 25%;

		top: 50%;
		opacity: 0;
		height: 0;
		width: 0;

		transform: scaleX(-1) rotate(135deg);
		transform-origin: left top;
		border-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);
		border-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);

		animation-name: ck-upload-complete-icon-check;
		animation-duration: 500ms;
		animation-delay: 500ms;
		animation-fill-mode: forwards;

		/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */
		box-sizing: border-box;
	}
@media (prefers-reduced-motion: reduce) {
.ck-image-upload-complete-icon {
		animation-duration: 0ms;
}

		.ck-image-upload-complete-icon::after {
			animation: none;
			opacity: 1;
			width: 0.3em;
			height: 0.45em;
		}
	}
@keyframes ck-upload-complete-icon-show {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}
@keyframes ck-upload-complete-icon-hide {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}
@keyframes ck-upload-complete-icon-check {
	0% {
		opacity: 1;
		width: 0;
		height: 0;
	}
	33% {
		width: 0.3em;
		height: 0;
	}
	100% {
		opacity: 1;
		width: 0.3em;
		height: 0.45em;
	}
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-color-upload-placeholder-loader: hsl(0, 0%, 70%);
	--ck-upload-placeholder-loader-size: 32px;
	--ck-upload-placeholder-image-aspect-ratio: 2.8;
}
.ck .ck-image-upload-placeholder {
	/* We need to control the full width of the SVG gray background. */
	width: 100%;
	margin: 0;
}
.ck .ck-image-upload-placeholder.image-inline {
		width: calc( 2 * var(--ck-upload-placeholder-loader-size) * var(--ck-upload-placeholder-image-aspect-ratio) );
	}
.ck .ck-image-upload-placeholder img {
		/*
		 * This is an arbitrary aspect for a 1x1 px GIF to display to the user. Not too tall, not too short.
		 * There's nothing special about this number except that it should make the image placeholder look like
		 * a real image during this short period after the upload started and before the image was read from the
		 * file system (and a rich preview was loaded).
		 */
		aspect-ratio: var(--ck-upload-placeholder-image-aspect-ratio);
	}
.ck .ck-upload-placeholder-loader {
	width: 100%;
	height: 100%;
}
.ck .ck-upload-placeholder-loader::before {
		width: var(--ck-upload-placeholder-loader-size);
		height: var(--ck-upload-placeholder-loader-size);
		border-radius: 50%;
		border-top: 3px solid var(--ck-color-upload-placeholder-loader);
		border-right: 2px solid transparent;
		animation: ck-upload-placeholder-loader 1s linear infinite;
	}
@keyframes ck-upload-placeholder-loader {
	to {
		transform: rotate( 360deg );
	}
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/* Showing animation. */
.ck.ck-editor__editable .image.ck-appear, .ck.ck-editor__editable .image-inline.ck-appear {
			animation: fadeIn 700ms;
		}
@media (prefers-reduced-motion: reduce) {
.ck.ck-editor__editable .image.ck-appear, .ck.ck-editor__editable .image-inline.ck-appear {
				opacity: 1;
				animation: none;
		}
			}
/* Upload progress bar. */
.ck.ck-editor__editable .image .ck-progress-bar,
	.ck.ck-editor__editable .image-inline .ck-progress-bar {
		height: 2px;
		width: 0;
		background: var(--ck-color-upload-bar-background);
		transition: width 100ms;
	}
@keyframes fadeIn {
	from { opacity: 0; }
	to   { opacity: 1; }
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/* Class added to span element surrounding currently selected link. */
.ck .ck-link_selected {
	background: var(--ck-color-link-selected-background);

	/* Give linked inline images some outline to let the user know they are also part of the link. */
}
.ck .ck-link_selected span.image-inline {
		outline: var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background);
	}
/*
 * Classes used by the "fake visual selection" displayed in the content when an input
 * in the link UI has focus (the browser does not render the native selection in this state).
 */
.ck .ck-fake-link-selection {
	background: var(--ck-color-link-fake-selection);
}
/* A collapsed fake visual selection. */
.ck .ck-fake-link-selection_collapsed {
	height: 100%;
	border-right: 1px solid var(--ck-color-base-text);
	margin-right: -1px;
	outline: solid 1px hsla(0, 0%, 100%, .5);
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Makes element unselectable.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A visual style of focused element's border.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-link-actions .ck-button.ck-link-actions__preview {
		padding-left: 0;
		padding-right: 0;
	}
.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label {
			padding: 0 var(--ck-spacing-medium);
			color: var(--ck-color-link-default);
			text-overflow: ellipsis;
			cursor: pointer;

			/* Match the box model of the link editor form's input so the balloon
			does not change width when moving between actions and the form. */
			max-width: var(--ck-input-width);
			min-width: 3em;
			text-align: center;
		}
.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover {
				text-decoration: underline;
			}
.ck.ck-link-actions .ck-button.ck-link-actions__preview,
		.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover,
		.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,
		.ck.ck-link-actions .ck-button.ck-link-actions__preview:active {
			background: none;
		}
.ck.ck-link-actions .ck-button.ck-link-actions__preview:active {
			box-shadow: none;
		}
.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label {
				text-decoration: underline;
			}
[dir="ltr"] .ck.ck-link-actions .ck-button:not(:first-child) {
			margin-left: var(--ck-spacing-standard);
		}
[dir="rtl"] .ck.ck-link-actions .ck-button:not(:last-child) {
			margin-left: var(--ck-spacing-standard);
		}
@media screen and (max-width: 600px) {
		.ck.ck-link-actions .ck-button.ck-link-actions__preview {
			margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;
		}

			.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label {
				min-width: 0;
				max-width: 100%;
			}
			[dir="ltr"] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview) {
				margin-left: 0;
	}

			[dir="rtl"] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview) {
				margin-left: 0;
	}
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Style link form differently when manual decorators are available.
 * See: https://github.com/ckeditor/ckeditor5-link/issues/186.
 */
.ck.ck-link-form_layout-vertical {
	padding: 0;
	min-width: var(--ck-input-width);
}
.ck.ck-link-form_layout-vertical .ck-labeled-field-view {
		margin: var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small);
	}
.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text {
			min-width: 0;
			width: 100%;
		}
.ck.ck-link-form_layout-vertical > .ck-button {
		padding: var(--ck-spacing-standard);
		margin: 0;
		width: 50%;
		border-radius: 0;
	}
.ck.ck-link-form_layout-vertical > .ck-button:not(:focus) {
			border-top: 1px solid var(--ck-color-base-border);
		}
[dir="ltr"] .ck.ck-link-form_layout-vertical > .ck-button {
			margin-left: 0;
	}
[dir="rtl"] .ck.ck-link-form_layout-vertical > .ck-button {
			margin-left: 0;
	}
[dir="rtl"] .ck.ck-link-form_layout-vertical > .ck-button:last-of-type {
				border-right: 1px solid var(--ck-color-base-border);
			}
/* Using additional `.ck` class for stronger CSS specificity than `.ck.ck-link-form > :not(:first-child)`. */
.ck.ck-link-form_layout-vertical .ck.ck-list {
		margin: 0 var(--ck-spacing-large);
	}
.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton {
			padding: 0;
			width: 100%;
		}
.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover {
				background: none;
			}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	/* Match the icon size with the upload indicator brought by the image upload feature. */
	--ck-link-image-indicator-icon-size: 20;
	--ck-link-image-indicator-icon-is-visible: clamp(0px, 100% - 50px, 1px);
}
/* Linked image indicator */
.ck.ck-editor__editable figure.image > a::after, .ck.ck-editor__editable a span.image-inline::after {
			content: "";

			/*
			 * Smaller images should have the icon closer to the border.
			 * Match the icon position with the upload indicator brought by the image upload feature.
			 */
			top: min(var(--ck-spacing-medium), 6%);
			right: min(var(--ck-spacing-medium), 6%);

			background-color: hsla(0, 0%, 0%, .4);
			background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+);
			background-size: 14px;
			background-repeat: no-repeat;
			background-position: center;
			border-radius: 100%;

			/*
			* Use CSS math to simulate container queries.
			* https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things
			*/
			overflow: hidden;
			width: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));
			height: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/* When there are no list styles and there is no collapsible. */
.ck.ck-list-properties.ck-list-properties_without-styles {
		padding: var(--ck-spacing-large);
	}
.ck.ck-list-properties.ck-list-properties_without-styles > * {
			min-width: 14em;
		}
.ck.ck-list-properties.ck-list-properties_without-styles > * + * {
				margin-top: var(--ck-spacing-standard);
			}
/*
	 * When the numbered list property fields (start at, reversed) should be displayed,
	 * more horizontal space is needed. Reconfigure the style grid to create that space.
	 */
.ck.ck-list-properties.ck-list-properties_with-numbered-properties > .ck-list-styles-list {
			grid-template-columns: repeat( 4, auto );
		}
/* When list styles are rendered and property fields are in a collapsible. */
.ck.ck-list-properties.ck-list-properties_with-numbered-properties > .ck-collapsible {
			border-top: 1px solid var(--ck-color-base-border);
		}
.ck.ck-list-properties.ck-list-properties_with-numbered-properties > .ck-collapsible > .ck-collapsible__children > * {
					width: 100%;
				}
.ck.ck-list-properties.ck-list-properties_with-numbered-properties > .ck-collapsible > .ck-collapsible__children > * + * {
						margin-top: var(--ck-spacing-standard);
					}
.ck.ck-list-properties .ck.ck-numbered-list-properties__start-index .ck-input {
		min-width: auto;
		width: 100%;
	}
.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order {
		background: transparent;
		padding-left: 0;
		padding-right: 0;
		margin-bottom: calc(-1 * var(--ck-spacing-tiny));
	}
.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:active, .ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:hover {
			box-shadow: none;
			border-color: transparent;
			background: none;
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-list-style-button-size: 44px;
}
.ck.ck-list-styles-list {
	grid-template-columns: repeat( 3, auto );
	row-gap: var(--ck-spacing-medium);
	column-gap: var(--ck-spacing-medium);
	padding: var(--ck-spacing-large);
}
.ck.ck-list-styles-list .ck-button {
		/* Make the button look like a thumbnail (the icon "takes it all"). */
		width: var(--ck-list-style-button-size);
		height: var(--ck-list-style-button-size);
		padding: 0;

		/*
		 * Buttons are aligned by the grid so disable default button margins to not collide with the
		 * gaps in the grid.
		 */
		margin: 0;

		/*
		 * Make sure the button border (which is displayed on focus, BTW) does not steal pixels
		 * from the button dimensions and, as a result, decrease the size of the icon
		 * (which becomes blurry as it scales down).
		 */
		box-sizing: content-box;
	}
.ck.ck-list-styles-list .ck-button .ck-icon {
			width: var(--ck-list-style-button-size);
			height: var(--ck-list-style-button-size);
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-media-embed-placeholder-icon-size: 3em;

	--ck-color-media-embed-placeholder-url-text: hsl(0, 0%, 46%);
	--ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text);
}
.ck-media__wrapper {
	margin: 0 auto;
}
.ck-media__wrapper .ck-media__placeholder {
		padding: calc( 3 * var(--ck-spacing-standard) );
		background: var(--ck-color-base-foreground);
	}
.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon {
			min-width: var(--ck-media-embed-placeholder-icon-size);
			height: var(--ck-media-embed-placeholder-icon-size);
			margin-bottom: var(--ck-spacing-large);
			background-position: center;
			background-size: cover;
		}
.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon {
				width: 100%;
				height: 100%;
			}
.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text {
			color: var(--ck-color-media-embed-placeholder-url-text);
			white-space: nowrap;
			text-align: center;
			font-style: italic;
			text-overflow: ellipsis;
		}
.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover {
				color: var(--ck-color-media-embed-placeholder-url-text-hover);
				cursor: pointer;
				text-decoration: underline;
			}
.ck-media__wrapper[data-oembed-url*="open.spotify.com"] {
		max-width: 300px;
		max-height: 380px;
	}
.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon,
	.ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon,
	.ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon,
	.ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon {
		background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+);
	}
.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder {
		background: hsl(220, 46%, 48%);
	}
.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__icon {
			background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);
		}
.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text {
			color: hsl(220, 100%, 90%);
		}
.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover {
				color: hsl(0, 0%, 100%);
			}
.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder {
		background: linear-gradient(-135deg,hsl(246, 100%, 39%),hsl(302, 100%, 36%),hsl(0, 100%, 48%));
	}
.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__icon {
			background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=);
		}
/* stylelint-disable-next-line no-descending-specificity */
.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text {
			color: hsl(302, 100%, 94%);
		}
.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover {
				color: hsl(0, 0%, 100%);
			}
.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder {
		/* Use gradient to contrast with focused widget (ckeditor/ckeditor5-media-embed#22). */
		background: linear-gradient( to right, hsl(201, 85%, 70%), hsl(201, 85%, 35%) );
	}
.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__icon {
			background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+);
		}
.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text {
			color: hsl(201, 100%, 86%);
		}
.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover {
				color: hsl(0, 0%, 100%);
			}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-color-mention-background: hsla(341, 100%, 30%, 0.1);
	--ck-color-mention-text: hsl(341, 100%, 30%);
}
.ck-content .mention {
	background: var(--ck-color-mention-background);
	color: var(--ck-color-mention-text);
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-color-restricted-editing-exception-background: hsla(31, 100%, 65%, .2);
	--ck-color-restricted-editing-exception-hover-background: hsla(31, 100%, 65%, .35);
	--ck-color-restricted-editing-exception-brackets: hsla(31, 100%, 40%, .4);
	--ck-color-restricted-editing-selected-exception-background: hsla(31, 100%, 65%, .5);
	--ck-color-restricted-editing-selected-exception-brackets: hsla(31, 100%, 40%, .6);
}
.ck-editor__editable .restricted-editing-exception {
	transition: .2s ease-in-out background;
	background-color: var(--ck-color-restricted-editing-exception-background);
	border: 1px solid;
	border-image: linear-gradient(
		to right,
		var(--ck-color-restricted-editing-exception-brackets) 0%,
		var(--ck-color-restricted-editing-exception-brackets) 5px,
		hsla(0, 0%, 0%, 0) 6px,
		hsla(0, 0%, 0%, 0) calc(100% - 6px),
		var(--ck-color-restricted-editing-exception-brackets) calc(100% - 5px),
		var(--ck-color-restricted-editing-exception-brackets) 100%
	) 1;
}
@media (prefers-reduced-motion: reduce) {
.ck-editor__editable .restricted-editing-exception {
		transition: none;
}
	}
.ck-editor__editable .restricted-editing-exception.restricted-editing-exception_selected {
		background-color: var(--ck-color-restricted-editing-selected-exception-background);
		border-image: linear-gradient(
			to right,
			var(--ck-color-restricted-editing-selected-exception-brackets) 0%,
			var(--ck-color-restricted-editing-selected-exception-brackets) 5px,
			var(--ck-color-restricted-editing-selected-exception-brackets) calc(100% - 5px),
			var(--ck-color-restricted-editing-selected-exception-brackets) 100%
		) 1;
	}
.ck-editor__editable .restricted-editing-exception.restricted-editing-exception_collapsed {
		/* Empty exception should have the same width as exception with at least 1 char */
		padding-left: 1ch;
	}
.ck-restricted-editing_mode_restricted {
	cursor: default;

	/* We also have to override all elements inside the restricted editable to prevent cursor switching between default and text
	during the pointer movement. */
}
.ck-restricted-editing_mode_restricted * {
		cursor: default;
	}
.ck-restricted-editing_mode_restricted .restricted-editing-exception {
		cursor: text;
	}
.ck-restricted-editing_mode_restricted .restricted-editing-exception * {
			cursor: text;
		}
.ck-restricted-editing_mode_restricted .restricted-editing-exception:hover {
			background: var(--ck-color-restricted-editing-exception-hover-background);
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
:root {
	--ck-character-grid-tile-size: 24px;
}
.ck.ck-character-grid {
	overflow-y: auto;
	overflow-x: hidden;
}
.ck.ck-character-grid .ck-character-grid__tiles {
		grid-template-columns: repeat(auto-fill, minmax(var(--ck-character-grid-tile-size), 1fr));
		margin: var(--ck-spacing-standard) var(--ck-spacing-large);
		grid-gap: var(--ck-spacing-standard);
	}
.ck.ck-character-grid .ck-character-grid__tile {
		width: var(--ck-character-grid-tile-size);
		height: var(--ck-character-grid-tile-size);
		min-width: var(--ck-character-grid-tile-size);
		min-height: var(--ck-character-grid-tile-size);
		font-size: 1.5em;
		padding: 0;
		transition: .2s ease box-shadow;
		border: 0;
	}
@media (prefers-reduced-motion: reduce) {
.ck.ck-character-grid .ck-character-grid__tile {
			transition: none;
	}
		}
.ck.ck-character-grid .ck-character-grid__tile:focus:not( .ck-disabled ),
		.ck.ck-character-grid .ck-character-grid__tile:hover:not( .ck-disabled ) {
			/* Disable the default .ck-button's border ring. */
			border: 0;
			box-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);
		}
/* Make sure the glyph is rendered in the center of the button */
.ck.ck-character-grid .ck-character-grid__tile .ck-button__label {
			line-height: var(--ck-character-grid-tile-size);
			width: 100%;
			text-align: center;
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-character-info {
	padding: var(--ck-spacing-small) var(--ck-spacing-large);
	border-top: 1px solid var(--ck-color-base-border);
}
.ck.ck-character-info > * {
		text-transform: uppercase;
		font-size: var(--ck-font-size-small);
	}
.ck.ck-character-info .ck-character-info__name {
		max-width: 280px;
		text-overflow: ellipsis;
		overflow: hidden;
	}
.ck.ck-character-info .ck-character-info__code {
		opacity: .6;
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-special-characters-navigation > .ck-label {
		max-width: 160px;
		text-overflow: ellipsis;
		overflow: hidden;
	}
.ck.ck-special-characters-navigation > .ck-dropdown .ck-dropdown__panel {
		/* There could be dozens of categories available. Use scroll to prevent a 10e6px dropdown. */
		max-height: 250px;
		overflow-y: auto;
		overflow-x: hidden;
	}
@media screen and (max-width: 600px) {
.ck.ck-special-characters-navigation {
		max-width: 190px;
}

		.ck.ck-special-characters-navigation > .ck-form__header__label {
			text-overflow: ellipsis;
			overflow: hidden;
		}
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-dropdown.ck-style-dropdown.ck-style-dropdown_multiple-active > .ck-button > .ck-button__label {
	font-style: italic;
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-style-panel-button-width: 120px;
	--ck-style-panel-button-height: 80px;
	--ck-style-panel-button-label-background: hsl(0, 0%, 94.1%);
	--ck-style-panel-button-hover-label-background: hsl(0, 0%, 92.1%);
	--ck-style-panel-button-hover-border-color: hsl(0, 0%, 70%);
}
.ck.ck-style-panel .ck-style-grid {
	row-gap: var(--ck-spacing-large);
	column-gap: var(--ck-spacing-large);
}
.ck.ck-style-panel .ck-style-grid .ck-style-grid__button {
		--ck-color-button-default-hover-background: var(--ck-color-base-background);
		--ck-color-button-default-active-background: var(--ck-color-base-background);

		padding: 0;
		width: var(--ck-style-panel-button-width);
		height: var(--ck-style-panel-button-height);

		/* Let default .ck-button :focus styles apply */
	}
.ck.ck-style-panel .ck-style-grid .ck-style-grid__button:not(:focus) {
			border: 1px solid var(--ck-color-base-border);
		}
.ck.ck-style-panel .ck-style-grid .ck-style-grid__button .ck-button__label {
			height: 22px;
			line-height: 22px;
			width: 100%;
			padding: 0 var(--ck-spacing-medium);
			overflow: hidden;
			text-overflow: ellipsis;
			flex-shrink: 0;
		}
.ck.ck-style-panel .ck-style-grid .ck-style-grid__button .ck-style-grid__button__preview {
			width: 100%;
			overflow: hidden;
			opacity: .9;

			padding: var(--ck-spacing-medium);
			background: var(--ck-color-base-background);
			border: 2px solid var(--ck-color-base-background);
		}
.ck.ck-style-panel .ck-style-grid .ck-style-grid__button.ck-disabled {
			--ck-color-button-default-disabled-background: var(--ck-color-base-foreground);

			/* Let default .ck-button :focus styles apply */
		}
.ck.ck-style-panel .ck-style-grid .ck-style-grid__button.ck-disabled:not(:focus) {
				border-color: var(--ck-style-panel-button-label-background);
			}
.ck.ck-style-panel .ck-style-grid .ck-style-grid__button.ck-disabled .ck-style-grid__button__preview {
				opacity: .4;

				border-color: var(--ck-color-base-foreground);
				filter: saturate(.3);
			}
.ck.ck-style-panel .ck-style-grid .ck-style-grid__button.ck-on {
			border-color: var(--ck-color-base-active);
		}
.ck.ck-style-panel .ck-style-grid .ck-style-grid__button.ck-on .ck-button__label {
				box-shadow: 0 -1px 0 var(--ck-color-base-active);
				z-index: 1; /* Stay on top of the preview with the shadow. */
			}
.ck.ck-style-panel .ck-style-grid .ck-style-grid__button.ck-on:hover {
				border-color: var(--ck-color-base-active-focus);
			}
.ck.ck-style-panel .ck-style-grid .ck-style-grid__button:not(.ck-on) .ck-button__label {
				background: var(--ck-style-panel-button-label-background);
			}
.ck.ck-style-panel .ck-style-grid .ck-style-grid__button:not(.ck-on):hover .ck-button__label {
				background: var(--ck-style-panel-button-hover-label-background);
			}
.ck.ck-style-panel .ck-style-grid .ck-style-grid__button:hover:not(.ck-disabled):not(.ck-on) {
			border-color: var(--ck-style-panel-button-hover-border-color);
		}
.ck.ck-style-panel .ck-style-grid .ck-style-grid__button:hover:not(.ck-disabled):not(.ck-on) .ck-style-grid__button__preview {
				opacity: 1;
			}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-style-panel .ck-style-panel__style-group > .ck-label {
		margin: var(--ck-spacing-large) 0;
	}
.ck.ck-style-panel .ck-style-panel__style-group:first-child > .ck-label {
			margin-top: 0;
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-style-panel-max-height: 470px;
}
.ck.ck-style-panel {
	padding: var(--ck-spacing-large);
	overflow-y: auto;
	max-height: var(--ck-style-panel-max-height);
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
[dir="ltr"] .ck.ck-input-color > .ck.ck-input-text {
			border-top-right-radius: 0;
			border-bottom-right-radius: 0;
	}
[dir="rtl"] .ck.ck-input-color > .ck.ck-input-text {
			border-top-left-radius: 0;
			border-bottom-left-radius: 0;
	}
/* Make sure the focused input is always on top of the dropdown button so its
		   outline and border are never cropped (also when the input is read-only). */
.ck.ck-input-color > .ck.ck-input-text:focus {
			z-index: 0;
		}
.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button {
			padding: 0;
		}
[dir="ltr"] .ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button {
				border-top-left-radius: 0;
				border-bottom-left-radius: 0;
	}
[dir="ltr"] .ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button:not(:focus) {
					border-left: 1px solid transparent;
				}
[dir="rtl"] .ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button {
				border-top-right-radius: 0;
				border-bottom-right-radius: 0;
	}
[dir="rtl"] .ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button:not(:focus) {
					border-right: 1px solid transparent;
				}
.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button.ck-disabled {
				background: var(--ck-color-input-disabled-background);
			}
.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button > .ck.ck-input-color__button__preview {
				border-radius: 0;

				width: 20px;
				height: 20px;
				border: 1px solid var(--ck-color-input-border);
			}
.ck-rounded-corners .ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button > .ck.ck-input-color__button__preview,
	.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button > .ck.ck-input-color__button__preview.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
	}
.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-button.ck-input-color__button > .ck.ck-input-color__button__preview > .ck.ck-input-color__button__preview__no-color-indicator {
					top: -30%;
					left: 50%;
					height: 150%;
					width: 8%;
					background: hsl(0, 100%, 50%);
					border-radius: 2px;
					transform: rotate(45deg);
					transform-origin: 50%;
				}
.ck.ck-input-color .ck.ck-input-color__remove-color {
		width: 100%;
		padding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);

		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}
.ck.ck-input-color .ck.ck-input-color__remove-color:not(:focus) {
			border-bottom: 1px solid var(--ck-color-input-border);
		}
[dir="ltr"] .ck.ck-input-color .ck.ck-input-color__remove-color {
			border-top-right-radius: 0;
	}
[dir="rtl"] .ck.ck-input-color .ck.ck-input-color__remove-color {
			border-top-left-radius: 0;
	}
.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon {
			margin-right: var(--ck-spacing-standard);
		}
[dir="rtl"] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon {
				margin-right: 0;
				margin-left: var(--ck-spacing-standard);
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-form {
	padding: 0 0 var(--ck-spacing-large);
}
.ck.ck-form:focus {
		/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */
		outline: none;
	}
.ck.ck-form .ck.ck-input-text {
		min-width: 100%;
		width: 0;
	}
.ck.ck-form .ck.ck-dropdown {
		min-width: 100%;
	}
.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus) {
				border: 1px solid var(--ck-color-base-border);
			}
.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label {
				width: 100%;
			}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-form__row {
	padding: var(--ck-spacing-standard) var(--ck-spacing-large) 0;

	/* Ignore labels that work as fieldset legends */
}
[dir="ltr"] .ck.ck-form__row > *:not(.ck-label) + * {
				margin-left: var(--ck-spacing-large);
	}
[dir="rtl"] .ck.ck-form__row > *:not(.ck-label) + * {
				margin-right: var(--ck-spacing-large);
	}
.ck.ck-form__row > .ck-label {
		width: 100%;
		min-width: 100%;
	}
.ck.ck-form__row.ck-table-form__action-row {
		margin-top: var(--ck-spacing-large);
	}
.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label {
			color: var(--ck-color-text);
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-insert-table-dropdown-padding: 10px;
	--ck-insert-table-dropdown-box-height: 11px;
	--ck-insert-table-dropdown-box-width: 12px;
	--ck-insert-table-dropdown-box-margin: 1px;
}
.ck .ck-insert-table-dropdown__grid {
	/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */
	width: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);
	padding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;
}
.ck .ck-insert-table-dropdown__label,
.ck[dir=rtl] .ck-insert-table-dropdown__label {
	text-align: center;
}
.ck .ck-insert-table-dropdown-grid-box {
	min-width: var(--ck-insert-table-dropdown-box-width);
	min-height: var(--ck-insert-table-dropdown-box-height);
	margin: var(--ck-insert-table-dropdown-box-margin);
	border: 1px solid var(--ck-color-base-border);
	border-radius: 1px;
	outline: none;
	transition: none;
}
@media (prefers-reduced-motion: reduce) {
.ck .ck-insert-table-dropdown-grid-box {
		transition: none;
}
	}
.ck .ck-insert-table-dropdown-grid-box:focus {
		box-shadow: none;
	}
.ck .ck-insert-table-dropdown-grid-box.ck-on {
		border-color: var(--ck-color-focus-border);
		background: var(--ck-color-focus-outer-shadow);
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-table-cell-properties-form {
	width: 320px;
}
.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row {
			align-self: flex-end;
			padding: 0;
			width: 25%;
		}
.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar {
				background: none;

				/* Compensate for missing input label that would push the margin (toolbar has no inputs). */
				margin-top: var(--ck-spacing-standard);
			}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-color-selector-focused-cell-background: hsla(212, 90%, 80%, .3);
}
/**
		 * While setting outline is fine, the border should not be modified here
		 * because it overrides the default table cell border color which is not expected.
		 * So do not use `@mixin ck-focus-ring;` here, or any other border styles.
		 * See more: https://github.com/ckeditor/ckeditor5/issues/16979
		 */
.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,
		.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,
		.ck-widget.table td.ck-editor__nested-editable:focus,
		.ck-widget.table th.ck-editor__nested-editable:focus {
			/* A very slight background to highlight the focused cell */
			background: var(--ck-color-selector-focused-cell-background);
			outline: 1px solid var(--ck-color-focus-border);
			outline-offset: -1px; /* progressive enhancement - no IE support */
		}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
:root {
	--ck-table-properties-error-arrow-size: 6px;
	--ck-table-properties-min-error-width: 150px;
}
.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view > .ck-label {
					font-size: var(--ck-font-size-tiny);
					text-align: center;
				}
.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,
			.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width {
				width: 80px;
				min-width: 80px;
				max-width: 80px;
			}
.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row {
			padding: 0;
		}
.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width,
			.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height {
				margin: 0
			}
.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator {
				align-self: flex-end;
				display: inline-block;
				height: var(--ck-ui-component-min-height);
				line-height: var(--ck-ui-component-min-height);
				margin: 0 var(--ck-spacing-small);
			}
.ck.ck-table-form .ck.ck-labeled-field-view {
		padding-top: var(--ck-spacing-standard);
	}
.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status {
			border-radius: 0;

			background: var(--ck-color-base-error);
			color: var(--ck-color-base-background);
			padding: var(--ck-spacing-small) var(--ck-spacing-medium);
			min-width: var(--ck-table-properties-min-error-width);
			text-align: center;

			animation: ck-table-form-labeled-view-status-appear .15s ease both;
		}
.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,
	.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
	}
/* The arrow pointing towards the field. */
.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status::after {
				border-color: transparent transparent var(--ck-color-base-error) transparent;
				border-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size);
				border-style: solid;
			}
@media (prefers-reduced-motion: reduce) {
.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status {
				animation: none;
		}
			}
/* Hide the error balloon when the field is blurred. Makes the experience much more clear. */
.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status {
			display: none;
		}
@keyframes ck-table-form-labeled-view-status-appear {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
.ck.ck-table-properties-form {
	width: 320px;
}
.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row {
			align-self: flex-end;
			padding: 0;
		}
.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar {
				background: none;

				/* Compensate for missing input label that would push the margin (toolbar has no inputs). */
				margin-top: var(--ck-spacing-standard);
			}
.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items > * {
					width: 40px;
				}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-table-selected-cell-background: hsla(208, 90%, 80%, .3);
}
.ck.ck-editor__editable .table table td.ck-editor__editable_selected,
	.ck.ck-editor__editable .table table th.ck-editor__editable_selected {
		position: relative;
		caret-color: transparent;
		outline: unset;
		box-shadow: unset;

		/* https://github.com/ckeditor/ckeditor5/issues/6446 */
	}
.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after, .ck.ck-editor__editable .table table th.ck-editor__editable_selected:after {
			content: '';
			pointer-events: none;
			background-color: var(--ck-table-selected-cell-background);
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
		}
.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,
		.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,
		.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,
		.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus {
			background-color: transparent;
		}
/*
		 * To reduce the amount of noise, all widgets in the table selection have no outline and no selection handle.
		 * See https://github.com/ckeditor/ckeditor5/issues/9491.
		 */
.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget, .ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget {
			outline: unset;
		}
.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget > .ck-widget__selection-handle, .ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget > .ck-widget__selection-handle {
				display: none;
			}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A visual style of focused element's border.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-widget-outline-thickness: 3px;
	--ck-widget-handler-icon-size: 16px;
	--ck-widget-handler-animation-duration: 200ms;
	--ck-widget-handler-animation-curve: ease;

	--ck-color-widget-blurred-border: hsl(0, 0%, 87%);
	--ck-color-widget-hover-border: hsl(43, 100%, 62%);
	--ck-color-widget-editable-focus-background: var(--ck-color-base-background);
	--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);
}
.ck .ck-widget {
	outline-width: var(--ck-widget-outline-thickness);
	outline-style: solid;
	outline-color: transparent;
	transition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);
}
@media (prefers-reduced-motion: reduce) {
.ck .ck-widget {
		transition: none;
}
	}
.ck .ck-widget.ck-widget_selected,
	.ck .ck-widget.ck-widget_selected:hover {
		outline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);
	}
.ck .ck-widget:hover {
		outline-color: var(--ck-color-widget-hover-border);
	}
.ck .ck-editor__nested-editable {
	border: 1px solid transparent;

	/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.
	These styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */
}
.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,
	.ck .ck-editor__nested-editable:focus {
		box-shadow: var(--ck-inner-shadow), 0 0;
	}
@media (forced-colors: none) {
		.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused, .ck .ck-editor__nested-editable:focus {
			background-color: var(--ck-color-widget-editable-focus-background);
		}
	}
/**
		 * Focus border should not be applied to table cells because it overrides the default table cell border color.
		 * In other words - in some scenarios, the part of the table cell border has focus color style, which is not expected behavior
		 * because it should be the same as the table cell border color.
		 */
.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused:not(td, th), .ck .ck-editor__nested-editable:focus:not(td, th) {
			/* Disable native outline. */
			outline: none;
			border: var(--ck-focus-ring);
		}
.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {
		padding: 4px;
		box-sizing: border-box;

		/* Background and opacity will be animated as the handler shows up or the widget gets selected. */
		background-color: transparent;
		opacity: 0;

		/* Transition:
		   * background-color for the .ck-widget_selected state change,
		   * visibility for hiding the handler,
		   * opacity for the proper look of the icon when the handler disappears. */
		transition:
			background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),
			visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),
			opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);

		/* Make only top corners round. */
		border-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;

		/* Place the drag handler outside the widget wrapper. */
		transform: translateY(-100%);
		left: calc(0px - var(--ck-widget-outline-thickness));
		top: 0;
	}
@media (prefers-reduced-motion: reduce) {
.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {
			transition: none;
	}
		}
.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon {
			/* Make sure the dimensions of the icon are independent of the fon-size of the content. */
			width: var(--ck-widget-handler-icon-size);
			height: var(--ck-widget-handler-icon-size);
			color: var(--ck-color-widget-drag-handler-icon-color);

			/* The "selected" part of the icon is invisible by default */
		}
.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator {
				opacity: 0;

				/* Note: The animation is longer on purpose. Simply feels better. */
				transition: opacity 300ms var(--ck-widget-handler-animation-curve);
			}
@media (prefers-reduced-motion: reduce) {
.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator {
					transition: none;
			}
				}
/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */
.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator {
			opacity: 1;
		}
/* Show the selection handler on mouse hover over the widget, but not for nested widgets. */
.ck .ck-widget.ck-widget_with-selection-handle:hover > .ck-widget__selection-handle {
		opacity: 1;
		background-color: var(--ck-color-widget-hover-border);
	}
/* Show the selection handler when the widget is selected, but not for nested widgets. */
.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected > .ck-widget__selection-handle, .ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover > .ck-widget__selection-handle {
			opacity: 1;
			background-color: var(--ck-color-focus-border);

			/* When the widget is selected, notify the user using the proper look of the icon. */
		}
.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected > .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator, .ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover > .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator {
				opacity: 1;
			}
/* In a RTL environment, align the selection handler to the right side of the widget */
/* stylelint-disable-next-line no-descending-specificity */
.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {
	left: auto;
	right: calc(0px - var(--ck-widget-outline-thickness));
}
/* https://github.com/ckeditor/ckeditor5/issues/6415 */
.ck.ck-editor__editable.ck-read-only .ck-widget {
	/* Prevent the :hover outline from showing up because of the used outline-color transition. */
	transition: none;
}
.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected) {
		/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.
		 * See: https://github.com/ckeditor/ckeditor5/issues/1261
		 *
		 * Leave the unit because this custom property is used in calc() by other features.
		 * See: https://github.com/ckeditor/ckeditor5/issues/6775
		 */
		--ck-widget-outline-thickness: 0px;
	}
.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,
		.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover {
			background: var(--ck-color-widget-blurred-border);
		}
/* Style the widget when it's selected but the editable it belongs to lost focus. */
/* stylelint-disable-next-line no-descending-specificity */
.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,
	.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover {
		outline-color: var(--ck-color-widget-blurred-border);
	}
.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle > .ck-widget__selection-handle,
			.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover > .ck-widget__selection-handle,
			.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle > .ck-widget__selection-handle:hover,
			.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover > .ck-widget__selection-handle:hover {
				background: var(--ck-color-widget-blurred-border);
			}
.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child,
.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child {
	/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.
	In fact, anything with overflow: hidden.
	https://github.com/ckeditor/ckeditor5-block-quote/issues/28
	https://github.com/ckeditor/ckeditor5-widget/issues/44
	https://github.com/ckeditor/ckeditor5-widget/issues/66 */
	margin-top: calc(1em + var(--ck-widget-handler-icon-size));
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-resizer-size: 10px;

	/* Set the resizer with a 50% offset. */
	--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);
	--ck-resizer-border-width: 1px;
}
.ck .ck-widget__resizer {
	outline: 1px solid var(--ck-color-resizer);
}
.ck .ck-widget__resizer__handle {
	width: var(--ck-resizer-size);
	height: var(--ck-resizer-size);
	background: var(--ck-color-focus-border);
	border: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%);
	border-radius: var(--ck-resizer-border-radius);
}
.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left {
		top: var(--ck-resizer-offset);
		left: var(--ck-resizer-offset);
	}
.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right {
		top: var(--ck-resizer-offset);
		right: var(--ck-resizer-offset);
	}
.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right {
		bottom: var(--ck-resizer-offset);
		right: var(--ck-resizer-offset);
	}
.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left {
		bottom: var(--ck-resizer-offset);
		left: var(--ck-resizer-offset);
	}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-widget-type-around-button-size: 20px;
	--ck-color-widget-type-around-button-active: var(--ck-color-focus-border);
	--ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border);
	--ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border);
	--ck-color-widget-type-around-button-radar-start-alpha: 0;
	--ck-color-widget-type-around-button-radar-end-alpha: .3;
	--ck-color-widget-type-around-button-icon: var(--ck-color-base-background);
}
/*
	 * Styles of the type around buttons
	 */
.ck .ck-widget .ck-widget__type-around__button {
		width: var(--ck-widget-type-around-button-size);
		height: var(--ck-widget-type-around-button-size);
		background: var(--ck-color-widget-type-around-button);
		border-radius: 100px;
		transition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);

		opacity: 0;

		pointer-events: none;
	}
@media (prefers-reduced-motion: reduce) {
.ck .ck-widget .ck-widget__type-around__button {
			transition: none;
	}
		}
.ck .ck-widget .ck-widget__type-around__button svg {
			width: 10px;
			height: 8px;
			transform: translate(-50%,-50%);
			transition: transform .5s ease;
			margin-top: 1px;
		}
@media (prefers-reduced-motion: reduce) {
.ck .ck-widget .ck-widget__type-around__button svg {
				transition: none;
		}
			}
.ck .ck-widget .ck-widget__type-around__button svg * {
				stroke-dasharray: 10;
				stroke-dashoffset: 0;

				fill: none;
				stroke: var(--ck-color-widget-type-around-button-icon);
				stroke-width: 1.5px;
				stroke-linecap: round;
				stroke-linejoin: round;
			}
.ck .ck-widget .ck-widget__type-around__button svg line {
				stroke-dasharray: 7;
			}
.ck .ck-widget .ck-widget__type-around__button:hover {
			/*
			 * Display the "sonar" around the button when hovered.
			 */
			animation: ck-widget-type-around-button-sonar 1s ease infinite;

			/*
			 * Animate active button's icon.
			 */
		}
.ck .ck-widget .ck-widget__type-around__button:hover svg polyline {
					animation: ck-widget-type-around-arrow-dash 2s linear;
				}
.ck .ck-widget .ck-widget__type-around__button:hover svg line {
					animation: ck-widget-type-around-arrow-tip-dash 2s linear;
				}
@media (prefers-reduced-motion: reduce) {
.ck .ck-widget .ck-widget__type-around__button:hover {
				animation: none;
		}
					.ck .ck-widget .ck-widget__type-around__button:hover svg polyline {
						animation: none;
					}

					.ck .ck-widget .ck-widget__type-around__button:hover svg line {
						animation: none;
					}
			}
/*
	 * Show type around buttons when the widget gets selected or being hovered.
	 */
.ck .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button, .ck .ck-widget:hover > .ck-widget__type-around > .ck-widget__type-around__button {
			opacity: 1;
			pointer-events: auto;
		}
/*
	 * Styles for the buttons when the widget is NOT selected (but the buttons are visible
	 * and still can be hovered).
	 */
.ck .ck-widget:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button {
		background: var(--ck-color-widget-type-around-button-hover);
	}
/*
	 * Styles for the buttons when:
	 * - the widget is selected,
	 * - or the button is being hovered (regardless of the widget state).
	 */
.ck .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,
	.ck .ck-widget > .ck-widget__type-around > .ck-widget__type-around__button:hover {
		background: var(--ck-color-widget-type-around-button-active);
	}
.ck .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button::after, .ck .ck-widget > .ck-widget__type-around > .ck-widget__type-around__button:hover::after {
			width: calc(var(--ck-widget-type-around-button-size) - 2px);
			height: calc(var(--ck-widget-type-around-button-size) - 2px);
			border-radius: 100px;
			background: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%);
		}
/*
	 * Styles for the "before" button when the widget has a selection handle. Because some space
	 * is consumed by the handle, the button must be moved slightly to the right to let it breathe.
	 */
.ck .ck-widget.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before {
		margin-left: 20px;
	}
/*
	 * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.
	 */
.ck .ck-widget .ck-widget__type-around__fake-caret {
		pointer-events: none;
		height: 1px;
		animation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards;

		/*
		 * The semi-transparent-outline+background combo improves the contrast
		 * when the background underneath the fake caret is dark.
		 */
		outline: solid 1px hsla(0, 0%, 100%, .5);
		background: var(--ck-color-base-text);
	}
/*
	 * Styles of the widget when the "fake caret" is blinking (e.g. upon keyboard navigation).
	 * Despite the widget being physically selected in the model, its outline should disappear.
	 */
.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before,
		.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after {
			outline-color: transparent;
		}
/*
		 * When the "fake caret" is visible we simulate that the widget is not selected
		 * (despite being physically selected), so the outline color should be for the
		 * unselected widget.
		 */
.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover, .ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover {
			outline-color: var(--ck-color-widget-hover-border);
		}
/*
		 * Styles of the type around buttons when the "fake caret" is blinking (e.g. upon keyboard navigation).
		 * In this state, the type around buttons would collide with the fake carets so they should disappear.
		 */
.ck .ck-widget.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__button, .ck .ck-widget.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__button {
			opacity: 0;
			pointer-events: none;
		}
/*
		 * Fake horizontal caret integration with the selection handle. When the caret is visible, simply
		 * hide the handle because it intersects with the caret (and does not make much sense anyway).
		 */
.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected > .ck-widget__selection-handle, .ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected > .ck-widget__selection-handle, .ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected:hover > .ck-widget__selection-handle, .ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected:hover > .ck-widget__selection-handle {
					opacity: 0
				}
/*
		 * Fake horizontal caret integration with the resize UI. When the caret is visible, simply
		 * hide the resize UI because it creates too much noise. It can be visible when the user
		 * hovers the widget, though.
		 */
.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer, .ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer {
			opacity: 0
		}
/*
 * Styles for the "before" button when the widget has a selection handle in an RTL environment.
 * The selection handler is aligned to the right side of the widget so there is no need to create
 * additional space for it next to the "before" button.
 */
.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before {
	margin-left: 0;
	margin-right: 20px;
}
/*
 * Hide type around buttons when the widget is selected as a child of a selected
 * nested editable (e.g. mulit-cell table selection).
 *
 * See https://github.com/ckeditor/ckeditor5/issues/7263.
 */
.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button, .ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover > .ck-widget__type-around > .ck-widget__type-around__button {
				opacity: 0;
				pointer-events: none;
			}
/*
 * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor).
 */
.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) {
	background: var(--ck-color-widget-type-around-button-blurred-editable);
}
.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) svg * {
		stroke: hsl(0,0%,60%);
	}
@keyframes ck-widget-type-around-arrow-dash {
	0% {
		stroke-dashoffset: 10;
	}
	20%, 100% {
		stroke-dashoffset: 0;
	}
}
@keyframes ck-widget-type-around-arrow-tip-dash {
	0%, 20% {
		stroke-dashoffset: 7;
	}
	40%, 100% {
		stroke-dashoffset: 0;
	}
}
@keyframes ck-widget-type-around-button-sonar {
	0% {
		box-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));
	}
	50% {
		box-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha));
	}
	100% {
		box-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));
	}
}
@keyframes ck-widget-type-around-fake-caret-pulse {
	0% {
		opacity: 1;
	}
	49% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
	99% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content code {
	background-color: hsla(0, 0%, 78%, 0.3);
	padding: .15em;
	border-radius: 2px;
}

.ck.ck-editor__editable .ck-code_selected  {
	background-color: hsla(0, 0%, 78%, 0.5);
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content blockquote {
	/* See #12 */
	overflow: hidden;

	/* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */
	padding-right: 1.5em;
	padding-left: 1.5em;

	margin-left: 0;
	margin-right: 0;
	font-style: italic;
	border-left: solid 5px hsl(0, 0%, 80%);
}

.ck-content[dir="rtl"] blockquote {
	border-left: 0;
	border-right: solid 5px hsl(0, 0%, 80%);
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	/* Based on default CKBox theme colors */
	--ck-image-processing-highlight-color: hsl(220, 10%, 98%);
	--ck-image-processing-background-color: hsl(220, 10%, 90%);
}

.ck.ck-editor__editable .image.image-processing {
			position: relative;
		}

.ck.ck-editor__editable .image.image-processing:before {
				content: '';

				position: absolute;
				top: 0;
				left: 0;
				z-index: 1;

				height: 100%;
				width: 100%;

				background: linear-gradient(
					90deg,
					var(--ck-image-processing-background-color),
					var(--ck-image-processing-highlight-color),
					var(--ck-image-processing-background-color)
				);
				background-size: 200% 100%;

				animation: ck-image-processing-animation 2s linear infinite;
			}

.ck.ck-editor__editable .image.image-processing img {
				height: 100%;
			}

@keyframes ck-image-processing-animation {
	0% {
		background-position: 200% 0;
	}
	100% {
		background-position: -200% 0;
	}
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
	 * Vertical drop target (in text).
	 */

.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position {
		display: inline;
		position: relative;
		pointer-events: none;
	}

.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span {
			position: absolute;
			width: 0;
		}

/*
	 * Styles of the widget being dragged (its preview).
	 */

.ck.ck-editor__editable .ck-widget:-webkit-drag > .ck-widget__selection-handle {
			display: none;
		}

.ck.ck-editor__editable .ck-widget:-webkit-drag > .ck-widget__type-around {
			display: none;
		}

.ck.ck-clipboard-drop-target-line {
	position: absolute;
	pointer-events: none;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content pre {
	padding: 1em;
	color: hsl(0, 0%, 20.8%);
	background: hsla(0, 0%, 78%, 0.3);
	border: 1px solid hsl(0, 0%, 77%);
	border-radius: 2px;

	/* Code block are language direction–agnostic. */
	text-align: left;
	direction: ltr;

	tab-size: 4;
	white-space: pre-wrap;

	/* Don't inherit the style, e.g. when in a block quote. */
	font-style: normal;

	/* Don't let the code be squashed e.g. when in a table cell. */
	min-width: 200px;
}

.ck-content pre code {
		background: unset;
		padding: 0;
		border-radius: 0;
	}

.ck.ck-editor__editable pre {
	position: relative;
}

.ck.ck-editor__editable pre[data-language]::after {
		content: attr(data-language);
		position: absolute;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-editor {
	/* All the elements within `.ck-editor` are positioned relatively to it.
	 If any element needs to be positioned with respect to the <body>, etc.,
	 it must land outside of the `.ck-editor` in DOM. */
	position: relative;
}

.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar {
		/* https://github.com/ckeditor/ckeditor5-editor-classic/issues/62 */
		z-index: var(--ck-z-panel);
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-menu-bar {
	border: none;
	border-bottom: 1px solid var(--ck-color-toolbar-border);
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* See ckeditor/ckeditor5#936. */
.ck.ck-placeholder,
.ck .ck-placeholder {
	position: relative;
}
.ck.ck-placeholder::before, .ck .ck-placeholder::before {
		position: absolute;
		left: 0;
		right: 0;
		content: attr(data-placeholder);

		/* See ckeditor/ckeditor5#469. */
		pointer-events: none;
	}

/* See ckeditor/ckeditor5#1987. */
.ck.ck-read-only .ck-placeholder::before {
		display: none;
	}

/*
 * Rules for the `ck-placeholder` are loaded before the rules for `ck-reset_all` in the base CKEditor 5 DLL build.
 * This fix overwrites the incorrectly set `position: static` from `ck-reset_all`.
 * See https://github.com/ckeditor/ckeditor5/issues/11418.
 */
.ck.ck-reset_all .ck-placeholder {
	position: relative;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* Elements marked by the Renderer as hidden should be invisible in the editor. */
.ck.ck-editor__editable span[data-ck-unsafe-element] {
	display: none;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-find-result {
	background: var(--ck-color-highlight-background);
	color: var(--ck-color-text);
}

.ck-find-result_selected {
	background: hsl(29, 100%, 60%);
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-find-and-replace-form {
	max-width: 100%;
}

.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs, .ck.ck-find-and-replace-form .ck-find-and-replace-form__actions {
		display: flex;

		/* The inputs area styles */
	}

.ck.ck-find-and-replace-form .ck-find-and-replace-form__inputs.ck-find-and-replace-form__inputs .ck-results-counter, .ck.ck-find-and-replace-form .ck-find-and-replace-form__actions.ck-find-and-replace-form__inputs .ck-results-counter {
			position: absolute;
		}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* The values should be synchronized with the "FONT_SIZE_PRESET_UNITS" object in the "/src/fontsize/utils.js" file. */

/* Styles should be prefixed with the `.ck-content` class.
See https://github.com/ckeditor/ckeditor5/issues/6636 */
.ck-content .text-tiny {
		font-size: .7em;
	}
.ck-content .text-small {
		font-size: .85em;
	}
.ck-content .text-big {
		font-size: 1.4em;
	}
.ck-content .text-huge {
		font-size: 1.8em;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-heading_heading1 .ck-button__label {
	font-size: 20px;
}

.ck.ck-heading_heading2 .ck-button__label {
	font-size: 17px;
}

.ck.ck-heading_heading3 .ck-button__label {
	font-size: 14px;
}

.ck[class*="ck-heading_heading"] {
	font-weight: bold;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-highlight-marker-yellow: hsl(60, 97%, 73%);
	--ck-highlight-marker-green: hsl(120, 93%, 68%);
	--ck-highlight-marker-pink: hsl(345, 96%, 73%);
	--ck-highlight-marker-blue: hsl(201, 97%, 72%);
	--ck-highlight-pen-red: hsl(0, 85%, 49%);
	--ck-highlight-pen-green: hsl(112, 100%, 27%);
}

.ck-content .marker-yellow {
		background-color: var(--ck-highlight-marker-yellow);
	}
.ck-content .marker-green {
		background-color: var(--ck-highlight-marker-green);
	}
.ck-content .marker-pink {
		background-color: var(--ck-highlight-marker-pink);
	}
.ck-content .marker-blue {
		background-color: var(--ck-highlight-marker-blue);
	}

.ck-content .pen-red {
		color: var(--ck-highlight-pen-red);

		/* Override default yellow background of `<mark>` from user agent stylesheet */
		background-color: transparent;
	}
.ck-content .pen-green {
		color: var(--ck-highlight-pen-green);

		/* Override default yellow background of `<mark>` from user agent stylesheet */
		background-color: transparent;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */


.ck-editor__editable .ck-horizontal-line {
	/* Necessary to render properly next to floated objects, e.g. side image case. */
	display: flow-root;
}

.ck-content hr {
	margin: 15px 0;
	height: 4px;
	background: hsl(0, 0%, 87%);
	border: 0;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* The feature container. */
.ck-widget.raw-html-embed {
	/* Give the embed some air. */
	/* The first value should be equal to --ck-spacing-large variable if used in the editor context
	to avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */
	margin: 0.9em auto;
	position: relative;
	display: flow-root;

	/* Give the html embed some minimal width in the content to prevent them
	from being "squashed" in tight spaces, e.g. in table cells (https://github.com/ckeditor/ckeditor5/issues/8331) */
	min-width: 15em;

	/* Don't inherit the style, e.g. when in a block quote. */
	font-style: normal;

	/* ----- Emebed label in the upper left corner ----------------------------------------------- */
}
.ck-widget.raw-html-embed::before {
		position: absolute;

		/* Make sure the content does not cover the label. */
		z-index: 1;
	}
/* ----- Emebed internals --------------------------------------------------------------------- */
/* The switch mode button wrapper. */
.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper {
		position: absolute;
		display: flex;
		flex-direction: column;
	}
.ck-widget.raw-html-embed .raw-html-embed__preview {
		position: relative;
		overflow: hidden;
		display: flex;
	}
.ck-widget.raw-html-embed .raw-html-embed__preview-content {
		width: 100%;
		position: relative;
		margin: auto;

		/* Gives spacing to the small renderable elements, so they always cover the placeholder. */
		display: table;
		border-collapse: separate;
		border-spacing: 7px;
	}
.ck-widget.raw-html-embed .raw-html-embed__preview-placeholder {
		position: absolute;
		left: 0;
		top: 0;
		right: 0;
		bottom: 0;

		display: flex;
		align-items: center;
		justify-content: center;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-html-object-embed-unfocused-outline-width: 1px;
}

.ck-widget.html-object-embed {
	font-size: var(--ck-font-size-base);
	background-color: var(--ck-color-base-foreground);
	padding: var(--ck-spacing-small);
	/* Leave space for label */
	padding-top: calc(var(--ck-font-size-tiny) + var(--ck-spacing-large));
	min-width: calc(76px + var(--ck-spacing-standard));
}

.ck-widget.html-object-embed:not(.ck-widget_selected):not(:hover) {
		outline: var(--ck-html-object-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border);
	}

.ck-widget.html-object-embed::before {
		font-weight: normal;
		font-style: normal;
		position: absolute;
		content: attr(data-html-object-embed-label);
		top: 0;
		left: var(--ck-spacing-standard);
		background: hsl(0deg 0% 60%);
		transition: background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);
		padding: calc(var(--ck-spacing-tiny) + var(--ck-html-object-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);
		border-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);
		color: var(--ck-color-base-background);
		font-size: var(--ck-font-size-tiny);
		font-family: var(--ck-font-face);
	}

/* Make space for label. */

.ck-widget.html-object-embed .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before {
		margin-left: 50px;
	}

.ck-widget.html-object-embed .html-object-embed__content {
		/* Disable user interaction with embed content */
		pointer-events: none;
	}

div.ck-widget.html-object-embed {
	margin: 1em auto;
}

span.ck-widget.html-object-embed {
	display: inline-block;
}


/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-color-image-caption-background: hsl(0, 0%, 97%);
	--ck-color-image-caption-text: hsl(0, 0%, 20%);
	--ck-color-image-caption-highlighted-background: hsl(52deg 100% 50%);
}

/* Content styles */
.ck-content .image > figcaption {
	display: table-caption;
	caption-side: bottom;
	word-break: break-word;
	color: var(--ck-color-image-caption-text);
	background-color: var(--ck-color-image-caption-background);
	padding: .6em;
	font-size: .75em;
	outline-offset: -1px;

	/* Improve placeholder rendering in high-constrast mode (https://github.com/ckeditor/ckeditor5/issues/14907). */
}
@media (forced-colors: active) {
.ck-content .image > figcaption {
		background-color: unset;
		color: unset;
}
	}

/* Editing styles */
@media (forced-colors: none) {
		.ck.ck-editor__editable .image > figcaption.image__caption_highlighted {
		animation: ck-image-caption-highlight .6s ease-out;
		}
	}
@media (prefers-reduced-motion: reduce) {
.ck.ck-editor__editable .image > figcaption.image__caption_highlighted {
		animation: none;
}
	}

@keyframes ck-image-caption-highlight {
	0% {
		background-color: var(--ck-color-image-caption-highlighted-background);
	}

	100% {
		background-color: var(--ck-color-image-caption-background);
	}
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-image-insert-url {
	width: 400px;
	padding: var(--ck-spacing-large) var(--ck-spacing-large) 0;
}

.ck.ck-image-insert-url .ck-image-insert-url__action-row {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* Preserve aspect ratio of the resized image after introducing image height attribute. */
.ck-content img.image_resized {
	height: auto;
}

.ck-content .image.image_resized {
	max-width: 100%;
	/*
	The `<figure>` element for resized images must not use `display:table` as browsers do not support `max-width` for it well.
	See https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more.
	Fortunately, since we control the width, there is no risk that the image will look bad.
	*/
	display: block;
	box-sizing: border-box;
}

.ck-content .image.image_resized img {
		/* For resized images it is the `<figure>` element that determines the image width. */
		width: 100%;
	}

.ck-content .image.image_resized > figcaption {
		/* The `<figure>` element uses `display:block`, so `<figcaption>` also has to. */
		display: block;
	}

/* The resized inline image nested in the table should respect its parent size.
	See https://github.com/ckeditor/ckeditor5/issues/9117. */

.ck.ck-editor__editable td .image-inline.image_resized img, .ck.ck-editor__editable th .image-inline.image_resized img {
			max-width: 100%;
		}

[dir="ltr"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {
	margin-right: var(--ck-spacing-standard);
}

[dir="rtl"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {
	margin-left: var(--ck-spacing-standard);
}

.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label {
	width: 4em;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-image-custom-resize-form {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
}

.ck.ck-image-custom-resize-form .ck-labeled-field-view {
		display: inline-block;
	}

.ck.ck-image-custom-resize-form .ck-label {
		display: none;
	}

@media screen and (max-width: 600px) {

.ck.ck-image-custom-resize-form {
		flex-wrap: wrap;
}

		.ck.ck-image-custom-resize-form .ck-labeled-field-view {
			flex-basis: 100%;
		}

		.ck.ck-image-custom-resize-form .ck-button {
			flex-basis: 50%;
		}
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-image-style-spacing: 1.5em;
	--ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);
}

/* See: https://github.com/ckeditor/ckeditor5/issues/16317 */

/* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback
		confirming successful application of the style if image width exceeds the editor's size.
		See https://github.com/ckeditor/ckeditor5/issues/9342 */

.ck-content .image.image-style-block-align-left,
		.ck-content .image.image-style-block-align-right {
			max-width: calc(100% - var(--ck-image-style-spacing));
		}

/* Allows displaying multiple floating images in the same line.
		See https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */

.ck-content .image.image-style-align-left,
		.ck-content .image.image-style-align-right {
			clear: none;
		}

.ck-content .image.image-style-side {
			float: right;
			margin-left: var(--ck-image-style-spacing);
			max-width: 50%;
		}

.ck-content .image.image-style-align-left {
			float: left;
			margin-right: var(--ck-image-style-spacing);
		}

.ck-content .image.image-style-align-right {
			float: right;
			margin-left: var(--ck-image-style-spacing);
		}

.ck-content .image.image-style-block-align-right {
			margin-right: 0;
			margin-left: auto;
		}

.ck-content .image.image-style-block-align-left {
			margin-left: 0;
			margin-right: auto;
		}

.ck-content .image-style-align-center {
		margin-left: auto;
		margin-right: auto;
	}

.ck-content .image-style-align-left {
		float: left;
		margin-right: var(--ck-image-style-spacing);
	}

.ck-content .image-style-align-right {
		float: right;
		margin-left: var(--ck-image-style-spacing);
	}

/* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */

.ck-content p + .image.image-style-align-left,
	.ck-content p + .image.image-style-align-right,
	.ck-content p + .image.image-style-side {
		margin-top: 0;
	}

.ck-content .image-inline.image-style-align-left,
		.ck-content .image-inline.image-style-align-right {
			margin-top: var(--ck-inline-image-style-spacing);
			margin-bottom: var(--ck-inline-image-style-spacing);
		}

.ck-content .image-inline.image-style-align-left {
			margin-right: var(--ck-inline-image-style-spacing);
		}

.ck-content .image-inline.image-style-align-right {
			margin-left: var(--ck-inline-image-style-spacing);
		}

/* The button should display as a regular drop-down if the action button
	is forced to fire the same action as the arrow button. */

.ck.ck-splitbutton.ck-splitbutton_flatten:hover > .ck-splitbutton__action:not(.ck-disabled),
			.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open > .ck-splitbutton__action:not(.ck-disabled),
			.ck.ck-splitbutton.ck-splitbutton_flatten:hover > .ck-splitbutton__arrow:not(.ck-disabled),
			.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled),
			.ck.ck-splitbutton.ck-splitbutton_flatten:hover > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover),
			.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {
				background-color: var(--ck-color-button-on-background);
			}

.ck.ck-splitbutton.ck-splitbutton_flatten:hover > .ck-splitbutton__action:not(.ck-disabled)::after, .ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open > .ck-splitbutton__action:not(.ck-disabled)::after, .ck.ck-splitbutton.ck-splitbutton_flatten:hover > .ck-splitbutton__arrow:not(.ck-disabled)::after, .ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled)::after, .ck.ck-splitbutton.ck-splitbutton_flatten:hover > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover)::after, .ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover)::after {
					display: none;
				}

.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover > .ck-splitbutton__action:not(.ck-disabled),
			.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover > .ck-splitbutton__arrow:not(.ck-disabled),
			.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {
				background-color: var(--ck-color-button-on-hover-background);
			}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-text-alternative-form {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}

.ck.ck-text-alternative-form .ck-labeled-field-view {
		display: inline-block;
	}

.ck.ck-text-alternative-form .ck-label {
		display: none;
	}

@media screen and (max-width: 600px) {

.ck.ck-text-alternative-form {
		flex-wrap: wrap;
}

		.ck.ck-text-alternative-form .ck-labeled-field-view {
			flex-basis: 100%;
		}

		.ck.ck-text-alternative-form .ck-button {
			flex-basis: 50%;
		}
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-editor__editable .image,
	.ck.ck-editor__editable .image-inline {
		position: relative;
	}

/* Upload progress bar. */

.ck.ck-editor__editable .image .ck-progress-bar,
	.ck.ck-editor__editable .image-inline .ck-progress-bar {
		position: absolute;
		top: 0;
		left: 0;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-image-upload-complete-icon {
	display: block;
	position: absolute;

	/*
	 * Smaller images should have the icon closer to the border.
	 * Match the icon position with the linked image indicator brought by the link image feature.
	 */
	top: min(var(--ck-spacing-medium), 6%);
	right: min(var(--ck-spacing-medium), 6%);
	border-radius: 50%;
	z-index: 1;
}

.ck-image-upload-complete-icon::after {
		content: "";
		position: absolute;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-upload-placeholder-loader {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 0;
}

.ck .ck-upload-placeholder-loader::before {
		content: '';
		position: relative;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content .image {
		display: table;
		clear: both;
		text-align: center;

		/* Make sure there is some space between the content and the image. Center image by default. */
		/* The first value should be equal to --ck-spacing-large variable if used in the editor context
	 	to avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */
		margin: 0.9em auto;

		/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */
		min-width: 50px;
	}

.ck-content .image img {
			/* Prevent unnecessary margins caused by line-height (see #44). */
			display: block;

			/* Center the image if its width is smaller than the content's width. */
			margin: 0 auto;

			/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */
			max-width: 100%;

			/* Make sure the image is never smaller than the parent container (See: https://github.com/ckeditor/ckeditor5/issues/9300). */
			min-width: 100%;

			/* Keep proportions of the block image if the height is set and the image is wider than the editor width.
			See https://github.com/ckeditor/ckeditor5/issues/14542. */
			height: auto;
		}

.ck-content .image-inline {
		/*
		 * Normally, the .image-inline would have "display: inline-block" and "img { width: 100% }" (to follow the wrapper while resizing).
		 * Unfortunately, together with "srcset", it gets automatically stretched up to the width of the editing root.
		 * This strange behavior does not happen with inline-flex.
		 */
		display: inline-flex;

		/* While being resized, don't allow the image to exceed the width of the editing root. */
		max-width: 100%;

		/* This is required by Safari to resize images in a sensible way. Without this, the browser breaks the ratio. */
		align-items: flex-start;

		/* When the picture is present it must act as a flex container to let the img resize properly */
	}

.ck-content .image-inline picture {
			display: flex;
		}

/* When the picture is present, it must act like a resizable img. */

.ck-content .image-inline picture,
		.ck-content .image-inline img {
			/* This is necessary for the img to span the entire .image-inline wrapper and to resize properly. */
			flex-grow: 1;
			flex-shrink: 1;

			/* Prevents overflowing the editing root boundaries when an inline image is very wide. */
			max-width: 100%;
		}

/*
	 * Inhertit the content styles padding of the <figcaption> in case the integration overrides `text-align: center`
	 * of `.image` (e.g. to the left/right). This ensures the placeholder stays at the padding just like the native
	 * caret does, and not at the edge of <figcaption>.
	 */

.ck.ck-editor__editable .image > figcaption.ck-placeholder::before {
		padding-left: inherit;
		padding-right: inherit;

		/*
		 * Make sure the image caption placeholder doesn't overflow the placeholder area.
		 * See https://github.com/ckeditor/ckeditor5/issues/9162.
		 */
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

/*
	 * See https://github.com/ckeditor/ckeditor5/issues/15115.
	 */

.ck.ck-editor__editable .image {
		z-index: 1;

		/*
		 * Make sure the selected image always stays on top of its siblings.
		 * See https://github.com/ckeditor/ckeditor5/issues/9108.
		 */
	}

.ck.ck-editor__editable .image.ck-widget_selected {
			z-index: 2;
		}

/*
	 * See https://github.com/ckeditor/ckeditor5/issues/15115.
	 */

.ck.ck-editor__editable .image-inline {
		z-index: 1;

		/*
		 * Make sure the selected inline image always stays on top of its siblings.
		 * See https://github.com/ckeditor/ckeditor5/issues/9108.
		 */
	}

.ck.ck-editor__editable .image-inline.ck-widget_selected {
			z-index: 2;

			/*
			 * Make sure the native browser selection style is not displayed.
			 * Inline image widgets have their own styles for the selected state and
			 * leaving this up to the browser is asking for a visual collision.
			 */
		}

.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection {
				display: none;
			}

/* Keep proportions of the inline image if the height is set and the image is wider than the editor width.
	See https://github.com/ckeditor/ckeditor5/issues/14542. */

.ck.ck-editor__editable .image-inline img {
		height: auto;
	}

/* The inline image nested in the table should have its original size if not resized.
	See https://github.com/ckeditor/ckeditor5/issues/9117. */

.ck.ck-editor__editable td .image-inline img, .ck.ck-editor__editable th .image-inline img {
			max-width: none;
		}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-editor__editable img.image_placeholder {
		background-size: 100% 100%;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* Linked image indicator */

.ck.ck-editor__editable figure.image > a::after, .ck.ck-editor__editable a span.image-inline::after {
			display: block;
			position: absolute;
		}


/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-link-actions {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}

.ck.ck-link-actions .ck-link-actions__preview {
		display: inline-block;
	}

.ck.ck-link-actions .ck-link-actions__preview .ck-button__label {
			overflow: hidden;
		}

@media screen and (max-width: 600px) {

.ck.ck-link-actions {
		flex-wrap: wrap;
}

		.ck.ck-link-actions .ck-link-actions__preview {
			flex-basis: 100%;
		}

		.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview) {
			flex-basis: 50%;
		}
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-link-form {
	display: flex;
	align-items: flex-start;
}

.ck.ck-link-form .ck-label {
		display: none;
	}

@media screen and (max-width: 600px) {

.ck.ck-link-form {
		flex-wrap: wrap;
}

		.ck.ck-link-form .ck-labeled-field-view {
			flex-basis: 100%;
		}

		.ck.ck-link-form .ck-button {
			flex-basis: 50%;
		}
	}

/*
 * Style link form differently when manual decorators are available.
 * See: https://github.com/ckeditor/ckeditor5-link/issues/186.
 */
.ck.ck-link-form_layout-vertical {
	display: block;

	/*
	 * Whether the form is in the responsive mode or not, if there are decorator buttons
	 * keep the top margin of action buttons medium.
	 */
}
.ck.ck-link-form_layout-vertical .ck-button.ck-button-save,
		.ck.ck-link-form_layout-vertical .ck-button.ck-button-cancel {
			margin-top: var(--ck-spacing-medium);
		}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-editor__editable .ck-list-bogus-paragraph {
	display: block;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-list-styles-list {
	display: grid;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content ol {
	list-style-type: decimal;
}

.ck-content ol ol {
		list-style-type: lower-latin;
	}

.ck-content ol ol ol {
			list-style-type: lower-roman;
		}

.ck-content ol ol ol ol {
				list-style-type: upper-latin;
			}

.ck-content ol ol ol ol ol {
					list-style-type: upper-roman;
				}

.ck-content ul {
	list-style-type: disc;
}

.ck-content ul ul {
		list-style-type: circle;
	}

.ck-content ul ul ul {
			list-style-type: square;
		}

.ck-content ul ul ul ul {
				list-style-type: square;
			}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-todo-list-checkmark-size: 16px;
}

/*
 * To-do list content styles.
 */
.ck-content .todo-list {
	list-style: none;
}
.ck-content .todo-list li {
		position: relative;
		margin-bottom: 5px;
	}
.ck-content .todo-list li .todo-list {
			margin-top: 5px;
		}
.ck-content .todo-list .todo-list__label > input {
			-webkit-appearance: none;
			display: inline-block;
			position: relative;
			width: var(--ck-todo-list-checkmark-size);
			height: var(--ck-todo-list-checkmark-size);
			vertical-align: middle;
			/* Needed on iOS */
			border: 0;
			/* LTR styles */
			left: -25px;
			margin-right: -15px;
			right: 0;
			margin-left: 0;
			/* RTL styles */
		}
.ck-content[dir=rtl] .todo-list .todo-list__label > input {
		left: 0;
		margin-right: 0;
		right: -25px;
		margin-left: -15px;
	}
.ck-content .todo-list .todo-list__label > input::before {
		display: block;
		position: absolute;
		box-sizing: border-box;
		content: '';
		width: 100%;
		height: 100%;
		border: 1px solid hsl(0, 0%, 20%);
		border-radius: 2px;
		transition: 250ms ease-in-out box-shadow;
	}
@media (prefers-reduced-motion: reduce) {
.ck-content .todo-list .todo-list__label > input::before {
			transition: none;
	}
		}
.ck-content .todo-list .todo-list__label > input::after {
		display: block;
		position: absolute;
		box-sizing: content-box;
		pointer-events: none;
		content: '';

		/* Calculate tick position, size and border-width proportional to the checkmark size. */
		left: calc( var(--ck-todo-list-checkmark-size) / 3 );
		top: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
		width: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
		height: calc( var(--ck-todo-list-checkmark-size) / 2.6 );
		border-style: solid;
		border-color: transparent;
		border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;
		transform: rotate(45deg);
	}
.ck-content .todo-list .todo-list__label > input[checked]::before {
			background: hsl(126, 64%, 41%);
			border-color: hsl(126, 64%, 41%);
		}
.ck-content .todo-list .todo-list__label > input[checked]::after {
			border-color: hsl(0, 0%, 100%);
		}
.ck-content .todo-list .todo-list__label .todo-list__label__description {
			vertical-align: middle;
		}
.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox] {
			position: absolute;
		}

/*
 * To-do list editing view styles.
 */
/*
	 * To-do list should be interactive only during the editing
	 * (https://github.com/ckeditor/ckeditor5/issues/2090).
	 */
.ck-editor__editable.ck-content .todo-list .todo-list__label > input,
	.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input {
		cursor: pointer;
	}
.ck-editor__editable.ck-content .todo-list .todo-list__label > input:hover::before, .ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input:hover::before {
			box-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1);
		}
/*
	 * Document Lists - editing view has an additional span around checkbox.
	 */
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input {
		-webkit-appearance: none;
		display: inline-block;
		position: relative;
		width: var(--ck-todo-list-checkmark-size);
		height: var(--ck-todo-list-checkmark-size);
		vertical-align: middle;
		/* Needed on iOS */
		border: 0;
		/* LTR styles */
		left: -25px;
		margin-right: -15px;
		right: 0;
		margin-left: 0;
		/* RTL styles */
	}
.ck-editor__editable.ck-content[dir=rtl] .todo-list .todo-list__label > span[contenteditable=false] > input {
		left: 0;
		margin-right: 0;
		right: -25px;
		margin-left: -15px;
	}
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input::before {
		display: block;
		position: absolute;
		box-sizing: border-box;
		content: '';
		width: 100%;
		height: 100%;
		border: 1px solid hsl(0, 0%, 20%);
		border-radius: 2px;
		transition: 250ms ease-in-out box-shadow;
	}
@media (prefers-reduced-motion: reduce) {
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input::before {
			transition: none;
	}
		}
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input::after {
		display: block;
		position: absolute;
		box-sizing: content-box;
		pointer-events: none;
		content: '';

		/* Calculate tick position, size and border-width proportional to the checkmark size. */
		left: calc( var(--ck-todo-list-checkmark-size) / 3 );
		top: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
		width: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
		height: calc( var(--ck-todo-list-checkmark-size) / 2.6 );
		border-style: solid;
		border-color: transparent;
		border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;
		transform: rotate(45deg);
	}
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input[checked]::before {
			background: hsl(126, 64%, 41%);
			border-color: hsl(126, 64%, 41%);
		}
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input[checked]::after {
			border-color: hsl(0, 0%, 100%);
		}
.ck-editor__editable.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox] {
			position: absolute;
		}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content .media {
	/* Don't allow floated content overlap the media.
	https://github.com/ckeditor/ckeditor5-media-embed/issues/53 */
	clear: both;

	/* Make sure there is some space between the content and the media. */
	/* The first value should be equal to --ck-spacing-large variable if used in the editor context
	to avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */
	margin: 0.9em 0;

	/* Make sure media is not overriden with Bootstrap default `flex` value.
	See: https://github.com/ckeditor/ckeditor5/issues/1373. */
	display: block;

	/* Give the media some minimal width in the content to prevent them
	from being "squashed" in tight spaces, e.g. in table cells (#44) */
	min-width: 15em;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-media__wrapper .ck-media__placeholder {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url {
			/* Otherwise the URL will overflow when the content is very narrow. */
			max-width: 100%;

			position: relative;
		}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text {
				overflow: hidden;
				display: block;
			}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck-media__placeholder__icon *, .ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon *, .ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon *, .ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon *, .ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon *, .ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder__icon *, .ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder__icon * {
			display: none;
		}

/* Disable all mouse interaction as long as the editor is not read–only.
   https://github.com/ckeditor/ckeditor5-media-embed/issues/58 */
.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper > *:not(.ck-media__placeholder) {
	pointer-events: none;
}

/* Disable all mouse interaction when the widget is not selected (e.g. to avoid opening links by accident).
   https://github.com/ckeditor/ckeditor5-media-embed/issues/18 */
.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder {
	pointer-events: none;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-vertical-form .ck-button::after {
		content: "";
		width: 0;
		position: absolute;
		right: -1px;
		top: -1px;
		bottom: -1px;
		z-index: 1;
	}

.ck-vertical-form .ck-button:focus::after {
		display: none;
	}

@media screen and (max-width: 600px) {
			.ck.ck-responsive-form .ck-button::after {
				content: "";
				width: 0;
				position: absolute;
				right: -1px;
				top: -1px;
				bottom: -1px;
				z-index: 1;
			}

			.ck.ck-responsive-form .ck-button:focus::after {
				display: none;
			}
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-media-form {
	display: flex;
	align-items: flex-start;
	flex-direction: row;
	flex-wrap: nowrap;
	width: 400px;
}

.ck.ck-media-form .ck-labeled-field-view {
		display: inline-block;
		width: 100%;
	}

.ck.ck-media-form .ck-label {
		display: none;
	}

.ck.ck-media-form .ck-input {
		width: 100%;
	}

@media screen and (max-width: 600px) {

.ck.ck-media-form {
		flex-wrap: wrap;
}

		.ck.ck-media-form .ck-labeled-field-view {
			flex-basis: 100%;
		}

		.ck.ck-media-form .ck-button {
			flex-basis: 50%;
		}
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-mention-list-max-height: 300px;
}

.ck.ck-mentions {
	max-height: var(--ck-mention-list-max-height);

	overflow-y: auto;

	/* Prevent unnecessary horizontal scrollbar in Safari
	https://github.com/ckeditor/ckeditor5-mention/issues/41 */
	overflow-x: hidden;

	overscroll-behavior: contain;

	/* Prevent unnecessary vertical scrollbar in Safari
	https://github.com/ckeditor/ckeditor5-mention/issues/41 */
}

.ck.ck-mentions > .ck-list__item {
		overflow: hidden;
		flex-shrink: 0;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-color-minimap-tracker-background: 208, 0%, 51%;
	--ck-color-minimap-iframe-outline: hsl(0deg 0% 75%);
	--ck-color-minimap-iframe-shadow: hsl(0deg 0% 0% / 11%);
	--ck-color-minimap-progress-background: hsl(0,0%,40%);
}

.ck.ck-minimap {
	position: absolute;
	user-select: none;
	background: var(--ck-color-base-background);
}

.ck.ck-minimap,
	.ck.ck-minimap iframe {
		width: 100%;
		height: 100%;
	}

.ck.ck-minimap iframe {
		border: 0;
		pointer-events: none;
		position: relative;
		outline: 1px solid var(--ck-color-minimap-iframe-outline);
		box-shadow: 0 2px 5px var(--ck-color-minimap-iframe-shadow);
		margin: 0;
	}

.ck.ck-minimap .ck.ck-minimap__position-tracker {
		position: absolute;
		width: 100%;
		top: 0;
		background: hsla( var(--ck-color-minimap-tracker-background), .2 );
		z-index: 1;
		transition: background 100ms ease-in-out;
	}

@media (prefers-reduced-motion: reduce) {

.ck.ck-minimap .ck.ck-minimap__position-tracker {
			transition: none;
	}
		}

.ck.ck-minimap .ck.ck-minimap__position-tracker:hover {
			background:hsla( var(--ck-color-minimap-tracker-background), .3 );
		}

.ck.ck-minimap .ck.ck-minimap__position-tracker.ck-minimap__position-tracker_dragging,
		.ck.ck-minimap .ck.ck-minimap__position-tracker.ck-minimap__position-tracker_dragging:hover {
			background:hsla( var(--ck-color-minimap-tracker-background), .4 );
		}

.ck.ck-minimap .ck.ck-minimap__position-tracker.ck-minimap__position-tracker_dragging::after, .ck.ck-minimap .ck.ck-minimap__position-tracker.ck-minimap__position-tracker_dragging:hover::after {
				opacity: 1;
			}

.ck.ck-minimap .ck.ck-minimap__position-tracker::after {
			content: attr(data-progress) "%";
			position: absolute;
			top: 5px;
			right: 5px;
			background: var(--ck-color-minimap-progress-background);
			color: var(--ck-color-base-background);
			border: 1px solid var(--ck-color-base-background);
			padding: 2px 4px;
			font-size: 10px;
			border-radius: 3px;
			opacity: 0;
			transition: opacity 100ms ease-in-out;
		}

@media (prefers-reduced-motion: reduce) {

.ck.ck-minimap .ck.ck-minimap__position-tracker::after {
				transition: none;
		}
			}


/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content .page-break {
	position: relative;
	clear: both;
	padding: 5px 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ck-content .page-break::after {
		content: '';
		position: absolute;
		border-bottom: 2px dashed hsl(0, 0%, 77%);
		width: 100%;
	}

.ck-content .page-break__label {
	position: relative;
	z-index: 1;
	padding: .3em .6em;
	display: block;
	text-transform: uppercase;
	border: 1px solid hsl(0, 0%, 77%);
	border-radius: 2px;
	font-family: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;
	font-size: 0.75em;
	font-weight: bold;
	color: hsl(0, 0%, 20%);
	background: hsl(0, 0%, 100%);
	box-shadow: 2px 2px 1px hsla(0, 0%, 0%, 0.15);

	/* Disable the possibility to select the label text by the user. */
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* Do not show the page break element inside the print preview window. */
@media print {
	.ck-content .page-break {
		padding: 0;
	}

		.ck-content .page-break::after {
			display: none;
		}

	/*
	 * From time to time placing page-break directly after a block element with margin causes appending a new blank page in pagination mode.
	 * Removing margin-bottom from the block element fixes that issue and the margin is not being moved to the next blank page.
	 *
	 * Keep this in sync with the pagination plugins.
	 */
	.ck-content *:has(+ .page-break) {
		margin-bottom: 0;
	}
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-show-blocks-border-color: hsl(0, 0%, 46%);
}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) address {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) address {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>ADDRESS</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) address {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>ADDRESS</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) address:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) address {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>ADDRESS</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) address {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>ADDRESS</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) aside {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) aside {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>ASIDE</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) aside {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>ASIDE</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) aside:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) aside {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>ASIDE</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) aside {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>ASIDE</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) blockquote {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) blockquote {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>BLOCKQUOTE</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) blockquote {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>BLOCKQUOTE</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) blockquote:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) blockquote {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>BLOCKQUOTE</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) blockquote {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>BLOCKQUOTE</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) details {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) details {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>DETAILS</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) details {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>DETAILS</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) details:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) details {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>DETAILS</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) details {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>DETAILS</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) div:not(.ck-widget, .ck-widget *) {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) div:not(.ck-widget, .ck-widget *) {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>DIV</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) div:not(.ck-widget, .ck-widget *) {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>DIV</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) div:not(.ck-widget, .ck-widget *):not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) div:not(.ck-widget, .ck-widget *) {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>DIV</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) div:not(.ck-widget, .ck-widget *) {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>DIV</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) footer {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) footer {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>FOOTER</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) footer {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>FOOTER</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) footer:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) footer {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>FOOTER</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) footer {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>FOOTER</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h1 {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h1 {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>H1</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h1 {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>H1</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h1:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h1 {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>H1</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h1 {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>H1</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h2 {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h2 {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>H2</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h2 {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>H2</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h2:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h2 {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>H2</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h2 {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>H2</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h3 {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h3 {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>H3</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h3 {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>H3</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h3:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h3 {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>H3</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h3 {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>H3</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h4 {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h4 {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>H4</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h4 {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>H4</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h4:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h4 {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>H4</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h4 {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>H4</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h5 {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h5 {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>H5</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h5 {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>H5</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h5:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h5 {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>H5</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h5 {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>H5</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h6 {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h6 {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>H6</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h6 {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>H6</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h6:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h6 {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>H6</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) h6 {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>H6</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) header {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) header {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>HEADER</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) header {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>HEADER</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) header:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) header {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>HEADER</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) header {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>HEADER</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) main {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) main {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>MAIN</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) main {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>MAIN</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) main:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) main {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>MAIN</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) main {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>MAIN</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) nav {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) nav {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>NAV</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) nav {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>NAV</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) nav:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) nav {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>NAV</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) nav {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>NAV</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) pre {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) pre {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>PRE</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) pre {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>PRE</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) pre:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) pre {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>PRE</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) pre {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>PRE</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) ol {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) ol {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>OL</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) ol {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>OL</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) ol:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) ol {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>OL</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) ol {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>OL</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) ul {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) ul {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>UL</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) ul {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>UL</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) ul:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) ul {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>UL</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) ul {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>UL</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) p {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) p {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>P</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) p {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>P</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) p:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) p {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>P</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) p {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>P</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) section {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) section {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>SECTION</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) section {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>SECTION</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) section:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) section {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>SECTION</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) section {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>SECTION</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) :where(figure.image, figure.table) figcaption {
		background-repeat: no-repeat;
		padding-top: 15px;
		/* Fix for Multi-root editor
	https://github.com/ckeditor/ckeditor5/issues/15969 */
	}

[dir=ltr] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) :where(figure.image, figure.table) figcaption {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>FIGCAPTION</text></svg>");
		background-position: 1px 1px;
	}

[dir=rtl] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) :where(figure.image, figure.table) figcaption {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>FIGCAPTION</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

.ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) :where(figure.image, figure.table) figcaption:not(.ck-widget_selected):not(.ck-widget:hover) {
		outline: 1px dashed var(--ck-show-blocks-border-color);
	}

[dir="ltr"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) :where(figure.image, figure.table) figcaption {
		background-image: url("data:image/svg+xml;utf8,<svg width=%27120%27 height=%2712%27 xmlns=%27http://www.w3.org/2000/svg%27 ><text style=%27paint-order:stroke fill; clip-path: inset%28-3px%29%27 stroke=%27%23EAEAEA%27 stroke-width=%2713%27 dominant-baseline=%27middle%27 fill=%27black%27 x=%273%27 y=%277%27 font-size=%279px%27 font-family=%27Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace%27>FIGCAPTION</text></svg>");
		background-position: 1px 1px;
	}

[dir="rtl"] .ck.ck-editor__editable.ck-editor__editable_inline.ck-show-blocks:not(.ck-widget) :where(figure.image, figure.table) figcaption {
		background-image: url("data:image/svg+xml;utf8,<svg width='120' height='12' xmlns='http://www.w3.org/2000/svg' ><text style='paint-order:stroke fill; clip-path: inset(-3px); transform:translate(-2px, 0)' stroke='%23EAEAEA' stroke-width='13' dominant-baseline='middle' fill='black' x='100%' text-anchor='end' y='7' font-size='9px' font-family='Consolas, %22Lucida Console%22, %22Lucida Sans Typewriter%22, %22DejaVu Sans Mono%22, %22Bitstream Vera Sans Mono%22, %22Liberation Mono%22, Monaco, %22Courier New%22, Courier, monospace'>FIGCAPTION</text></svg>");
		background-position: calc(100% - 1px) 1px;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A visual style of focused element's border.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A helper to combine multiple shadows.
 */
/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

.ck-source-editing-area {
	position: relative;
	overflow: hidden;
}

.ck-source-editing-area::after,
.ck-source-editing-area textarea {
	padding: var(--ck-spacing-large);
	margin: 0;
	border: 1px solid transparent;
	line-height: var(--ck-line-height-base);
	font-size: var(--ck-font-size-normal);
	font-family: monospace;
	white-space: pre-wrap;
}

.ck-source-editing-area::after {
	content: attr(data-value) " ";
	visibility: hidden;
	display: block;
}

.ck-source-editing-area textarea {
	position: absolute;
	width: 100%;
	height: 100%;
	resize: none;
	outline: none;
	overflow: hidden;
	box-sizing: border-box;

	border-color: var(--ck-color-base-border);

	border-radius: 0;
}

.ck-rounded-corners .ck-source-editing-area textarea,
	.ck-source-editing-area textarea.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}

.ck-source-editing-area textarea:not([readonly]):focus {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-inner-shadow), 0 0;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-character-grid {
	max-width: 100%;
}

.ck.ck-character-grid .ck-character-grid__tiles {
		display: grid;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-character-info {
	display: flex;
	justify-content: space-between;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-special-characters > .ck-dialog__content > div {
		width: 350px;
		max-width: 100%;
		height: 100%;

		display: grid;
		grid-column-gap: 0px;
		grid-row-gap: 0px;
		grid-template-columns: 1fr;
		grid-template-rows: auto 1fr auto;
	}

.ck.ck-special-characters > .ck-dialog__content > div > .ck-character-categories {
			grid-area: 1 / 1 / 2 / 2;
			padding: var(--ck-spacing-medium) var(--ck-spacing-large);
		}

.ck.ck-special-characters > .ck-dialog__content > div > .ck-character-categories > .ck-labeled-field-view {
				padding-top: var(--ck-spacing-standard);
				width: 100%;
			}

.ck.ck-special-characters > .ck-dialog__content > div > .ck-character-categories > .ck-labeled-field-view .ck.ck-labeled-field-view__status {
					background: var(--ck-color-base-error);
					color: var(--ck-color-base-background);
					padding: var(--ck-spacing-small) var(--ck-spacing-medium);
					min-width: var(--ck-table-properties-min-error-width);
					text-align: center;

					animation: ck-table-form-labeled-view-status-appear .15s ease both;

					/* The arrow pointing towards the field. */
				}

.ck.ck-special-characters > .ck-dialog__content > div > .ck-character-categories > .ck-labeled-field-view .ck.ck-labeled-field-view__status::after {
						border-color: transparent transparent var(--ck-color-base-error) transparent;
						border-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size);
						border-style: solid;
					}

@media (prefers-reduced-motion: reduce) {

.ck.ck-special-characters > .ck-dialog__content > div > .ck-character-categories > .ck-labeled-field-view .ck.ck-labeled-field-view__status {
						animation: none;
				}
					}

/* Hide the error balloon when the field is blurred. Makes the experience much more clear. */

.ck.ck-special-characters > .ck-dialog__content > div > .ck-character-categories > .ck-labeled-field-view .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status {
					display: none;
				}

.ck.ck-special-characters > .ck-dialog__content > div > .ck-character-categories > .ck-labeled-field-view > .ck-label {
					font-size: var(--ck-font-size-tiny);
					text-align: center;
				}

.ck.ck-special-characters > .ck-dialog__content > div > .ck-character-categories .ck-dropdown {
				display: block;
				width: 100%;
			}

.ck.ck-special-characters > .ck-dialog__content > div > .ck-character-categories .ck-dropdown > button:not(:focus) {
						border: 1px solid var(--ck-color-base-border);
					}

.ck.ck-special-characters > .ck-dialog__content > div > .ck-character-categories .ck-dropdown > button > span {
						width: 100%;
					}

.ck.ck-special-characters > .ck-dialog__content > div > .ck-character-grid {
			grid-area: 2 / 1 / 3 / 2;
			max-height: 200px;
		}

.ck.ck-special-characters > .ck-dialog__content > div > .ck-character-info {
			grid-area: 3 / 1 / 4 / 2;
		}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-style-panel-columns: 3;
}

.ck.ck-style-panel .ck-style-grid {
	display: grid;
	grid-template-columns: repeat(var(--ck-style-panel-columns),auto);
	justify-content: start;
}

.ck.ck-style-panel .ck-style-grid .ck-style-grid__button {
		display: flex;
		justify-content: space-between;
		flex-direction: column;
	}

.ck.ck-style-panel .ck-style-grid .ck-style-grid__button .ck-style-grid__button__preview {
			display: flex;
			align-content: center;
			justify-content: flex-start;
			align-items: center;
			flex-grow: 1;
			flex-basis: 100%;
		}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content .table {
	/* Give the table widget some air and center it horizontally */
	/* The first value should be equal to --ck-spacing-large variable if used in the editor context
	to avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */
	margin: 0.9em auto;
	display: table;
}

.ck-content .table table {
		/* The table cells should have slight borders */
		border-collapse: collapse;
		border-spacing: 0;

		/* Table width and height are set on the parent <figure>. Make sure the table inside stretches
		to the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */
		width: 100%;
		height: 100%;

		/* The outer border of the table should be slightly darker than the inner lines.
		Also see https://github.com/ckeditor/ckeditor5-table/issues/50. */
		border: 1px double hsl(0, 0%, 70%);
	}

.ck-content .table table td,
		.ck-content .table table th {
			min-width: 2em;
			padding: .4em;

			/* The border is inherited from .ck-editor__nested-editable styles, so theoretically it's not necessary here.
			However, the border is a content style, so it should use .ck-content (so it works outside the editor).
			Hence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */
			border: 1px solid hsl(0, 0%, 75%);
		}

.ck-content .table table th {
			font-weight: bold;
			background: hsla(0, 0%, 0%, 5%);
		}

/**
 * Expanding the table to the full height of the parent container is necessary because tables
 * are rendered inside <figure> elements, which is kinda buggy in table height calculation.
 * While setting `height: 100%` fixes the issue in the editing mode described here:
 * https://github.com/ckeditor/ckeditor5/issues/6186
 *
 * it's causing another issue with the table height in the print preview mode here:
 * https://github.com/ckeditor/ckeditor5/issues/16856
 *
 * For now, resetting the height to `initial` in the print mode works as a workaround.
 */
@media print {
	.ck-content .table table {
		height: initial;
	}
}

/* Text alignment of the table header should match the editor settings and override the native browser styling,
when content is available outside the editor. See https://github.com/ckeditor/ckeditor5/issues/6638 */
.ck-content[dir="rtl"] .table th {
	text-align: right;
}

.ck-content[dir="ltr"] .table th {
	text-align: left;
}

.ck-editor__editable .ck-table-bogus-paragraph {
	/*
	 * Use display:inline-block to force Chrome/Safari to limit text mutations to this element.
	 * See https://github.com/ckeditor/ckeditor5/issues/6062.
	 */
	display: inline-block;

	/*
	 * Inline HTML elements nested in the span should always be dimensioned in relation to the whole cell width.
	 * See https://github.com/ckeditor/ckeditor5/issues/9117.
	 */
	width: 100%;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-insert-table-dropdown__grid {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-form__row {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;

	/* Ignore labels that work as fieldset legends */
}

.ck.ck-form__row > *:not(.ck-label) {
		flex-grow: 1;
	}

.ck.ck-form__row.ck-table-form__action-row .ck-button-save,
		.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel {
			justify-content: center;
		}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row {
			flex-wrap: wrap;
		}

.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type {
					/* 4 buttons out of 7 (h-alignment + v-alignment) = 0.57 */
					flex-grow: 0.57;
				}

.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type {
					/* 3 buttons out of 7 (h-alignment + v-alignment) = 0.43 */
					flex-grow: 0.43;
				}

.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button {
					flex-grow: 1;
				}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-input-color {
	width: 100%;
	display: flex;
	flex-direction: row-reverse;
}

.ck.ck-input-color > input.ck.ck-input-text {
		min-width: auto;
		flex-grow: 1;
	}

.ck.ck-input-color > div.ck.ck-dropdown {
		min-width: auto;

		/* This dropdown has no arrow but a color preview instead. */
	}

.ck.ck-input-color > div.ck.ck-dropdown > .ck-input-color__button .ck-dropdown__arrow {
			display: none;
		}

.ck.ck-input-color .ck.ck-input-color__button {
		/* Resolving issue with misaligned buttons on Safari (see #10589) */
		display: flex;
	}

.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview {
			position: relative;
			overflow: hidden;
		}

.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview > .ck.ck-input-color__button__preview__no-color-indicator {
				position: absolute;
				display: block;
			}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-table-form .ck-form__row.ck-table-form__border-row {
			flex-wrap: wrap;
		}

.ck.ck-table-form .ck-form__row.ck-table-form__background-row {
			flex-wrap: wrap;
		}

.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row {
			flex-wrap: wrap;
			align-items: center;
		}

.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view {
				display: flex;
				flex-direction: column-reverse;
				align-items: center;
			}

.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown {
					flex-grow: 0;
				}

.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator {
				flex-grow: 0;
			}

.ck.ck-table-form .ck.ck-labeled-field-view {
		/* Allow absolute positioning of the status (error) balloons. */
		position: relative;
	}

.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status {
			position: absolute;
			left: 50%;
			bottom: calc( -1 * var(--ck-table-properties-error-arrow-size) );
			transform: translate(-50%,100%);

			/* Make sure the balloon status stays on top of other form elements. */
			z-index: 1;

			/* The arrow pointing towards the field. */
		}

.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status::after {
				content: "";
				position: absolute;
				top: calc( -1 * var(--ck-table-properties-error-arrow-size) );
				left: 50%;
				transform: translateX( -50% );
			}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row {
			flex-wrap: wrap;
			flex-basis: 0;
			align-content: baseline;
		}

.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items {
				flex-wrap: nowrap;
			}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-color-selector-caption-background: hsl(0, 0%, 97%);
	--ck-color-selector-caption-text: hsl(0, 0%, 20%);
	--ck-color-selector-caption-highlighted-background: hsl(52deg 100% 50%);
}

/* Content styles */
.ck-content .table > figcaption {
	display: table-caption;
	caption-side: top;
	word-break: break-word;
	text-align: center;
	color: var(--ck-color-selector-caption-text);
	background-color: var(--ck-color-selector-caption-background);
	padding: .6em;
	font-size: .75em;
	outline-offset: -1px;

	/* Improve placeholder rendering in high-constrast mode (https://github.com/ckeditor/ckeditor5/issues/14907). */
}
@media (forced-colors: active) {
		.ck-content .table > figcaption {
		background-color: unset;
		color: unset;
		}
	}

/* Editing styles */
@media (forced-colors: none) {
		.ck.ck-editor__editable .table > figcaption.table__caption_highlighted {
			animation: ck-table-caption-highlight .6s ease-out;
		}
	}
.ck.ck-editor__editable .table > figcaption.ck-placeholder::before {
		padding-left: inherit;
		padding-right: inherit;

		/*
		 * Make sure the table caption placeholder doesn't overflow the placeholder area.
		 * See https://github.com/ckeditor/ckeditor5/issues/9162.
		 */
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

@keyframes ck-table-caption-highlight {
	0% {
		background-color: var(--ck-color-selector-caption-highlighted-background);
	}

	100% {
		background-color: var(--ck-color-selector-caption-background);
	}
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-color-selector-column-resizer-hover: var(--ck-color-base-active);
	--ck-table-column-resizer-width: 7px;

	/* The offset used for absolute positioning of the resizer element, so that it is placed exactly above the cell border.
	   The value is: minus half the width of the resizer decreased additionaly by the half the width of the border (0.5px). */
	--ck-table-column-resizer-position-offset: calc(var(--ck-table-column-resizer-width) * -0.5 - 0.5px);
}

.ck-content .table .ck-table-resized {
	table-layout: fixed;
}

.ck-content .table table {
	overflow: hidden;
}

.ck-content .table td,
.ck-content .table th {
	/* To prevent text overflowing beyond its cell when columns are resized by resize handler
	(https://github.com/ckeditor/ckeditor5/pull/14379#issuecomment-1589460978). */
	overflow-wrap: break-word;
	position: relative;
}

.ck.ck-editor__editable .table .ck-table-column-resizer {
	position: absolute;
	top: 0;
	bottom: 0;
	right: var(--ck-table-column-resizer-position-offset);
	width: var(--ck-table-column-resizer-width);
	cursor: col-resize;
	user-select: none;
	z-index: var(--ck-z-default);
}

.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer {
	display: none;
}

/* The resizer elements, which are extended to an extremely high height, break the drag & drop feature in Chrome. To make it work again,
   all resizers must be hidden while the table is dragged. */
.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer {
	display: none;
}

.ck.ck-editor__editable .table .ck-table-column-resizer:hover,
.ck.ck-editor__editable .table .ck-table-column-resizer__active {
	background-color: var(--ck-color-selector-column-resizer-hover);
	opacity: 0.25;
	/* The resizer element resides in each cell so to occupy the entire height of the table, which is unknown from a CSS point of view,
	   it is extended to an extremely high height. Even for screens with a very high pixel density, the resizer will fulfill its role as
	   it should, i.e. for a screen of 476 ppi the total height of the resizer will take over 350 sheets of A4 format, which is totally
	   unrealistic height for a single table. */
	top: -999999px;
	bottom: -999999px;
}

.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer {
	left: var(--ck-table-column-resizer-position-offset);
	right: unset;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A class which hides an element in DOM.
 */

.ck-hidden {
	/* Override selector specificity. Otherwise, all elements with some display
	style defined will override this one, which is not a desired result. */
	display: none !important;
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-z-default: 1;
	--ck-z-panel: calc( var(--ck-z-default) + 999 );
	--ck-z-dialog: 9999;
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
/**
 * A class that disables all transitions of the element and its children.
 */
.ck-transitions-disabled,
.ck-transitions-disabled * {
	transition: none !important;
}
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */
:root {
	--ck-powered-by-line-height: 10px;
	--ck-powered-by-padding-vertical: 2px;
	--ck-powered-by-padding-horizontal: 4px;
	--ck-powered-by-text-color: hsl(0, 0%, 31%);
	--ck-powered-by-border-radius: var(--ck-border-radius);
	--ck-powered-by-background: hsl(0, 0%, 100%);
	--ck-powered-by-border-color: var(--ck-color-focus-border);
}
.ck.ck-balloon-panel.ck-powered-by-balloon {
	--ck-border-radius: var(--ck-powered-by-border-radius);

	box-shadow: none;
	background: var(--ck-powered-by-background);
	min-height: unset;
	z-index: calc( var(--ck-z-panel) - 1 );
}
.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by {
		line-height: var(--ck-powered-by-line-height);
	}
.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by a {
			cursor: pointer;
			display: flex;
			align-items: center;
			opacity: .66;
			filter: grayscale(80%);
			line-height: var(--ck-powered-by-line-height);
			padding: var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal);
		}
.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-powered-by__label {
			font-size: 7.5px;
			letter-spacing: -.2px;
			padding-left: 2px;
			text-transform: uppercase;
			font-weight: bold;
			margin-right: 4px;
			cursor: pointer;
			line-height: normal;
			color: var(--ck-powered-by-text-color);

		}
.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-icon {
			display: block;
			cursor: pointer;
		}
.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by:hover a {
				filter: grayscale(0%);
				opacity: 1;
			}
.ck.ck-balloon-panel.ck-powered-by-balloon[class*="position_inside"] {
		border-color: transparent;
	}
.ck.ck-balloon-panel.ck-powered-by-balloon[class*="position_border"] {
		border: var(--ck-focus-ring);
		border-color: var(--ck-powered-by-border-color);
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Makes element unselectable.
 */
/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-button,
a.ck.ck-button {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;

	position: relative;
	display: inline-flex;
	align-items: center;
}

[dir="ltr"] .ck.ck-button, [dir="ltr"] a.ck.ck-button {
		justify-content: left;
	}

[dir="rtl"] .ck.ck-button, [dir="rtl"] a.ck.ck-button {
		justify-content: right;
	}

.ck.ck-button .ck-button__label, a.ck.ck-button .ck-button__label {
		display: none;
	}

.ck.ck-button.ck-button_with-text .ck-button__label, a.ck.ck-button.ck-button_with-text .ck-button__label {
			display: inline-block;
		}

/* Center the icon horizontally in a button without text. */

.ck.ck-button:not(.ck-button_with-text),  a.ck.ck-button:not(.ck-button_with-text)  {
		justify-content: center;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-button.ck-switchbutton .ck-button__toggle {
		display: block;
	}

.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner {
			display: block;
		}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-list-item-button {
	min-height: unset;
	width: 100%;
	border-radius: 0;
}

[dir="ltr"] .ck.ck-list-item-button {
		text-align: left;
	}

[dir="rtl"] .ck.ck-list-item-button {
		text-align: right;
	}

[dir="ltr"] .ck.ck-list-item-button.ck-list-item-button_toggleable {
			padding-left: var(--ck-spacing-small);
	}

[dir="rtl"] .ck.ck-list-item-button.ck-list-item-button_toggleable {
			padding-right: var(--ck-spacing-small);
	}

.ck.ck-list-item-button .ck-list-item-button__check-holder {
		display: inline-flex;
		width: .9em;
		height: .9em;
	}

[dir="ltr"] .ck.ck-list-item-button .ck-list-item-button__check-holder {
			margin-right: var(--ck-spacing-small);
	}

[dir="rtl"] .ck.ck-list-item-button .ck-list-item-button__check-holder {
			margin-left: var(--ck-spacing-small);
	}

.ck.ck-list-item-button .ck-list-item-button__check-icon {
		height: 100%;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-collapsible.ck-collapsible_collapsed > .ck-collapsible__children {
		display: none;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-color-grid {
	display: grid;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.color-picker-hex-input {
	width: max-content;
}

.color-picker-hex-input .ck.ck-input {
		min-width: unset;
	}

.ck.ck-color-picker__row {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin: var(--ck-spacing-large) 0 0;
	width: unset;
}

.ck.ck-color-picker__row .ck.ck-labeled-field-view {
		padding-top: unset;
	}

.ck.ck-color-picker__row .ck.ck-input-text {
		width: unset;
	}

.ck.ck-color-picker__row .ck-color-picker__hash-view {
		padding-top: var(--ck-spacing-tiny);
		padding-right: var(--ck-spacing-medium);
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* View fragment with color grids. */

.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color,
		.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker {
			display: flex;
			align-items: center;
		}

[dir="rtl"] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color, [dir="rtl"] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker {
				justify-content: flex-start;
	}

/* View fragment with a color picker. */

.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar {
			display: flex;
			flex-direction: row;
			justify-content: space-around;
		}

.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-save,
			.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-cancel {
				flex: 1
			}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-dialog .ck.ck-dialog__actions {
		display: flex;
		justify-content: flex-end;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-dialog-overlay {
	user-select: none;
	overscroll-behavior: none;

	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
}

.ck.ck-dialog-overlay.ck-dialog-overlay__transparent {
		pointer-events: none;
		animation: none;
		background: none;
	}

.ck.ck-dialog {
	overscroll-behavior: none;
	width: fit-content;
	position: absolute;
}

.ck.ck-dialog .ck.ck-form__header  {
		flex-shrink: 0;
	}

/* Modals should not be draggable. */

.ck.ck-dialog:not(.ck-dialog_modal) .ck.ck-form__header .ck-form__header__label {
			cursor: grab;
		}

.ck.ck-dialog-overlay.ck-dialog-overlay__transparent .ck.ck-dialog {
		pointer-events: all;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-dropdown-max-width: 75vw;
}

.ck.ck-dropdown {
	display: inline-block;
	position: relative;
}

.ck.ck-dropdown .ck-dropdown__arrow {
		pointer-events: none;
		z-index: var(--ck-z-default);
	}

/* Dropdown button should span horizontally, e.g. in vertical toolbars */

.ck.ck-dropdown .ck-button.ck-dropdown__button {
		width: 100%;
	}

.ck.ck-dropdown .ck-dropdown__panel {
		display: none;
		z-index: var(--ck-z-panel);
		max-width: var(--ck-dropdown-max-width);

		position: absolute;
	}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible {
			display: inline-block;
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme {
			bottom: 100%;
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s {
			/*
			 * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.
			 * See https://github.com/ckeditor/ckeditor5/issues/1053.
			 */
			top: 100%;
			bottom: auto;
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se {
			left: 0px;
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw {
			right: 0px;
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n {
			/* Positioning panels relative to the center of the button */
			left: 50%;
			transform: translateX(-50%);
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw {
			/* Positioning panels relative to the middle-west of the button */
			left: 75%;
			transform: translateX(-75%);
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme {
			/* Positioning panels relative to the middle-east of the button */
			left: 25%;
			transform: translateX(-25%);
		}

/*
 * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content.
 * See https://github.com/ckeditor/ckeditor5/issues/7874
 */
.ck.ck-toolbar .ck-dropdown__panel {
	z-index: calc( var(--ck-z-panel) + 1 );
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-splitbutton {
	/* Enable font size inheritance, which allows fluid UI scaling. */
	font-size: inherit;
}

.ck.ck-splitbutton .ck-splitbutton__action:focus {
		z-index: calc(var(--ck-z-default) + 1);
	}


/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-toolbar-dropdown-max-width: 60vw;
}

.ck.ck-toolbar-dropdown > .ck-dropdown__panel {
	/* https://github.com/ckeditor/ckeditor5/issues/5586 */
	width: max-content;
	max-width: var(--ck-toolbar-dropdown-max-width);
}

.ck.ck-toolbar-dropdown > .ck-dropdown__panel .ck-button:focus {
			z-index: calc(var(--ck-z-default) + 1);
		}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow {
	pointer-events: none;
	z-index: var(--ck-z-default);
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel {
	position: absolute;
	max-height: 314px; /* With the default settings, this is equal to 10 menu items. */
	overflow-y: auto;
	z-index: calc(var(--ck-z-panel) + 1);
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-dropdown-menu-list__nested-menu {
	display: block;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-aria-live-announcer {
	position: absolute;
	left: -10000px;
	top: -10000px;
}

.ck.ck-aria-live-region-list {
	list-style-type: none;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-form__header {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
}

.ck.ck-form__header h2.ck-form__header__label {
		flex-grow: 1;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-icon {
	vertical-align: middle;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-label {
	display: block;
}

.ck.ck-voice-label {
	display: none;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper {
		display: flex;
		position: relative;
	}

.ck.ck-labeled-field-view .ck.ck-label {
		display: block;
		position: absolute;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Makes element unselectable.
 */

.ck.ck-list {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;

	display: flex;
	flex-direction: column;
}

.ck.ck-list .ck-list__item,
	.ck.ck-list .ck-list__separator {
		display: block;
	}

/* Make sure that whatever child of the list item gets focus, it remains on the
	top. Thanks to that, styles like box-shadow, outline, etc. are not masked by
	adjacent list items. */

.ck.ck-list .ck-list__item > *:focus {
		position: relative;
		z-index: var(--ck-z-default);
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	/* Make sure the balloon arrow does not float over its children. */
	--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);
}

.ck.ck-balloon-panel {
	display: none;
	position: absolute;

	z-index: var(--ck-z-panel);
}

.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::before,
		.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::after {
			content: "";
			position: absolute;
		}

.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::before {
			z-index: var(--ck-balloon-panel-arrow-z-index);
		}

.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::after {
			z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);
		}

.ck.ck-balloon-panel[class*="arrow_n"]::before {
			z-index: var(--ck-balloon-panel-arrow-z-index);
		}

.ck.ck-balloon-panel[class*="arrow_n"]::after {
			z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);
		}

.ck.ck-balloon-panel[class*="arrow_s"]::before {
			z-index: var(--ck-balloon-panel-arrow-z-index);
		}

.ck.ck-balloon-panel[class*="arrow_s"]::after {
			z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);
		}

.ck.ck-balloon-panel.ck-balloon-panel_visible {
		display: block;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-balloon-rotator__navigation {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Buttons inside a toolbar should be centered when rotator bar is wider.
 * See: https://github.com/ckeditor/ckeditor5-ui/issues/495
 */
.ck .ck-balloon-rotator__content .ck-toolbar {
	justify-content: center;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-fake-panel {
	position: absolute;

	/* Fake panels should be placed under main balloon content. */
	z-index: calc(var(--ck-z-panel) - 1);
}

.ck .ck-fake-panel div {
	position: absolute;
}

.ck .ck-fake-panel div:nth-child( 1 ) {
	z-index: 2;
}

.ck .ck-fake-panel div:nth-child( 2 ) {
	z-index: 1;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-sticky-panel .ck-sticky-panel__content_sticky {
		z-index: var(--ck-z-panel); /* #315 */
		position: fixed;
		top: 0;
	}

.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit {
		top: auto;
		position: absolute;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-autocomplete {
	position: relative;
}

.ck.ck-autocomplete > .ck-search__results {
		position: absolute;
		z-index: var(--ck-z-panel);
	}

.ck.ck-autocomplete > .ck-search__results.ck-search__results_n {
			bottom: 100%;
		}

.ck.ck-autocomplete > .ck-search__results.ck-search__results_s {
			top: 100%;
			bottom: auto;
		}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-search > .ck-labeled-field-view > .ck-labeled-field-view__input-wrapper > .ck-icon {
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
		}

[dir="ltr"] .ck.ck-search > .ck-labeled-field-view > .ck-labeled-field-view__input-wrapper > .ck-icon {
				left: var(--ck-spacing-medium);
	}

[dir="rtl"] .ck.ck-search > .ck-labeled-field-view > .ck-labeled-field-view__input-wrapper > .ck-icon {
				right: var(--ck-spacing-medium);
	}

.ck.ck-search > .ck-labeled-field-view .ck-search__reset {
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
		}

.ck.ck-search > .ck-search__results > .ck-search__info > span:first-child {
				display: block;
			}

/* Hide the filtered view when nothing was found */

.ck.ck-search > .ck-search__results > .ck-search__info:not(.ck-hidden) ~ * {
				display: none;
			}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-highlighted-text mark {
	background: var(--ck-color-highlight-background);
	vertical-align: initial;
	font-weight: inherit;
	line-height: inherit;
	font-size: inherit;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Makes element unselectable.
 */

.ck.ck-balloon-panel.ck-tooltip {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;

	z-index: calc( var(--ck-z-dialog) + 100 );
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-toolbar-spinner-size: 18px;
}

.ck.ck-spinner-container {
	display: block;
	position: relative;
}

.ck.ck-spinner {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin: 0 auto;
	transform: translateY(-50%);
	z-index: 1;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Makes element unselectable.
 */

.ck.ck-toolbar {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;

	display: flex;
	flex-flow: row nowrap;
	align-items: center;
}

.ck.ck-toolbar > .ck-toolbar__items {
		display: flex;
		flex-flow: row wrap;
		align-items: center;
		flex-grow: 1;

	}

.ck.ck-toolbar .ck.ck-toolbar__separator {
		display: inline-block;

		/*
		 * A leading or trailing separator makes no sense (separates from nothing on one side).
		 * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and
		 * moved to another toolbar in the dropdown.
		 */
	}

.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,
		.ck.ck-toolbar .ck.ck-toolbar__separator:last-child {
			display: none;
		}

.ck.ck-toolbar .ck-toolbar__line-break {
		flex-basis: 100%;
	}

.ck.ck-toolbar.ck-toolbar_grouping > .ck-toolbar__items {
		flex-wrap: nowrap;
	}

.ck.ck-toolbar.ck-toolbar_vertical > .ck-toolbar__items {
		flex-direction: column;
	}

.ck.ck-toolbar.ck-toolbar_floating > .ck-toolbar__items {
		flex-wrap: nowrap;
	}

.ck.ck-toolbar > .ck.ck-toolbar__grouped-dropdown > .ck-dropdown__button .ck-dropdown__arrow {
			display: none;
		}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-block-toolbar-button {
	position: absolute;
	z-index: var(--ck-z-default);
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-menu-bar__menu > .ck-menu-bar__menu__button > .ck-menu-bar__menu__button__arrow {
		pointer-events: none;
		z-index: var(--ck-z-default);
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-menu-bar-menu-max-width: 75vw;
	--ck-menu-bar-nested-menu-horizontal-offset: 5px;
}

.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel {
	z-index: var(--ck-z-panel);
	max-width: var(--ck-menu-bar-menu-max-width);
	position: absolute;
}

.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne,
	.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw {
		bottom: 100%;
	}

.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se,
	.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw {
		top: 100%;
		bottom: auto;
	}

.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne,
	.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se {
		left: 0px;
	}

.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw,
	.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw {
		right: 0px;
	}

.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es,
	.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en {
		left: calc( 100% - var(--ck-menu-bar-nested-menu-horizontal-offset) );
	}

.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es {
		top: 0px;
	}

.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en {
		bottom: 0px;
	}

.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws,
	.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn {
		right: calc( 100% - var(--ck-menu-bar-nested-menu-horizontal-offset) );
	}

.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws {
		top: 0px;
	}

.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn {
		bottom: 0px;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-menu-bar__menu {
	display: block;
	position: relative;
}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-color-resizer: var(--ck-color-focus-border);
	--ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);
	--ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);

	--ck-resizer-border-radius: var(--ck-border-radius);
	--ck-resizer-tooltip-offset: 10px;
	--ck-resizer-tooltip-height: calc(var(--ck-spacing-small) * 2 + 10px);
}

.ck .ck-widget {
	/* This is neccessary for type around UI to be positioned properly. */
	position: relative;
}

.ck .ck-widget.ck-widget_with-selection-handle {
	/* Make the widget wrapper a relative positioning container for the drag handle. */
	position: relative;
}

.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {
		position: absolute;
	}

.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon {
			/* Make sure the icon in not a subject to font-size or line-height to avoid
			unnecessary spacing around it. */
			display: block;
		}

/* Show the selection handle on mouse hover over the widget, but not for nested widgets. */

.ck .ck-widget.ck-widget_with-selection-handle:hover > .ck-widget__selection-handle {
		visibility: visible;
	}

/* Show the selection handle when the widget is selected, but not for nested widgets. */

.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected > .ck-widget__selection-handle {
		visibility: visible;
	}

.ck .ck-size-view {
	background: var(--ck-color-resizer-tooltip-background);
	color: var(--ck-color-resizer-tooltip-text);
	border: 1px solid var(--ck-color-resizer-tooltip-text);
	border-radius: var(--ck-resizer-border-radius);
	font-size: var(--ck-font-size-tiny);
	display: block;
	padding: 0 var(--ck-spacing-small);
	height: var(--ck-resizer-tooltip-height);
	line-height: var(--ck-resizer-tooltip-height);
}

.ck .ck-size-view.ck-orientation-top-left,
	.ck .ck-size-view.ck-orientation-top-right,
	.ck .ck-size-view.ck-orientation-bottom-right,
	.ck .ck-size-view.ck-orientation-bottom-left,
	.ck .ck-size-view.ck-orientation-above-center {
		position: absolute;
	}

.ck .ck-size-view.ck-orientation-top-left {
		top: var(--ck-resizer-tooltip-offset);
		left: var(--ck-resizer-tooltip-offset);
	}

.ck .ck-size-view.ck-orientation-top-right {
		top: var(--ck-resizer-tooltip-offset);
		right: var(--ck-resizer-tooltip-offset);
	}

.ck .ck-size-view.ck-orientation-bottom-right {
		bottom: var(--ck-resizer-tooltip-offset);
		right: var(--ck-resizer-tooltip-offset);
	}

.ck .ck-size-view.ck-orientation-bottom-left {
		bottom: var(--ck-resizer-tooltip-offset);
		left: var(--ck-resizer-tooltip-offset);
	}

/* Class applied if the widget is too small to contain the size label */

.ck .ck-size-view.ck-orientation-above-center {
		top: calc(var(--ck-resizer-tooltip-height) * -1);
		left: 50%;
		transform: translate(-50%);
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-widget_with-resizer {
	/* Make the widget wrapper a relative positioning container for the drag handle. */
	position: relative;
}

.ck .ck-widget__resizer {
	display: none;
	position: absolute;

	/* The wrapper itself should not interfere with the pointer device, only the handles should. */
	pointer-events: none;

	left: 0;
	top: 0;
}

.ck-focused .ck-widget_with-resizer.ck-widget_selected > .ck-widget__resizer {
		display: block;
	}

.ck .ck-widget__resizer__handle {
	position: absolute;

	/* Resizers are the only UI elements that should interfere with a pointer device. */
	pointer-events: all;
}

.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left,
	.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right {
		cursor: nwse-resize;
	}

.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right,
	.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left {
		cursor: nesw-resize;
	}

/*
 * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
	 * Styles of the type around buttons
	 */

.ck .ck-widget .ck-widget__type-around__button {
		display: block;
		position: absolute;
		overflow: hidden;
		z-index: var(--ck-z-default);
	}

.ck .ck-widget .ck-widget__type-around__button svg {
			position: absolute;
			top: 50%;
			left: 50%;
			z-index: calc(var(--ck-z-default) + 2);
		}

.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before {
			/* Place it in the middle of the outline */
			top: calc(-0.5 * var(--ck-widget-outline-thickness));
			left: min(10%, 30px);

			transform: translateY(-50%);
		}

.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after {
			/* Place it in the middle of the outline */
			bottom: calc(-0.5 * var(--ck-widget-outline-thickness));
			right: min(10%, 30px);

			transform: translateY(50%);
		}

/*
	 * Styles for the buttons when:
	 * - the widget is selected,
	 * - or the button is being hovered (regardless of the widget state).
	 */

.ck .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button::after, .ck .ck-widget > .ck-widget__type-around > .ck-widget__type-around__button:hover::after {
			content: "";
			display: block;
			position: absolute;
			top: 1px;
			left: 1px;
			z-index: calc(var(--ck-z-default) + 1);
		}

/*
	 * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.
	 */

.ck .ck-widget > .ck-widget__type-around > .ck-widget__type-around__fake-caret {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
	}

/*
	 * When the widget is hovered the "fake caret" would normally be narrower than the
	 * extra outline displayed around the widget. Let's extend the "fake caret" to match
	 * the full width of the widget.
	 */

.ck .ck-widget:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret {
		left: calc( -1 * var(--ck-widget-outline-thickness) );
		right: calc( -1 * var(--ck-widget-outline-thickness) );
	}

/*
	 * Styles for the horizontal "fake caret" when it should be displayed before the widget (backward keyboard navigation).
	 */

.ck .ck-widget.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret {
		top: calc( -1 * var(--ck-widget-outline-thickness) - 1px );
		display: block;
	}

/*
	 * Styles for the horizontal "fake caret" when it should be displayed after the widget (forward keyboard navigation).
	 */

.ck .ck-widget.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret {
		bottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px );
		display: block;
	}

/*
 * Integration with the read-only mode of the editor.
 */
.ck.ck-editor__editable.ck-read-only .ck-widget__type-around {
	display: none;
}

/*
 * Integration with the restricted editing mode (feature) of the editor.
 */
.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around {
	display: none;
}

/*
 * Integration with the #isEnabled property of the WidgetTypeAround plugin.
 */
.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around {
	display: none;
}

/*# sourceMappingURL=ckeditor5.css.map */
/*!*************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/@symfony/webpack-encore/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/tom-select/dist/css/tom-select.default.css ***!
  \*************************************************************************************************************************************************************************************/
/**
 * tom-select.css (v2.3.1)
 * Copyright (c) contributors
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at:
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 * ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 *
 */
.ts-control {
  border: 1px solid #d0d0d0;
  padding: 8px 8px;
  width: 100%;
  overflow: hidden;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  display: flex;
  flex-wrap: wrap;
}
.ts-wrapper.multi.has-items .ts-control {
  padding: calc(8px - 2px - 1px) 8px calc(8px - 2px - 3px - 1px);
}
.full .ts-control {
  background-color: #fff;
}
.disabled .ts-control, .disabled .ts-control * {
  cursor: default !important;
}
.focus .ts-control {
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
}
.ts-control > * {
  vertical-align: baseline;
  display: inline-block;
}
.ts-wrapper.multi .ts-control > div {
  cursor: pointer;
  margin: 0 3px 3px 0;
  padding: 2px 6px;
  background: #1da7ee;
  color: #fff;
  border: 1px solid #0073bb;
}
.ts-wrapper.multi .ts-control > div.active {
  background: #92c836;
  color: #fff;
  border: 1px solid #00578d;
}
.ts-wrapper.multi.disabled .ts-control > div, .ts-wrapper.multi.disabled .ts-control > div.active {
  color: white;
  background: #d2d2d2;
  border: 1px solid #aaaaaa;
}
.ts-control > input {
  flex: 1 1 auto;
  min-width: 7rem;
  display: inline-block !important;
  padding: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  max-width: 100% !important;
  margin: 0 !important;
  text-indent: 0 !important;
  border: 0 none !important;
  background: none !important;
  line-height: inherit !important;
  -webkit-user-select: auto !important;
     -moz-user-select: auto !important;
      -ms-user-select: auto !important;
          user-select: auto !important;
  box-shadow: none !important;
}
.ts-control > input::-ms-clear {
  display: none;
}
.ts-control > input:focus {
  outline: none !important;
}
.has-items .ts-control > input {
  margin: 0 4px !important;
}
.ts-control.rtl {
  text-align: right;
}
.ts-control.rtl.single .ts-control:after {
  left: 15px;
  right: auto;
}
.ts-control.rtl .ts-control > input {
  margin: 0 4px 0 -2px !important;
}
.disabled .ts-control {
  opacity: 0.5;
  background-color: #fafafa;
}
.input-hidden .ts-control > input {
  opacity: 0;
  position: absolute;
  left: -10000px;
}

.ts-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 10;
  border: 1px solid #d0d0d0;
  background: #fff;
  margin: 0.25rem 0 0;
  border-top: 0 none;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 3px 3px;
}
.ts-dropdown [data-selectable] {
  cursor: pointer;
  overflow: hidden;
}
.ts-dropdown [data-selectable] .highlight {
  background: rgba(125, 168, 208, 0.2);
  border-radius: 1px;
}
.ts-dropdown .option,
.ts-dropdown .optgroup-header,
.ts-dropdown .no-results,
.ts-dropdown .create {
  padding: 5px 8px;
}
.ts-dropdown .option, .ts-dropdown [data-disabled], .ts-dropdown [data-disabled] [data-selectable].option {
  cursor: inherit;
  opacity: 0.5;
}
.ts-dropdown [data-selectable].option {
  opacity: 1;
  cursor: pointer;
}
.ts-dropdown .optgroup:first-child .optgroup-header {
  border-top: 0 none;
}
.ts-dropdown .optgroup-header {
  color: #303030;
  background: #fff;
  cursor: default;
}
.ts-dropdown .active {
  background-color: #f5fafd;
  color: #495c68;
}
.ts-dropdown .active.create {
  color: #495c68;
}
.ts-dropdown .create {
  color: rgba(48, 48, 48, 0.5);
}
.ts-dropdown .spinner {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 5px 8px;
}
.ts-dropdown .spinner::after {
  content: " ";
  display: block;
  width: 24px;
  height: 24px;
  margin: 3px;
  border-radius: 50%;
  border: 5px solid #d0d0d0;
  border-color: #d0d0d0 transparent #d0d0d0 transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.ts-dropdown-content {
  overflow: hidden auto;
  max-height: 200px;
  scroll-behavior: smooth;
}

.ts-wrapper.plugin-drag_drop .ts-dragging {
  color: transparent !important;
}
.ts-wrapper.plugin-drag_drop .ts-dragging > * {
  visibility: hidden !important;
}

.plugin-checkbox_options:not(.rtl) .option input {
  margin-right: 0.5rem;
}

.plugin-checkbox_options.rtl .option input {
  margin-left: 0.5rem;
}

/* stylelint-disable function-name-case */
.plugin-clear_button {
  --ts-pr-clear-button: 1em;
}
.plugin-clear_button .clear-button {
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: calc(8px - 6px);
  margin-right: 0 !important;
  background: transparent !important;
  transition: opacity 0.5s;
  cursor: pointer;
}
.plugin-clear_button.form-select .clear-button, .plugin-clear_button.single .clear-button {
  right: max(var(--ts-pr-caret), 8px);
}
.plugin-clear_button.focus.has-items .clear-button, .plugin-clear_button:not(.disabled):hover.has-items .clear-button {
  opacity: 1;
}

.ts-wrapper .dropdown-header {
  position: relative;
  padding: 10px 8px;
  border-bottom: 1px solid #d0d0d0;
  background: color-mix(#fff, #d0d0d0, 85%);
  border-radius: 3px 3px 0 0;
}
.ts-wrapper .dropdown-header-close {
  position: absolute;
  right: 8px;
  top: 50%;
  color: #303030;
  opacity: 0.4;
  margin-top: -12px;
  line-height: 20px;
  font-size: 20px !important;
}
.ts-wrapper .dropdown-header-close:hover {
  color: black;
}

.plugin-dropdown_input.focus.dropdown-active .ts-control {
  box-shadow: none;
  border: 1px solid #d0d0d0;
}
.plugin-dropdown_input .dropdown-input {
  border: 1px solid #d0d0d0;
  border-width: 0 0 1px;
  display: block;
  padding: 8px 8px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
  width: 100%;
  background: transparent;
}
.plugin-dropdown_input .items-placeholder {
  border: 0 none !important;
  box-shadow: none !important;
  width: 100%;
}
.plugin-dropdown_input.has-items .items-placeholder, .plugin-dropdown_input.dropdown-active .items-placeholder {
  display: none !important;
}

.ts-wrapper.plugin-input_autogrow.has-items .ts-control > input {
  min-width: 0;
}
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input {
  flex: none;
  min-width: 4px;
}
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-ms-input-placeholder {
  color: transparent;
}
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::placeholder {
  color: transparent;
}

.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content {
  display: flex;
}
.ts-dropdown.plugin-optgroup_columns .optgroup {
  border-right: 1px solid #f2f2f2;
  border-top: 0 none;
  flex-grow: 1;
  flex-basis: 0;
  min-width: 0;
}
.ts-dropdown.plugin-optgroup_columns .optgroup:last-child {
  border-right: 0 none;
}
.ts-dropdown.plugin-optgroup_columns .optgroup::before {
  display: none;
}
.ts-dropdown.plugin-optgroup_columns .optgroup-header {
  border-top: 0 none;
}

.ts-wrapper.plugin-remove_button .item {
  display: inline-flex;
  align-items: center;
}
.ts-wrapper.plugin-remove_button .item .remove {
  color: inherit;
  text-decoration: none;
  vertical-align: middle;
  display: inline-block;
  padding: 0 6px;
  border-radius: 0 2px 2px 0;
  box-sizing: border-box;
}
.ts-wrapper.plugin-remove_button .item .remove:hover {
  background: rgba(0, 0, 0, 0.05);
}
.ts-wrapper.plugin-remove_button.disabled .item .remove:hover {
  background: none;
}
.ts-wrapper.plugin-remove_button .remove-single {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 23px;
}

.ts-wrapper.plugin-remove_button:not(.rtl) .item {
  padding-right: 0 !important;
}
.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove {
  border-left: 1px solid #0073bb;
  margin-left: 6px;
}
.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove {
  border-left-color: #00578d;
}
.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove {
  border-left-color: #aaaaaa;
}

.ts-wrapper.plugin-remove_button.rtl .item {
  padding-left: 0 !important;
}
.ts-wrapper.plugin-remove_button.rtl .item .remove {
  border-right: 1px solid #0073bb;
  margin-right: 6px;
}
.ts-wrapper.plugin-remove_button.rtl .item.active .remove {
  border-right-color: #00578d;
}
.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove {
  border-right-color: #aaaaaa;
}

:root {
  --ts-pr-clear-button: 0;
  --ts-pr-caret: 0;
  --ts-pr-min: .75rem;
}

.ts-wrapper.single .ts-control, .ts-wrapper.single .ts-control input {
  cursor: pointer;
}

.ts-control:not(.rtl) {
  padding-right: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important;
}

.ts-control.rtl {
  padding-left: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important;
}

.ts-wrapper {
  position: relative;
}

.ts-dropdown,
.ts-control,
.ts-control input {
  color: #303030;
  font-family: inherit;
  font-size: 13px;
  line-height: 18px;
}

.ts-control,
.ts-wrapper.single.input-active .ts-control {
  background: #fff;
  cursor: text;
}

.ts-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.ts-wrapper.single .ts-control {
  --ts-pr-caret: 2rem;
}
.ts-wrapper.single .ts-control::after {
  content: " ";
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 5px 0 5px;
  border-color: #808080 transparent transparent transparent;
}
.ts-wrapper.single .ts-control:not(.rtl)::after {
  right: 15px;
}
.ts-wrapper.single .ts-control.rtl::after {
  left: 15px;
}
.ts-wrapper.single.dropdown-active .ts-control::after {
  margin-top: -4px;
  border-width: 0 5px 5px 5px;
  border-color: transparent transparent #808080 transparent;
}
.ts-wrapper.single.input-active .ts-control, .ts-wrapper.single.input-active .ts-control input {
  cursor: text;
}

.ts-wrapper {
  display: flex;
  min-height: 36px;
}
.ts-wrapper.multi.has-items .ts-control {
  padding-left: 5px;
  --ts-pr-min: $padding-x;
}
.ts-wrapper.multi .ts-control [data-value] {
  text-shadow: 0 1px 0 rgba(0, 51, 83, 0.3);
  border-radius: 3px;
  background-color: color-mix(#1da7ee, #178ee9, 60%);
  background-image: linear-gradient(to bottom, #1da7ee, #178ee9);
  background-repeat: repeat-x;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), inset 0 1px rgba(255, 255, 255, 0.03);
}
.ts-wrapper.multi .ts-control [data-value].active {
  background-color: color-mix(#008fd8, #0075cf, 60%);
  background-image: linear-gradient(to bottom, #008fd8, #0075cf);
  background-repeat: repeat-x;
}
.ts-wrapper.multi.disabled .ts-control [data-value] {
  color: #999;
  text-shadow: none;
  background: none;
  box-shadow: none;
}
.ts-wrapper.multi.disabled .ts-control [data-value], .ts-wrapper.multi.disabled .ts-control [data-value] .remove {
  border-color: #e6e6e6;
}
.ts-wrapper.multi.disabled .ts-control [data-value] .remove {
  background: none;
}
.ts-wrapper.single .ts-control {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.8);
  background-color: color-mix(#fefefe, #f2f2f2, 60%);
  background-image: linear-gradient(to bottom, #fefefe, #f2f2f2);
  background-repeat: repeat-x;
}

.ts-wrapper.single .ts-control, .ts-dropdown.single {
  border-color: #b8b8b8;
}

.dropdown-active .ts-control {
  border-radius: 3px 3px 0 0;
}

.ts-dropdown .optgroup-header {
  padding-top: 7px;
  font-weight: bold;
  font-size: 0.85em;
}
.ts-dropdown .optgroup {
  border-top: 1px solid #f0f0f0;
}
.ts-dropdown .optgroup:first-child {
  border-top: 0 none;
}
/*# sourceMappingURL=tom-select.default.css.map */

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9ycy1ub2RlX21vZHVsZXNfc3ltZm9ueV9zdGltdWx1cy1icmlkZ2VfZGlzdF9pbmRleF9qcy1ub2RlX21vZHVsZXNfYm9vdHN0cmFwLWRhdGVwaWNrZXJfLWJkNmE2Yy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0JBQWdCO0FDQ2Q7Ozs7RUFBQTtBQ0RGOztFQVNJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUdGO0VBQ0E7RUFNQTtFQUNBO0VBQ0E7RUFPQTtFQzJPSSx5QkFMSTtFRHBPUjtFQUNBO0VBS0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQU1BO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7RUFDQTtFQUNBO0FGRkY7O0FJOUdJO0VGc0hBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUdFO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUdGO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7QUZGSjs7QUt0S0E7OztFQUdFO0FMeUtGOztBSzFKSTtFQU5KO0lBT007RUw4Sko7QUFDRjs7QUtqSkE7RUFDRTtFQUNBO0VGNk9JLG1DQUxJO0VFdE9SO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMb0pGOztBSzNJQTtFQUNFO0VBQ0EsY0NtbkI0QjtFRGxuQjVCO0VBQ0E7RUFDQSxhQ3luQjRCO0FOM2U5Qjs7QUtwSUE7RUFDRTtFQUNBLHFCQ3dqQjRCO0VEcmpCNUIsZ0JDd2pCNEI7RUR2akI1QixnQkN3akI0QjtFRHZqQjVCO0FMcUlGOztBS2xJQTtFRnVNUTtBSGpFUjtBRzNGSTtFRTNDSjtJRjhNUTtFSHBFTjtBQUNGOztBS3RJQTtFRmtNUTtBSHhEUjtBR3BHSTtFRXRDSjtJRnlNUTtFSDNETjtBQUNGOztBSzFJQTtFRjZMUTtBSC9DUjtBRzdHSTtFRWpDSjtJRm9NUTtFSGxETjtBQUNGOztBSzlJQTtFRndMUTtBSHRDUjtBR3RISTtFRTVCSjtJRitMUTtFSHpDTjtBQUNGOztBS2xKQTtFRitLTSxrQkFMSTtBSHBCVjs7QUtqSkE7RUYwS00sZUFMSTtBSGhCVjs7QUsxSUE7RUFDRTtFQUNBLG1CQ3dWMEI7QU4zTTVCOztBS25JQTtFQUNFO0VBQUE7RUFDQTtFQUNBO0VBQUE7QUxzSUY7O0FLaElBO0VBQ0U7RUFDQTtFQUNBO0FMbUlGOztBSzdIQTs7RUFFRTtBTGdJRjs7QUs3SEE7OztFQUdFO0VBQ0E7QUxnSUY7O0FLN0hBOzs7O0VBSUU7QUxnSUY7O0FLN0hBO0VBQ0UsZ0JDNmI0QjtBTjdUOUI7O0FLM0hBO0VBQ0U7RUFDQTtBTDhIRjs7QUt4SEE7RUFDRTtBTDJIRjs7QUtuSEE7O0VBRUUsbUJDc2E0QjtBTmhUOUI7O0FLOUdBO0VGNkVNLGtCQUxJO0FIMENWOztBSzNHQTtFQUNFLGlCQ3FmNEI7RURwZjVCO0VBQ0E7QUw4R0Y7O0FLckdBOztFQUVFO0VGd0RJLGlCQUxJO0VFakRSO0VBQ0E7QUx3R0Y7O0FLckdBO0VBQU07QUx5R047O0FLeEdBO0VBQU07QUw0R047O0FLdkdBO0VBQ0U7RUFDQSwwQkNnTndDO0FOdEcxQztBS3hHRTtFQUNFO0FMMEdKOztBSy9GRTtFQUVFO0VBQ0E7QUxpR0o7O0FLMUZBOzs7O0VBSUUscUNDZ1Y0QjtFSGxVeEIsY0FMSTtBSHFGVjs7QUt0RkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFRkVJLGtCQUxJO0FINkZWO0FLckZFO0VGSEksa0JBTEk7RUVVTjtFQUNBO0FMdUZKOztBS25GQTtFRlZNLGtCQUxJO0VFaUJSO0VBQ0E7QUxzRkY7QUtuRkU7RUFDRTtBTHFGSjs7QUtqRkE7RUFDRTtFRnRCSSxrQkFMSTtFRTZCUix3QkN5NUNrQztFRHg1Q2xDLHNDQ3k1Q2tDO0VDOXJEaEM7QVAwWEo7QUtsRkU7RUFDRTtFRjdCRSxjQUxJO0FIdUhWOztBSzFFQTtFQUNFO0FMNkVGOztBS3ZFQTs7RUFFRTtBTDBFRjs7QUtsRUE7RUFDRTtFQUNBO0FMcUVGOztBS2xFQTtFQUNFLG1CQzRYNEI7RUQzWDVCLHNCQzJYNEI7RUQxWDVCLGdDQzRaNEI7RUQzWjVCO0FMcUVGOztBSzlEQTtFQUVFO0VBQ0E7QUxnRUY7O0FLN0RBOzs7Ozs7RUFNRTtFQUNBO0VBQ0E7QUxnRUY7O0FLeERBO0VBQ0U7QUwyREY7O0FLckRBO0VBRUU7QUx1REY7O0FLL0NBO0VBQ0U7QUxrREY7O0FLN0NBOzs7OztFQUtFO0VBQ0E7RUY1SEksa0JBTEk7RUVtSVI7QUxnREY7O0FLNUNBOztFQUVFO0FMK0NGOztBSzFDQTtFQUNFO0FMNkNGOztBSzFDQTtFQUdFO0FMMkNGO0FLeENFO0VBQ0U7QUwwQ0o7O0FLbkNBO0VBQ0U7QUxzQ0Y7O0FLOUJBOzs7O0VBSUU7QUxpQ0Y7QUs5Qkk7Ozs7RUFDRTtBTG1DTjs7QUs1QkE7RUFDRTtFQUNBO0FMK0JGOztBSzFCQTtFQUNFO0FMNkJGOztBS25CQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FMc0JGOztBS2RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EscUJDbU40QjtFSHBhdEI7RUVvTk47QUxnQkY7QUdoWUk7RUV5V0o7SUZ0TVE7RUhpT047QUFDRjtBS25CRTtFQUNFO0FMcUJKOztBS2RBOzs7Ozs7O0VBT0U7QUxpQkY7O0FLZEE7RUFDRTtBTGlCRjs7QUtSQTtFQUNFO0VBQ0E7QUxXRjs7QUtIQTs7Ozs7OztDQUFBO0FBV0E7RUFDRTtBTEdGOztBS0VBO0VBQ0U7QUxDRjs7QUtNQTtFQUNFO0VBQ0E7QUxIRjs7QUtDQTtFQUNFO0VBQ0E7QUxIRjs7QUtRQTtFQUNFO0FMTEY7O0FLVUE7RUFDRTtBTFBGOztBS2NBO0VBQ0U7RUFDQTtBTFhGOztBS21CQTtFQUNFO0FMaEJGOztBS3dCQTtFQUNFO0FMckJGOztBUWhqQkE7RUxtUU0sa0JBTEk7RUs1UFIsZ0JGd29CNEI7QU5yRjlCOztBUTlpQkU7RUxnUU07RUs1UEosZ0JGeW5Ca0I7RUV4bkJsQixnQkZ3bUIwQjtBTnpEOUI7QUdoZEk7RUtwR0Y7SUx1UU07RUhpVE47QUFDRjs7QVF6akJFO0VMZ1FNO0VLNVBKLGdCRnluQmtCO0VFeG5CbEIsZ0JGd21CMEI7QU45QzlCO0FHM2RJO0VLcEdGO0lMdVFNO0VINFROO0FBQ0Y7O0FRcGtCRTtFTGdRTTtFSzVQSixnQkZ5bkJrQjtFRXhuQmxCLGdCRndtQjBCO0FObkM5QjtBR3RlSTtFS3BHRjtJTHVRTTtFSHVVTjtBQUNGOztBUS9rQkU7RUxnUU07RUs1UEosZ0JGeW5Ca0I7RUV4bkJsQixnQkZ3bUIwQjtBTnhCOUI7QUdqZkk7RUtwR0Y7SUx1UU07RUhrVk47QUFDRjs7QVExbEJFO0VMZ1FNO0VLNVBKLGdCRnluQmtCO0VFeG5CbEIsZ0JGd21CMEI7QU5iOUI7QUc1Zkk7RUtwR0Y7SUx1UU07RUg2Vk47QUFDRjs7QVFybUJFO0VMZ1FNO0VLNVBKLGdCRnluQmtCO0VFeG5CbEIsZ0JGd21CMEI7QU5GOUI7QUd2Z0JJO0VLcEdGO0lMdVFNO0VId1dOO0FBQ0Y7O0FReGxCQTtFQ3ZERTtFQUNBO0FUbXBCRjs7QVF4bEJBO0VDNURFO0VBQ0E7QVR3cEJGOztBUTFsQkE7RUFDRTtBUjZsQkY7QVEzbEJFO0VBQ0Usb0JGc29CMEI7QU56QzlCOztBUW5sQkE7RUw4TU0sa0JBTEk7RUt2TVI7QVJzbEJGOztBUWxsQkE7RUFDRSxtQkZpVU87RUgxSEgsa0JBTEk7QUhvWlY7QVFubEJFO0VBQ0U7QVJxbEJKOztBUWpsQkE7RUFDRTtFQUNBLG1CRnVUTztFSDFISCxrQkFMSTtFS3RMUixjRnRGUztBTjBxQlg7QVFsbEJFO0VBQ0U7QVJvbEJKOztBVXByQkE7RUNJRTtFQUdBO0FYa3JCRjs7QVVuckJBO0VBQ0UsZ0JKK2pEa0M7RUk5akRsQyxtQ0orakRrQztFSTlqRGxDO0VIR0U7RUlSRjtFQUdBO0FYMnJCRjs7QVU3cUJBO0VBRUU7QVYrcUJGOztBVTVxQkE7RUFDRTtFQUNBO0FWK3FCRjs7QVU1cUJBO0VQeVBNLGtCQUxJO0VPbFBSLGdDSmtqRGtDO0FObjRCcEM7O0FZanRCRTs7Ozs7OztFQ0hBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiOHRCRjs7QWN4cUJJO0VGNUNFO0lBQ0UsZ0JOa2VlO0VOc1ByQjtBQUNGO0FjOXFCSTtFRjVDRTtJQUNFLGdCTmtlZTtFTjJQckI7QUFDRjtBY25yQkk7RUY1Q0U7SUFDRSxnQk5rZWU7RU5nUXJCO0FBQ0Y7QWN4ckJJO0VGNUNFO0lBQ0UsaUJOa2VlO0VOcVFyQjtBQUNGO0FjN3JCSTtFRjVDRTtJQUNFLGlCTmtlZTtFTjBRckI7QUFDRjtBZTd2QkE7RUFFSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QWZtd0JKOztBZTl2QkU7RUNOQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBaEJ1d0JGO0FlcndCSTtFQ09GO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJpd0JGOztBZ0JsdEJNO0VBQ0U7QWhCcXRCUjs7QWdCbHRCTTtFQXBDSjtFQUNBO0FoQjB2QkY7O0FnQjV1QkU7RUFDRTtFQUNBO0FoQit1Qko7O0FnQmp2QkU7RUFDRTtFQUNBO0FoQm92Qko7O0FnQnR2QkU7RUFDRTtFQUNBO0FoQnl2Qko7O0FnQjN2QkU7RUFDRTtFQUNBO0FoQjh2Qko7O0FnQmh3QkU7RUFDRTtFQUNBO0FoQm13Qko7O0FnQnJ3QkU7RUFDRTtFQUNBO0FoQnd3Qko7O0FnQnp1Qk07RUFoREo7RUFDQTtBaEI2eEJGOztBZ0J4dUJVO0VBaEVOO0VBQ0E7QWhCNHlCSjs7QWdCN3VCVTtFQWhFTjtFQUNBO0FoQml6Qko7O0FnQmx2QlU7RUFoRU47RUFDQTtBaEJzekJKOztBZ0J2dkJVO0VBaEVOO0VBQ0E7QWhCMnpCSjs7QWdCNXZCVTtFQWhFTjtFQUNBO0FoQmcwQko7O0FnQmp3QlU7RUFoRU47RUFDQTtBaEJxMEJKOztBZ0J0d0JVO0VBaEVOO0VBQ0E7QWhCMDBCSjs7QWdCM3dCVTtFQWhFTjtFQUNBO0FoQiswQko7O0FnQmh4QlU7RUFoRU47RUFDQTtBaEJvMUJKOztBZ0JyeEJVO0VBaEVOO0VBQ0E7QWhCeTFCSjs7QWdCMXhCVTtFQWhFTjtFQUNBO0FoQjgxQko7O0FnQi94QlU7RUFoRU47RUFDQTtBaEJtMkJKOztBZ0I1eEJZO0VBeERWO0FoQncxQkY7O0FnQmh5Qlk7RUF4RFY7QWhCNDFCRjs7QWdCcHlCWTtFQXhEVjtBaEJnMkJGOztBZ0J4eUJZO0VBeERWO0FoQm8yQkY7O0FnQjV5Qlk7RUF4RFY7QWhCdzJCRjs7QWdCaHpCWTtFQXhEVjtBaEI0MkJGOztBZ0JwekJZO0VBeERWO0FoQmczQkY7O0FnQnh6Qlk7RUF4RFY7QWhCbzNCRjs7QWdCNXpCWTtFQXhEVjtBaEJ3M0JGOztBZ0JoMEJZO0VBeERWO0FoQjQzQkY7O0FnQnAwQlk7RUF4RFY7QWhCZzRCRjs7QWdCN3pCUTs7RUFFRTtBaEJnMEJWOztBZ0I3ekJROztFQUVFO0FoQmcwQlY7O0FnQnYwQlE7O0VBRUU7QWhCMDBCVjs7QWdCdjBCUTs7RUFFRTtBaEIwMEJWOztBZ0JqMUJROztFQUVFO0FoQm8xQlY7O0FnQmoxQlE7O0VBRUU7QWhCbzFCVjs7QWdCMzFCUTs7RUFFRTtBaEI4MUJWOztBZ0IzMUJROztFQUVFO0FoQjgxQlY7O0FnQnIyQlE7O0VBRUU7QWhCdzJCVjs7QWdCcjJCUTs7RUFFRTtBaEJ3MkJWOztBZ0IvMkJROztFQUVFO0FoQmszQlY7O0FnQi8yQlE7O0VBRUU7QWhCazNCVjs7QWM1NkJJO0VFVUU7SUFDRTtFaEJzNkJOO0VnQm42Qkk7SUFwQ0o7SUFDQTtFaEIwOEJBO0VnQjU3QkE7SUFDRTtJQUNBO0VoQjg3QkY7RWdCaDhCQTtJQUNFO0lBQ0E7RWhCazhCRjtFZ0JwOEJBO0lBQ0U7SUFDQTtFaEJzOEJGO0VnQng4QkE7SUFDRTtJQUNBO0VoQjA4QkY7RWdCNThCQTtJQUNFO0lBQ0E7RWhCODhCRjtFZ0JoOUJBO0lBQ0U7SUFDQTtFaEJrOUJGO0VnQm43Qkk7SUFoREo7SUFDQTtFaEJzK0JBO0VnQmo3QlE7SUFoRU47SUFDQTtFaEJvL0JGO0VnQnI3QlE7SUFoRU47SUFDQTtFaEJ3L0JGO0VnQno3QlE7SUFoRU47SUFDQTtFaEI0L0JGO0VnQjc3QlE7SUFoRU47SUFDQTtFaEJnZ0NGO0VnQmo4QlE7SUFoRU47SUFDQTtFaEJvZ0NGO0VnQnI4QlE7SUFoRU47SUFDQTtFaEJ3Z0NGO0VnQno4QlE7SUFoRU47SUFDQTtFaEI0Z0NGO0VnQjc4QlE7SUFoRU47SUFDQTtFaEJnaENGO0VnQmo5QlE7SUFoRU47SUFDQTtFaEJvaENGO0VnQnI5QlE7SUFoRU47SUFDQTtFaEJ3aENGO0VnQno5QlE7SUFoRU47SUFDQTtFaEI0aENGO0VnQjc5QlE7SUFoRU47SUFDQTtFaEJnaUNGO0VnQno5QlU7SUF4RFY7RWhCb2hDQTtFZ0I1OUJVO0lBeERWO0VoQnVoQ0E7RWdCLzlCVTtJQXhEVjtFaEIwaENBO0VnQmwrQlU7SUF4RFY7RWhCNmhDQTtFZ0JyK0JVO0lBeERWO0VoQmdpQ0E7RWdCeCtCVTtJQXhEVjtFaEJtaUNBO0VnQjMrQlU7SUF4RFY7RWhCc2lDQTtFZ0I5K0JVO0lBeERWO0VoQnlpQ0E7RWdCai9CVTtJQXhEVjtFaEI0aUNBO0VnQnAvQlU7SUF4RFY7RWhCK2lDQTtFZ0J2L0JVO0lBeERWO0VoQmtqQ0E7RWdCMS9CVTtJQXhEVjtFaEJxakNBO0VnQmwvQk07O0lBRUU7RWhCby9CUjtFZ0JqL0JNOztJQUVFO0VoQm0vQlI7RWdCMS9CTTs7SUFFRTtFaEI0L0JSO0VnQnovQk07O0lBRUU7RWhCMi9CUjtFZ0JsZ0NNOztJQUVFO0VoQm9nQ1I7RWdCamdDTTs7SUFFRTtFaEJtZ0NSO0VnQjFnQ007O0lBRUU7RWhCNGdDUjtFZ0J6Z0NNOztJQUVFO0VoQjJnQ1I7RWdCbGhDTTs7SUFFRTtFaEJvaENSO0VnQmpoQ007O0lBRUU7RWhCbWhDUjtFZ0IxaENNOztJQUVFO0VoQjRoQ1I7RWdCemhDTTs7SUFFRTtFaEIyaENSO0FBQ0Y7QWN0bENJO0VFVUU7SUFDRTtFaEIra0NOO0VnQjVrQ0k7SUFwQ0o7SUFDQTtFaEJtbkNBO0VnQnJtQ0E7SUFDRTtJQUNBO0VoQnVtQ0Y7RWdCem1DQTtJQUNFO0lBQ0E7RWhCMm1DRjtFZ0I3bUNBO0lBQ0U7SUFDQTtFaEIrbUNGO0VnQmpuQ0E7SUFDRTtJQUNBO0VoQm1uQ0Y7RWdCcm5DQTtJQUNFO0lBQ0E7RWhCdW5DRjtFZ0J6bkNBO0lBQ0U7SUFDQTtFaEIybkNGO0VnQjVsQ0k7SUFoREo7SUFDQTtFaEIrb0NBO0VnQjFsQ1E7SUFoRU47SUFDQTtFaEI2cENGO0VnQjlsQ1E7SUFoRU47SUFDQTtFaEJpcUNGO0VnQmxtQ1E7SUFoRU47SUFDQTtFaEJxcUNGO0VnQnRtQ1E7SUFoRU47SUFDQTtFaEJ5cUNGO0VnQjFtQ1E7SUFoRU47SUFDQTtFaEI2cUNGO0VnQjltQ1E7SUFoRU47SUFDQTtFaEJpckNGO0VnQmxuQ1E7SUFoRU47SUFDQTtFaEJxckNGO0VnQnRuQ1E7SUFoRU47SUFDQTtFaEJ5ckNGO0VnQjFuQ1E7SUFoRU47SUFDQTtFaEI2ckNGO0VnQjluQ1E7SUFoRU47SUFDQTtFaEJpc0NGO0VnQmxvQ1E7SUFoRU47SUFDQTtFaEJxc0NGO0VnQnRvQ1E7SUFoRU47SUFDQTtFaEJ5c0NGO0VnQmxvQ1U7SUF4RFY7RWhCNnJDQTtFZ0Jyb0NVO0lBeERWO0VoQmdzQ0E7RWdCeG9DVTtJQXhEVjtFaEJtc0NBO0VnQjNvQ1U7SUF4RFY7RWhCc3NDQTtFZ0I5b0NVO0lBeERWO0VoQnlzQ0E7RWdCanBDVTtJQXhEVjtFaEI0c0NBO0VnQnBwQ1U7SUF4RFY7RWhCK3NDQTtFZ0J2cENVO0lBeERWO0VoQmt0Q0E7RWdCMXBDVTtJQXhEVjtFaEJxdENBO0VnQjdwQ1U7SUF4RFY7RWhCd3RDQTtFZ0JocUNVO0lBeERWO0VoQjJ0Q0E7RWdCbnFDVTtJQXhEVjtFaEI4dENBO0VnQjNwQ007O0lBRUU7RWhCNnBDUjtFZ0IxcENNOztJQUVFO0VoQjRwQ1I7RWdCbnFDTTs7SUFFRTtFaEJxcUNSO0VnQmxxQ007O0lBRUU7RWhCb3FDUjtFZ0IzcUNNOztJQUVFO0VoQjZxQ1I7RWdCMXFDTTs7SUFFRTtFaEI0cUNSO0VnQm5yQ007O0lBRUU7RWhCcXJDUjtFZ0JsckNNOztJQUVFO0VoQm9yQ1I7RWdCM3JDTTs7SUFFRTtFaEI2ckNSO0VnQjFyQ007O0lBRUU7RWhCNHJDUjtFZ0Juc0NNOztJQUVFO0VoQnFzQ1I7RWdCbHNDTTs7SUFFRTtFaEJvc0NSO0FBQ0Y7QWMvdkNJO0VFVUU7SUFDRTtFaEJ3dkNOO0VnQnJ2Q0k7SUFwQ0o7SUFDQTtFaEI0eENBO0VnQjl3Q0E7SUFDRTtJQUNBO0VoQmd4Q0Y7RWdCbHhDQTtJQUNFO0lBQ0E7RWhCb3hDRjtFZ0J0eENBO0lBQ0U7SUFDQTtFaEJ3eENGO0VnQjF4Q0E7SUFDRTtJQUNBO0VoQjR4Q0Y7RWdCOXhDQTtJQUNFO0lBQ0E7RWhCZ3lDRjtFZ0JseUNBO0lBQ0U7SUFDQTtFaEJveUNGO0VnQnJ3Q0k7SUFoREo7SUFDQTtFaEJ3ekNBO0VnQm53Q1E7SUFoRU47SUFDQTtFaEJzMENGO0VnQnZ3Q1E7SUFoRU47SUFDQTtFaEIwMENGO0VnQjN3Q1E7SUFoRU47SUFDQTtFaEI4MENGO0VnQi93Q1E7SUFoRU47SUFDQTtFaEJrMUNGO0VnQm54Q1E7SUFoRU47SUFDQTtFaEJzMUNGO0VnQnZ4Q1E7SUFoRU47SUFDQTtFaEIwMUNGO0VnQjN4Q1E7SUFoRU47SUFDQTtFaEI4MUNGO0VnQi94Q1E7SUFoRU47SUFDQTtFaEJrMkNGO0VnQm55Q1E7SUFoRU47SUFDQTtFaEJzMkNGO0VnQnZ5Q1E7SUFoRU47SUFDQTtFaEIwMkNGO0VnQjN5Q1E7SUFoRU47SUFDQTtFaEI4MkNGO0VnQi95Q1E7SUFoRU47SUFDQTtFaEJrM0NGO0VnQjN5Q1U7SUF4RFY7RWhCczJDQTtFZ0I5eUNVO0lBeERWO0VoQnkyQ0E7RWdCanpDVTtJQXhEVjtFaEI0MkNBO0VnQnB6Q1U7SUF4RFY7RWhCKzJDQTtFZ0J2ekNVO0lBeERWO0VoQmszQ0E7RWdCMXpDVTtJQXhEVjtFaEJxM0NBO0VnQjd6Q1U7SUF4RFY7RWhCdzNDQTtFZ0JoMENVO0lBeERWO0VoQjIzQ0E7RWdCbjBDVTtJQXhEVjtFaEI4M0NBO0VnQnQwQ1U7SUF4RFY7RWhCaTRDQTtFZ0J6MENVO0lBeERWO0VoQm80Q0E7RWdCNTBDVTtJQXhEVjtFaEJ1NENBO0VnQnAwQ007O0lBRUU7RWhCczBDUjtFZ0JuMENNOztJQUVFO0VoQnEwQ1I7RWdCNTBDTTs7SUFFRTtFaEI4MENSO0VnQjMwQ007O0lBRUU7RWhCNjBDUjtFZ0JwMUNNOztJQUVFO0VoQnMxQ1I7RWdCbjFDTTs7SUFFRTtFaEJxMUNSO0VnQjUxQ007O0lBRUU7RWhCODFDUjtFZ0IzMUNNOztJQUVFO0VoQjYxQ1I7RWdCcDJDTTs7SUFFRTtFaEJzMkNSO0VnQm4yQ007O0lBRUU7RWhCcTJDUjtFZ0I1MkNNOztJQUVFO0VoQjgyQ1I7RWdCMzJDTTs7SUFFRTtFaEI2MkNSO0FBQ0Y7QWN4NkNJO0VFVUU7SUFDRTtFaEJpNkNOO0VnQjk1Q0k7SUFwQ0o7SUFDQTtFaEJxOENBO0VnQnY3Q0E7SUFDRTtJQUNBO0VoQnk3Q0Y7RWdCMzdDQTtJQUNFO0lBQ0E7RWhCNjdDRjtFZ0IvN0NBO0lBQ0U7SUFDQTtFaEJpOENGO0VnQm44Q0E7SUFDRTtJQUNBO0VoQnE4Q0Y7RWdCdjhDQTtJQUNFO0lBQ0E7RWhCeThDRjtFZ0IzOENBO0lBQ0U7SUFDQTtFaEI2OENGO0VnQjk2Q0k7SUFoREo7SUFDQTtFaEJpK0NBO0VnQjU2Q1E7SUFoRU47SUFDQTtFaEIrK0NGO0VnQmg3Q1E7SUFoRU47SUFDQTtFaEJtL0NGO0VnQnA3Q1E7SUFoRU47SUFDQTtFaEJ1L0NGO0VnQng3Q1E7SUFoRU47SUFDQTtFaEIyL0NGO0VnQjU3Q1E7SUFoRU47SUFDQTtFaEIrL0NGO0VnQmg4Q1E7SUFoRU47SUFDQTtFaEJtZ0RGO0VnQnA4Q1E7SUFoRU47SUFDQTtFaEJ1Z0RGO0VnQng4Q1E7SUFoRU47SUFDQTtFaEIyZ0RGO0VnQjU4Q1E7SUFoRU47SUFDQTtFaEIrZ0RGO0VnQmg5Q1E7SUFoRU47SUFDQTtFaEJtaERGO0VnQnA5Q1E7SUFoRU47SUFDQTtFaEJ1aERGO0VnQng5Q1E7SUFoRU47SUFDQTtFaEIyaERGO0VnQnA5Q1U7SUF4RFY7RWhCK2dEQTtFZ0J2OUNVO0lBeERWO0VoQmtoREE7RWdCMTlDVTtJQXhEVjtFaEJxaERBO0VnQjc5Q1U7SUF4RFY7RWhCd2hEQTtFZ0JoK0NVO0lBeERWO0VoQjJoREE7RWdCbitDVTtJQXhEVjtFaEI4aERBO0VnQnQrQ1U7SUF4RFY7RWhCaWlEQTtFZ0J6K0NVO0lBeERWO0VoQm9pREE7RWdCNStDVTtJQXhEVjtFaEJ1aURBO0VnQi8rQ1U7SUF4RFY7RWhCMGlEQTtFZ0JsL0NVO0lBeERWO0VoQjZpREE7RWdCci9DVTtJQXhEVjtFaEJnakRBO0VnQjcrQ007O0lBRUU7RWhCKytDUjtFZ0I1K0NNOztJQUVFO0VoQjgrQ1I7RWdCci9DTTs7SUFFRTtFaEJ1L0NSO0VnQnAvQ007O0lBRUU7RWhCcy9DUjtFZ0I3L0NNOztJQUVFO0VoQisvQ1I7RWdCNS9DTTs7SUFFRTtFaEI4L0NSO0VnQnJnRE07O0lBRUU7RWhCdWdEUjtFZ0JwZ0RNOztJQUVFO0VoQnNnRFI7RWdCN2dETTs7SUFFRTtFaEIrZ0RSO0VnQjVnRE07O0lBRUU7RWhCOGdEUjtFZ0JyaERNOztJQUVFO0VoQnVoRFI7RWdCcGhETTs7SUFFRTtFaEJzaERSO0FBQ0Y7QWNqbERJO0VFVUU7SUFDRTtFaEIwa0ROO0VnQnZrREk7SUFwQ0o7SUFDQTtFaEI4bURBO0VnQmhtREE7SUFDRTtJQUNBO0VoQmttREY7RWdCcG1EQTtJQUNFO0lBQ0E7RWhCc21ERjtFZ0J4bURBO0lBQ0U7SUFDQTtFaEIwbURGO0VnQjVtREE7SUFDRTtJQUNBO0VoQjhtREY7RWdCaG5EQTtJQUNFO0lBQ0E7RWhCa25ERjtFZ0JwbkRBO0lBQ0U7SUFDQTtFaEJzbkRGO0VnQnZsREk7SUFoREo7SUFDQTtFaEIwb0RBO0VnQnJsRFE7SUFoRU47SUFDQTtFaEJ3cERGO0VnQnpsRFE7SUFoRU47SUFDQTtFaEI0cERGO0VnQjdsRFE7SUFoRU47SUFDQTtFaEJncURGO0VnQmptRFE7SUFoRU47SUFDQTtFaEJvcURGO0VnQnJtRFE7SUFoRU47SUFDQTtFaEJ3cURGO0VnQnptRFE7SUFoRU47SUFDQTtFaEI0cURGO0VnQjdtRFE7SUFoRU47SUFDQTtFaEJnckRGO0VnQmpuRFE7SUFoRU47SUFDQTtFaEJvckRGO0VnQnJuRFE7SUFoRU47SUFDQTtFaEJ3ckRGO0VnQnpuRFE7SUFoRU47SUFDQTtFaEI0ckRGO0VnQjduRFE7SUFoRU47SUFDQTtFaEJnc0RGO0VnQmpvRFE7SUFoRU47SUFDQTtFaEJvc0RGO0VnQjduRFU7SUF4RFY7RWhCd3JEQTtFZ0Job0RVO0lBeERWO0VoQjJyREE7RWdCbm9EVTtJQXhEVjtFaEI4ckRBO0VnQnRvRFU7SUF4RFY7RWhCaXNEQTtFZ0J6b0RVO0lBeERWO0VoQm9zREE7RWdCNW9EVTtJQXhEVjtFaEJ1c0RBO0VnQi9vRFU7SUF4RFY7RWhCMHNEQTtFZ0JscERVO0lBeERWO0VoQjZzREE7RWdCcnBEVTtJQXhEVjtFaEJndERBO0VnQnhwRFU7SUF4RFY7RWhCbXREQTtFZ0IzcERVO0lBeERWO0VoQnN0REE7RWdCOXBEVTtJQXhEVjtFaEJ5dERBO0VnQnRwRE07O0lBRUU7RWhCd3BEUjtFZ0JycERNOztJQUVFO0VoQnVwRFI7RWdCOXBETTs7SUFFRTtFaEJncURSO0VnQjdwRE07O0lBRUU7RWhCK3BEUjtFZ0J0cURNOztJQUVFO0VoQndxRFI7RWdCcnFETTs7SUFFRTtFaEJ1cURSO0VnQjlxRE07O0lBRUU7RWhCZ3JEUjtFZ0I3cURNOztJQUVFO0VoQitxRFI7RWdCdHJETTs7SUFFRTtFaEJ3ckRSO0VnQnJyRE07O0lBRUU7RWhCdXJEUjtFZ0I5ckRNOztJQUVFO0VoQmdzRFI7RWdCN3JETTs7SUFFRTtFaEIrckRSO0FBQ0Y7QWlCcnpEQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBLG1CWGtZTztFV2pZUCxtQlh1c0I0QjtFV3RzQjVCO0FqQm96REY7QWlCN3lERTtFQUNFO0VBRUE7RUFDQTtFQUNBLDJDWCtzQjBCO0VXOXNCMUI7QWpCOHlESjtBaUIzeURFO0VBQ0U7QWpCNnlESjtBaUIxeURFO0VBQ0U7QWpCNHlESjs7QWlCeHlEQTtFQUNFO0FqQjJ5REY7O0FpQnB5REE7RUFDRTtBakJ1eURGOztBaUI3eERFO0VBQ0U7QWpCZ3lESjs7QWlCanhERTtFQUNFO0FqQm94REo7QWlCanhESTtFQUNFO0FqQm14RE47O0FpQjV3REU7RUFDRTtBakIrd0RKO0FpQjV3REU7RUFDRTtBakI4d0RKOztBaUJwd0RFO0VBQ0U7RUFDQTtBakJ1d0RKOztBaUJqd0RFO0VBQ0U7RUFDQTtBakJvd0RKOztBaUI1dkRBO0VBQ0U7RUFDQTtBakIrdkRGOztBaUJ2dkRFO0VBQ0U7RUFDQTtBakIwdkRKOztBa0J0NERFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBbEJrNERKOztBa0JwNURFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBbEJnNURKOztBa0JsNkRFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBbEI4NURKOztBa0JoN0RFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBbEI0NkRKOztBa0I5N0RFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBbEIwN0RKOztBa0I1OERFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBbEJ3OERKOztBa0IxOURFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBbEJzOURKOztBa0J4K0RFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBbEJvK0RKOztBaUJuMURJO0VBQ0U7RUFDQTtBakJzMUROOztBY2o3REk7RUd5RkE7SUFDRTtJQUNBO0VqQjQxREo7QUFDRjtBY3g3REk7RUd5RkE7SUFDRTtJQUNBO0VqQmsyREo7QUFDRjtBYzk3REk7RUd5RkE7SUFDRTtJQUNBO0VqQncyREo7QUFDRjtBY3A4REk7RUd5RkE7SUFDRTtJQUNBO0VqQjgyREo7QUFDRjtBYzE4REk7RUd5RkE7SUFDRTtJQUNBO0VqQm8zREo7QUFDRjtBbUJ4aEVBO0VBQ0UscUJidTJCc0M7QU5tckN4Qzs7QW1CamhFQTtFQUNFO0VBQ0E7RUFDQTtFaEI4UUksa0JBTEk7RWdCclFSLGdCYitsQjRCO0FObTdDOUI7O0FtQjlnRUE7RUFDRTtFQUNBO0VoQm9RSSxrQkFMSTtBSG14RFY7O0FtQjlnRUE7RUFDRTtFQUNBO0VoQjhQSSxtQkFMSTtBSHl4RFY7O0FvQi9pRUE7RUFDRSxtQmQrMUJzQztFSHJrQmxDLGtCQUxJO0VpQmpSUixnQ2QrMUJzQztBTml0Q3hDOztBcUJyakVBO0VBQ0U7RUFDQTtFQUNBO0VsQndSSSxlQUxJO0VrQmhSUixnQmZrbUI0QjtFZWptQjVCLGdCZnltQjRCO0VleG1CNUIsMkJmNDNCc0M7RWUzM0J0QztFQUFBO0VBQUE7RUFDQSxtQ2ZxM0JzQztFZXAzQnRDO0VBQ0E7RWRHRTtFZUhFLHdFRE1KO0FyQm1qRUY7QXNCcmpFTTtFRGhCTjtJQ2lCUTtFdEJ3akVOO0FBQ0Y7QXFCdGpFRTtFQUNFO0FyQndqRUo7QXFCdGpFSTtFQUNFO0FyQndqRU47QXFCbmpFRTtFQUNFLDJCZnMyQm9DO0VlcjJCcEMsbUNmZzJCb0M7RWUvMUJwQyxxQmY4MkJvQztFZTcyQnBDO0VBS0Usa0Rma2hCa0I7QU4raER4QjtBcUI3aUVFO0VBTUU7RUFNQTtFQUtBO0FyQmlpRUo7QXFCNWhFRTtFQUNFO0VBQ0E7QXJCOGhFSjtBcUIxaEVFO0VBQ0UsZ0NmNDBCb0M7RWUxMEJwQztBckIyaEVKO0FxQjloRUU7RUFDRSxnQ2Y0MEJvQztFZTEwQnBDO0FyQjJoRUo7QXFCbmhFRTtFQUVFLHdDZjh5Qm9DO0VlM3lCcEM7QXJCa2hFSjtBcUI5Z0VFO0VBQ0U7RUFDQTtFQUNBLDJCZm9yQjBCO0VlcHJCMUIsMEJmb3JCMEI7RWVuckIxQiwyQmZzeUJvQztFaUJwNEJ0Qyx1Q2pCcWlDZ0M7RWVyOEI5QjtFQUNBO0VBQ0E7RUFDQTtFQUNBLCtDZmdzQjBCO0VlL3JCMUI7RUN6RkUsNklEMEZGO0VDMUZFLHFJRDBGRjtBckJnaEVKO0FxQjVoRUU7RUFDRTtFQUNBO0VBQ0EsMkJmb3JCMEI7RWVwckIxQiwwQmZvckIwQjtFZW5yQjFCLDJCZnN5Qm9DO0VpQnA0QnRDLHVDakJxaUNnQztFZXI4QjlCO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsK0NmZ3NCMEI7RWUvckIxQjtFQ3pGRSxxSUQwRkY7QXJCZ2hFSjtBc0J0bUVNO0VEMEVKO0lDekVNO0lBQUE7RXRCeW1FTjtFcUJoaUVBO0lDekVNO0V0QnltRU47QUFDRjtBcUJsaEVFO0VBQ0Usd0NmNDdCOEI7QU53bENsQztBcUJyaEVFO0VBQ0Usd0NmNDdCOEI7QU53bENsQzs7QXFCM2dFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0Jmd2Y0QjtFZXZmNUIsMkJmMnhCc0M7RWUxeEJ0QztFQUNBO0VBQ0E7QXJCOGdFRjtBcUI1Z0VFO0VBQ0U7QXJCOGdFSjtBcUIzZ0VFO0VBRUU7RUFDQTtBckI0Z0VKOztBcUJqZ0VBO0VBQ0UsbUVmNHdCc0M7RWUzd0J0QztFbEJ5SUksbUJBTEk7RUl2UU47QVB5b0VKO0FxQmxnRUU7RUFDRTtFQUNBO0VBQ0EsMEJmb29CMEI7RWVwb0IxQix5QmZvb0IwQjtBTmc0QzlCO0FxQnZnRUU7RUFDRTtFQUNBO0VBQ0EsMEJmb29CMEI7RWVwb0IxQix5QmZvb0IwQjtBTmc0QzlCOztBcUJoZ0VBO0VBQ0UsaUVmZ3dCc0M7RWUvdkJ0QztFbEI0SEksa0JBTEk7RUl2UU47QVBxcEVKO0FxQmpnRUU7RUFDRTtFQUNBO0VBQ0Esd0JmMm5CMEI7RWUzbkIxQix1QmYybkIwQjtBTnc0QzlCO0FxQnRnRUU7RUFDRTtFQUNBO0VBQ0Esd0JmMm5CMEI7RWUzbkIxQix1QmYybkIwQjtBTnc0QzlCOztBcUIzL0RFO0VBQ0Usb0VmNnVCb0M7QU5peEN4QztBcUIzL0RFO0VBQ0UsbUVmMHVCb0M7QU5teEN4QztBcUIxL0RFO0VBQ0UsaUVmdXVCb0M7QU5xeEN4Qzs7QXFCdi9EQTtFQUNFLFdmcXVCc0M7RWVwdUJ0QyxnRWY4dEJzQztFZTd0QnRDLGlCZmlsQjRCO0FOeTZDOUI7QXFCeC9ERTtFQUNFO0FyQjAvREo7QXFCdi9ERTtFQUNFO0VkdkxBO0FQaXJFSjtBcUJ0L0RFO0VBQ0U7RWQ1TEE7QVBxckVKO0FxQnIvREU7RUFBb0IsK0RmOHNCa0I7QU4weUN4QztBcUJ2L0RFO0VBQW9CLDZEZjhzQmtCO0FONHlDeEM7O0F3QnpzRUE7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFckJxUkksZUFMSTtFcUI3UVIsZ0JsQitsQjRCO0VrQjlsQjVCLGdCbEJzbUI0QjtFa0JybUI1QiwyQmxCeTNCc0M7RWtCeDNCdEM7RUFBQTtFQUFBO0VBQ0EsbUNsQmszQnNDO0VrQmozQnRDO0VBQ0E7RUFDQSx5Q2xCKzlCa0M7RWtCOTlCbEMsMEJsQis5QmtDO0VrQjk5QmxDO0VqQkhFO0VlSEUsd0VFU0o7QXhCeXNFRjtBc0I5c0VNO0VFZk47SUZnQlE7RXRCaXRFTjtBQUNGO0F3QjVzRUU7RUFDRSxxQmxCczNCb0M7RWtCcjNCcEM7RUFLRSxrRGxCaStCNEI7QU55dUNsQztBd0J0c0VFO0VBRUUsc0JsQjZ1QjBCO0VrQjV1QjFCO0F4QnVzRUo7QXdCcHNFRTtFQUVFLHdDbEJ1MUJvQztBTjgyQ3hDO0F3QmhzRUU7RUFDRTtFQUNBO0F4QmtzRUo7O0F3QjlyRUE7RUFDRSxvQmxCc3VCNEI7RWtCcnVCNUIsdUJsQnF1QjRCO0VrQnB1QjVCLG9CbEJxdUI0QjtFSGxnQnhCLG1CQUxJO0VJdlFOO0FQNHVFSjs7QXdCOXJFQTtFQUNFLG1CbEJrdUI0QjtFa0JqdUI1QixzQmxCaXVCNEI7RWtCaHVCNUIsa0JsQml1QjRCO0VIdGdCeEIsa0JBTEk7RUl2UU47QVBvdkVKOztBd0I1ckVJO0VBQ0U7QXhCK3JFTjs7QXlCdndFQTtFQUNFO0VBQ0Esa0JuQnE2QndDO0VtQnA2QnhDLG1CbkJxNkJ3QztFbUJwNkJ4Qyx1Qm5CcTZCd0M7QU5xMkMxQztBeUJ4d0VFO0VBQ0U7RUFDQTtBekIwd0VKOztBeUJ0d0VBO0VBQ0Usb0JuQjI1QndDO0VtQjE1QnhDO0VBQ0E7QXpCeXdFRjtBeUJ2d0VFO0VBQ0U7RUFDQTtFQUNBO0F6Qnl3RUo7O0F5QnJ3RUE7RUFDRTtFQUVBO0VBQ0EsVW5CMDRCd0M7RW1CejRCeEMsV25CeTRCd0M7RW1CeDRCeEM7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSwyRG5CMjRCd0M7RW1CMTRCeEM7RUFBQTtFQUFBO0F6QnV3RUY7QXlCcHdFRTtFbEIzQkU7QVBreUVKO0F5Qm53RUU7RUFFRSxrQm5CbTRCc0M7QU5pNEMxQztBeUJqd0VFO0VBQ0UsdUJuQjAzQnNDO0FOeTRDMUM7QXlCaHdFRTtFQUNFLHFCbkJzMUJvQztFbUJyMUJwQztFQUNBLGtEbkI4Zm9CO0FOb3dEeEI7QXlCL3ZFRTtFQUNFLHlCbkI1Qk07RW1CNkJOLHFCbkI3Qk07QU44eEVWO0F5Qi92RUk7RUFJSTtBekI4dkVSO0F5QjF2RUk7RUFJSTtBekJ5dkVSO0F5QnB2RUU7RUFDRSx5Qm5CakRNO0VtQmtETixxQm5CbERNO0VtQnVESjtBekJrdkVOO0F5Qjl1RUU7RUFDRTtFQUNBO0VBQ0EsWW5CazJCdUM7QU44NEMzQztBeUJ6dUVJO0VBQ0U7RUFDQSxZbkJ5MUJxQztBTms1QzNDOztBeUI3dEVBO0VBQ0UsbUJuQm8xQmdDO0FONDRDbEM7QXlCOXRFRTtFQUNFO0VBRUEsVW5CODBCOEI7RW1CNzBCOUI7RUFDQTtFQUNBO0VsQmpIQTtFZUhFLGlER3NIRjtBekIrdEVKO0FzQmoxRU07RUcwR0o7SUh6R007RXRCbzFFTjtBQUNGO0F5Qmx1RUk7RUFDRTtBekJvdUVOO0F5Qmp1RUk7RUFDRSxpQ25CNjBCNEI7RW1CeDBCMUI7QXpCK3RFUjtBeUIxdEVFO0VBQ0Usb0JuQnd6QjhCO0VtQnZ6QjlCO0F6QjR0RUo7QXlCMXRFSTtFQUNFO0VBQ0E7QXpCNHRFTjs7QXlCdnRFQTtFQUNFO0VBQ0Esa0JuQnN5QmdDO0FObzdDbEM7O0F5QnZ0RUE7RUFDRTtFQUNBO0VBQ0E7QXpCMHRFRjtBeUJ0dEVJO0VBQ0U7RUFDQTtFQUNBLGFuQnNwQndCO0FOa2tEOUI7O0F5Qmp0RUk7RUFDRTtBekJvdEVOOztBMEJ2NEVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7QTFCMDRFRjtBMEJ4NEVFO0VBQ0U7QTFCMDRFSjtBMEJ0NEVJO0VBQTBCLGtFcEI4Z0NhO0FOMjNDM0M7QTBCeDRFSTtFQUEwQixrRXBCNmdDYTtBTjgzQzNDO0EwQng0RUU7RUFDRTtBMUIwNEVKO0EwQnY0RUU7RUFDRSxXcEIrL0J1QztFb0I5L0J2QyxZcEI4L0J1QztFb0I3L0J2QztFQUNBO0VBQUE7RUgxQkYseUJqQmtDUTtFb0JOTixTcEI2L0J1QztFQzFnQ3ZDO0VlSEUsb0hJbUJGO0VKbkJFLDRHSW1CRjtBMUJ3NEVKO0FzQnY1RU07RUlNSjtJSkxNO0lBQUE7RXRCMDVFTjtBQUNGO0EwQjM0RUk7RUhqQ0YseUJqQjhoQ3lDO0FOaTVDM0M7QTBCejRFRTtFQUNFLFdwQncrQjhCO0VvQnYrQjlCLGNwQncrQjhCO0VvQnYrQjlCO0VBQ0EsZXBCdStCOEI7RW9CdCtCOUIsd0NwQnUrQjhCO0VvQnQrQjlCO0VuQjdCQTtBUHk2RUo7QTBCdjRFRTtFQUNFLFdwQm8rQnVDO0VvQm4rQnZDLFlwQm0rQnVDO0VvQmwrQnZDO0VBQUE7RUhwREYseUJqQmtDUTtFb0JvQk4sU3BCbStCdUM7RUMxZ0N2QztFZUhFLGlISTZDRjtFSjdDRSw0R0k2Q0Y7QTFCdzRFSjtBc0JqN0VNO0VJaUNKO0lKaENNO0lBQUE7RXRCbzdFTjtBQUNGO0EwQjM0RUk7RUgzREYseUJqQjhoQ3lDO0FOMjZDM0M7QTBCejRFRTtFQUNFLFdwQjg4QjhCO0VvQjc4QjlCLGNwQjg4QjhCO0VvQjc4QjlCO0VBQ0EsZXBCNjhCOEI7RW9CNThCOUIsd0NwQjY4QjhCO0VvQjU4QjlCO0VuQnZEQTtBUG04RUo7QTBCdjRFRTtFQUNFO0ExQnk0RUo7QTBCdjRFSTtFQUNFLDJDcEJnOUJxQztBTnk3QzNDO0EwQnQ0RUk7RUFDRSwyQ3BCNDhCcUM7QU40N0MzQzs7QTJCLzlFQTtFQUNFO0EzQmsrRUY7QTJCaCtFRTs7O0VBR0UsdURyQndpQ29DO0VxQnZpQ3BDLDJEckJ1aUNvQztFcUJ0aUNwQyxpQnJCdWlDb0M7QU4yN0N4QztBMkIvOUVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUxSRSxnRUtTRjtBM0JpK0VKO0FzQnQrRU07RUtUSjtJTFVNO0V0QnkrRU47QUFDRjtBMkJuK0VFOztFQUVFO0EzQnErRUo7QTJCbitFSTtFQUNFO0EzQnMrRU47QTJCditFSTs7RUFDRTtBM0JzK0VOO0EyQm4rRUk7RUFFRSxxQnJCNGdDa0M7RXFCM2dDbEMsd0JyQjRnQ2tDO0FOMDlDeEM7QTJCeitFSTs7O0VBRUUscUJyQjRnQ2tDO0VxQjNnQ2xDLHdCckI0Z0NrQztBTjA5Q3hDO0EyQm4rRUk7O0VBQ0UscUJyQnVnQ2tDO0VxQnRnQ2xDLHdCckJ1Z0NrQztBTis5Q3hDO0EyQmwrRUU7RUFDRSxxQnJCaWdDb0M7RXFCaGdDcEMsd0JyQmlnQ29DO0FObStDeEM7QTJCNzlFSTtFQUNFO0VBQ0EsOERyQjIvQmtDO0FOdStDeEM7QTJCcCtFSTs7OztFQUNFO0VBQ0EsOERyQjIvQmtDO0FOdStDeEM7QTJCaCtFTTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGFyQm0vQmdDO0VxQmwvQmhDO0VBQ0EsbUNyQmcwQmdDO0VDaDNCcEM7QVBzaEZKO0EyQjUrRU07Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQSxhckJtL0JnQztFcUJsL0JoQztFQUNBLG1DckJnMEJnQztFQ2gzQnBDO0FQc2hGSjtBMkIvOUVJO0VBQ0U7RUFDQSw4RHJCMCtCa0M7QU51L0N4QztBMkI1OUVJO0VBQ0U7QTNCODlFTjtBMkIxOUVFOztFQUVFLGNyQjFFTztBTnNpRlg7QTJCMTlFSTs7RUFDRSx3Q3JCMHlCa0M7QU5tckR4Qzs7QTRCcGpGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCdWpGRjtBNEJyakZFOzs7RUFHRTtFQUNBO0VBQ0E7RUFDQTtBNUJ1akZKO0E0Qm5qRkU7OztFQUdFO0E1QnFqRko7QTRCL2lGRTtFQUNFO0VBQ0E7QTVCaWpGSjtBNEIvaUZJO0VBQ0U7QTVCaWpGTjs7QTRCdGlGQTtFQUNFO0VBQ0E7RUFDQTtFekI4T0ksZUFMSTtFeUJ2T1IsZ0J0QnlqQjRCO0VzQnhqQjVCLGdCdEJna0I0QjtFc0IvakI1QiwyQnRCbTFCc0M7RXNCbDFCdEM7RUFDQTtFQUNBLHVDdEIwNkJzQztFc0J6NkJ0QztFckJ0Q0U7QVBnbEZKOztBNEJoaUZBOzs7O0VBSUU7RXpCd05JLGtCQUxJO0VJdlFOO0FQeWxGSjs7QTRCaGlGQTs7OztFQUlFO0V6QitNSSxtQkFMSTtFSXZRTjtBUGttRko7O0E0QmhpRkE7O0VBRUU7QTVCbWlGRjs7QTRCdGhGSTs7OztFckJqRUE7RUFDQTtBUDhsRko7QTRCcmhGSTs7OztFckIxRUE7RUFDQTtBUHFtRko7QTRCL2dGRTtFQUNFO0VyQjFFQTtFQUNBO0FQNGxGSjtBNEIvZ0ZFOztFckI5RUU7RUFDQTtBUGltRko7O0E2QnpuRkU7RUFDRTtFQUNBO0VBQ0EsbUJ2QnUwQm9DO0VIcmtCbEMsa0JBTEk7RTBCMVBOLGlDdkJrakNxQjtBTnlrRHpCOztBNkJ4bkZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTFCcVBFLG1CQUxJO0UwQjdPTixXdkJxaUNxQjtFdUJwaUNyQixtQ3ZCb2lDcUI7RUMvakNyQjtBUHNwRko7O0E2QnRuRkk7Ozs7RUFFRTtBN0IybkZOOztBNkIxcUZJO0VBcURFLCtDdkJ1aENtQjtFdUJwaENqQixvQ3ZCODFCZ0M7RXVCNzFCaEM7RUFDQTtFQUNBO0VBQ0E7QTdCdW5GUjtBNkJwbkZNO0VBQ0UsK0N2QjRnQ2lCO0V1QnZnQ2YsMkR2QnVnQ2U7QU4ybUR6Qjs7QTZCdnJGSTtFQStFSSxvQ3ZCdTBCZ0M7RXVCdDBCaEM7QTdCNG1GUjs7QTZCNXJGSTtFQXVGRSwrQ3ZCcS9CbUI7QU5vbkR6QjtBNkJ0bUZRO0VBRUU7RUFDQSx1QnZCcTVCOEI7RXVCcDVCOUI7RUFDQTtBN0J1bUZWO0E2Qm5tRk07RUFDRSwrQ3ZCdytCaUI7RXVCbitCZiwyRHZCbStCZTtBTjhuRHpCOztBNkIxc0ZJO0VBa0hJO0E3QjRsRlI7O0E2QjlzRkk7RUF5SEUsK0N2Qm05Qm1CO0FOc29EekI7QTZCdmxGTTtFQUNFLDRDdkJnOUJpQjtBTnlvRHpCO0E2QnRsRk07RUFDRSwyRHZCNDhCaUI7QU40b0R6QjtBNkJybEZNO0VBQ0UsaUN2Qnc4QmlCO0FOK29EekI7O0E2QmxsRkk7RUFDRTtBN0JxbEZOOztBNkIvdEZJOzs7OztFQW9KTTtBN0JtbEZWOztBNkJudEZFO0VBQ0U7RUFDQTtFQUNBLG1CdkJ1MEJvQztFSHJrQmxDLGtCQUxJO0UwQjFQTixtQ3ZCa2pDcUI7QU5tcUR6Qjs7QTZCbHRGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UxQnFQRSxtQkFMSTtFMEI3T04sV3ZCcWlDcUI7RXVCcGlDckIsa0N2Qm9pQ3FCO0VDL2pDckI7QVBndkZKOztBNkJodEZJOzs7O0VBRUU7QTdCcXRGTjs7QTZCcHdGSTtFQXFERSxpRHZCdWhDbUI7RXVCcGhDakIsb0N2QjgxQmdDO0V1QjcxQmhDO0VBQ0E7RUFDQTtFQUNBO0E3Qml0RlI7QTZCOXNGTTtFQUNFLGlEdkI0Z0NpQjtFdUJ2Z0NmLDBEdkJ1Z0NlO0FOcXNEekI7O0E2Qmp4Rkk7RUErRUksb0N2QnUwQmdDO0V1QnQwQmhDO0E3QnNzRlI7O0E2QnR4Rkk7RUF1RkUsaUR2QnEvQm1CO0FOOHNEekI7QTZCaHNGUTtFQUVFO0VBQ0EsdUJ2QnE1QjhCO0V1QnA1QjlCO0VBQ0E7QTdCaXNGVjtBNkI3ckZNO0VBQ0UsaUR2QncrQmlCO0V1Qm4rQmYsMER2Qm0rQmU7QU53dER6Qjs7QTZCcHlGSTtFQWtISTtBN0JzckZSOztBNkJ4eUZJO0VBeUhFLGlEdkJtOUJtQjtBTmd1RHpCO0E2QmpyRk07RUFDRSw4Q3ZCZzlCaUI7QU5tdUR6QjtBNkJockZNO0VBQ0UsMER2QjQ4QmlCO0FOc3VEekI7QTZCL3FGTTtFQUNFLG1DdkJ3OEJpQjtBTnl1RHpCOztBNkI1cUZJO0VBQ0U7QTdCK3FGTjs7QTZCenpGSTs7Ozs7RUFzSk07QTdCMnFGVjs7QThCbjBGQTtFQUVFO0VBQ0E7RUFDQTtFM0J1Ukksd0JBTEk7RTJCaFJSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RTNCc1FJLGtDQUxJO0UyQi9QUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUNBO0V2QmpCRTtFZ0JmRixrQ09rQ3FCO0VSdEJqQixxSVF3Qko7QTlCaTBGRjtBc0JyMUZNO0VRaEJOO0lSaUJRO0V0QncxRk47QUFDRjtBOEJwMEZFO0VBQ0U7RUFFQTtFQUNBO0E5QnEwRko7QThCbDBGRTtFQUVFO0VBQ0E7RUFDQTtBOUJtMEZKO0E4QmgwRkU7RUFDRTtFUHJERix3Q09zRHVCO0VBQ3JCO0VBQ0E7RUFLRTtBOUI4ekZOO0E4QjF6RkU7RUFDRTtFQUNBO0VBS0U7QTlCd3pGTjtBOEJwekZFO0VBS0U7RUFDQTtFQUdBO0E5Qmd6Rko7QThCN3lGSTtFQUtJO0E5QjJ5RlI7QThCdHlGRTtFQUtJO0E5Qm95Rk47QThCaHlGRTtFQUdFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QTlCK3hGSjs7QThCbnhGRTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQnM0RkY7O0E4QnB5RkU7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0J1NUZGOztBOEJyekZFO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CdzZGRjs7QThCdDBGRTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQnk3RkY7O0E4QnYxRkU7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0IwOEZGOztBOEJ4MkZFO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CMjlGRjs7QThCejNGRTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQjQrRkY7O0E4QjE0RkU7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0I2L0ZGOztBOEJqNEZFO0VDaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CcS9GRjs7QThCbDVGRTtFQ2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQnNnR0Y7O0E4Qm42RkU7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0J1aEdGOztBOEJwN0ZFO0VDaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9Cd2lHRjs7QThCcjhGRTtFQ2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQnlqR0Y7O0E4QnQ5RkU7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Iwa0dGOztBOEJ2K0ZFO0VDaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CMmxHRjs7QThCeC9GRTtFQ2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQjRtR0Y7O0E4QjcvRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSwwQnhCOFF3QztBTml2RjFDO0E4QnIvRkU7RUFDRTtBOUJ1L0ZKO0E4QnAvRkU7RUFDRTtBOUJzL0ZKOztBOEIzK0ZBO0VDakpFO0VBQ0E7RTVCOE5JLDJCQUxJO0U0QnZOUjtBL0Jnb0dGOztBOEI5K0ZBO0VDckpFO0VBQ0E7RTVCOE5JLDRCQUxJO0U0QnZOUjtBL0J1b0dGOztBZ0Mxc0dBO0VWZ0JNLGdDVWZKO0FoQzZzR0Y7QXNCMXJHTTtFVXBCTjtJVnFCUTtFdEI2ckdOO0FBQ0Y7QWdDaHRHRTtFQUNFO0FoQ2t0R0o7O0FnQzVzR0U7RUFDRTtBaEMrc0dKOztBZ0Mzc0dBO0VBQ0U7RUFDQTtFVkRJLDZCVUVKO0FoQzhzR0Y7QXNCNXNHTTtFVUxOO0lWTVE7RXRCK3NHTjtBQUNGO0FnQ2p0R0U7RUFDRTtFQUNBO0VWTkUsNEJVT0Y7QWhDbXRHSjtBc0J0dEdNO0VVQUo7SVZDTTtFdEJ5dEdOO0FBQ0Y7O0FpQzl1R0E7Ozs7OztFQU1FO0FqQ2l2R0Y7O0FpQzl1R0E7RUFDRTtBakNpdkdGO0FrQ3p0R0k7RUFDRTtFQUNBLG9CNUI2aEJ3QjtFNEI1aEJ4Qix1QjVCMmhCd0I7RTRCMWhCeEI7RUFyQ0o7RUFDQTtFQUNBO0VBQ0E7QWxDaXdHRjtBa0N2c0dJO0VBQ0U7QWxDeXNHTjs7QWlDdnZHQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTlCdVFJLDZCQUxJO0U4QmhRUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U5QjBPSSx1Q0FMSTtFOEJuT1I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UxQnpDRTtBUGl5R0o7QWlDcHZHRTtFQUNFO0VBQ0E7RUFDQTtBakNzdkdKOztBaUM5dEdJO0VBQ0U7QWpDaXVHTjtBaUMvdEdNO0VBQ0U7RUFDQTtBakNpdUdSOztBaUM3dEdJO0VBQ0U7QWpDZ3VHTjtBaUM5dEdNO0VBQ0U7RUFDQTtBakNndUdSOztBYzF3R0k7RW1CNEJBO0lBQ0U7RWpDa3ZHSjtFaUNodkdJO0lBQ0U7SUFDQTtFakNrdkdOO0VpQzl1R0U7SUFDRTtFakNndkdKO0VpQzl1R0k7SUFDRTtJQUNBO0VqQ2d2R047QUFDRjtBYzN4R0k7RW1CNEJBO0lBQ0U7RWpDa3dHSjtFaUNod0dJO0lBQ0U7SUFDQTtFakNrd0dOO0VpQzl2R0U7SUFDRTtFakNnd0dKO0VpQzl2R0k7SUFDRTtJQUNBO0VqQ2d3R047QUFDRjtBYzN5R0k7RW1CNEJBO0lBQ0U7RWpDa3hHSjtFaUNoeEdJO0lBQ0U7SUFDQTtFakNreEdOO0VpQzl3R0U7SUFDRTtFakNneEdKO0VpQzl3R0k7SUFDRTtJQUNBO0VqQ2d4R047QUFDRjtBYzN6R0k7RW1CNEJBO0lBQ0U7RWpDa3lHSjtFaUNoeUdJO0lBQ0U7SUFDQTtFakNreUdOO0VpQzl4R0U7SUFDRTtFakNneUdKO0VpQzl4R0k7SUFDRTtJQUNBO0VqQ2d5R047QUFDRjtBYzMwR0k7RW1CNEJBO0lBQ0U7RWpDa3pHSjtFaUNoekdJO0lBQ0U7SUFDQTtFakNrekdOO0VpQzl5R0U7SUFDRTtFakNnekdKO0VpQzl5R0k7SUFDRTtJQUNBO0VqQ2d6R047QUFDRjtBaUN2eUdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpDeXlHSjtBa0M3M0dJO0VBQ0U7RUFDQSxvQjVCNmhCd0I7RTRCNWhCeEIsdUI1QjJoQndCO0U0QjFoQnhCO0VBOUJKO0VBQ0E7RUFDQTtFQUNBO0FsQzg1R0Y7QWtDMzJHSTtFQUNFO0FsQzYyR047O0FpQzd5R0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ2d6R0o7QWtDbDVHSTtFQUNFO0VBQ0Esb0I1QjZoQndCO0U0QjVoQnhCLHVCNUIyaEJ3QjtFNEIxaEJ4QjtFQXZCSjtFQUNBO0VBQ0E7RUFDQTtBbEM0NkdGO0FrQ2g0R0k7RUFDRTtBbENrNEdOO0FpQ3h6R0k7RUFDRTtBakMwekdOOztBaUNwekdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakN1ekdKO0FrQzE2R0k7RUFDRTtFQUNBLG9CNUI2aEJ3QjtFNEI1aEJ4Qix1QjVCMmhCd0I7RTRCMWhCeEI7QWxDNDZHTjtBa0NqNkdNO0VBQ0U7QWxDbTZHUjtBa0NoNkdNO0VBQ0U7RUFDQSxxQjVCMGdCc0I7RTRCemdCdEIsdUI1QndnQnNCO0U0QnZnQnRCO0VBbkNOO0VBQ0E7RUFDQTtBbENzOEdGO0FrQ2g2R0k7RUFDRTtBbENrNkdOO0FpQ3YwR0k7RUFDRTtBakN5MEdOOztBaUNsMEdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNxMEdGOztBaUMvekdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQjNCeWI0QjtFMkJ4YjVCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFMUJ0S0U7QVB5K0dKO0FpQ2gwR0U7RUFFRTtFVjFMRixrRFU0THVCO0FqQ2cwR3pCO0FpQzd6R0U7RUFFRTtFQUNBO0VWbE1GLG1EVW1NdUI7QWpDOHpHekI7QWlDM3pHRTtFQUVFO0VBQ0E7RUFDQTtBakM0ekdKOztBaUN0ekdBO0VBQ0U7QWpDeXpHRjs7QWlDcnpHQTtFQUNFO0VBQ0E7RUFDQTtFOUJtRUksbUJBTEk7RThCNURSO0VBQ0E7QWpDd3pHRjs7QWlDcHpHQTtFQUNFO0VBQ0E7RUFDQTtBakN1ekdGOztBaUNuekdBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ3F6R0Y7O0FtQzNpSEE7O0VBRUU7RUFDQTtFQUNBO0FuQzhpSEY7QW1DNWlIRTs7RUFDRTtFQUNBO0FuQytpSEo7QW1DMWlIRTs7Ozs7Ozs7Ozs7O0VBTUU7QW5Da2pISjs7QW1DN2lIQTtFQUNFO0VBQ0E7RUFDQTtBbkNnakhGO0FtQzlpSEU7RUFDRTtBbkNnakhKOztBbUM1aUhBO0U1QmhCSTtBUGdrSEo7QW1DNWlIRTs7RUFFRTtBbkM4aUhKO0FtQzFpSEU7OztFNUJWRTtFQUNBO0FQeWpISjtBbUN0aUhFOzs7RTVCTkU7RUFDQTtBUGlqSEo7O0FtQ3poSEE7RUFDRTtFQUNBO0FuQzRoSEY7QW1DMWhIRTtFQUdFO0FuQzBoSEo7QW1DdmhIRTtFQUNFO0FuQ3loSEo7O0FtQ3JoSEE7RUFDRTtFQUNBO0FuQ3doSEY7O0FtQ3JoSEE7RUFDRTtFQUNBO0FuQ3doSEY7O0FtQ3BnSEE7RUFDRTtFQUNBO0VBQ0E7QW5DdWdIRjtBbUNyZ0hFOztFQUVFO0FuQ3VnSEo7QW1DcGdIRTs7RUFFRTtBbkNzZ0hKO0FtQ2xnSEU7O0U1QjFGRTtFQUNBO0FQZ21ISjtBbUNsZ0hFOztFNUI3R0U7RUFDQTtBUG1uSEo7O0FvQzNvSEE7RUFFRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQzBvSEY7O0FvQ3ZvSEE7RUFDRTtFQUNBO0VqQ3NRSSx1Q0FMSTtFaUMvUFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFZGZJLHVHY2dCSjtBcEMwb0hGO0FzQnRwSE07RWNHTjtJZEZRO0V0QnlwSE47QUFDRjtBb0M3b0hFO0VBRUU7QXBDOG9ISjtBb0Mxb0hFO0VBQ0U7RUFDQSxrRDlCa2hCb0I7QU4wbkd4QjtBb0N4b0hFO0VBRUU7RUFDQTtFQUNBO0FwQ3lvSEo7O0FvQ2pvSEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0FwQ2lvSEY7QW9DL25IRTtFQUNFO0VBQ0E7RTdCN0NBO0VBQ0E7QVArcUhKO0FvQ2hvSEk7RUFHRTtFQUNBO0FwQ2dvSE47QW9DNW5IRTs7RUFFRTtFQUNBO0VBQ0E7QXBDOG5ISjtBb0MzbkhFO0VBRUU7RTdCakVBO0VBQ0E7QVA4ckhKOztBb0NubkhBO0VBRUU7RUFDQTtFQUNBO0FwQ3FuSEY7QW9DbG5IRTtFN0I1RkU7QVBpdEhKO0FvQ2puSEU7O0VBRUU7RWJqSEYsb0Rha0h1QjtBcENtbkh6Qjs7QW9DMW1IQTtFQUVFO0VBQ0E7RUFDQTtFQUdBO0FwQzBtSEY7QW9DeG1IRTtFQUNFO0VBQ0E7RUFDQTtBcEMwbUhKO0FvQ3htSEk7RUFFRTtBcEN5bUhOO0FvQ3JtSEU7O0VBRUUsZ0I5QjBkMEI7RThCemQxQjtFQUNBO0FwQ3VtSEo7O0FvQzdsSEU7O0VBRUU7RUFDQTtBcENnbUhKOztBb0MzbEhFOztFQUVFO0VBQ0E7RUFDQTtBcEM4bEhKOztBb0N4bEhFOztFQUNFO0FwQzRsSEo7O0FvQ2xsSEU7RUFDRTtBcENxbEhKO0FvQ25sSEU7RUFDRTtBcENxbEhKOztBcUNseEhBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckNreEhGO0FxQzV3SEU7Ozs7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckNveEhKO0FxQ2h3SEE7RUFDRTtFQUNBO0VBQ0E7RWxDNE5JLDJDQUxJO0VrQ3JOUjtFQUNBO0VBQ0E7QXJDa3dIRjtBcUNod0hFO0VBRUU7QXJDaXdISjs7QXFDdnZIQTtFQUVFO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDc3ZIRjtBcUNudkhJO0VBRUU7QXJDb3ZITjtBcUNodkhFO0VBQ0U7QXJDa3ZISjs7QXFDenVIQTtFQUNFLG1CL0I4Z0NrQztFK0I3Z0NsQyxzQi9CNmdDa0M7RStCNWdDbEM7QXJDNHVIRjtBcUMxdUhFOzs7RUFHRTtBckM0dUhKOztBcUMvdEhBO0VBQ0U7RUFDQTtFQUdBO0FyQ2d1SEY7O0FxQzV0SEE7RUFDRTtFbEN5SUksNkNBTEk7RWtDbElSO0VBQ0E7RUFDQTtFQUNBO0U5QnhJRTtFZUhFLCtDZTZJSjtBckMrdEhGO0FzQngySE07RWVpSU47SWZoSVE7RXRCMjJITjtBQUNGO0FxQ2x1SEU7RUFDRTtBckNvdUhKO0FxQ2p1SEU7RUFDRTtFQUNBO0VBQ0E7QXJDbXVISjs7QXFDN3RIQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDZ3VIRjs7QXFDN3RIQTtFQUNFO0VBQ0E7QXJDZ3VIRjs7QWMxMUhJO0V1QnNJQTtJQUVJO0lBQ0E7RXJDdXRITjtFcUNydEhNO0lBQ0U7RXJDdXRIUjtFcUNydEhRO0lBQ0U7RXJDdXRIVjtFcUNwdEhRO0lBQ0U7SUFDQTtFckNzdEhWO0VxQ2x0SE07SUFDRTtFckNvdEhSO0VxQ2p0SE07SUFDRTtJQUNBO0VyQ210SFI7RXFDaHRITTtJQUNFO0VyQ2t0SFI7RXFDL3NITTtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJZjlOSixnQmVnT0k7RXJDK3NIUjtFcUM1c0hRO0lBQ0U7RXJDOHNIVjtFcUMzc0hRO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RXJDNnNIVjtBQUNGO0FjMTRISTtFdUJzSUE7SUFFSTtJQUNBO0VyQ3N3SE47RXFDcHdITTtJQUNFO0VyQ3N3SFI7RXFDcHdIUTtJQUNFO0VyQ3N3SFY7RXFDbndIUTtJQUNFO0lBQ0E7RXJDcXdIVjtFcUNqd0hNO0lBQ0U7RXJDbXdIUjtFcUNod0hNO0lBQ0U7SUFDQTtFckNrd0hSO0VxQy92SE07SUFDRTtFckNpd0hSO0VxQzl2SE07SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SWY5TkosZ0JlZ09JO0VyQzh2SFI7RXFDM3ZIUTtJQUNFO0VyQzZ2SFY7RXFDMXZIUTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VyQzR2SFY7QUFDRjtBY3o3SEk7RXVCc0lBO0lBRUk7SUFDQTtFckNxekhOO0VxQ256SE07SUFDRTtFckNxekhSO0VxQ256SFE7SUFDRTtFckNxekhWO0VxQ2x6SFE7SUFDRTtJQUNBO0VyQ296SFY7RXFDaHpITTtJQUNFO0VyQ2t6SFI7RXFDL3lITTtJQUNFO0lBQ0E7RXJDaXpIUjtFcUM5eUhNO0lBQ0U7RXJDZ3pIUjtFcUM3eUhNO0lBRUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lmOU5KLGdCZWdPSTtFckM2eUhSO0VxQzF5SFE7SUFDRTtFckM0eUhWO0VxQ3p5SFE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFckMyeUhWO0FBQ0Y7QWN4K0hJO0V1QnNJQTtJQUVJO0lBQ0E7RXJDbzJITjtFcUNsMkhNO0lBQ0U7RXJDbzJIUjtFcUNsMkhRO0lBQ0U7RXJDbzJIVjtFcUNqMkhRO0lBQ0U7SUFDQTtFckNtMkhWO0VxQy8xSE07SUFDRTtFckNpMkhSO0VxQzkxSE07SUFDRTtJQUNBO0VyQ2cySFI7RXFDNzFITTtJQUNFO0VyQysxSFI7RXFDNTFITTtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJZjlOSixnQmVnT0k7RXJDNDFIUjtFcUN6MUhRO0lBQ0U7RXJDMjFIVjtFcUN4MUhRO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RXJDMDFIVjtBQUNGO0FjdmhJSTtFdUJzSUE7SUFFSTtJQUNBO0VyQ201SE47RXFDajVITTtJQUNFO0VyQ201SFI7RXFDajVIUTtJQUNFO0VyQ201SFY7RXFDaDVIUTtJQUNFO0lBQ0E7RXJDazVIVjtFcUM5NEhNO0lBQ0U7RXJDZzVIUjtFcUM3NEhNO0lBQ0U7SUFDQTtFckMrNEhSO0VxQzU0SE07SUFDRTtFckM4NEhSO0VxQzM0SE07SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SWY5TkosZ0JlZ09JO0VyQzI0SFI7RXFDeDRIUTtJQUNFO0VyQzA0SFY7RXFDdjRIUTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VyQ3k0SFY7QUFDRjtBcUNoOEhJO0VBRUk7RUFDQTtBckNpOEhSO0FxQy83SFE7RUFDRTtBckNpOEhWO0FxQy83SFU7RUFDRTtBckNpOEhaO0FxQzk3SFU7RUFDRTtFQUNBO0FyQ2c4SFo7QXFDNTdIUTtFQUNFO0FyQzg3SFY7QXFDMzdIUTtFQUNFO0VBQ0E7QXJDNjdIVjtBcUMxN0hRO0VBQ0U7QXJDNDdIVjtBcUN6N0hRO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VmOU5KLGdCZWdPSTtBckN5N0hWO0FxQ3Q3SFU7RUFDRTtBckN3N0haO0FxQ3I3SFU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckN1N0haOztBcUN0NkhBOztFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDdzZIRjs7QXFDbDZISTtFQUNFO0FyQ3E2SE47O0FzQzlySUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UvQmpCRTtBUGd0SUo7QXNDM3JJRTtFQUNFO0VBQ0E7QXRDNnJJSjtBc0MxcklFO0VBQ0U7RUFDQTtBdEM0cklKO0FzQzFySUk7RUFDRTtFL0J0QkY7RUFDQTtBUG10SUo7QXNDMXJJSTtFQUNFO0UvQmJGO0VBQ0E7QVAwc0lKO0FzQ3ZySUU7O0VBRUU7QXRDeXJJSjs7QXNDcnJJQTtFQUdFO0VBQ0E7RUFDQTtBdENzcklGOztBc0NucklBO0VBQ0U7RUFDQTtBdENzcklGOztBc0NucklBO0VBQ0U7RUFDQTtFQUNBO0F0Q3NySUY7O0FzQ25ySUE7RUFDRTtBdENzcklGOztBc0M5cUlFO0VBQ0U7QXRDaXJJSjs7QXNDenFJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDNHFJRjtBc0MxcUlFO0UvQjdGRTtBUDB3SUo7O0FzQ3hxSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdEMycUlGO0FzQ3pxSUU7RS9CeEdFO0FQb3hJSjs7QXNDbHFJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F0Q3FxSUY7QXNDbnFJRTtFQUNFO0VBQ0E7QXRDcXFJSjs7QXNDanFJQTtFQUNFO0VBQ0E7QXRDb3FJRjs7QXNDaHFJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFL0IxSUU7QVA4eUlKOztBc0NocUlBOzs7RUFHRTtBdENtcUlGOztBc0NocUlBOztFL0IzSUk7RUFDQTtBUGd6SUo7O0FzQ2pxSUE7O0UvQmxJSTtFQUNBO0FQd3lJSjs7QXNDMXBJRTtFQUNFO0F0QzZwSUo7QWN4eElJO0V3QnVISjtJQVFJO0lBQ0E7RXRDNnBJRjtFc0MxcElFO0lBRUU7SUFDQTtFdEMycElKO0VzQ3pwSUk7SUFDRTtJQUNBO0V0QzJwSU47RXNDdHBJTTtJL0IzS0o7SUFDQTtFUG8wSUY7RXNDdnBJUTs7SUFHRTtFdEN3cElWO0VzQ3RwSVE7O0lBR0U7RXRDdXBJVjtFc0NucElNO0kvQjVLSjtJQUNBO0VQazBJRjtFc0NwcElROztJQUdFO0V0Q3FwSVY7RXNDbnBJUTs7SUFHRTtFdENvcElWO0FBQ0Y7O0F1Q3ozSUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZDMjNJRjs7QXVDdjNJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXBDNFBJLGVBTEk7RW9DclBSO0VBQ0E7RUFDQTtFQUNBO0VoQ3JCRTtFZ0N1QkY7RWpCMUJJLDBDaUIyQko7QXZDMDNJRjtBc0JqNUlNO0VpQlVOO0lqQlRRO0V0Qm81SU47QUFDRjtBdUM3M0lFO0VBQ0U7RUFDQTtFQUNBO0F2QyszSUo7QXVDNzNJSTtFQUNFO0VBQ0E7QXZDKzNJTjtBdUMxM0lFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFakJqREUsbURpQmtERjtBdkM0M0lKO0FzQjE2SU07RWlCcUNKO0lqQnBDTTtFdEI2NklOO0FBQ0Y7QXVDOTNJRTtFQUNFO0F2Q2c0SUo7QXVDNzNJRTtFQUNFO0VBQ0E7RUFDQTtBdkMrM0lKOztBdUMzM0lBO0VBQ0U7QXZDODNJRjs7QXVDMzNJQTtFQUNFO0VBQ0E7RUFDQTtBdkM4M0lGO0F1QzUzSUU7RWhDN0RFO0VBQ0E7QVA0N0lKO0F1QzczSUk7RWhDaEVBO0VBQ0E7QVBnOElKO0F1QzUzSUU7RUFDRTtBdkM4M0lKO0F1QzEzSUU7RWhDNURFO0VBQ0E7QVB5N0lKO0F1QzEzSU07RWhDaEVGO0VBQ0E7QVA2N0lKO0F1Q3ozSUk7RWhDckVBO0VBQ0E7QVBpOElKOztBdUN2M0lBO0VBQ0U7QXZDMDNJRjs7QXVDajNJRTtFQUNFO0VBQ0E7RWhDOUdBO0FQbStJSjtBdUNsM0lJO0VBQWdCO0F2Q3EzSXBCO0F1Q3AzSUk7RUFBZTtBdkN1M0luQjtBdUNuM0lNO0VoQ3RIRjtBUDQrSUo7QXVDLzJJSTtFaEM3SEE7QVArK0lKOztBdUMxMklJO0VBQ0U7RUFDQTtBdkM2MklOOztBd0N2Z0pBO0VBRUU7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VyQytRSSx5Q0FMSTtFcUN4UVI7RUFDQTtFakNBRTtBUHVnSko7O0F3Q2pnSkU7RUFDRTtBeENvZ0pKO0F3Q2xnSkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeENvZ0pOO0F3Q2hnSkU7RUFDRTtBeENrZ0pKOztBeUN2aUpBO0VBRUU7RUFDQTtFdEM0UkksK0JBTEk7RXNDclJSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFaENwQkE7RUFDQTtBVDRqSkY7O0F5Q3JpSkE7RUFDRTtFQUNBO0VBQ0E7RXRDZ1FJLHlDQUxJO0VzQ3pQUjtFQUNBO0VBQ0E7RUFDQTtFbkJwQkkscUltQnFCSjtBekN3aUpGO0FzQnpqSk07RW1CUU47SW5CUFE7RXRCNGpKTjtBQUNGO0F5QzNpSkU7RUFDRTtFQUNBO0VBRUE7RUFDQTtBekM0aUpKO0F5Q3ppSkU7RUFDRTtFQUNBO0VBQ0E7RUFDQSxVbkMydUNnQztFbUMxdUNoQztBekMyaUpKO0F5Q3hpSkU7RUFFRTtFQUNBO0VsQnRERixnRGtCdUR1QjtFQUNyQjtBekN5aUpKO0F5Q3RpSkU7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBekN1aUpKOztBeUNsaUpFO0VBQ0UsOENuQzhzQ2dDO0FOdTFHcEM7QXlDaGlKTTtFbEM5QkY7RUFDQTtBUGlrSko7QXlDOWhKTTtFbENsREY7RUFDQTtBUG1sSko7O0F5Q2poSkE7RUNsR0U7RUFDQTtFdkMwUkksa0NBTEk7RXVDblJSO0ExQ3VuSkY7O0F5Q3BoSkE7RUN0R0U7RUFDQTtFdkMwUkksbUNBTEk7RXVDblJSO0ExQzhuSkY7O0EyQ2hvSkE7RUFFRTtFQUNBO0V4Q3VSSSw0QkFMSTtFd0NoUlI7RUFDQTtFQUNBO0VBR0E7RUFDQTtFeEMrUUksb0NBTEk7RXdDeFFSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFcENKRTtBUHFvSko7QTJDNW5KRTtFQUNFO0EzQzhuSko7O0EyQ3puSkE7RUFDRTtFQUNBO0EzQzRuSkY7O0E0QzVwSkE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXJDSEU7QVBncUpKOztBNEN4cEpBO0VBRUU7QTVDMHBKRjs7QTRDdHBKQTtFQUNFLGdCdEM2a0I0QjtFc0M1a0I1QjtBNUN5cEpGOztBNENqcEpBO0VBQ0UsbUJ0Q3MrQzhCO0FOOHFHaEM7QTRDanBKRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDbXBKSjs7QTRDM29KRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1QzhvSko7O0E0Q2xwSkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUNxcEpKOztBNEN6cEpFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVDNHBKSjs7QTRDaHFKRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1Q21xSko7O0E0Q3ZxSkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUMwcUpKOztBNEM5cUpFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVDaXJKSjs7QTRDcnJKRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1Q3dySko7O0E0QzVySkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUMrckpKOztBNkMzdkpFO0VBQ0U7SUFBSywyQnZDeWhEMkI7RU5zdUdsQztBQUNGO0E2QzN2SkE7O0VBR0U7RTFDa1JJLGdDQUxJO0UwQzNRUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RTFDc1FJLHVDQUxJO0UwQy9QUjtFdENSRTtBUG13Sko7O0E2Q3R2SkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V2QnhCSSw2Q3VCeUJKO0E3Q3l2SkY7QXNCOXdKTTtFdUJZTjtJdkJYUTtFdEJpeEpOO0FBQ0Y7O0E2QzN2SkE7RXRCQUU7RXNCRUE7QTdDOHZKRjs7QTZDM3ZKQTtFQUNFO0E3Qzh2SkY7O0E2QzN2SkE7RUFDRTtBN0M4dkpGOztBNkMxdkpFO0VBQ0U7QTdDNnZKSjtBNkMxdkpNO0VBSko7SUFLTTtFN0M2dkpOO0FBQ0Y7O0E4Q3p6SkE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUdBO0VBQ0E7RXZDWEU7QVBtMEpKOztBOENwekpBO0VBQ0U7RUFDQTtBOUN1ekpGO0E4Q3J6SkU7RUFFRTtFQUNBO0E5Q3N6Sko7O0E4Qzd5SkE7RUFDRTtFQUNBO0VBQ0E7QTlDZ3pKRjtBOEM3eUpFO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QTlDOHlKSjtBOEMzeUpFO0VBQ0U7RUFDQTtBOUM2eUpKOztBOENyeUpBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDd3lKRjtBOEN0eUpFO0V2Q3ZERTtFQUNBO0FQZzJKSjtBOEN0eUpFO0V2QzdDRTtFQUNBO0FQczFKSjtBOEN0eUpFO0VBRUU7RUFDQTtFQUNBO0E5Q3V5Sko7QThDbnlKRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E5Q3F5Sko7QThDanlKRTtFQUNFO0E5Q215Sko7QThDanlKSTtFQUNFO0VBQ0E7QTlDbXlKTjs7QThDdHhKSTtFQUNFO0E5Q3l4Sk47QThDdHhKUTtFdkN2REo7RUFaQTtBUDYxSko7QThDcnhKUTtFdkN4RUo7RUFZQTtBUHExSko7QThDcHhKUTtFQUNFO0E5Q3N4SlY7QThDbnhKUTtFQUNFO0VBQ0E7QTlDcXhKVjtBOENueEpVO0VBQ0U7RUFDQTtBOUNxeEpaOztBYzMySkk7RWdDOERBO0lBQ0U7RTlDaXpKSjtFOEM5eUpNO0l2Q3ZESjtJQVpBO0VQcTNKRjtFOEM3eUpNO0l2Q3hFSjtJQVlBO0VQNjJKRjtFOEM1eUpNO0lBQ0U7RTlDOHlKUjtFOEMzeUpNO0lBQ0U7SUFDQTtFOUM2eUpSO0U4QzN5SlE7SUFDRTtJQUNBO0U5QzZ5SlY7QUFDRjtBY3A0Skk7RWdDOERBO0lBQ0U7RTlDeTBKSjtFOEN0MEpNO0l2Q3ZESjtJQVpBO0VQNjRKRjtFOENyMEpNO0l2Q3hFSjtJQVlBO0VQcTRKRjtFOENwMEpNO0lBQ0U7RTlDczBKUjtFOENuMEpNO0lBQ0U7SUFDQTtFOUNxMEpSO0U4Q24wSlE7SUFDRTtJQUNBO0U5Q3EwSlY7QUFDRjtBYzU1Skk7RWdDOERBO0lBQ0U7RTlDaTJKSjtFOEM5MUpNO0l2Q3ZESjtJQVpBO0VQcTZKRjtFOEM3MUpNO0l2Q3hFSjtJQVlBO0VQNjVKRjtFOEM1MUpNO0lBQ0U7RTlDODFKUjtFOEMzMUpNO0lBQ0U7SUFDQTtFOUM2MUpSO0U4QzMxSlE7SUFDRTtJQUNBO0U5QzYxSlY7QUFDRjtBY3A3Skk7RWdDOERBO0lBQ0U7RTlDeTNKSjtFOEN0M0pNO0l2Q3ZESjtJQVpBO0VQNjdKRjtFOENyM0pNO0l2Q3hFSjtJQVlBO0VQcTdKRjtFOENwM0pNO0lBQ0U7RTlDczNKUjtFOENuM0pNO0lBQ0U7SUFDQTtFOUNxM0pSO0U4Q24zSlE7SUFDRTtJQUNBO0U5Q3EzSlY7QUFDRjtBYzU4Skk7RWdDOERBO0lBQ0U7RTlDaTVKSjtFOEM5NEpNO0l2Q3ZESjtJQVpBO0VQcTlKRjtFOEM3NEpNO0l2Q3hFSjtJQVlBO0VQNjhKRjtFOEM1NEpNO0lBQ0U7RTlDODRKUjtFOEMzNEpNO0lBQ0U7SUFDQTtFOUM2NEpSO0U4QzM0SlE7SUFDRTtJQUNBO0U5QzY0SlY7QUFDRjtBOENoNEpBO0V2Q2hKSTtBUG1oS0o7QThDaDRKRTtFQUNFO0E5Q2s0Sko7QThDaDRKSTtFQUNFO0E5Q2s0Sk47O0E4Q3IzSkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUN3M0pKOztBOENsNEpFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDcTRKSjs7QThDLzRKRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Q2s1Sko7O0E4QzU1SkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUMrNUpKOztBOEN6NkpFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDNDZKSjs7QThDdDdKRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Q3k3Sko7O0E4Q244SkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUNzOEpKOztBOENoOUpFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDbTlKSjs7QStDL29LQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBLFV6Q3FwRDJCO0V5Q3BwRDNCLFd6Q29wRDJCO0V5Q25wRDNCO0VBQ0E7RUFDQTtFQUNBO0V4Q0pFO0V3Q01GO0EvQytvS0Y7QStDNW9LRTtFQUNFO0VBQ0E7RUFDQTtBL0M4b0tKO0ErQzNvS0U7RUFDRTtFQUNBO0VBQ0E7QS9DNm9LSjtBK0Mxb0tFO0VBRUU7RUFDQTtFQUFBO0VBQUE7RUFDQTtBL0Myb0tKOztBK0Nub0tBO0VBSEU7QS9DMG9LRjs7QStDam9LSTtFQVRGO0EvQzhvS0Y7O0FnRC9yS0E7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U3Q3lSSSw4QkFMSTtFNkNsUlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFN0MyUUksb0NBTEk7RTZDcFFSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFekNSRTtBUHdzS0o7QWdEN3JLRTtFQUNFO0FoRCtyS0o7QWdENXJLRTtFQUNFO0FoRDhyS0o7O0FnRDFyS0E7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFDQTtFQUNBO0FoRDRyS0Y7QWdEMXJLRTtFQUNFO0FoRDRyS0o7O0FnRHhyS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFekNoQ0U7RUFDQTtBUDR0S0o7QWdEMXJLRTtFQUNFO0VBQ0E7QWhENHJLSjs7QWdEeHJLQTtFQUNFO0VBQ0E7QWhEMnJLRjs7QWlEenZLQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0FqRHV2S0Y7O0FpRGh2S0E7RUFDRTtFQUNBO0VBQ0E7RUFFQTtBakRrdktGO0FpRC91S0U7RTNCNUNJLG1DMkI2Q0Y7RUFDQSw4QjNDazhDZ0M7QU4reUhwQztBc0IzeEtNO0UyQndDSjtJM0J2Q007RXRCOHhLTjtBQUNGO0FpRHB2S0U7RUFDRSxlM0NnOENnQztBTnN6SHBDO0FpRGx2S0U7RUFDRSxzQjNDNjdDZ0M7QU51ekhwQzs7QWlEaHZLQTtFQUNFO0FqRG12S0Y7QWlEanZLRTtFQUNFO0VBQ0E7QWpEbXZLSjtBaURodktFO0VBQ0U7QWpEa3ZLSjs7QWlEOXVLQTtFQUNFO0VBQ0E7RUFDQTtBakRpdktGOztBaUQ3dUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UxQ3JGRTtFMEN5RkY7QWpENnVLRjs7QWlEenVLQTtFQUVFO0VBQ0E7RUFDQTtFQ2xIQTtFQUNBO0VBQ0E7RUFDQSxrQ0RrSDBCO0VDakgxQjtFQUNBO0VBQ0EsdUNEK0c0RDtBakQrdUs5RDtBa0QzMUtFO0VBQVM7QWxEODFLWDtBa0Q3MUtFO0VBQVMsbUNEMkdpRjtBakRxdks1Rjs7QWlEaHZLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTFDckdFO0VBQ0E7QVB5MUtKO0FpRGx2S0U7RUFDRTtFQUNBO0FqRG92S0o7O0FpRC91S0E7RUFDRTtFQUNBO0FqRGt2S0Y7O0FpRDd1S0E7RUFDRTtFQUdBO0VBQ0E7QWpEOHVLRjs7QWlEMXVLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTFDekhFO0VBQ0E7QVB1MktKO0FpRHp1S0U7RUFDRTtBakQydUtKOztBY3QxS0k7RW1DaUhGO0lBQ0U7SUFDQTtFakR5dUtGO0VpRHJ1S0E7SUFDRTtJQUNBO0lBQ0E7RWpEdXVLRjtFaURwdUtBO0lBQ0U7RWpEc3VLRjtBQUNGO0FjcjJLSTtFbUNtSUY7O0lBRUU7RWpEcXVLRjtBQUNGO0FjMzJLSTtFbUMwSUY7SUFDRTtFakRvdUtGO0FBQ0Y7QWlEM3RLSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqRDZ0S047QWlEM3RLTTtFQUNFO0VBQ0E7RTFDek1KO0FQdTZLSjtBaUQxdEtNOztFMUM3TUY7QVAyNktKO0FpRHp0S007RUFDRTtBakQydEtSOztBY3IzS0k7RW1Dd0lBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RWpEaXZLSjtFaUQvdUtJO0lBQ0U7SUFDQTtJMUN6TUo7RVAyN0tGO0VpRDl1S0k7O0kxQzdNRjtFUCs3S0Y7RWlEN3VLSTtJQUNFO0VqRCt1S047QUFDRjtBYzE0S0k7RW1Dd0lBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RWpEcXdLSjtFaURud0tJO0lBQ0U7SUFDQTtJMUN6TUo7RVArOEtGO0VpRGx3S0k7O0kxQzdNRjtFUG05S0Y7RWlEandLSTtJQUNFO0VqRG13S047QUFDRjtBYzk1S0k7RW1Dd0lBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RWpEeXhLSjtFaUR2eEtJO0lBQ0U7SUFDQTtJMUN6TUo7RVBtK0tGO0VpRHR4S0k7O0kxQzdNRjtFUHUrS0Y7RWlEcnhLSTtJQUNFO0VqRHV4S047QUFDRjtBY2w3S0k7RW1Dd0lBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RWpENnlLSjtFaUQzeUtJO0lBQ0U7SUFDQTtJMUN6TUo7RVB1L0tGO0VpRDF5S0k7O0kxQzdNRjtFUDIvS0Y7RWlEenlLSTtJQUNFO0VqRDJ5S047QUFDRjtBY3Q4S0k7RW1Dd0lBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RWpEaTBLSjtFaUQvektJO0lBQ0U7SUFDQTtJMUN6TUo7RVAyZ0xGO0VpRDl6S0k7O0kxQzdNRjtFUCtnTEY7RWlEN3pLSTtJQUNFO0VqRCt6S047QUFDRjtBbURyaUxBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFaER3UkksZ0NBTEk7RWdEalJSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQ2xCQSxzQzlDK2xCNEI7RThDN2xCNUI7RUFDQSxnQjlDd21CNEI7RThDdm1CNUIsZ0I5QyttQjRCO0U4QzltQjVCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VqRGdSSSxzQ0FMSTtFZ0RoUVI7RUFDQTtBbkQ2aUxGO0FtRDNpTEU7RUFBUztBbkQ4aUxYO0FtRDVpTEU7RUFDRTtFQUNBO0VBQ0E7QW5EOGlMSjtBbUQ1aUxJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5EOGlMTjs7QW1EemlMQTtFQUNFO0FuRDRpTEY7QW1EMWlMRTtFQUNFO0VBQ0E7RUFDQTtBbkQ0aUxKOztBbUR4aUxBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7QW5EMmlMRjtBbUR6aUxFO0VBQ0U7RUFDQTtFQUNBO0FuRDJpTEo7O0FtRHZpTEE7QUFFQTtFQUNFO0FuRHlpTEY7QW1EdmlMRTtFQUNFO0VBQ0E7RUFDQTtBbkR5aUxKOztBbURyaUxBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7QW5Ed2lMRjtBbUR0aUxFO0VBQ0U7RUFDQTtFQUNBO0FuRHdpTEo7O0FtRHBpTEE7QUFrQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U1Q2pHRTtBUHduTEo7O0FxRDNvTEE7RUFFRTtFQUNBO0VsRDRSSSxnQ0FMSTtFa0RyUlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbERtUkksbUNBTEk7RWtENVFSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUR6QkEsc0M5QytsQjRCO0U4QzdsQjVCO0VBQ0EsZ0I5Q3dtQjRCO0U4Q3ZtQjVCLGdCOUMrbUI0QjtFOEM5bUI1QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFakRnUkksc0NBTEk7RWtEMVBSO0VBQ0E7RUFDQTtFQUNBO0U5Q2hCRTtBUHNxTEo7QXFEbHBMRTtFQUNFO0VBQ0E7RUFDQTtBckRvcExKO0FxRGxwTEk7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJEbXBMTjs7QXFEN29MRTtFQUNFO0FyRGdwTEo7QXFEOW9MSTtFQUVFO0FyRCtvTE47QXFENW9MSTtFQUNFO0VBQ0E7QXJEOG9MTjtBcUQzb0xJO0VBQ0U7RUFDQTtBckQ2b0xOOztBcUR4b0xBO0FBRUU7RUFDRTtFQUNBO0VBQ0E7QXJEMG9MSjtBcUR4b0xJO0VBRUU7QXJEeW9MTjtBcUR0b0xJO0VBQ0U7RUFDQTtBckR3b0xOO0FxRHJvTEk7RUFDRTtFQUNBO0FyRHVvTE47O0FxRGxvTEE7QUFHRTtFQUNFO0FyRG1vTEo7QXFEam9MSTtFQUVFO0FyRGtvTE47QXFEL25MSTtFQUNFO0VBQ0E7QXJEaW9MTjtBcUQ5bkxJO0VBQ0U7RUFDQTtBckRnb0xOO0FxRDNuTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRDZuTEo7O0FxRHpuTEE7QUFFRTtFQUNFO0VBQ0E7RUFDQTtBckQybkxKO0FxRHpuTEk7RUFFRTtBckQwbkxOO0FxRHZuTEk7RUFDRTtFQUNBO0FyRHluTE47QXFEdG5MSTtFQUNFO0VBQ0E7QXJEd25MTjs7QXFEbm5MQTtBQWtCQTtFQUNFO0VBQ0E7RWxEMkdJLDZDQUxJO0VrRHBHUjtFQUNBO0VBQ0E7RTlDNUpFO0VBQ0E7QVBrd0xKO0FxRHBtTEU7RUFDRTtBckRzbUxKOztBcURsbUxBO0VBQ0U7RUFDQTtBckRxbUxGOztBc0QxeExBO0VBQ0U7QXRENnhMRjs7QXNEMXhMQTtFQUNFO0F0RDZ4TEY7O0FzRDF4TEE7RUFDRTtFQUNBO0VBQ0E7QXRENnhMRjtBdURuekxFO0VBQ0U7RUFDQTtFQUNBO0F2RHF6TEo7O0FzRDl4TEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFaENsQkksc0NnQ21CSjtBdERpeUxGO0FzQmh6TE07RWdDUU47SWhDUFE7RXRCbXpMTjtBQUNGOztBc0RueUxBOzs7RUFHRTtBdERzeUxGOztBc0RueUxBOztFQUVFO0F0RHN5TEY7O0FzRG55TEE7O0VBRUU7QXREc3lMRjs7QXNEN3hMRTtFQUNFO0VBQ0E7RUFDQTtBdERneUxKO0FzRDd4TEU7OztFQUdFO0VBQ0E7QXREK3hMSjtBc0Q1eExFOztFQUVFO0VBQ0E7RWhDNURFLDJCZ0M2REY7QXREOHhMSjtBc0J2MUxNO0VnQ3FESjs7SWhDcERNO0V0QjIxTE47QUFDRjs7QXNEM3hMQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBLFVoRGtoRG1DO0VnRGpoRG5DO0VBQ0EsV2hEMUZTO0VnRDJGVDtFQUNBO0VBQ0E7RUFDQSxZaEQ2Z0RtQztFZ0JubUQvQiw4QmdDdUZKO0F0RDZ4TEY7QXNCaDNMTTtFZ0NrRU47O0loQ2pFUTtFdEJvM0xOO0FBQ0Y7QXNEaHlMRTs7O0VBRUUsV2hEcEdPO0VnRHFHUDtFQUNBO0VBQ0EsWWhEcWdEaUM7QU44eElyQzs7QXNEaHlMQTtFQUNFO0F0RG15TEY7O0FzRGh5TEE7RUFDRTtBdERteUxGOztBc0Q5eExBOztFQUVFO0VBQ0EsV2hEc2dEbUM7RWdEcmdEbkMsWWhEcWdEbUM7RWdEcGdEbkM7RUFDQTtFQUNBO0F0RGl5TEY7O0FzRDl4TEE7RUFDRTtBdERpeUxGOztBc0QveExBO0VBQ0U7QXREa3lMRjs7QXNEMXhMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSxpQmhEczlDbUM7RWdEcjlDbkM7RUFDQSxnQmhEbzlDbUM7QU53MElyQztBc0QxeExFO0VBQ0U7RUFDQTtFQUNBLFdoRG85Q2lDO0VnRG45Q2pDLFdoRG85Q2lDO0VnRG45Q2pDO0VBQ0EsaUJoRG85Q2lDO0VnRG45Q2pDLGdCaERtOUNpQztFZ0RsOUNqQztFQUNBO0VBQ0Esc0JoRGxLTztFZ0RtS1A7RUFDQTtFQUVBO0VBQ0E7RUFDQSxZaEQyOENpQztFZ0IzbUQvQiw2QmdDaUtGO0F0RDJ4TEo7QXNCeDdMTTtFZ0M0SUo7SWhDM0lNO0V0QjI3TE47QUFDRjtBc0Q3eExFO0VBQ0UsVWhEdzhDaUM7QU51MUlyQzs7QXNEdHhMQTtFQUNFO0VBQ0E7RUFDQSxlaERrOENtQztFZ0RqOENuQztFQUNBLG9CaEQrN0NtQztFZ0Q5N0NuQyx1QmhEODdDbUM7RWdENzdDbkMsV2hEN0xTO0VnRDhMVDtBdER5eExGOztBc0RueExFOztFQUVFLGdDaERtOENpQztBTm0xSXJDO0FzRG54TEU7RUFDRSxzQmhEaE1PO0FOcTlMWDtBc0RseExFO0VBQ0UsV2hEcE1PO0FOdzlMWDs7QXNEOXhMRTs7O0VBRUUsZ0NoRG04Q2lDO0FOKzFJckM7QXNEL3hMRTtFQUNFLHNCaERoTU87QU5pK0xYO0FzRDl4TEU7RUFDRSxXaERwTU87QU5vK0xYOztBd0RsL0xBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBeERvL0xGOztBd0RoL0xBO0VBQ0U7SUFBSztFeERvL0xMO0FBQ0Y7QXdEai9MQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7QXhEZy9MRjs7QXdENytMQTtFQUVFO0VBQ0E7RUFDQTtBeEQrK0xGOztBd0R0K0xBO0VBQ0U7SUFDRTtFeER5K0xGO0V3RHYrTEE7SUFDRTtJQUNBO0V4RHkrTEY7QUFDRjtBd0RyK0xBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7QXhEbytMRjs7QXdEaitMQTtFQUNFO0VBQ0E7QXhEbytMRjs7QXdEaCtMRTtFQUNFOztJQUVFO0V4RG0rTEo7QUFDRjtBeURuak1BO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RG9qTUY7O0Fjdi9MSTtFMkM1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0luQzVCQSwwQ21DOEJBO0V6RHFpTUo7QUFDRjtBc0Joa01NO0VtQ1lKO0luQ1hNO0V0Qm1rTU47QUFDRjtBYzdnTUk7RTJDNUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekQ0aU1OO0V5RHppTUk7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V6RDJpTU47RXlEeGlNSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V6RDBpTU47RXlEdmlNSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekR5aU1OO0V5RHRpTUk7SUFFRTtFekR1aU1OO0V5RHBpTUk7SUFHRTtFekRvaU1OO0FBQ0Y7QWNqa01JO0UyQy9CRjtJQWlFTTtJQUNBO0lBQ0E7RXpEbWlNTjtFeURqaU1NO0lBQ0U7RXpEbWlNUjtFeURoaU1NO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTtFekRpaU1SO0FBQ0Y7O0FjcmtNSTtFMkM1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0luQzVCQSwwQ21DOEJBO0V6RG1uTUo7QUFDRjtBc0I5b01NO0VtQ1lKO0luQ1hNO0V0QmlwTU47QUFDRjtBYzNsTUk7RTJDNUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekQwbk1OO0V5RHZuTUk7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V6RHluTU47RXlEdG5NSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V6RHduTU47RXlEcm5NSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekR1bk1OO0V5RHBuTUk7SUFFRTtFekRxbk1OO0V5RGxuTUk7SUFHRTtFekRrbk1OO0FBQ0Y7QWMvb01JO0UyQy9CRjtJQWlFTTtJQUNBO0lBQ0E7RXpEaW5NTjtFeUQvbU1NO0lBQ0U7RXpEaW5NUjtFeUQ5bU1NO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTtFekQrbU1SO0FBQ0Y7O0FjbnBNSTtFMkM1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0luQzVCQSwwQ21DOEJBO0V6RGlzTUo7QUFDRjtBc0I1dE1NO0VtQ1lKO0luQ1hNO0V0Qit0TU47QUFDRjtBY3pxTUk7RTJDNUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekR3c01OO0V5RHJzTUk7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V6RHVzTU47RXlEcHNNSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V6RHNzTU47RXlEbnNNSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekRxc01OO0V5RGxzTUk7SUFFRTtFekRtc01OO0V5RGhzTUk7SUFHRTtFekRnc01OO0FBQ0Y7QWM3dE1JO0UyQy9CRjtJQWlFTTtJQUNBO0lBQ0E7RXpEK3JNTjtFeUQ3ck1NO0lBQ0U7RXpEK3JNUjtFeUQ1ck1NO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTtFekQ2ck1SO0FBQ0Y7O0FjanVNSTtFMkM1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0luQzVCQSwwQ21DOEJBO0V6RCt3TUo7QUFDRjtBc0IxeU1NO0VtQ1lKO0luQ1hNO0V0QjZ5TU47QUFDRjtBY3Z2TUk7RTJDNUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekRzeE1OO0V5RG54TUk7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V6RHF4TU47RXlEbHhNSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V6RG94TU47RXlEanhNSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekRteE1OO0V5RGh4TUk7SUFFRTtFekRpeE1OO0V5RDl3TUk7SUFHRTtFekQ4d01OO0FBQ0Y7QWMzeU1JO0UyQy9CRjtJQWlFTTtJQUNBO0lBQ0E7RXpENndNTjtFeUQzd01NO0lBQ0U7RXpENndNUjtFeUQxd01NO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTtFekQyd01SO0FBQ0Y7O0FjL3lNSTtFMkM1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0luQzVCQSwwQ21DOEJBO0V6RDYxTUo7QUFDRjtBc0J4M01NO0VtQ1lKO0luQ1hNO0V0QjIzTU47QUFDRjtBY3IwTUk7RTJDNUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekRvMk1OO0V5RGoyTUk7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V6RG0yTU47RXlEaDJNSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V6RGsyTU47RXlELzFNSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekRpMk1OO0V5RDkxTUk7SUFFRTtFekQrMU1OO0V5RDUxTUk7SUFHRTtFekQ0MU1OO0FBQ0Y7QWN6M01JO0UyQy9CRjtJQWlFTTtJQUNBO0lBQ0E7RXpEMjFNTjtFeUR6MU1NO0lBQ0U7RXpEMjFNUjtFeUR4MU1NO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTtFekR5MU1SO0FBQ0Y7O0F5RHo2TUU7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VuQzVCQSwwQ21DOEJBO0F6RDA2TU47QXNCcDhNTTtFbUNZSjtJbkNYTTtFdEJ1OE1OO0FBQ0Y7QXlENzZNTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpEKzZNUjtBeUQ1Nk1NO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekQ4Nk1SO0F5RDM2TU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekQ2Nk1SO0F5RDE2TU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpENDZNUjtBeUR6Nk1NO0VBRUU7QXpEMDZNUjtBeUR2Nk1NO0VBR0U7QXpEdTZNUjs7QXlENTRNQTtFUHBIRTtFQUNBO0VBQ0E7RUFDQSxhNUMwbUNrQztFNEN6bUNsQztFQUNBO0VBQ0Esc0I1Q1VTO0FOMC9NWDtBa0RqZ05FO0VBQVM7QWxEb2dOWDtBa0RuZ05FO0VBQVMsWTVDbStDeUI7QU5taUtwQzs7QXlEeDVNQTtFQUNFO0VBQ0E7RUFDQTtBekQyNU1GO0F5RHo1TUU7RUFDRTtFQUNBO0F6RDI1TUo7O0F5RHY1TUE7RUFDRTtFQUNBO0F6RDA1TUY7O0F5RHY1TUE7RUFDRTtFQUNBO0VBQ0E7QXpEMDVNRjs7QTBEdmlOQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZcERnekNrQztBTjB2S3BDO0EwRHhpTkU7RUFDRTtFQUNBO0ExRDBpTko7O0EwRHJpTkE7RUFDRTtBMUR3aU5GOztBMERyaU5BO0VBQ0U7QTFEd2lORjs7QTBEcmlOQTtFQUNFO0ExRHdpTkY7O0EwRG5pTkU7RUFDRTtBMURzaU5KOztBMERsaU5BO0VBQ0U7SUFDRSxZcERteENnQztFTmt4S2xDO0FBQ0Y7QTBEbGlOQTtFQUNFO0VBQUE7RUFDQTtFQUFBO0VBQ0E7QTFEb2lORjs7QTBEamlOQTtFQUNFO0lBQ0U7SUFBQTtFMURvaU5GO0FBQ0Y7QXVEbmxORTtFQUNFO0VBQ0E7RUFDQTtBdkRxbE5KOztBMkR4bE5FO0VBQ0U7RUFDQTtBM0QybE5KOztBMkQ3bE5FO0VBQ0U7RUFDQTtBM0RnbU5KOztBMkRsbU5FO0VBQ0U7RUFDQTtBM0RxbU5KOztBMkR2bU5FO0VBQ0U7RUFDQTtBM0QwbU5KOztBMkQ1bU5FO0VBQ0U7RUFDQTtBM0QrbU5KOztBMkRqbk5FO0VBQ0U7RUFDQTtBM0Rvbk5KOztBMkR0bk5FO0VBQ0U7RUFDQTtBM0R5bk5KOztBMkQzbk5FO0VBQ0U7RUFDQTtBM0Q4bk5KOztBNERob05FO0VBQ0U7RUFDQTtFQUFBO0E1RG1vTko7QTREaG9OTTtFQUdFO0VBQ0E7RUFBQTtBNURnb05SOztBNER6b05FO0VBQ0U7RUFDQTtFQUFBO0E1RDRvTko7QTREem9OTTtFQUdFO0VBQ0E7RUFBQTtBNUR5b05SOztBNERscE5FO0VBQ0U7RUFDQTtFQUFBO0E1RHFwTko7QTREbHBOTTtFQUdFO0VBQ0E7RUFBQTtBNURrcE5SOztBNEQzcE5FO0VBQ0U7RUFDQTtFQUFBO0E1RDhwTko7QTREM3BOTTtFQUdFO0VBQ0E7RUFBQTtBNUQycE5SOztBNERwcU5FO0VBQ0U7RUFDQTtFQUFBO0E1RHVxTko7QTREcHFOTTtFQUdFO0VBQ0E7RUFBQTtBNURvcU5SOztBNEQ3cU5FO0VBQ0U7RUFDQTtFQUFBO0E1RGdyTko7QTREN3FOTTtFQUdFO0VBQ0E7RUFBQTtBNUQ2cU5SOztBNER0ck5FO0VBQ0U7RUFDQTtFQUFBO0E1RHlyTko7QTREdHJOTTtFQUdFO0VBQ0E7RUFBQTtBNURzck5SOztBNEQvck5FO0VBQ0U7RUFDQTtFQUFBO0E1RGtzTko7QTREL3JOTTtFQUdFO0VBQ0E7RUFBQTtBNUQrck5SOztBNER4ck5BO0VBQ0U7RUFDQTtFQUFBO0E1RDJyTkY7QTREeHJOSTtFQUVFO0VBQ0E7RUFBQTtBNUR5ck5OOztBNkRudE5BO0VBQ0U7RUFFQTtBN0RxdE5GOztBOER4dE5BO0VBQ0U7RUFDQSxheEQ2YzRCO0V3RDVjNUI7RUFDQTtFQUFBO0VBQ0EsNkJ4RDJjNEI7RXdEMWM1QjtFQUFBO0E5RDJ0TkY7QThEenRORTtFQUNFO0VBQ0EsVXhEdWMwQjtFd0R0YzFCLFd4RHNjMEI7RXdEcmMxQjtFeENJRSxzQ3dDSEY7QTlEMnROSjtBc0JwdE5NO0V3Q1pKO0l4Q2FNO0V0QnV0Tk47QUFDRjs7QThEenROSTtFQUNFO0E5RDR0Tk47O0ErRC91TkE7RUFDRTtFQUNBO0EvRGt2TkY7QStEaHZORTtFQUNFO0VBQ0E7RUFDQTtBL0Rrdk5KO0ErRC91TkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRGl2Tko7O0ErRDV1TkU7RUFDRTtBL0QrdU5KOztBK0Rodk5FO0VBQ0U7QS9EbXZOSjs7QStEcHZORTtFQUNFO0EvRHV2Tko7O0ErRHh2TkU7RUFDRTtBL0Qydk5KOztBZ0VoeE5BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhMUR1bUNrQztBTjRxTHBDOztBZ0VoeE5BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhMUQrbENrQztBTm9yTHBDOztBZ0Uzd05JO0VBQ0U7RUFBQTtFQUNBO0VBQ0EsYTFEbWxDOEI7QU4yckxwQzs7QWdFM3dOSTtFQUNFO0VBQUE7RUFDQTtFQUNBLGExRDZrQzhCO0FOaXNMcEM7O0FjL3VOSTtFa0R4Q0E7SUFDRTtJQUFBO0lBQ0E7SUFDQSxhMURtbEM4QjtFTndzTGxDO0VnRXh4TkU7SUFDRTtJQUFBO0lBQ0E7SUFDQSxhMUQ2a0M4QjtFTjZzTGxDO0FBQ0Y7QWM1dk5JO0VrRHhDQTtJQUNFO0lBQUE7SUFDQTtJQUNBLGExRG1sQzhCO0VOb3RMbEM7RWdFcHlORTtJQUNFO0lBQUE7SUFDQTtJQUNBLGExRDZrQzhCO0VOeXRMbEM7QUFDRjtBY3h3Tkk7RWtEeENBO0lBQ0U7SUFBQTtJQUNBO0lBQ0EsYTFEbWxDOEI7RU5ndUxsQztFZ0Voek5FO0lBQ0U7SUFBQTtJQUNBO0lBQ0EsYTFENmtDOEI7RU5xdUxsQztBQUNGO0FjcHhOSTtFa0R4Q0E7SUFDRTtJQUFBO0lBQ0E7SUFDQSxhMURtbEM4QjtFTjR1TGxDO0VnRTV6TkU7SUFDRTtJQUFBO0lBQ0E7SUFDQSxhMUQ2a0M4QjtFTml2TGxDO0FBQ0Y7QWNoeU5JO0VrRHhDQTtJQUNFO0lBQUE7SUFDQTtJQUNBLGExRG1sQzhCO0VOd3ZMbEM7RWdFeDBORTtJQUNFO0lBQUE7SUFDQTtJQUNBLGExRDZrQzhCO0VONnZMbEM7QUFDRjtBaUUxMk5BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpFNDJORjs7QWlFejJOQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqRTQyTkY7O0FrRXAzTkE7O0VDSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkVxM05GO0FtRWwzTkU7O0VBQ0U7QW5FcTNOSjs7QW9FbjRORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxVOURnY3NDO0U4RC9idEM7QXBFczROSjs7QXFFOTROQTtFQ0FFO0VBQ0E7RUFDQTtBdEVrNU5GOztBdUV4NU5BO0VBQ0U7RUFDQTtFQUNBLDZCakVpc0I0QjtFaUVoc0I1QjtFQUNBO0VBQ0EsYWpFMnJCNEI7QU5ndU05Qjs7QXdFLzFOUTtFQU9JO0F4RTQxTlo7O0F3RW4yTlE7RUFPSTtBeEVnMk5aOztBd0V2Mk5RO0VBT0k7QXhFbzJOWjs7QXdFMzJOUTtFQU9JO0F4RXcyTlo7O0F3RS8yTlE7RUFPSTtBeEU0Mk5aOztBd0VuM05RO0VBT0k7QXhFZzNOWjs7QXdFdjNOUTtFQU9JO0F4RW8zTlo7O0F3RTMzTlE7RUFPSTtBeEV3M05aOztBd0UvM05RO0VBT0k7QXhFNDNOWjs7QXdFbjROUTtFQU9JO0VBQUE7QXhFZzROWjs7QXdFdjROUTtFQU9JO0VBQUE7QXhFbzROWjs7QXdFMzROUTtFQU9JO0VBQUE7QXhFdzROWjs7QXdFLzROUTtFQU9JO0VBQUE7QXhFNDROWjs7QXdFbjVOUTtFQU9JO0VBQUE7QXhFZzVOWjs7QXdFdjVOUTtFQU9JO0F4RW81Tlo7O0F3RTM1TlE7RUFPSTtBeEV3NU5aOztBd0UvNU5RO0VBT0k7QXhFNDVOWjs7QXdFbjZOUTtFQU9JO0F4RWc2Tlo7O0F3RXY2TlE7RUFPSTtBeEVvNk5aOztBd0UzNk5RO0VBT0k7QXhFdzZOWjs7QXdFLzZOUTtFQU9JO0F4RTQ2Tlo7O0F3RW43TlE7RUFPSTtBeEVnN05aOztBd0V2N05RO0VBT0k7QXhFbzdOWjs7QXdFMzdOUTtFQU9JO0F4RXc3Tlo7O0F3RS83TlE7RUFPSTtBeEU0N05aOztBd0VuOE5RO0VBT0k7QXhFZzhOWjs7QXdFdjhOUTtFQU9JO0F4RW84Tlo7O0F3RTM4TlE7RUFPSTtBeEV3OE5aOztBd0UvOE5RO0VBT0k7QXhFNDhOWjs7QXdFbjlOUTtFQU9JO0F4RWc5Tlo7O0F3RXY5TlE7RUFPSTtBeEVvOU5aOztBd0UzOU5RO0VBT0k7QXhFdzlOWjs7QXdFLzlOUTtFQU9JO0F4RTQ5Tlo7O0F3RW4rTlE7RUFPSTtBeEVnK05aOztBd0V2K05RO0VBT0k7QXhFbytOWjs7QXdFMytOUTtFQU9JO0F4RXcrTlo7O0F3RS8rTlE7RUFPSTtBeEU0K05aOztBd0VuL05RO0VBT0k7QXhFZy9OWjs7QXdFdi9OUTtFQU9JO0F4RW8vTlo7O0F3RTMvTlE7RUFPSTtBeEV3L05aOztBd0UvL05RO0VBT0k7QXhFNC9OWjs7QXdFbmdPUTtFQU9JO0F4RWdnT1o7O0F3RXZnT1E7RUFPSTtBeEVvZ09aOztBd0UzZ09RO0VBT0k7QXhFd2dPWjs7QXdFL2dPUTtFQU9JO0F4RTRnT1o7O0F3RW5oT1E7RUFPSTtBeEVnaE9aOztBd0VqaU9RO0VBQ0U7QXhFb2lPVjs7QXdFcmlPUTtFQUNFO0F4RXdpT1Y7O0F3RXppT1E7RUFDRTtBeEU0aU9WOztBd0U3aU9RO0VBQ0U7QXhFZ2pPVjs7QXdFampPUTtFQUNFO0F4RW9qT1Y7O0F3RXJqT1E7RUFDRTtBeEV3ak9WOztBd0V6ak9RO0VBQ0U7QXhFNGpPVjs7QXdFN2pPUTtFQUNFO0F4RWdrT1Y7O0F3RXZqT1E7RUFPSTtBeEVvak9aOztBd0Uzak9RO0VBT0k7QXhFd2pPWjs7QXdFL2pPUTtFQU9JO0F4RTRqT1o7O0F3RW5rT1E7RUFPSTtBeEVna09aOztBd0V2a09RO0VBT0k7RUFBQTtBeEVva09aOztBd0Uza09RO0VBT0k7QXhFd2tPWjs7QXdFL2tPUTtFQU9JO0F4RTRrT1o7O0F3RW5sT1E7RUFPSTtBeEVnbE9aOztBd0V2bE9RO0VBT0k7QXhFb2xPWjs7QXdFM2xPUTtFQU9JO0F4RXdsT1o7O0F3RS9sT1E7RUFPSTtBeEU0bE9aOztBd0VubU9RO0VBT0k7QXhFZ21PWjs7QXdFdm1PUTtFQU9JO0F4RW9tT1o7O0F3RTNtT1E7RUFPSTtBeEV3bU9aOztBd0UvbU9RO0VBT0k7QXhFNG1PWjs7QXdFbm5PUTtFQU9JO0F4RWduT1o7O0F3RXZuT1E7RUFPSTtBeEVvbk9aOztBd0Uzbk9RO0VBT0k7QXhFd25PWjs7QXdFL25PUTtFQU9JO0F4RTRuT1o7O0F3RW5vT1E7RUFPSTtBeEVnb09aOztBd0V2b09RO0VBT0k7QXhFb29PWjs7QXdFM29PUTtFQU9JO0F4RXdvT1o7O0F3RS9vT1E7RUFPSTtBeEU0b09aOztBd0VucE9RO0VBT0k7QXhFZ3BPWjs7QXdFdnBPUTtFQU9JO0F4RW9wT1o7O0F3RTNwT1E7RUFPSTtBeEV3cE9aOztBd0UvcE9RO0VBT0k7QXhFNHBPWjs7QXdFbnFPUTtFQU9JO0F4RWdxT1o7O0F3RXZxT1E7RUFPSTtBeEVvcU9aOztBd0UzcU9RO0VBT0k7QXhFd3FPWjs7QXdFL3FPUTtFQUlRO0VBR0o7QXhFNnFPWjs7QXdFcHJPUTtFQUlRO0VBR0o7QXhFa3JPWjs7QXdFenJPUTtFQUlRO0VBR0o7QXhFdXJPWjs7QXdFOXJPUTtFQUlRO0VBR0o7QXhFNHJPWjs7QXdFbnNPUTtFQUlRO0VBR0o7QXhFaXNPWjs7QXdFeHNPUTtFQUlRO0VBR0o7QXhFc3NPWjs7QXdFN3NPUTtFQUlRO0VBR0o7QXhFMnNPWjs7QXdFbHRPUTtFQUlRO0VBR0o7QXhFZ3RPWjs7QXdFdnRPUTtFQUlRO0VBR0o7QXhFcXRPWjs7QXdFNXRPUTtFQUlRO0VBR0o7QXhFMHRPWjs7QXdFanVPUTtFQU9JO0F4RTh0T1o7O0F3RXJ1T1E7RUFPSTtBeEVrdU9aOztBd0V6dU9RO0VBT0k7QXhFc3VPWjs7QXdFN3VPUTtFQU9JO0F4RTB1T1o7O0F3RWp2T1E7RUFPSTtBeEU4dU9aOztBd0Vydk9RO0VBT0k7QXhFa3ZPWjs7QXdFenZPUTtFQU9JO0F4RXN2T1o7O0F3RTd2T1E7RUFPSTtBeEUwdk9aOztBd0Vqd09RO0VBT0k7QXhFOHZPWjs7QXdFcndPUTtFQU9JO0F4RWt3T1o7O0F3RXp3T1E7RUFPSTtBeEVzd09aOztBd0U3d09RO0VBT0k7QXhFMHdPWjs7QXdFanhPUTtFQU9JO0F4RTh3T1o7O0F3RS94T1E7RUFDRTtBeEVreU9WOztBd0VueU9RO0VBQ0U7QXhFc3lPVjs7QXdFdnlPUTtFQUNFO0F4RTB5T1Y7O0F3RTN5T1E7RUFDRTtBeEU4eU9WOztBd0UveU9RO0VBQ0U7QXhFa3pPVjs7QXdFenlPUTtFQU9JO0F4RXN5T1o7O0F3RTd5T1E7RUFPSTtBeEUweU9aOztBd0Vqek9RO0VBT0k7QXhFOHlPWjs7QXdFcnpPUTtFQU9JO0F4RWt6T1o7O0F3RXp6T1E7RUFPSTtBeEVzek9aOztBd0U3ek9RO0VBT0k7QXhFMHpPWjs7QXdFajBPUTtFQU9JO0F4RTh6T1o7O0F3RXIwT1E7RUFPSTtBeEVrME9aOztBd0V6ME9RO0VBT0k7QXhFczBPWjs7QXdFNzBPUTtFQU9JO0F4RTAwT1o7O0F3RWoxT1E7RUFPSTtBeEU4ME9aOztBd0VyMU9RO0VBT0k7QXhFazFPWjs7QXdFejFPUTtFQU9JO0F4RXMxT1o7O0F3RTcxT1E7RUFPSTtBeEUwMU9aOztBd0VqMk9RO0VBT0k7QXhFODFPWjs7QXdFcjJPUTtFQU9JO0F4RWsyT1o7O0F3RXoyT1E7RUFPSTtBeEVzMk9aOztBd0U3Mk9RO0VBT0k7QXhFMDJPWjs7QXdFajNPUTtFQU9JO0F4RTgyT1o7O0F3RXIzT1E7RUFPSTtBeEVrM09aOztBd0V6M09RO0VBT0k7QXhFczNPWjs7QXdFNzNPUTtFQU9JO0F4RTAzT1o7O0F3RWo0T1E7RUFPSTtBeEU4M09aOztBd0VyNE9RO0VBT0k7QXhFazRPWjs7QXdFejRPUTtFQU9JO0F4RXM0T1o7O0F3RTc0T1E7RUFPSTtBeEUwNE9aOztBd0VqNU9RO0VBT0k7QXhFODRPWjs7QXdFcjVPUTtFQU9JO0F4RWs1T1o7O0F3RXo1T1E7RUFPSTtBeEVzNU9aOztBd0U3NU9RO0VBT0k7QXhFMDVPWjs7QXdFajZPUTtFQU9JO0F4RTg1T1o7O0F3RXI2T1E7RUFPSTtBeEVrNk9aOztBd0V6Nk9RO0VBT0k7QXhFczZPWjs7QXdFNzZPUTtFQU9JO0F4RTA2T1o7O0F3RWo3T1E7RUFPSTtBeEU4Nk9aOztBd0VyN09RO0VBT0k7QXhFazdPWjs7QXdFejdPUTtFQU9JO0F4RXM3T1o7O0F3RTc3T1E7RUFPSTtBeEUwN09aOztBd0VqOE9RO0VBT0k7QXhFODdPWjs7QXdFcjhPUTtFQU9JO0F4RWs4T1o7O0F3RXo4T1E7RUFPSTtBeEVzOE9aOztBd0U3OE9RO0VBT0k7QXhFMDhPWjs7QXdFajlPUTtFQU9JO0F4RTg4T1o7O0F3RXI5T1E7RUFPSTtBeEVrOU9aOztBd0V6OU9RO0VBT0k7QXhFczlPWjs7QXdFNzlPUTtFQU9JO0F4RTA5T1o7O0F3RWorT1E7RUFPSTtBeEU4OU9aOztBd0VyK09RO0VBT0k7QXhFaytPWjs7QXdFeitPUTtFQU9JO0F4RXMrT1o7O0F3RTcrT1E7RUFPSTtBeEUwK09aOztBd0VqL09RO0VBT0k7QXhFOCtPWjs7QXdFci9PUTtFQU9JO0F4RWsvT1o7O0F3RXovT1E7RUFPSTtBeEVzL09aOztBd0U3L09RO0VBT0k7QXhFMC9PWjs7QXdFamdQUTtFQU9JO0F4RTgvT1o7O0F3RXJnUFE7RUFPSTtBeEVrZ1BaOztBd0V6Z1BRO0VBT0k7QXhFc2dQWjs7QXdFN2dQUTtFQU9JO0F4RTBnUFo7O0F3RWpoUFE7RUFPSTtBeEU4Z1BaOztBd0VyaFBRO0VBT0k7QXhFa2hQWjs7QXdFemhQUTtFQU9JO0F4RXNoUFo7O0F3RTdoUFE7RUFPSTtBeEUwaFBaOztBd0VqaVBRO0VBT0k7QXhFOGhQWjs7QXdFcmlQUTtFQU9JO0F4RWtpUFo7O0F3RXppUFE7RUFPSTtBeEVzaVBaOztBd0U3aVBRO0VBT0k7QXhFMGlQWjs7QXdFampQUTtFQU9JO0VBQUE7QXhFK2lQWjs7QXdFdGpQUTtFQU9JO0VBQUE7QXhFb2pQWjs7QXdFM2pQUTtFQU9JO0VBQUE7QXhFeWpQWjs7QXdFaGtQUTtFQU9JO0VBQUE7QXhFOGpQWjs7QXdFcmtQUTtFQU9JO0VBQUE7QXhFbWtQWjs7QXdFMWtQUTtFQU9JO0VBQUE7QXhFd2tQWjs7QXdFL2tQUTtFQU9JO0VBQUE7QXhFNmtQWjs7QXdFcGxQUTtFQU9JO0VBQUE7QXhFa2xQWjs7QXdFemxQUTtFQU9JO0VBQUE7QXhFdWxQWjs7QXdFOWxQUTtFQU9JO0VBQUE7QXhFNGxQWjs7QXdFbm1QUTtFQU9JO0VBQUE7QXhFaW1QWjs7QXdFeG1QUTtFQU9JO0VBQUE7QXhFc21QWjs7QXdFN21QUTtFQU9JO0VBQUE7QXhFMm1QWjs7QXdFbG5QUTtFQU9JO0VBQUE7QXhFZ25QWjs7QXdFdm5QUTtFQU9JO0F4RW9uUFo7O0F3RTNuUFE7RUFPSTtBeEV3blBaOztBd0UvblBRO0VBT0k7QXhFNG5QWjs7QXdFbm9QUTtFQU9JO0F4RWdvUFo7O0F3RXZvUFE7RUFPSTtBeEVvb1BaOztBd0Uzb1BRO0VBT0k7QXhFd29QWjs7QXdFL29QUTtFQU9JO0F4RTRvUFo7O0F3RW5wUFE7RUFPSTtBeEVncFBaOztBd0V2cFBRO0VBT0k7QXhFb3BQWjs7QXdFM3BQUTtFQU9JO0F4RXdwUFo7O0F3RS9wUFE7RUFPSTtBeEU0cFBaOztBd0VucVBRO0VBT0k7QXhFZ3FQWjs7QXdFdnFQUTtFQU9JO0F4RW9xUFo7O0F3RTNxUFE7RUFPSTtBeEV3cVBaOztBd0UvcVBRO0VBT0k7QXhFNHFQWjs7QXdFbnJQUTtFQU9JO0F4RWdyUFo7O0F3RXZyUFE7RUFPSTtBeEVvclBaOztBd0UzclBRO0VBT0k7QXhFd3JQWjs7QXdFL3JQUTtFQU9JO0F4RTRyUFo7O0F3RW5zUFE7RUFPSTtBeEVnc1BaOztBd0V2c1BRO0VBT0k7QXhFb3NQWjs7QXdFM3NQUTtFQU9JO0F4RXdzUFo7O0F3RS9zUFE7RUFPSTtBeEU0c1BaOztBd0VudFBRO0VBT0k7QXhFZ3RQWjs7QXdFdnRQUTtFQU9JO0F4RW90UFo7O0F3RTN0UFE7RUFPSTtBeEV3dFBaOztBd0UvdFBRO0VBT0k7QXhFNHRQWjs7QXdFbnVQUTtFQU9JO0F4RWd1UFo7O0F3RXZ1UFE7RUFPSTtBeEVvdVBaOztBd0UzdVBRO0VBT0k7QXhFd3VQWjs7QXdFL3VQUTtFQU9JO0F4RTR1UFo7O0F3RW52UFE7RUFPSTtBeEVndlBaOztBd0V2dlBRO0VBT0k7QXhFb3ZQWjs7QXdFM3ZQUTtFQU9JO0F4RXd2UFo7O0F3RS92UFE7RUFPSTtFQUFBO0F4RTZ2UFo7O0F3RXB3UFE7RUFPSTtFQUFBO0F4RWt3UFo7O0F3RXp3UFE7RUFPSTtFQUFBO0F4RXV3UFo7O0F3RTl3UFE7RUFPSTtFQUFBO0F4RTR3UFo7O0F3RW54UFE7RUFPSTtFQUFBO0F4RWl4UFo7O0F3RXh4UFE7RUFPSTtFQUFBO0F4RXN4UFo7O0F3RTd4UFE7RUFPSTtFQUFBO0F4RTJ4UFo7O0F3RWx5UFE7RUFPSTtFQUFBO0F4RWd5UFo7O0F3RXZ5UFE7RUFPSTtFQUFBO0F4RXF5UFo7O0F3RTV5UFE7RUFPSTtFQUFBO0F4RTB5UFo7O0F3RWp6UFE7RUFPSTtFQUFBO0F4RSt5UFo7O0F3RXR6UFE7RUFPSTtFQUFBO0F4RW96UFo7O0F3RTN6UFE7RUFPSTtBeEV3elBaOztBd0UvelBRO0VBT0k7QXhFNHpQWjs7QXdFbjBQUTtFQU9JO0F4RWcwUFo7O0F3RXYwUFE7RUFPSTtBeEVvMFBaOztBd0UzMFBRO0VBT0k7QXhFdzBQWjs7QXdFLzBQUTtFQU9JO0F4RTQwUFo7O0F3RW4xUFE7RUFPSTtBeEVnMVBaOztBd0V2MVBRO0VBT0k7QXhFbzFQWjs7QXdFMzFQUTtFQU9JO0F4RXcxUFo7O0F3RS8xUFE7RUFPSTtBeEU0MVBaOztBd0VuMlBRO0VBT0k7QXhFZzJQWjs7QXdFdjJQUTtFQU9JO0F4RW8yUFo7O0F3RTMyUFE7RUFPSTtBeEV3MlBaOztBd0UvMlBRO0VBT0k7QXhFNDJQWjs7QXdFbjNQUTtFQU9JO0F4RWczUFo7O0F3RXYzUFE7RUFPSTtBeEVvM1BaOztBd0UzM1BRO0VBT0k7QXhFdzNQWjs7QXdFLzNQUTtFQU9JO0F4RTQzUFo7O0F3RW40UFE7RUFPSTtBeEVnNFBaOztBd0V2NFBRO0VBT0k7QXhFbzRQWjs7QXdFMzRQUTtFQU9JO0F4RXc0UFo7O0F3RS80UFE7RUFPSTtBeEU0NFBaOztBd0VuNVBRO0VBT0k7QXhFZzVQWjs7QXdFdjVQUTtFQU9JO0F4RW81UFo7O0F3RTM1UFE7RUFPSTtBeEV3NVBaOztBd0UvNVBRO0VBT0k7QXhFNDVQWjs7QXdFbjZQUTtFQU9JO0F4RWc2UFo7O0F3RXY2UFE7RUFPSTtBeEVvNlBaOztBd0UzNlBRO0VBT0k7QXhFdzZQWjs7QXdFLzZQUTtFQU9JO0F4RTQ2UFo7O0F3RW43UFE7RUFPSTtBeEVnN1BaOztBd0V2N1BRO0VBT0k7QXhFbzdQWjs7QXdFMzdQUTtFQU9JO0F4RXc3UFo7O0F3RS83UFE7RUFPSTtBeEU0N1BaOztBd0VuOFBRO0VBT0k7QXhFZzhQWjs7QXdFdjhQUTtFQU9JO0F4RW84UFo7O0F3RTM4UFE7RUFPSTtFQUFBO0F4RXc4UFo7O0F3RS84UFE7RUFPSTtFQUFBO0F4RTQ4UFo7O0F3RW45UFE7RUFPSTtFQUFBO0F4RWc5UFo7O0F3RXY5UFE7RUFPSTtFQUFBO0F4RW85UFo7O0F3RTM5UFE7RUFPSTtFQUFBO0F4RXc5UFo7O0F3RS85UFE7RUFPSTtFQUFBO0F4RTQ5UFo7O0F3RW4rUFE7RUFPSTtBeEVnK1BaOztBd0V2K1BRO0VBT0k7QXhFbytQWjs7QXdFMytQUTtFQU9JO0F4RXcrUFo7O0F3RS8rUFE7RUFPSTtBeEU0K1BaOztBd0VuL1BRO0VBT0k7QXhFZy9QWjs7QXdFdi9QUTtFQU9JO0F4RW8vUFo7O0F3RTMvUFE7RUFPSTtBeEV3L1BaOztBd0UvL1BRO0VBT0k7QXhFNC9QWjs7QXdFbmdRUTtFQU9JO0F4RWdnUVo7O0F3RXZnUVE7RUFPSTtBeEVvZ1FaOztBd0UzZ1FRO0VBT0k7QXhFd2dRWjs7QXdFL2dRUTtFQU9JO0F4RTRnUVo7O0F3RW5oUVE7RUFPSTtBeEVnaFFaOztBd0V2aFFRO0VBT0k7QXhFb2hRWjs7QXdFM2hRUTtFQU9JO0F4RXdoUVo7O0F3RS9oUVE7RUFPSTtBeEU0aFFaOztBd0VuaVFRO0VBT0k7QXhFZ2lRWjs7QXdFdmlRUTtFQU9JO0F4RW9pUVo7O0F3RTNpUVE7RUFPSTtBeEV3aVFaOztBd0UvaVFRO0VBT0k7QXhFNGlRWjs7QXdFbmpRUTtFQU9JO0F4RWdqUVo7O0F3RXZqUVE7RUFPSTtBeEVvalFaOztBd0UzalFRO0VBT0k7QXhFd2pRWjs7QXdFL2pRUTtFQU9JO0F4RTRqUVo7O0F3RW5rUVE7RUFPSTtBeEVna1FaOztBd0V2a1FRO0VBT0k7QXhFb2tRWjs7QXdFM2tRUTtFQU9JO0F4RXdrUVo7O0F3RS9rUVE7RUFPSTtBeEU0a1FaOztBd0VubFFRO0VBT0k7QXhFZ2xRWjs7QXdFdmxRUTtFQU9JO0F4RW9sUVo7O0F3RTNsUVE7RUFPSTtBeEV3bFFaOztBd0U3bVFRO0FBY0E7RUFPSTtFQUFBO0F4RThsUVo7O0F3RTNrUVE7QUExQkE7RUFJUTtFQUdKO0F4RW9tUVo7O0F3RTNtUVE7RUFJUTtFQUdKO0F4RXltUVo7O0F3RWhuUVE7RUFJUTtFQUdKO0F4RThtUVo7O0F3RXJuUVE7RUFJUTtFQUdKO0F4RW1uUVo7O0F3RTFuUVE7RUFJUTtFQUdKO0F4RXduUVo7O0F3RS9uUVE7RUFJUTtFQUdKO0F4RTZuUVo7O0F3RXBvUVE7RUFJUTtFQUdKO0F4RWtvUVo7O0F3RXpvUVE7RUFJUTtFQUdKO0F4RXVvUVo7O0F3RTlvUVE7RUFJUTtFQUdKO0F4RTRvUVo7O0F3RW5wUVE7RUFJUTtFQUdKO0F4RWlwUVo7O0F3RXhwUVE7RUFJUTtFQUdKO0F4RXNwUVo7O0F3RTdwUVE7RUFJUTtFQUdKO0F4RTJwUVo7O0F3RWxxUVE7RUFJUTtFQUdKO0F4RWdxUVo7O0F3RXZxUVE7RUFJUTtFQUdKO0F4RXFxUVo7O0F3RTVxUVE7RUFJUTtFQUdKO0F4RTBxUVo7O0F3RWpyUVE7RUFJUTtFQUdKO0F4RStxUVo7O0F3RXRyUVE7RUFJUTtFQUdKO0F4RW9yUVo7O0F3RTNyUVE7RUFJUTtFQUdKO0F4RXlyUVo7O0F3RTFzUVE7RUFDRTtBeEU2c1FWOztBd0U5c1FRO0VBQ0U7QXhFaXRRVjs7QXdFbHRRUTtFQUNFO0F4RXF0UVY7O0F3RXR0UVE7RUFDRTtBeEV5dFFWOztBd0VodFFRO0VBT0k7QXhFNnNRWjs7QXdFcHRRUTtFQU9JO0F4RWl0UVo7O0F3RXh0UVE7RUFPSTtBeEVxdFFaOztBd0U1dFFRO0VBT0k7QXhFeXRRWjs7QXdFaHVRUTtFQU9JO0F4RTZ0UVo7O0F3RXB1UVE7RUFPSTtBeEVpdVFaOztBd0V4dVFRO0VBT0k7QXhFcXVRWjs7QXdFNXVRUTtFQU9JO0F4RXl1UVo7O0F3RTF2UVE7RUFDRTtBeEU2dlFWOztBd0V6dlFVO0VBQ0U7QXhFNHZRWjs7QXdFbHdRUTtFQUNFO0F4RXF3UVY7O0F3RWp3UVU7RUFDRTtBeEVvd1FaOztBd0Uxd1FRO0VBQ0U7QXhFNndRVjs7QXdFendRVTtFQUNFO0F4RTR3UVo7O0F3RWx4UVE7RUFDRTtBeEVxeFFWOztBd0VqeFFVO0VBQ0U7QXhFb3hRWjs7QXdFMXhRUTtFQUNFO0F4RTZ4UVY7O0F3RXp4UVU7RUFDRTtBeEU0eFFaOztBd0V4eFFRO0VBT0k7QXhFcXhRWjs7QXdFaHhRVTtFQU9JO0F4RTZ3UWQ7O0F3RWh5UVE7RUFPSTtBeEU2eFFaOztBd0V4eFFVO0VBT0k7QXhFcXhRZDs7QXdFeHlRUTtFQU9JO0F4RXF5UVo7O0F3RWh5UVU7RUFPSTtBeEU2eFFkOztBd0VoelFRO0VBSVE7RUFHSjtFQUFBO0F4RTh5UVo7O0F3RXJ6UVE7RUFJUTtFQUdKO0VBQUE7QXhFbXpRWjs7QXdFMXpRUTtFQUlRO0VBR0o7RUFBQTtBeEV3elFaOztBd0UvelFRO0VBSVE7RUFHSjtFQUFBO0F4RTZ6UVo7O0F3RXAwUVE7RUFJUTtFQUdKO0VBQUE7QXhFazBRWjs7QXdFejBRUTtFQUlRO0VBR0o7RUFBQTtBeEV1MFFaOztBd0U5MFFRO0VBSVE7RUFHSjtFQUFBO0F4RTQwUVo7O0F3RW4xUVE7RUFJUTtFQUdKO0VBQUE7QXhFaTFRWjs7QXdFeDFRUTtFQUlRO0VBR0o7RUFBQTtBeEVzMVFaOztBd0V2MlFRO0VBQ0U7QXhFMDJRVjs7QXdFdDJRVTtFQUNFO0F4RXkyUVo7O0F3RS8yUVE7RUFDRTtBeEVrM1FWOztBd0U5MlFVO0VBQ0U7QXhFaTNRWjs7QXdFdjNRUTtFQUNFO0F4RTAzUVY7O0F3RXQzUVU7RUFDRTtBeEV5M1FaOztBd0UvM1FRO0VBQ0U7QXhFazRRVjs7QXdFOTNRVTtFQUNFO0F4RWk0UVo7O0F3RXY0UVE7RUFDRTtBeEUwNFFWOztBd0V0NFFVO0VBQ0U7QXhFeTRRWjs7QXdFLzRRUTtFQUNFO0F4RWs1UVY7O0F3RTk0UVU7RUFDRTtBeEVpNVFaOztBd0U3NFFRO0VBSVE7RUFHSjtBeEUyNFFaOztBd0VsNVFRO0VBSVE7RUFHSjtBeEVnNVFaOztBd0V2NVFRO0VBSVE7RUFHSjtBeEVxNVFaOztBd0U1NVFRO0VBSVE7RUFHSjtBeEUwNVFaOztBd0VqNlFRO0VBSVE7RUFHSjtBeEUrNVFaOztBd0V0NlFRO0VBSVE7RUFHSjtBeEVvNlFaOztBd0UzNlFRO0VBSVE7RUFHSjtBeEV5NlFaOztBd0VoN1FRO0VBSVE7RUFHSjtBeEU4NlFaOztBd0VyN1FRO0VBSVE7RUFHSjtBeEVtN1FaOztBd0UxN1FRO0VBSVE7RUFHSjtBeEV3N1FaOztBd0UvN1FRO0VBSVE7RUFHSjtBeEU2N1FaOztBd0VwOFFRO0VBSVE7RUFHSjtBeEVrOFFaOztBd0V6OFFRO0VBSVE7RUFHSjtBeEV1OFFaOztBd0U5OFFRO0VBSVE7RUFHSjtBeEU0OFFaOztBd0U3OVFRO0VBQ0U7QXhFZytRVjs7QXdFaitRUTtFQUNFO0F4RW8rUVY7O0F3RXIrUVE7RUFDRTtBeEV3K1FWOztBd0V6K1FRO0VBQ0U7QXhFNCtRVjs7QXdFNytRUTtFQUNFO0F4RWcvUVY7O0F3RXYrUVE7RUFPSTtBeEVvK1FaOztBd0UzK1FRO0VBT0k7QXhFdytRWjs7QXdFLytRUTtFQU9JO0F4RTQrUVo7O0F3RW4vUVE7RUFPSTtBeEVnL1FaOztBd0V2L1FRO0VBT0k7QXhFby9RWjs7QXdFMy9RUTtFQU9JO0F4RXcvUVo7O0F3RS8vUVE7RUFPSTtBeEU0L1FaOztBd0VuZ1JRO0VBT0k7QXhFZ2dSWjs7QXdFdmdSUTtFQU9JO0F4RW9nUlo7O0F3RTNnUlE7RUFPSTtFQUFBO0VBQUE7QXhFd2dSWjs7QXdFL2dSUTtFQU9JO0VBQUE7RUFBQTtBeEU0Z1JaOztBd0VuaFJRO0VBT0k7RUFBQTtFQUFBO0F4RWdoUlo7O0F3RXZoUlE7RUFPSTtBeEVvaFJaOztBd0UzaFJRO0VBT0k7QXhFd2hSWjs7QXdFL2hSUTtFQU9JO0F4RTRoUlo7O0F3RW5pUlE7RUFPSTtBeEVnaVJaOztBd0V2aVJRO0VBT0k7QXhFb2lSWjs7QXdFM2lSUTtFQU9JO0F4RXdpUlo7O0F3RS9pUlE7RUFPSTtBeEU0aVJaOztBd0VualJRO0VBT0k7QXhFZ2pSWjs7QXdFdmpSUTtFQU9JO0F4RW9qUlo7O0F3RTNqUlE7RUFPSTtBeEV3alJaOztBd0UvalJRO0VBT0k7QXhFNGpSWjs7QXdFbmtSUTtFQU9JO0VBQUE7QXhFaWtSWjs7QXdFeGtSUTtFQU9JO0VBQUE7QXhFc2tSWjs7QXdFN2tSUTtFQU9JO0VBQUE7QXhFMmtSWjs7QXdFbGxSUTtFQU9JO0VBQUE7QXhFZ2xSWjs7QXdFdmxSUTtFQU9JO0VBQUE7QXhFcWxSWjs7QXdFNWxSUTtFQU9JO0VBQUE7QXhFMGxSWjs7QXdFam1SUTtFQU9JO0VBQUE7QXhFK2xSWjs7QXdFdG1SUTtFQU9JO0VBQUE7QXhFb21SWjs7QXdFM21SUTtFQU9JO0VBQUE7QXhFeW1SWjs7QXdFaG5SUTtFQU9JO0VBQUE7QXhFOG1SWjs7QXdFcm5SUTtFQU9JO0VBQUE7QXhFbW5SWjs7QXdFMW5SUTtFQU9JO0VBQUE7QXhFd25SWjs7QXdFL25SUTtFQU9JO0VBQUE7QXhFNm5SWjs7QXdFcG9SUTtFQU9JO0VBQUE7QXhFa29SWjs7QXdFem9SUTtFQU9JO0VBQUE7QXhFdW9SWjs7QXdFOW9SUTtFQU9JO0VBQUE7QXhFNG9SWjs7QXdFbnBSUTtFQU9JO0VBQUE7QXhFaXBSWjs7QXdFeHBSUTtFQU9JO0VBQUE7QXhFc3BSWjs7QXdFN3BSUTtFQU9JO0VBQUE7QXhFMnBSWjs7QXdFbHFSUTtFQU9JO0VBQUE7QXhFZ3FSWjs7QXdFdnFSUTtFQU9JO0VBQUE7QXhFcXFSWjs7QXdFNXFSUTtFQU9JO0VBQUE7QXhFMHFSWjs7QXdFanJSUTtFQU9JO0VBQUE7QXhFK3FSWjs7QXdFdHJSUTtFQU9JO0VBQUE7QXhFb3JSWjs7QXdFM3JSUTtFQU9JO0VBQUE7QXhFeXJSWjs7QXdFaHNSUTtFQU9JO0VBQUE7QXhFOHJSWjs7QXdFcnNSUTtFQU9JO0VBQUE7QXhFbXNSWjs7QXdFMXNSUTtFQU9JO0VBQUE7QXhFd3NSWjs7QXdFL3NSUTtFQU9JO0VBQUE7QXhFNnNSWjs7QXdFcHRSUTtFQU9JO0VBQUE7QXhFa3RSWjs7QXdFenRSUTtFQU9JO0VBQUE7QXhFdXRSWjs7QXdFOXRSUTtFQU9JO0VBQUE7QXhFNHRSWjs7QXdFbnVSUTtFQU9JO0VBQUE7QXhFaXVSWjs7QXdFeHVSUTtFQU9JO0VBQUE7QXhFc3VSWjs7QXdFN3VSUTtFQU9JO0VBQUE7QXhFMnVSWjs7QXdFbHZSUTtFQU9JO0VBQUE7QXhFZ3ZSWjs7QXdFdnZSUTtFQU9JO0F4RW92Ulo7O0F3RTN2UlE7RUFPSTtBeEV3dlJaOztBd0UvdlJRO0VBT0k7QXhFNHZSWjs7QXdFbndSUTtFQU9JO0F4RWd3Ulo7O0F3RXZ3UlE7RUFPSTtBeEVvd1JaOztBd0Uzd1JRO0VBT0k7QXhFd3dSWjs7QXdFL3dSUTtFQU9JO0F4RTR3Ulo7O0FjdHhSSTtFMERHSTtJQU9JO0V4RWl4UlY7RXdFeHhSTTtJQU9JO0V4RW94UlY7RXdFM3hSTTtJQU9JO0V4RXV4UlY7RXdFOXhSTTtJQU9JO0lBQUE7RXhFMHhSVjtFd0VqeVJNO0lBT0k7SUFBQTtFeEU2eFJWO0V3RXB5Uk07SUFPSTtJQUFBO0V4RWd5UlY7RXdFdnlSTTtJQU9JO0lBQUE7RXhFbXlSVjtFd0UxeVJNO0lBT0k7SUFBQTtFeEVzeVJWO0V3RTd5Uk07SUFPSTtFeEV5eVJWO0V3RWh6Uk07SUFPSTtFeEU0eVJWO0V3RW56Uk07SUFPSTtFeEUreVJWO0V3RXR6Uk07SUFPSTtFeEVrelJWO0V3RXp6Uk07SUFPSTtFeEVxelJWO0V3RTV6Uk07SUFPSTtFeEV3elJWO0V3RS96Uk07SUFPSTtFeEUyelJWO0V3RWwwUk07SUFPSTtFeEU4elJWO0V3RXIwUk07SUFPSTtFeEVpMFJWO0V3RXgwUk07SUFPSTtFeEVvMFJWO0V3RTMwUk07SUFPSTtFeEV1MFJWO0V3RTkwUk07SUFPSTtFeEUwMFJWO0V3RWoxUk07SUFPSTtFeEU2MFJWO0V3RXAxUk07SUFPSTtFeEVnMVJWO0V3RXYxUk07SUFPSTtFeEVtMVJWO0V3RTExUk07SUFPSTtFeEVzMVJWO0V3RTcxUk07SUFPSTtFeEV5MVJWO0V3RWgyUk07SUFPSTtFeEU0MVJWO0V3RW4yUk07SUFPSTtFeEUrMVJWO0V3RXQyUk07SUFPSTtFeEVrMlJWO0V3RXoyUk07SUFPSTtFeEVxMlJWO0V3RTUyUk07SUFPSTtFeEV3MlJWO0V3RS8yUk07SUFPSTtFeEUyMlJWO0V3RWwzUk07SUFPSTtFeEU4MlJWO0V3RXIzUk07SUFPSTtFeEVpM1JWO0V3RXgzUk07SUFPSTtFeEVvM1JWO0V3RTMzUk07SUFPSTtFeEV1M1JWO0V3RTkzUk07SUFPSTtFeEUwM1JWO0V3RWo0Uk07SUFPSTtFeEU2M1JWO0V3RXA0Uk07SUFPSTtFeEVnNFJWO0V3RXY0Uk07SUFPSTtFeEVtNFJWO0V3RTE0Uk07SUFPSTtFeEVzNFJWO0V3RTc0Uk07SUFPSTtFeEV5NFJWO0V3RWg1Uk07SUFPSTtFeEU0NFJWO0V3RW41Uk07SUFPSTtFeEUrNFJWO0V3RXQ1Uk07SUFPSTtFeEVrNVJWO0V3RXo1Uk07SUFPSTtFeEVxNVJWO0V3RTU1Uk07SUFPSTtFeEV3NVJWO0V3RS81Uk07SUFPSTtFeEUyNVJWO0V3RWw2Uk07SUFPSTtFeEU4NVJWO0V3RXI2Uk07SUFPSTtFeEVpNlJWO0V3RXg2Uk07SUFPSTtFeEVvNlJWO0V3RTM2Uk07SUFPSTtFeEV1NlJWO0V3RTk2Uk07SUFPSTtFeEUwNlJWO0V3RWo3Uk07SUFPSTtFeEU2NlJWO0V3RXA3Uk07SUFPSTtFeEVnN1JWO0V3RXY3Uk07SUFPSTtFeEVtN1JWO0V3RTE3Uk07SUFPSTtFeEVzN1JWO0V3RTc3Uk07SUFPSTtFeEV5N1JWO0V3RWg4Uk07SUFPSTtFeEU0N1JWO0V3RW44Uk07SUFPSTtFeEUrN1JWO0V3RXQ4Uk07SUFPSTtFeEVrOFJWO0V3RXo4Uk07SUFPSTtFeEVxOFJWO0V3RTU4Uk07SUFPSTtFeEV3OFJWO0V3RS84Uk07SUFPSTtFeEUyOFJWO0V3RWw5Uk07SUFPSTtFeEU4OFJWO0V3RXI5Uk07SUFPSTtFeEVpOVJWO0V3RXg5Uk07SUFPSTtFeEVvOVJWO0V3RTM5Uk07SUFPSTtFeEV1OVJWO0V3RTk5Uk07SUFPSTtFeEUwOVJWO0V3RWorUk07SUFPSTtFeEU2OVJWO0V3RXArUk07SUFPSTtJQUFBO0V4RWkrUlY7RXdFeCtSTTtJQU9JO0lBQUE7RXhFcStSVjtFd0U1K1JNO0lBT0k7SUFBQTtFeEV5K1JWO0V3RWgvUk07SUFPSTtJQUFBO0V4RTYrUlY7RXdFcC9STTtJQU9JO0lBQUE7RXhFaS9SVjtFd0V4L1JNO0lBT0k7SUFBQTtFeEVxL1JWO0V3RTUvUk07SUFPSTtJQUFBO0V4RXkvUlY7RXdFaGdTTTtJQU9JO0lBQUE7RXhFNi9SVjtFd0VwZ1NNO0lBT0k7SUFBQTtFeEVpZ1NWO0V3RXhnU007SUFPSTtJQUFBO0V4RXFnU1Y7RXdFNWdTTTtJQU9JO0lBQUE7RXhFeWdTVjtFd0VoaFNNO0lBT0k7SUFBQTtFeEU2Z1NWO0V3RXBoU007SUFPSTtJQUFBO0V4RWloU1Y7RXdFeGhTTTtJQU9JO0lBQUE7RXhFcWhTVjtFd0U1aFNNO0lBT0k7RXhFd2hTVjtFd0UvaFNNO0lBT0k7RXhFMmhTVjtFd0VsaVNNO0lBT0k7RXhFOGhTVjtFd0VyaVNNO0lBT0k7RXhFaWlTVjtFd0V4aVNNO0lBT0k7RXhFb2lTVjtFd0UzaVNNO0lBT0k7RXhFdWlTVjtFd0U5aVNNO0lBT0k7RXhFMGlTVjtFd0VqalNNO0lBT0k7RXhFNmlTVjtFd0VwalNNO0lBT0k7RXhFZ2pTVjtFd0V2alNNO0lBT0k7RXhFbWpTVjtFd0UxalNNO0lBT0k7RXhFc2pTVjtFd0U3alNNO0lBT0k7RXhFeWpTVjtFd0Voa1NNO0lBT0k7RXhFNGpTVjtFd0Vua1NNO0lBT0k7RXhFK2pTVjtFd0V0a1NNO0lBT0k7RXhFa2tTVjtFd0V6a1NNO0lBT0k7RXhFcWtTVjtFd0U1a1NNO0lBT0k7RXhFd2tTVjtFd0Uva1NNO0lBT0k7RXhFMmtTVjtFd0VsbFNNO0lBT0k7RXhFOGtTVjtFd0VybFNNO0lBT0k7RXhFaWxTVjtFd0V4bFNNO0lBT0k7RXhFb2xTVjtFd0UzbFNNO0lBT0k7RXhFdWxTVjtFd0U5bFNNO0lBT0k7RXhFMGxTVjtFd0VqbVNNO0lBT0k7RXhFNmxTVjtFd0VwbVNNO0lBT0k7RXhFZ21TVjtFd0V2bVNNO0lBT0k7RXhFbW1TVjtFd0UxbVNNO0lBT0k7RXhFc21TVjtFd0U3bVNNO0lBT0k7RXhFeW1TVjtFd0VoblNNO0lBT0k7RXhFNG1TVjtFd0VublNNO0lBT0k7RXhFK21TVjtFd0V0blNNO0lBT0k7RXhFa25TVjtFd0V6blNNO0lBT0k7RXhFcW5TVjtFd0U1blNNO0lBT0k7RXhFd25TVjtFd0UvblNNO0lBT0k7RXhFMm5TVjtFd0Vsb1NNO0lBT0k7SUFBQTtFeEUrblNWO0V3RXRvU007SUFPSTtJQUFBO0V4RW1vU1Y7RXdFMW9TTTtJQU9JO0lBQUE7RXhFdW9TVjtFd0U5b1NNO0lBT0k7SUFBQTtFeEUyb1NWO0V3RWxwU007SUFPSTtJQUFBO0V4RStvU1Y7RXdFdHBTTTtJQU9JO0lBQUE7RXhFbXBTVjtFd0UxcFNNO0lBT0k7SUFBQTtFeEV1cFNWO0V3RTlwU007SUFPSTtJQUFBO0V4RTJwU1Y7RXdFbHFTTTtJQU9JO0lBQUE7RXhFK3BTVjtFd0V0cVNNO0lBT0k7SUFBQTtFeEVtcVNWO0V3RTFxU007SUFPSTtJQUFBO0V4RXVxU1Y7RXdFOXFTTTtJQU9JO0lBQUE7RXhFMnFTVjtFd0VsclNNO0lBT0k7RXhFOHFTVjtFd0VyclNNO0lBT0k7RXhFaXJTVjtFd0V4clNNO0lBT0k7RXhFb3JTVjtFd0UzclNNO0lBT0k7RXhFdXJTVjtFd0U5clNNO0lBT0k7RXhFMHJTVjtFd0Vqc1NNO0lBT0k7RXhFNnJTVjtFd0Vwc1NNO0lBT0k7RXhFZ3NTVjtFd0V2c1NNO0lBT0k7RXhFbXNTVjtFd0Uxc1NNO0lBT0k7RXhFc3NTVjtFd0U3c1NNO0lBT0k7RXhFeXNTVjtFd0VodFNNO0lBT0k7RXhFNHNTVjtFd0VudFNNO0lBT0k7RXhFK3NTVjtFd0V0dFNNO0lBT0k7RXhFa3RTVjtFd0V6dFNNO0lBT0k7RXhFcXRTVjtFd0U1dFNNO0lBT0k7RXhFd3RTVjtFd0UvdFNNO0lBT0k7RXhFMnRTVjtFd0VsdVNNO0lBT0k7RXhFOHRTVjtFd0VydVNNO0lBT0k7RXhFaXVTVjtFd0V4dVNNO0lBT0k7RXhFb3VTVjtFd0UzdVNNO0lBT0k7RXhFdXVTVjtFd0U5dVNNO0lBT0k7RXhFMHVTVjtFd0VqdlNNO0lBT0k7RXhFNnVTVjtFd0VwdlNNO0lBT0k7RXhFZ3ZTVjtFd0V2dlNNO0lBT0k7RXhFbXZTVjtFd0UxdlNNO0lBT0k7RXhFc3ZTVjtFd0U3dlNNO0lBT0k7RXhFeXZTVjtFd0Vod1NNO0lBT0k7RXhFNHZTVjtFd0Vud1NNO0lBT0k7RXhFK3ZTVjtFd0V0d1NNO0lBT0k7RXhFa3dTVjtFd0V6d1NNO0lBT0k7RXhFcXdTVjtFd0U1d1NNO0lBT0k7RXhFd3dTVjtFd0Uvd1NNO0lBT0k7RXhFMndTVjtFd0VseFNNO0lBT0k7RXhFOHdTVjtFd0VyeFNNO0lBT0k7RXhFaXhTVjtFd0V4eFNNO0lBT0k7RXhFb3hTVjtFd0UzeFNNO0lBT0k7RXhFdXhTVjtFd0U5eFNNO0lBT0k7SUFBQTtFeEUweFNWO0V3RWp5U007SUFPSTtJQUFBO0V4RTZ4U1Y7RXdFcHlTTTtJQU9JO0lBQUE7RXhFZ3lTVjtFd0V2eVNNO0lBT0k7SUFBQTtFeEVteVNWO0V3RTF5U007SUFPSTtJQUFBO0V4RXN5U1Y7RXdFN3lTTTtJQU9JO0lBQUE7RXhFeXlTVjtFd0VoelNNO0lBT0k7RXhFNHlTVjtFd0VuelNNO0lBT0k7RXhFK3lTVjtFd0V0elNNO0lBT0k7RXhFa3pTVjtBQUNGO0FjN3pTSTtFMERHSTtJQU9JO0V4RXV6U1Y7RXdFOXpTTTtJQU9JO0V4RTB6U1Y7RXdFajBTTTtJQU9JO0V4RTZ6U1Y7RXdFcDBTTTtJQU9JO0lBQUE7RXhFZzBTVjtFd0V2MFNNO0lBT0k7SUFBQTtFeEVtMFNWO0V3RTEwU007SUFPSTtJQUFBO0V4RXMwU1Y7RXdFNzBTTTtJQU9JO0lBQUE7RXhFeTBTVjtFd0VoMVNNO0lBT0k7SUFBQTtFeEU0MFNWO0V3RW4xU007SUFPSTtFeEUrMFNWO0V3RXQxU007SUFPSTtFeEVrMVNWO0V3RXoxU007SUFPSTtFeEVxMVNWO0V3RTUxU007SUFPSTtFeEV3MVNWO0V3RS8xU007SUFPSTtFeEUyMVNWO0V3RWwyU007SUFPSTtFeEU4MVNWO0V3RXIyU007SUFPSTtFeEVpMlNWO0V3RXgyU007SUFPSTtFeEVvMlNWO0V3RTMyU007SUFPSTtFeEV1MlNWO0V3RTkyU007SUFPSTtFeEUwMlNWO0V3RWozU007SUFPSTtFeEU2MlNWO0V3RXAzU007SUFPSTtFeEVnM1NWO0V3RXYzU007SUFPSTtFeEVtM1NWO0V3RTEzU007SUFPSTtFeEVzM1NWO0V3RTczU007SUFPSTtFeEV5M1NWO0V3RWg0U007SUFPSTtFeEU0M1NWO0V3RW40U007SUFPSTtFeEUrM1NWO0V3RXQ0U007SUFPSTtFeEVrNFNWO0V3RXo0U007SUFPSTtFeEVxNFNWO0V3RTU0U007SUFPSTtFeEV3NFNWO0V3RS80U007SUFPSTtFeEUyNFNWO0V3RWw1U007SUFPSTtFeEU4NFNWO0V3RXI1U007SUFPSTtFeEVpNVNWO0V3RXg1U007SUFPSTtFeEVvNVNWO0V3RTM1U007SUFPSTtFeEV1NVNWO0V3RTk1U007SUFPSTtFeEUwNVNWO0V3RWo2U007SUFPSTtFeEU2NVNWO0V3RXA2U007SUFPSTtFeEVnNlNWO0V3RXY2U007SUFPSTtFeEVtNlNWO0V3RTE2U007SUFPSTtFeEVzNlNWO0V3RTc2U007SUFPSTtFeEV5NlNWO0V3RWg3U007SUFPSTtFeEU0NlNWO0V3RW43U007SUFPSTtFeEUrNlNWO0V3RXQ3U007SUFPSTtFeEVrN1NWO0V3RXo3U007SUFPSTtFeEVxN1NWO0V3RTU3U007SUFPSTtFeEV3N1NWO0V3RS83U007SUFPSTtFeEUyN1NWO0V3RWw4U007SUFPSTtFeEU4N1NWO0V3RXI4U007SUFPSTtFeEVpOFNWO0V3RXg4U007SUFPSTtFeEVvOFNWO0V3RTM4U007SUFPSTtFeEV1OFNWO0V3RTk4U007SUFPSTtFeEUwOFNWO0V3RWo5U007SUFPSTtFeEU2OFNWO0V3RXA5U007SUFPSTtFeEVnOVNWO0V3RXY5U007SUFPSTtFeEVtOVNWO0V3RTE5U007SUFPSTtFeEVzOVNWO0V3RTc5U007SUFPSTtFeEV5OVNWO0V3RWgrU007SUFPSTtFeEU0OVNWO0V3RW4rU007SUFPSTtFeEUrOVNWO0V3RXQrU007SUFPSTtFeEVrK1NWO0V3RXorU007SUFPSTtFeEVxK1NWO0V3RTUrU007SUFPSTtFeEV3K1NWO0V3RS8rU007SUFPSTtFeEUyK1NWO0V3RWwvU007SUFPSTtFeEU4K1NWO0V3RXIvU007SUFPSTtFeEVpL1NWO0V3RXgvU007SUFPSTtFeEVvL1NWO0V3RTMvU007SUFPSTtFeEV1L1NWO0V3RTkvU007SUFPSTtFeEUwL1NWO0V3RWpnVE07SUFPSTtFeEU2L1NWO0V3RXBnVE07SUFPSTtFeEVnZ1RWO0V3RXZnVE07SUFPSTtFeEVtZ1RWO0V3RTFnVE07SUFPSTtJQUFBO0V4RXVnVFY7RXdFOWdUTTtJQU9JO0lBQUE7RXhFMmdUVjtFd0VsaFRNO0lBT0k7SUFBQTtFeEUrZ1RWO0V3RXRoVE07SUFPSTtJQUFBO0V4RW1oVFY7RXdFMWhUTTtJQU9JO0lBQUE7RXhFdWhUVjtFd0U5aFRNO0lBT0k7SUFBQTtFeEUyaFRWO0V3RWxpVE07SUFPSTtJQUFBO0V4RStoVFY7RXdFdGlUTTtJQU9JO0lBQUE7RXhFbWlUVjtFd0UxaVRNO0lBT0k7SUFBQTtFeEV1aVRWO0V3RTlpVE07SUFPSTtJQUFBO0V4RTJpVFY7RXdFbGpUTTtJQU9JO0lBQUE7RXhFK2lUVjtFd0V0alRNO0lBT0k7SUFBQTtFeEVtalRWO0V3RTFqVE07SUFPSTtJQUFBO0V4RXVqVFY7RXdFOWpUTTtJQU9JO0lBQUE7RXhFMmpUVjtFd0Vsa1RNO0lBT0k7RXhFOGpUVjtFd0Vya1RNO0lBT0k7RXhFaWtUVjtFd0V4a1RNO0lBT0k7RXhFb2tUVjtFd0Uza1RNO0lBT0k7RXhFdWtUVjtFd0U5a1RNO0lBT0k7RXhFMGtUVjtFd0VqbFRNO0lBT0k7RXhFNmtUVjtFd0VwbFRNO0lBT0k7RXhFZ2xUVjtFd0V2bFRNO0lBT0k7RXhFbWxUVjtFd0UxbFRNO0lBT0k7RXhFc2xUVjtFd0U3bFRNO0lBT0k7RXhFeWxUVjtFd0VobVRNO0lBT0k7RXhFNGxUVjtFd0VubVRNO0lBT0k7RXhFK2xUVjtFd0V0bVRNO0lBT0k7RXhFa21UVjtFd0V6bVRNO0lBT0k7RXhFcW1UVjtFd0U1bVRNO0lBT0k7RXhFd21UVjtFd0UvbVRNO0lBT0k7RXhFMm1UVjtFd0VsblRNO0lBT0k7RXhFOG1UVjtFd0VyblRNO0lBT0k7RXhFaW5UVjtFd0V4blRNO0lBT0k7RXhFb25UVjtFd0UzblRNO0lBT0k7RXhFdW5UVjtFd0U5blRNO0lBT0k7RXhFMG5UVjtFd0Vqb1RNO0lBT0k7RXhFNm5UVjtFd0Vwb1RNO0lBT0k7RXhFZ29UVjtFd0V2b1RNO0lBT0k7RXhFbW9UVjtFd0Uxb1RNO0lBT0k7RXhFc29UVjtFd0U3b1RNO0lBT0k7RXhFeW9UVjtFd0VocFRNO0lBT0k7RXhFNG9UVjtFd0VucFRNO0lBT0k7RXhFK29UVjtFd0V0cFRNO0lBT0k7RXhFa3BUVjtFd0V6cFRNO0lBT0k7RXhFcXBUVjtFd0U1cFRNO0lBT0k7RXhFd3BUVjtFd0UvcFRNO0lBT0k7RXhFMnBUVjtFd0VscVRNO0lBT0k7RXhFOHBUVjtFd0VycVRNO0lBT0k7RXhFaXFUVjtFd0V4cVRNO0lBT0k7SUFBQTtFeEVxcVRWO0V3RTVxVE07SUFPSTtJQUFBO0V4RXlxVFY7RXdFaHJUTTtJQU9JO0lBQUE7RXhFNnFUVjtFd0VwclRNO0lBT0k7SUFBQTtFeEVpclRWO0V3RXhyVE07SUFPSTtJQUFBO0V4RXFyVFY7RXdFNXJUTTtJQU9JO0lBQUE7RXhFeXJUVjtFd0Voc1RNO0lBT0k7SUFBQTtFeEU2clRWO0V3RXBzVE07SUFPSTtJQUFBO0V4RWlzVFY7RXdFeHNUTTtJQU9JO0lBQUE7RXhFcXNUVjtFd0U1c1RNO0lBT0k7SUFBQTtFeEV5c1RWO0V3RWh0VE07SUFPSTtJQUFBO0V4RTZzVFY7RXdFcHRUTTtJQU9JO0lBQUE7RXhFaXRUVjtFd0V4dFRNO0lBT0k7RXhFb3RUVjtFd0UzdFRNO0lBT0k7RXhFdXRUVjtFd0U5dFRNO0lBT0k7RXhFMHRUVjtFd0VqdVRNO0lBT0k7RXhFNnRUVjtFd0VwdVRNO0lBT0k7RXhFZ3VUVjtFd0V2dVRNO0lBT0k7RXhFbXVUVjtFd0UxdVRNO0lBT0k7RXhFc3VUVjtFd0U3dVRNO0lBT0k7RXhFeXVUVjtFd0VodlRNO0lBT0k7RXhFNHVUVjtFd0VudlRNO0lBT0k7RXhFK3VUVjtFd0V0dlRNO0lBT0k7RXhFa3ZUVjtFd0V6dlRNO0lBT0k7RXhFcXZUVjtFd0U1dlRNO0lBT0k7RXhFd3ZUVjtFd0UvdlRNO0lBT0k7RXhFMnZUVjtFd0Vsd1RNO0lBT0k7RXhFOHZUVjtFd0Vyd1RNO0lBT0k7RXhFaXdUVjtFd0V4d1RNO0lBT0k7RXhFb3dUVjtFd0Uzd1RNO0lBT0k7RXhFdXdUVjtFd0U5d1RNO0lBT0k7RXhFMHdUVjtFd0VqeFRNO0lBT0k7RXhFNndUVjtFd0VweFRNO0lBT0k7RXhFZ3hUVjtFd0V2eFRNO0lBT0k7RXhFbXhUVjtFd0UxeFRNO0lBT0k7RXhFc3hUVjtFd0U3eFRNO0lBT0k7RXhFeXhUVjtFd0VoeVRNO0lBT0k7RXhFNHhUVjtFd0VueVRNO0lBT0k7RXhFK3hUVjtFd0V0eVRNO0lBT0k7RXhFa3lUVjtFd0V6eVRNO0lBT0k7RXhFcXlUVjtFd0U1eVRNO0lBT0k7RXhFd3lUVjtFd0UveVRNO0lBT0k7RXhFMnlUVjtFd0VselRNO0lBT0k7RXhFOHlUVjtFd0VyelRNO0lBT0k7RXhFaXpUVjtFd0V4elRNO0lBT0k7RXhFb3pUVjtFd0UzelRNO0lBT0k7RXhFdXpUVjtFd0U5elRNO0lBT0k7RXhFMHpUVjtFd0VqMFRNO0lBT0k7RXhFNnpUVjtFd0VwMFRNO0lBT0k7SUFBQTtFeEVnMFRWO0V3RXYwVE07SUFPSTtJQUFBO0V4RW0wVFY7RXdFMTBUTTtJQU9JO0lBQUE7RXhFczBUVjtFd0U3MFRNO0lBT0k7SUFBQTtFeEV5MFRWO0V3RWgxVE07SUFPSTtJQUFBO0V4RTQwVFY7RXdFbjFUTTtJQU9JO0lBQUE7RXhFKzBUVjtFd0V0MVRNO0lBT0k7RXhFazFUVjtFd0V6MVRNO0lBT0k7RXhFcTFUVjtFd0U1MVRNO0lBT0k7RXhFdzFUVjtBQUNGO0FjbjJUSTtFMERHSTtJQU9JO0V4RTYxVFY7RXdFcDJUTTtJQU9JO0V4RWcyVFY7RXdFdjJUTTtJQU9JO0V4RW0yVFY7RXdFMTJUTTtJQU9JO0lBQUE7RXhFczJUVjtFd0U3MlRNO0lBT0k7SUFBQTtFeEV5MlRWO0V3RWgzVE07SUFPSTtJQUFBO0V4RTQyVFY7RXdFbjNUTTtJQU9JO0lBQUE7RXhFKzJUVjtFd0V0M1RNO0lBT0k7SUFBQTtFeEVrM1RWO0V3RXozVE07SUFPSTtFeEVxM1RWO0V3RTUzVE07SUFPSTtFeEV3M1RWO0V3RS8zVE07SUFPSTtFeEUyM1RWO0V3RWw0VE07SUFPSTtFeEU4M1RWO0V3RXI0VE07SUFPSTtFeEVpNFRWO0V3RXg0VE07SUFPSTtFeEVvNFRWO0V3RTM0VE07SUFPSTtFeEV1NFRWO0V3RTk0VE07SUFPSTtFeEUwNFRWO0V3RWo1VE07SUFPSTtFeEU2NFRWO0V3RXA1VE07SUFPSTtFeEVnNVRWO0V3RXY1VE07SUFPSTtFeEVtNVRWO0V3RTE1VE07SUFPSTtFeEVzNVRWO0V3RTc1VE07SUFPSTtFeEV5NVRWO0V3RWg2VE07SUFPSTtFeEU0NVRWO0V3RW42VE07SUFPSTtFeEUrNVRWO0V3RXQ2VE07SUFPSTtFeEVrNlRWO0V3RXo2VE07SUFPSTtFeEVxNlRWO0V3RTU2VE07SUFPSTtFeEV3NlRWO0V3RS82VE07SUFPSTtFeEUyNlRWO0V3RWw3VE07SUFPSTtFeEU4NlRWO0V3RXI3VE07SUFPSTtFeEVpN1RWO0V3RXg3VE07SUFPSTtFeEVvN1RWO0V3RTM3VE07SUFPSTtFeEV1N1RWO0V3RTk3VE07SUFPSTtFeEUwN1RWO0V3RWo4VE07SUFPSTtFeEU2N1RWO0V3RXA4VE07SUFPSTtFeEVnOFRWO0V3RXY4VE07SUFPSTtFeEVtOFRWO0V3RTE4VE07SUFPSTtFeEVzOFRWO0V3RTc4VE07SUFPSTtFeEV5OFRWO0V3RWg5VE07SUFPSTtFeEU0OFRWO0V3RW45VE07SUFPSTtFeEUrOFRWO0V3RXQ5VE07SUFPSTtFeEVrOVRWO0V3RXo5VE07SUFPSTtFeEVxOVRWO0V3RTU5VE07SUFPSTtFeEV3OVRWO0V3RS85VE07SUFPSTtFeEUyOVRWO0V3RWwrVE07SUFPSTtFeEU4OVRWO0V3RXIrVE07SUFPSTtFeEVpK1RWO0V3RXgrVE07SUFPSTtFeEVvK1RWO0V3RTMrVE07SUFPSTtFeEV1K1RWO0V3RTkrVE07SUFPSTtFeEUwK1RWO0V3RWovVE07SUFPSTtFeEU2K1RWO0V3RXAvVE07SUFPSTtFeEVnL1RWO0V3RXYvVE07SUFPSTtFeEVtL1RWO0V3RTEvVE07SUFPSTtFeEVzL1RWO0V3RTcvVE07SUFPSTtFeEV5L1RWO0V3RWhnVU07SUFPSTtFeEU0L1RWO0V3RW5nVU07SUFPSTtFeEUrL1RWO0V3RXRnVU07SUFPSTtFeEVrZ1VWO0V3RXpnVU07SUFPSTtFeEVxZ1VWO0V3RTVnVU07SUFPSTtFeEV3Z1VWO0V3RS9nVU07SUFPSTtFeEUyZ1VWO0V3RWxoVU07SUFPSTtFeEU4Z1VWO0V3RXJoVU07SUFPSTtFeEVpaFVWO0V3RXhoVU07SUFPSTtFeEVvaFVWO0V3RTNoVU07SUFPSTtFeEV1aFVWO0V3RTloVU07SUFPSTtFeEUwaFVWO0V3RWppVU07SUFPSTtFeEU2aFVWO0V3RXBpVU07SUFPSTtFeEVnaVVWO0V3RXZpVU07SUFPSTtFeEVtaVVWO0V3RTFpVU07SUFPSTtFeEVzaVVWO0V3RTdpVU07SUFPSTtFeEV5aVVWO0V3RWhqVU07SUFPSTtJQUFBO0V4RTZpVVY7RXdFcGpVTTtJQU9JO0lBQUE7RXhFaWpVVjtFd0V4alVNO0lBT0k7SUFBQTtFeEVxalVWO0V3RTVqVU07SUFPSTtJQUFBO0V4RXlqVVY7RXdFaGtVTTtJQU9JO0lBQUE7RXhFNmpVVjtFd0Vwa1VNO0lBT0k7SUFBQTtFeEVpa1VWO0V3RXhrVU07SUFPSTtJQUFBO0V4RXFrVVY7RXdFNWtVTTtJQU9JO0lBQUE7RXhFeWtVVjtFd0VobFVNO0lBT0k7SUFBQTtFeEU2a1VWO0V3RXBsVU07SUFPSTtJQUFBO0V4RWlsVVY7RXdFeGxVTTtJQU9JO0lBQUE7RXhFcWxVVjtFd0U1bFVNO0lBT0k7SUFBQTtFeEV5bFVWO0V3RWhtVU07SUFPSTtJQUFBO0V4RTZsVVY7RXdFcG1VTTtJQU9JO0lBQUE7RXhFaW1VVjtFd0V4bVVNO0lBT0k7RXhFb21VVjtFd0UzbVVNO0lBT0k7RXhFdW1VVjtFd0U5bVVNO0lBT0k7RXhFMG1VVjtFd0VqblVNO0lBT0k7RXhFNm1VVjtFd0VwblVNO0lBT0k7RXhFZ25VVjtFd0V2blVNO0lBT0k7RXhFbW5VVjtFd0UxblVNO0lBT0k7RXhFc25VVjtFd0U3blVNO0lBT0k7RXhFeW5VVjtFd0Vob1VNO0lBT0k7RXhFNG5VVjtFd0Vub1VNO0lBT0k7RXhFK25VVjtFd0V0b1VNO0lBT0k7RXhFa29VVjtFd0V6b1VNO0lBT0k7RXhFcW9VVjtFd0U1b1VNO0lBT0k7RXhFd29VVjtFd0Uvb1VNO0lBT0k7RXhFMm9VVjtFd0VscFVNO0lBT0k7RXhFOG9VVjtFd0VycFVNO0lBT0k7RXhFaXBVVjtFd0V4cFVNO0lBT0k7RXhFb3BVVjtFd0UzcFVNO0lBT0k7RXhFdXBVVjtFd0U5cFVNO0lBT0k7RXhFMHBVVjtFd0VqcVVNO0lBT0k7RXhFNnBVVjtFd0VwcVVNO0lBT0k7RXhFZ3FVVjtFd0V2cVVNO0lBT0k7RXhFbXFVVjtFd0UxcVVNO0lBT0k7RXhFc3FVVjtFd0U3cVVNO0lBT0k7RXhFeXFVVjtFd0VoclVNO0lBT0k7RXhFNHFVVjtFd0VuclVNO0lBT0k7RXhFK3FVVjtFd0V0clVNO0lBT0k7RXhFa3JVVjtFd0V6clVNO0lBT0k7RXhFcXJVVjtFd0U1clVNO0lBT0k7RXhFd3JVVjtFd0UvclVNO0lBT0k7RXhFMnJVVjtFd0Vsc1VNO0lBT0k7RXhFOHJVVjtFd0Vyc1VNO0lBT0k7RXhFaXNVVjtFd0V4c1VNO0lBT0k7RXhFb3NVVjtFd0Uzc1VNO0lBT0k7RXhFdXNVVjtFd0U5c1VNO0lBT0k7SUFBQTtFeEUyc1VWO0V3RWx0VU07SUFPSTtJQUFBO0V4RStzVVY7RXdFdHRVTTtJQU9JO0lBQUE7RXhFbXRVVjtFd0UxdFVNO0lBT0k7SUFBQTtFeEV1dFVWO0V3RTl0VU07SUFPSTtJQUFBO0V4RTJ0VVY7RXdFbHVVTTtJQU9JO0lBQUE7RXhFK3RVVjtFd0V0dVVNO0lBT0k7SUFBQTtFeEVtdVVWO0V3RTF1VU07SUFPSTtJQUFBO0V4RXV1VVY7RXdFOXVVTTtJQU9JO0lBQUE7RXhFMnVVVjtFd0VsdlVNO0lBT0k7SUFBQTtFeEUrdVVWO0V3RXR2VU07SUFPSTtJQUFBO0V4RW12VVY7RXdFMXZVTTtJQU9JO0lBQUE7RXhFdXZVVjtFd0U5dlVNO0lBT0k7RXhFMHZVVjtFd0Vqd1VNO0lBT0k7RXhFNnZVVjtFd0Vwd1VNO0lBT0k7RXhFZ3dVVjtFd0V2d1VNO0lBT0k7RXhFbXdVVjtFd0Uxd1VNO0lBT0k7RXhFc3dVVjtFd0U3d1VNO0lBT0k7RXhFeXdVVjtFd0VoeFVNO0lBT0k7RXhFNHdVVjtFd0VueFVNO0lBT0k7RXhFK3dVVjtFd0V0eFVNO0lBT0k7RXhFa3hVVjtFd0V6eFVNO0lBT0k7RXhFcXhVVjtFd0U1eFVNO0lBT0k7RXhFd3hVVjtFd0UveFVNO0lBT0k7RXhFMnhVVjtFd0VseVVNO0lBT0k7RXhFOHhVVjtFd0VyeVVNO0lBT0k7RXhFaXlVVjtFd0V4eVVNO0lBT0k7RXhFb3lVVjtFd0UzeVVNO0lBT0k7RXhFdXlVVjtFd0U5eVVNO0lBT0k7RXhFMHlVVjtFd0VqelVNO0lBT0k7RXhFNnlVVjtFd0VwelVNO0lBT0k7RXhFZ3pVVjtFd0V2elVNO0lBT0k7RXhFbXpVVjtFd0UxelVNO0lBT0k7RXhFc3pVVjtFd0U3elVNO0lBT0k7RXhFeXpVVjtFd0VoMFVNO0lBT0k7RXhFNHpVVjtFd0VuMFVNO0lBT0k7RXhFK3pVVjtFd0V0MFVNO0lBT0k7RXhFazBVVjtFd0V6MFVNO0lBT0k7RXhFcTBVVjtFd0U1MFVNO0lBT0k7RXhFdzBVVjtFd0UvMFVNO0lBT0k7RXhFMjBVVjtFd0VsMVVNO0lBT0k7RXhFODBVVjtFd0VyMVVNO0lBT0k7RXhFaTFVVjtFd0V4MVVNO0lBT0k7RXhFbzFVVjtFd0UzMVVNO0lBT0k7RXhFdTFVVjtFd0U5MVVNO0lBT0k7RXhFMDFVVjtFd0VqMlVNO0lBT0k7RXhFNjFVVjtFd0VwMlVNO0lBT0k7RXhFZzJVVjtFd0V2MlVNO0lBT0k7RXhFbTJVVjtFd0UxMlVNO0lBT0k7SUFBQTtFeEVzMlVWO0V3RTcyVU07SUFPSTtJQUFBO0V4RXkyVVY7RXdFaDNVTTtJQU9JO0lBQUE7RXhFNDJVVjtFd0VuM1VNO0lBT0k7SUFBQTtFeEUrMlVWO0V3RXQzVU07SUFPSTtJQUFBO0V4RWszVVY7RXdFejNVTTtJQU9JO0lBQUE7RXhFcTNVVjtFd0U1M1VNO0lBT0k7RXhFdzNVVjtFd0UvM1VNO0lBT0k7RXhFMjNVVjtFd0VsNFVNO0lBT0k7RXhFODNVVjtBQUNGO0FjejRVSTtFMERHSTtJQU9JO0V4RW00VVY7RXdFMTRVTTtJQU9JO0V4RXM0VVY7RXdFNzRVTTtJQU9JO0V4RXk0VVY7RXdFaDVVTTtJQU9JO0lBQUE7RXhFNDRVVjtFd0VuNVVNO0lBT0k7SUFBQTtFeEUrNFVWO0V3RXQ1VU07SUFPSTtJQUFBO0V4RWs1VVY7RXdFejVVTTtJQU9JO0lBQUE7RXhFcTVVVjtFd0U1NVVNO0lBT0k7SUFBQTtFeEV3NVVWO0V3RS81VU07SUFPSTtFeEUyNVVWO0V3RWw2VU07SUFPSTtFeEU4NVVWO0V3RXI2VU07SUFPSTtFeEVpNlVWO0V3RXg2VU07SUFPSTtFeEVvNlVWO0V3RTM2VU07SUFPSTtFeEV1NlVWO0V3RTk2VU07SUFPSTtFeEUwNlVWO0V3RWo3VU07SUFPSTtFeEU2NlVWO0V3RXA3VU07SUFPSTtFeEVnN1VWO0V3RXY3VU07SUFPSTtFeEVtN1VWO0V3RTE3VU07SUFPSTtFeEVzN1VWO0V3RTc3VU07SUFPSTtFeEV5N1VWO0V3RWg4VU07SUFPSTtFeEU0N1VWO0V3RW44VU07SUFPSTtFeEUrN1VWO0V3RXQ4VU07SUFPSTtFeEVrOFVWO0V3RXo4VU07SUFPSTtFeEVxOFVWO0V3RTU4VU07SUFPSTtFeEV3OFVWO0V3RS84VU07SUFPSTtFeEUyOFVWO0V3RWw5VU07SUFPSTtFeEU4OFVWO0V3RXI5VU07SUFPSTtFeEVpOVVWO0V3RXg5VU07SUFPSTtFeEVvOVVWO0V3RTM5VU07SUFPSTtFeEV1OVVWO0V3RTk5VU07SUFPSTtFeEUwOVVWO0V3RWorVU07SUFPSTtFeEU2OVVWO0V3RXArVU07SUFPSTtFeEVnK1VWO0V3RXYrVU07SUFPSTtFeEVtK1VWO0V3RTErVU07SUFPSTtFeEVzK1VWO0V3RTcrVU07SUFPSTtFeEV5K1VWO0V3RWgvVU07SUFPSTtFeEU0K1VWO0V3RW4vVU07SUFPSTtFeEUrK1VWO0V3RXQvVU07SUFPSTtFeEVrL1VWO0V3RXovVU07SUFPSTtFeEVxL1VWO0V3RTUvVU07SUFPSTtFeEV3L1VWO0V3RS8vVU07SUFPSTtFeEUyL1VWO0V3RWxnVk07SUFPSTtFeEU4L1VWO0V3RXJnVk07SUFPSTtFeEVpZ1ZWO0V3RXhnVk07SUFPSTtFeEVvZ1ZWO0V3RTNnVk07SUFPSTtFeEV1Z1ZWO0V3RTlnVk07SUFPSTtFeEUwZ1ZWO0V3RWpoVk07SUFPSTtFeEU2Z1ZWO0V3RXBoVk07SUFPSTtFeEVnaFZWO0V3RXZoVk07SUFPSTtFeEVtaFZWO0V3RTFoVk07SUFPSTtFeEVzaFZWO0V3RTdoVk07SUFPSTtFeEV5aFZWO0V3RWhpVk07SUFPSTtFeEU0aFZWO0V3RW5pVk07SUFPSTtFeEUraFZWO0V3RXRpVk07SUFPSTtFeEVraVZWO0V3RXppVk07SUFPSTtFeEVxaVZWO0V3RTVpVk07SUFPSTtFeEV3aVZWO0V3RS9pVk07SUFPSTtFeEUyaVZWO0V3RWxqVk07SUFPSTtFeEU4aVZWO0V3RXJqVk07SUFPSTtFeEVpalZWO0V3RXhqVk07SUFPSTtFeEVvalZWO0V3RTNqVk07SUFPSTtFeEV1alZWO0V3RTlqVk07SUFPSTtFeEUwalZWO0V3RWprVk07SUFPSTtFeEU2alZWO0V3RXBrVk07SUFPSTtFeEVna1ZWO0V3RXZrVk07SUFPSTtFeEVta1ZWO0V3RTFrVk07SUFPSTtFeEVza1ZWO0V3RTdrVk07SUFPSTtFeEV5a1ZWO0V3RWhsVk07SUFPSTtFeEU0a1ZWO0V3RW5sVk07SUFPSTtFeEUra1ZWO0V3RXRsVk07SUFPSTtJQUFBO0V4RW1sVlY7RXdFMWxWTTtJQU9JO0lBQUE7RXhFdWxWVjtFd0U5bFZNO0lBT0k7SUFBQTtFeEUybFZWO0V3RWxtVk07SUFPSTtJQUFBO0V4RStsVlY7RXdFdG1WTTtJQU9JO0lBQUE7RXhFbW1WVjtFd0UxbVZNO0lBT0k7SUFBQTtFeEV1bVZWO0V3RTltVk07SUFPSTtJQUFBO0V4RTJtVlY7RXdFbG5WTTtJQU9JO0lBQUE7RXhFK21WVjtFd0V0blZNO0lBT0k7SUFBQTtFeEVtblZWO0V3RTFuVk07SUFPSTtJQUFBO0V4RXVuVlY7RXdFOW5WTTtJQU9JO0lBQUE7RXhFMm5WVjtFd0Vsb1ZNO0lBT0k7SUFBQTtFeEUrblZWO0V3RXRvVk07SUFPSTtJQUFBO0V4RW1vVlY7RXdFMW9WTTtJQU9JO0lBQUE7RXhFdW9WVjtFd0U5b1ZNO0lBT0k7RXhFMG9WVjtFd0VqcFZNO0lBT0k7RXhFNm9WVjtFd0VwcFZNO0lBT0k7RXhFZ3BWVjtFd0V2cFZNO0lBT0k7RXhFbXBWVjtFd0UxcFZNO0lBT0k7RXhFc3BWVjtFd0U3cFZNO0lBT0k7RXhFeXBWVjtFd0VocVZNO0lBT0k7RXhFNHBWVjtFd0VucVZNO0lBT0k7RXhFK3BWVjtFd0V0cVZNO0lBT0k7RXhFa3FWVjtFd0V6cVZNO0lBT0k7RXhFcXFWVjtFd0U1cVZNO0lBT0k7RXhFd3FWVjtFd0UvcVZNO0lBT0k7RXhFMnFWVjtFd0VsclZNO0lBT0k7RXhFOHFWVjtFd0VyclZNO0lBT0k7RXhFaXJWVjtFd0V4clZNO0lBT0k7RXhFb3JWVjtFd0UzclZNO0lBT0k7RXhFdXJWVjtFd0U5clZNO0lBT0k7RXhFMHJWVjtFd0Vqc1ZNO0lBT0k7RXhFNnJWVjtFd0Vwc1ZNO0lBT0k7RXhFZ3NWVjtFd0V2c1ZNO0lBT0k7RXhFbXNWVjtFd0Uxc1ZNO0lBT0k7RXhFc3NWVjtFd0U3c1ZNO0lBT0k7RXhFeXNWVjtFd0VodFZNO0lBT0k7RXhFNHNWVjtFd0VudFZNO0lBT0k7RXhFK3NWVjtFd0V0dFZNO0lBT0k7RXhFa3RWVjtFd0V6dFZNO0lBT0k7RXhFcXRWVjtFd0U1dFZNO0lBT0k7RXhFd3RWVjtFd0UvdFZNO0lBT0k7RXhFMnRWVjtFd0VsdVZNO0lBT0k7RXhFOHRWVjtFd0VydVZNO0lBT0k7RXhFaXVWVjtFd0V4dVZNO0lBT0k7RXhFb3VWVjtFd0UzdVZNO0lBT0k7RXhFdXVWVjtFd0U5dVZNO0lBT0k7RXhFMHVWVjtFd0VqdlZNO0lBT0k7RXhFNnVWVjtFd0VwdlZNO0lBT0k7SUFBQTtFeEVpdlZWO0V3RXh2Vk07SUFPSTtJQUFBO0V4RXF2VlY7RXdFNXZWTTtJQU9JO0lBQUE7RXhFeXZWVjtFd0Vod1ZNO0lBT0k7SUFBQTtFeEU2dlZWO0V3RXB3Vk07SUFPSTtJQUFBO0V4RWl3VlY7RXdFeHdWTTtJQU9JO0lBQUE7RXhFcXdWVjtFd0U1d1ZNO0lBT0k7SUFBQTtFeEV5d1ZWO0V3RWh4Vk07SUFPSTtJQUFBO0V4RTZ3VlY7RXdFcHhWTTtJQU9JO0lBQUE7RXhFaXhWVjtFd0V4eFZNO0lBT0k7SUFBQTtFeEVxeFZWO0V3RTV4Vk07SUFPSTtJQUFBO0V4RXl4VlY7RXdFaHlWTTtJQU9JO0lBQUE7RXhFNnhWVjtFd0VweVZNO0lBT0k7RXhFZ3lWVjtFd0V2eVZNO0lBT0k7RXhFbXlWVjtFd0UxeVZNO0lBT0k7RXhFc3lWVjtFd0U3eVZNO0lBT0k7RXhFeXlWVjtFd0VoelZNO0lBT0k7RXhFNHlWVjtFd0VuelZNO0lBT0k7RXhFK3lWVjtFd0V0elZNO0lBT0k7RXhFa3pWVjtFd0V6elZNO0lBT0k7RXhFcXpWVjtFd0U1elZNO0lBT0k7RXhFd3pWVjtFd0UvelZNO0lBT0k7RXhFMnpWVjtFd0VsMFZNO0lBT0k7RXhFOHpWVjtFd0VyMFZNO0lBT0k7RXhFaTBWVjtFd0V4MFZNO0lBT0k7RXhFbzBWVjtFd0UzMFZNO0lBT0k7RXhFdTBWVjtFd0U5MFZNO0lBT0k7RXhFMDBWVjtFd0VqMVZNO0lBT0k7RXhFNjBWVjtFd0VwMVZNO0lBT0k7RXhFZzFWVjtFd0V2MVZNO0lBT0k7RXhFbTFWVjtFd0UxMVZNO0lBT0k7RXhFczFWVjtFd0U3MVZNO0lBT0k7RXhFeTFWVjtFd0VoMlZNO0lBT0k7RXhFNDFWVjtFd0VuMlZNO0lBT0k7RXhFKzFWVjtFd0V0MlZNO0lBT0k7RXhFazJWVjtFd0V6MlZNO0lBT0k7RXhFcTJWVjtFd0U1MlZNO0lBT0k7RXhFdzJWVjtFd0UvMlZNO0lBT0k7RXhFMjJWVjtFd0VsM1ZNO0lBT0k7RXhFODJWVjtFd0VyM1ZNO0lBT0k7RXhFaTNWVjtFd0V4M1ZNO0lBT0k7RXhFbzNWVjtFd0UzM1ZNO0lBT0k7RXhFdTNWVjtFd0U5M1ZNO0lBT0k7RXhFMDNWVjtFd0VqNFZNO0lBT0k7RXhFNjNWVjtFd0VwNFZNO0lBT0k7RXhFZzRWVjtFd0V2NFZNO0lBT0k7RXhFbTRWVjtFd0UxNFZNO0lBT0k7RXhFczRWVjtFd0U3NFZNO0lBT0k7RXhFeTRWVjtFd0VoNVZNO0lBT0k7SUFBQTtFeEU0NFZWO0V3RW41Vk07SUFPSTtJQUFBO0V4RSs0VlY7RXdFdDVWTTtJQU9JO0lBQUE7RXhFazVWVjtFd0V6NVZNO0lBT0k7SUFBQTtFeEVxNVZWO0V3RTU1Vk07SUFPSTtJQUFBO0V4RXc1VlY7RXdFLzVWTTtJQU9JO0lBQUE7RXhFMjVWVjtFd0VsNlZNO0lBT0k7RXhFODVWVjtFd0VyNlZNO0lBT0k7RXhFaTZWVjtFd0V4NlZNO0lBT0k7RXhFbzZWVjtBQUNGO0FjLzZWSTtFMERHSTtJQU9JO0V4RXk2VlY7RXdFaDdWTTtJQU9JO0V4RTQ2VlY7RXdFbjdWTTtJQU9JO0V4RSs2VlY7RXdFdDdWTTtJQU9JO0lBQUE7RXhFazdWVjtFd0V6N1ZNO0lBT0k7SUFBQTtFeEVxN1ZWO0V3RTU3Vk07SUFPSTtJQUFBO0V4RXc3VlY7RXdFLzdWTTtJQU9JO0lBQUE7RXhFMjdWVjtFd0VsOFZNO0lBT0k7SUFBQTtFeEU4N1ZWO0V3RXI4Vk07SUFPSTtFeEVpOFZWO0V3RXg4Vk07SUFPSTtFeEVvOFZWO0V3RTM4Vk07SUFPSTtFeEV1OFZWO0V3RTk4Vk07SUFPSTtFeEUwOFZWO0V3RWo5Vk07SUFPSTtFeEU2OFZWO0V3RXA5Vk07SUFPSTtFeEVnOVZWO0V3RXY5Vk07SUFPSTtFeEVtOVZWO0V3RTE5Vk07SUFPSTtFeEVzOVZWO0V3RTc5Vk07SUFPSTtFeEV5OVZWO0V3RWgrVk07SUFPSTtFeEU0OVZWO0V3RW4rVk07SUFPSTtFeEUrOVZWO0V3RXQrVk07SUFPSTtFeEVrK1ZWO0V3RXorVk07SUFPSTtFeEVxK1ZWO0V3RTUrVk07SUFPSTtFeEV3K1ZWO0V3RS8rVk07SUFPSTtFeEUyK1ZWO0V3RWwvVk07SUFPSTtFeEU4K1ZWO0V3RXIvVk07SUFPSTtFeEVpL1ZWO0V3RXgvVk07SUFPSTtFeEVvL1ZWO0V3RTMvVk07SUFPSTtFeEV1L1ZWO0V3RTkvVk07SUFPSTtFeEUwL1ZWO0V3RWpnV007SUFPSTtFeEU2L1ZWO0V3RXBnV007SUFPSTtFeEVnZ1dWO0V3RXZnV007SUFPSTtFeEVtZ1dWO0V3RTFnV007SUFPSTtFeEVzZ1dWO0V3RTdnV007SUFPSTtFeEV5Z1dWO0V3RWhoV007SUFPSTtFeEU0Z1dWO0V3RW5oV007SUFPSTtFeEUrZ1dWO0V3RXRoV007SUFPSTtFeEVraFdWO0V3RXpoV007SUFPSTtFeEVxaFdWO0V3RTVoV007SUFPSTtFeEV3aFdWO0V3RS9oV007SUFPSTtFeEUyaFdWO0V3RWxpV007SUFPSTtFeEU4aFdWO0V3RXJpV007SUFPSTtFeEVpaVdWO0V3RXhpV007SUFPSTtFeEVvaVdWO0V3RTNpV007SUFPSTtFeEV1aVdWO0V3RTlpV007SUFPSTtFeEUwaVdWO0V3RWpqV007SUFPSTtFeEU2aVdWO0V3RXBqV007SUFPSTtFeEVnaldWO0V3RXZqV007SUFPSTtFeEVtaldWO0V3RTFqV007SUFPSTtFeEVzaldWO0V3RTdqV007SUFPSTtFeEV5aldWO0V3RWhrV007SUFPSTtFeEU0aldWO0V3RW5rV007SUFPSTtFeEUraldWO0V3RXRrV007SUFPSTtFeEVra1dWO0V3RXprV007SUFPSTtFeEVxa1dWO0V3RTVrV007SUFPSTtFeEV3a1dWO0V3RS9rV007SUFPSTtFeEUya1dWO0V3RWxsV007SUFPSTtFeEU4a1dWO0V3RXJsV007SUFPSTtFeEVpbFdWO0V3RXhsV007SUFPSTtFeEVvbFdWO0V3RTNsV007SUFPSTtFeEV1bFdWO0V3RTlsV007SUFPSTtFeEUwbFdWO0V3RWptV007SUFPSTtFeEU2bFdWO0V3RXBtV007SUFPSTtFeEVnbVdWO0V3RXZtV007SUFPSTtFeEVtbVdWO0V3RTFtV007SUFPSTtFeEVzbVdWO0V3RTdtV007SUFPSTtFeEV5bVdWO0V3RWhuV007SUFPSTtFeEU0bVdWO0V3RW5uV007SUFPSTtFeEUrbVdWO0V3RXRuV007SUFPSTtFeEVrbldWO0V3RXpuV007SUFPSTtFeEVxbldWO0V3RTVuV007SUFPSTtJQUFBO0V4RXluV1Y7RXdFaG9XTTtJQU9JO0lBQUE7RXhFNm5XVjtFd0Vwb1dNO0lBT0k7SUFBQTtFeEVpb1dWO0V3RXhvV007SUFPSTtJQUFBO0V4RXFvV1Y7RXdFNW9XTTtJQU9JO0lBQUE7RXhFeW9XVjtFd0VocFdNO0lBT0k7SUFBQTtFeEU2b1dWO0V3RXBwV007SUFPSTtJQUFBO0V4RWlwV1Y7RXdFeHBXTTtJQU9JO0lBQUE7RXhFcXBXVjtFd0U1cFdNO0lBT0k7SUFBQTtFeEV5cFdWO0V3RWhxV007SUFPSTtJQUFBO0V4RTZwV1Y7RXdFcHFXTTtJQU9JO0lBQUE7RXhFaXFXVjtFd0V4cVdNO0lBT0k7SUFBQTtFeEVxcVdWO0V3RTVxV007SUFPSTtJQUFBO0V4RXlxV1Y7RXdFaHJXTTtJQU9JO0lBQUE7RXhFNnFXVjtFd0VwcldNO0lBT0k7RXhFZ3JXVjtFd0V2cldNO0lBT0k7RXhFbXJXVjtFd0UxcldNO0lBT0k7RXhFc3JXVjtFd0U3cldNO0lBT0k7RXhFeXJXVjtFd0Voc1dNO0lBT0k7RXhFNHJXVjtFd0Vuc1dNO0lBT0k7RXhFK3JXVjtFd0V0c1dNO0lBT0k7RXhFa3NXVjtFd0V6c1dNO0lBT0k7RXhFcXNXVjtFd0U1c1dNO0lBT0k7RXhFd3NXVjtFd0Uvc1dNO0lBT0k7RXhFMnNXVjtFd0VsdFdNO0lBT0k7RXhFOHNXVjtFd0VydFdNO0lBT0k7RXhFaXRXVjtFd0V4dFdNO0lBT0k7RXhFb3RXVjtFd0UzdFdNO0lBT0k7RXhFdXRXVjtFd0U5dFdNO0lBT0k7RXhFMHRXVjtFd0VqdVdNO0lBT0k7RXhFNnRXVjtFd0VwdVdNO0lBT0k7RXhFZ3VXVjtFd0V2dVdNO0lBT0k7RXhFbXVXVjtFd0UxdVdNO0lBT0k7RXhFc3VXVjtFd0U3dVdNO0lBT0k7RXhFeXVXVjtFd0VodldNO0lBT0k7RXhFNHVXVjtFd0VudldNO0lBT0k7RXhFK3VXVjtFd0V0dldNO0lBT0k7RXhFa3ZXVjtFd0V6dldNO0lBT0k7RXhFcXZXVjtFd0U1dldNO0lBT0k7RXhFd3ZXVjtFd0UvdldNO0lBT0k7RXhFMnZXVjtFd0Vsd1dNO0lBT0k7RXhFOHZXVjtFd0Vyd1dNO0lBT0k7RXhFaXdXVjtFd0V4d1dNO0lBT0k7RXhFb3dXVjtFd0Uzd1dNO0lBT0k7RXhFdXdXVjtFd0U5d1dNO0lBT0k7RXhFMHdXVjtFd0VqeFdNO0lBT0k7RXhFNndXVjtFd0VweFdNO0lBT0k7RXhFZ3hXVjtFd0V2eFdNO0lBT0k7RXhFbXhXVjtFd0UxeFdNO0lBT0k7SUFBQTtFeEV1eFdWO0V3RTl4V007SUFPSTtJQUFBO0V4RTJ4V1Y7RXdFbHlXTTtJQU9JO0lBQUE7RXhFK3hXVjtFd0V0eVdNO0lBT0k7SUFBQTtFeEVteVdWO0V3RTF5V007SUFPSTtJQUFBO0V4RXV5V1Y7RXdFOXlXTTtJQU9JO0lBQUE7RXhFMnlXVjtFd0VseldNO0lBT0k7SUFBQTtFeEUreVdWO0V3RXR6V007SUFPSTtJQUFBO0V4RW16V1Y7RXdFMXpXTTtJQU9JO0lBQUE7RXhFdXpXVjtFd0U5eldNO0lBT0k7SUFBQTtFeEUyeldWO0V3RWwwV007SUFPSTtJQUFBO0V4RSt6V1Y7RXdFdDBXTTtJQU9JO0lBQUE7RXhFbTBXVjtFd0UxMFdNO0lBT0k7RXhFczBXVjtFd0U3MFdNO0lBT0k7RXhFeTBXVjtFd0VoMVdNO0lBT0k7RXhFNDBXVjtFd0VuMVdNO0lBT0k7RXhFKzBXVjtFd0V0MVdNO0lBT0k7RXhFazFXVjtFd0V6MVdNO0lBT0k7RXhFcTFXVjtFd0U1MVdNO0lBT0k7RXhFdzFXVjtFd0UvMVdNO0lBT0k7RXhFMjFXVjtFd0VsMldNO0lBT0k7RXhFODFXVjtFd0VyMldNO0lBT0k7RXhFaTJXVjtFd0V4MldNO0lBT0k7RXhFbzJXVjtFd0UzMldNO0lBT0k7RXhFdTJXVjtFd0U5MldNO0lBT0k7RXhFMDJXVjtFd0VqM1dNO0lBT0k7RXhFNjJXVjtFd0VwM1dNO0lBT0k7RXhFZzNXVjtFd0V2M1dNO0lBT0k7RXhFbTNXVjtFd0UxM1dNO0lBT0k7RXhFczNXVjtFd0U3M1dNO0lBT0k7RXhFeTNXVjtFd0VoNFdNO0lBT0k7RXhFNDNXVjtFd0VuNFdNO0lBT0k7RXhFKzNXVjtFd0V0NFdNO0lBT0k7RXhFazRXVjtFd0V6NFdNO0lBT0k7RXhFcTRXVjtFd0U1NFdNO0lBT0k7RXhFdzRXVjtFd0UvNFdNO0lBT0k7RXhFMjRXVjtFd0VsNVdNO0lBT0k7RXhFODRXVjtFd0VyNVdNO0lBT0k7RXhFaTVXVjtFd0V4NVdNO0lBT0k7RXhFbzVXVjtFd0UzNVdNO0lBT0k7RXhFdTVXVjtFd0U5NVdNO0lBT0k7RXhFMDVXVjtFd0VqNldNO0lBT0k7RXhFNjVXVjtFd0VwNldNO0lBT0k7RXhFZzZXVjtFd0V2NldNO0lBT0k7RXhFbTZXVjtFd0UxNldNO0lBT0k7RXhFczZXVjtFd0U3NldNO0lBT0k7RXhFeTZXVjtFd0VoN1dNO0lBT0k7RXhFNDZXVjtFd0VuN1dNO0lBT0k7RXhFKzZXVjtFd0V0N1dNO0lBT0k7SUFBQTtFeEVrN1dWO0V3RXo3V007SUFPSTtJQUFBO0V4RXE3V1Y7RXdFNTdXTTtJQU9JO0lBQUE7RXhFdzdXVjtFd0UvN1dNO0lBT0k7SUFBQTtFeEUyN1dWO0V3RWw4V007SUFPSTtJQUFBO0V4RTg3V1Y7RXdFcjhXTTtJQU9JO0lBQUE7RXhFaThXVjtFd0V4OFdNO0lBT0k7RXhFbzhXVjtFd0UzOFdNO0lBT0k7RXhFdThXVjtFd0U5OFdNO0lBT0k7RXhFMDhXVjtBQUNGO0F5RWpnWEE7RUQrQ1E7SUFPSTtFeEUrOFdWO0V3RXQ5V007SUFPSTtFeEVrOVdWO0V3RXo5V007SUFPSTtFeEVxOVdWO0V3RTU5V007SUFPSTtFeEV3OVdWO0FBQ0Y7QXlFNS9XQTtFRDRCUTtJQU9JO0V4RTY5V1Y7RXdFcCtXTTtJQU9JO0V4RWcrV1Y7RXdFditXTTtJQU9JO0V4RW0rV1Y7RXdFMStXTTtJQU9JO0V4RXMrV1Y7RXdFNytXTTtJQU9JO0V4RXkrV1Y7RXdFaC9XTTtJQU9JO0V4RTQrV1Y7RXdFbi9XTTtJQU9JO0V4RSsrV1Y7RXdFdC9XTTtJQU9JO0V4RWsvV1Y7RXdFei9XTTtJQU9JO0V4RXEvV1Y7RXdFNS9XTTtJQU9JO0V4RXcvV1Y7RXdFLy9XTTtJQU9JO0V4RTIvV1Y7QUFDRjs7QUFtTkEsd0NBQXdDLEM7Ozs7QTBFeHhYeEM7Ozs7RUFJRTs7QUFFRixZQUFZLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLFdBQVcsQ0FBQyxnQkFBZ0IsYUFBYSxDQUFDLDhCQUE4QixTQUFTLENBQUMsaUNBQWlDLFdBQVcsQ0FBQyxxQkFBcUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsVUFBVSxDQUFDLG9CQUFvQixDQUFDLGlDQUFpQyxDQUFDLGtDQUFrQyxDQUFDLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxrQ0FBa0MsQ0FBQyxpQkFBaUIsQ0FBQywyQkFBMkIsVUFBVSxDQUFDLG9CQUFvQixDQUFDLGlDQUFpQyxDQUFDLGtDQUFrQyxDQUFDLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxtREFBbUQsUUFBUSxDQUFDLGtEQUFrRCxRQUFRLENBQUMsb0RBQW9ELFNBQVMsQ0FBQyxtREFBbUQsU0FBUyxDQUFDLHFEQUFxRCxRQUFRLENBQUMsb0RBQW9ELFFBQVEsQ0FBQyxrREFBa0QsV0FBVyxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQyxpREFBaUQsV0FBVyxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQyxrQkFBa0IsUUFBUSxDQUFDLDBCQUEwQixDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLDhCQUE4QixpQkFBaUIsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLHlCQUF5QixDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyw4RUFBOEUsNEJBQTRCLENBQUMsc0VBQXNFLGVBQWUsQ0FBQyxjQUFjLENBQUMsd0RBQXdELFVBQVUsQ0FBQyx3RUFBd0UsY0FBYyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsb0NBQW9DLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxzSkFBc0osd0JBQXdCLENBQUMsZ0VBQWdFLENBQUMsK0RBQStELENBQUMsOEVBQThFLENBQUMsbUVBQW1FLENBQUMsOERBQThELENBQUMsMkRBQTJELENBQUMsMEJBQTBCLENBQUMsaUhBQWlILENBQUMsb0NBQW9DLENBQUMsMERBQTBELENBQUMsZ0VBQWdFLENBQUMsVUFBVSxDQUFDLDA0QkFBMDRCLHdCQUF3QixDQUFDLG9XQUFvVywwQkFBMEIsQ0FBQywwQ0FBMEMsVUFBVSxDQUFDLDJDQUEyQyxVQUFVLENBQUMsc0pBQXNKLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsOEtBQThLLHdCQUF3QixDQUFDLGdFQUFnRSxDQUFDLCtEQUErRCxDQUFDLDhFQUE4RSxDQUFDLG1FQUFtRSxDQUFDLDhEQUE4RCxDQUFDLDJEQUEyRCxDQUFDLDBCQUEwQixDQUFDLGlIQUFpSCxDQUFDLG9DQUFvQyxDQUFDLDBEQUEwRCxDQUFDLGdFQUFnRSxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxrZ0NBQWtnQyx3QkFBd0IsQ0FBQyxvWkFBb1osMEJBQTBCLENBQUMsa0tBQWtLLHdCQUF3QixDQUFDLDZEQUE2RCxDQUFDLDREQUE0RCxDQUFDLDJFQUEyRSxDQUFDLGdFQUFnRSxDQUFDLDJEQUEyRCxDQUFDLHdEQUF3RCxDQUFDLDBCQUEwQixDQUFDLGlIQUFpSCxDQUFDLDhCQUE4QixDQUFDLDBEQUEwRCxDQUFDLGdFQUFnRSxDQUFDLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxzOEJBQXM4QixxQkFBcUIsQ0FBQyw0WEFBNFgsdUJBQXVCLENBQUMsMEpBQTBKLHdCQUF3QixDQUFDLDBEQUEwRCxDQUFDLHlEQUF5RCxDQUFDLHdFQUF3RSxDQUFDLDZEQUE2RCxDQUFDLHdEQUF3RCxDQUFDLHFEQUFxRCxDQUFDLDBCQUEwQixDQUFDLDhHQUE4RyxDQUFDLDhCQUE4QixDQUFDLDBEQUEwRCxDQUFDLGdFQUFnRSxDQUFDLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyw4NUJBQTg1QixxQkFBcUIsQ0FBQyw0V0FBNFcsdUJBQXVCLENBQUMsNkJBQTZCLGFBQWEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixDQUFDLHdFQUF3RSxlQUFlLENBQUMsa0ZBQWtGLGNBQWMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLDhLQUE4Syx3QkFBd0IsQ0FBQywwREFBMEQsQ0FBQyx5REFBeUQsQ0FBQyx3RUFBd0UsQ0FBQyw2REFBNkQsQ0FBQyx3REFBd0QsQ0FBQyxxREFBcUQsQ0FBQywwQkFBMEIsQ0FBQyw4R0FBOEcsQ0FBQyw4QkFBOEIsQ0FBQywwREFBMEQsQ0FBQyxnRUFBZ0UsQ0FBQyxVQUFVLENBQUMsb0NBQW9DLENBQUMsa2dDQUFrZ0MscUJBQXFCLENBQUMsb1pBQW9aLHVCQUF1QixDQUFDLGtFQUFrRSxVQUFVLENBQUMsK0JBQStCLFdBQVcsQ0FBQywyRkFBMkYsY0FBYyxDQUFDLG1IQUFtSCxlQUFlLENBQUMsc0RBQXNELGlCQUFpQixDQUFDLGdCQUFnQixjQUFjLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLHVEQUF1RCxjQUFjLENBQUMsMkRBQTJELGNBQWMsQ0FBQyx1QkFBdUIsaUJBQWlCLENBQUMsbUNBQW1DLGlDQUFpQyxDQUFDLDhCQUE4QixDQUFDLHlCQUF5QixDQUFDLGtDQUFrQyxpQ0FBaUMsQ0FBQyw4QkFBOEIsQ0FBQyx5QkFBeUIsQ0FBQyx5QkFBeUIsb0JBQW9CLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQzs7OztBQ0xwcmU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlDME9rQjtFRHpPbEI7RUFDQSxnQkNSa0I7RURTbEIseUxDNE5GO0VEM05FO0FFQUo7QUZFSTtFQUNFO0FFQU47QUZHSTtFQUNFLGlCQ2dPcUI7RUQvTnJCLFVDZ09zQjtFRC9OdEIsY0NnT3dCO0VEL054QjtBRUROO0FGSUk7RUFDRTtBRUZOO0FGS0k7RUFDRSxXQzROcUI7RUQzTnJCLGFDNE5xQjtFRDNOckIsY0M0TndCO0FDL045QjtBRk1JO0VBQ0UsY0N5TjZCO0FDN05uQztBRk9JO0VBQ0UsaUJDdU5zQjtFRHROdEIsa0JDc05zQjtFRHJOdEIsZ0JDdU55QjtBQzVOL0I7QUZRSTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFlDNEwyQjtFRDNMM0IsYUM0TDRCO0VEM0w1QixTQzRMNEI7RUQzTDVCLGNDNEwrQjtBQ2xNckM7QUZTSTtFQUNFLGlCQytMOEI7RUQ5TDlCLFVDK0wrQjtFRDlML0IsY0MrTGlDO0VEOUxqQztBRVBOO0FGU007RUFDRTtBRVBSO0FGV0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUVUTjtBRllJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUVWTjtBRllNO0VBQ0U7RUFDQTtFQUNBLGdCQytKcUI7RUQ5SnJCO0FFVlI7QUZjUTtFQUNFO0VBQ0E7QUVaVjtBRmlCUTtFQUNFO0VBQ0E7QUVmVjtBRmlCVTtFQUNFO0FFZlo7QUZrQlU7RUFDRTtBRWhCWjtBRnNCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUVwQk47QUZ1Qkk7RUFDRTtFQUNBO0VBQ0EsY0NpSTBCO0FDdEpoQztBRndCSTtFQUNFLHFCQ3pGVTtBQ21FaEI7QUZ3Qk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FFdEJSO0FGd0JRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRXRCVjtBRnlCUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FFdkJWO0FGMkJNO0VBQ0U7RUFDQTtBRXpCUjtBRjRCTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FFMUJSO0FGNkJNO0VBQ0U7QUUzQlI7QUY2QlE7RUFDRTtFQUNBO0VBQ0E7QUUzQlY7QUY4QlE7RUFDRTtFQUNBO0VBQ0E7QUU1QlY7QUZrQ1U7RUFDRTtBRWhDWjtBRm1DVTtFQUNFO0FFakNaO0FGdUNJO0VBQ0UsZ0NDK0J1QjtBQ3BFN0I7QUZ3Q0k7RUFDRSx5Q0M0QnVCO0FDbEU3Qjs7QUM5SkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsK0lBQ0U7RUFHRjtFQUNBO0VBQ0EsZ0JGWndCO0VFYXhCO0VBQ0EsaUNGUzBCO0VFTjFCO0FENEpGO0FDMUpFO0VBRUUsOEJGQ2E7QUMwSmpCO0FDeEpFO0VBQ0U7QUQwSko7QUN2SkU7RUFHRTtBRHVKSjtBQ3BKRTtFQUdFO0FEb0pKO0FDakpFO0VBR0U7QURpSko7QUM5SUU7RUFDRTtBRGdKSjtBQzdJRTtFQUNFO0VBQ0E7RUFDQTtBRCtJSjtBQzVJRTtFQUVFO0VBQ0E7RUFDQTtBRDZJSjtBQzFJRTtFQUVFO0VBQ0E7QUQySUo7QUN4SUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBRDBJSjtBQ3ZJRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0FEd0lKO0FDcklFO0VBRUU7RUFDQTtFQUNBO0FEc0lKO0FDbklFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QURxSUo7QUNsSUU7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBRG1JSjtBQ2hJRTtFQUVFO0VBQ0E7QURpSUo7QUM5SEU7RUFFRTtFQUNBO0FEK0hKO0FDNUhFO0VBQ0U7QUQ4SEo7O0FDMUhBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRjdIWTtFRThIWjtFQUNBLG1CRjlIYztFRStIZCxZRjlIYTtFRStIYixrQkY3SG9CO0VFOEhwQixnQkYxSW9CO0VFMklwQixjRmhJWTtFRWlJWixvQkZySFc7RUVzSFgsZUZySGdCO0FDa1BsQjtBQzNIRTtFQUNFO0FENkhKO0FDMUhFO0VBQ0U7QUQ0SEo7O0FDeEhBO0VBQ0Usa0JGeEdxQjtFRXlHckIsZUZ4R3NCO0VFeUd0QixTRnhHbUI7RUV5R25CLG9CRnhHb0I7RUV5R3BCLGNGeEdrQjtFRXlHbEIsa0JGeEdzQjtFRXlHdEIsZ0JGeEd3QjtFRXlHeEIsa0JGeEd1QjtFRXlHdkI7RUFDQTtBRDJIRjs7QUN4SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxlRkZ3QjtFRUd4QixtQkZGMEI7RUVHMUIsdUJGRjhCO0VFRzlCLFdGRm9CO0VFR3BCLHFCRkZxQjtFRUdyQixVRkZzQjtBQzZIeEI7QUN2SE07RUFDRTtBRHlIUjtBQ3RITTtFQUNFO0FEd0hSO0FDckhNO0VBQ0U7QUR1SFI7O0FDakhBO0VBQ0U7RUFDQSxtQkZrQnlCO0VFakJ6Qix1QkZrQjZCO0VFakI3QixZRmtCbUI7RUVqQm5CLGFGa0JvQjtFRWpCcEIsaUJGa0JvQjtFRWpCcEIsOERGa0J1QjtFRWpCdkIsb0JGa0IwQjtFRWpCMUIsbUJGa0IwQjtFRWpCMUIsbUJGa0IyQjtFRWpCM0IscURGa0IwQjtBQ2tHNUI7O0FDakhBO0VBQ0UsZ0JGakNvQjtFRWtDcEIsc0JGakNxQjtFRWtDckIsMkJGakN3QjtFRWtDeEIsaUNGakN3QjtFRWtDeEIsZ0JGakN5QjtBQ3FKM0I7QUNsSEU7RUFDRTtBRG9ISjtBQ2pIRTtFQUVFLFNGakMwQjtFRWtDMUIscUJGakNpQztFRWtDakM7RUFDQSx5QkZsQ29DO0VFbUNwQyxXRmhPa0I7RUVpT2xCLGNGbEM2QjtBQ29KakM7QUNoSEk7RUFDRSw4Q0ZwQ2tDO0FDc0p4QztBQzlHRTtFQUVFLFNGdEN1QjtFRXVDdkIscUJGdEM4QjtFRXVDOUI7RUFDQSx5QkZ2Q2lDO0VFd0NqQyxXRjlPa0I7RUUrT2xCLGNGdkMwQjtBQ3NKOUI7QUM3R0k7RUFDRSw0Q0Z6QytCO0FDd0pyQztBQzNHRTtFQUVFLFNGM0N5QjtFRTRDekIscUJGM0NnQztFRTRDaEM7RUFDQSx5QkY1Q21DO0VFNkNuQyxXRjVQa0I7RUU2UGxCLGNGNUM0QjtBQ3dKaEM7QUMxR0k7RUFDRSw4Q0Y5Q2lDO0FDMEp2QztBQ3ZHSTtFQUNFLDhDRi9FMEI7QUN3TGhDO0FDckdFO0VBQ0UsYUZyRnlCO0FDNEw3QjtBQ3BHRTtFQUNFO0FEc0dKOztBQ2xHQTtFQUNFO0VBQ0EsZUZySm9CO0VFc0pwQixrQkZySnFCO0VFc0pyQjtFQUNBLGNGckptQjtFRXNKbkIsY0ZySnVCO0FDMFB6Qjs7QUNsR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSwrQkZ2Um9CO0VFd1JwQiw4QkZ4Um9CO0FDNlh0Qjs7QUNsR0E7RUFDRTtFQUNBLGNGbEtnQztFRW1LaEMsOEJGbEtvQztBQ3VRdEM7O0FDbEdBO0VBQ0U7RUFDQSxvQkZqUW1CO0FDc1dyQjs7QUNsR0E7RUFFRTtFQUNBLG1CRnpLK0I7RUUwSy9CLHVCRnpLbUM7RUUwS25DLFlGekt5QjtFRTBLekIsYUZ6SzBCO0VFMEsxQixhRnhLdUI7RUV5S3ZCLGVGekt1QjtFRTBLdkI7RUFDQSxVRjFLMkI7RUUySzNCO0VBQ0EsdUNGM0s4QjtFRTRLOUIsWUYzSzBCO0VFNEsxQixrQkZwVG9CO0VFc1RwQix1QkYzSzhCO0VFNEs5QixXRjNLeUI7RUU0S3pCLGtCRjNLK0I7RUU0Sy9CO0VBQ0EsZ0JGNUs2QjtFRTZLN0I7RUFDQSxpQkY3TGdDO0FDZ1NsQztBQ2pHRTtFQUNFLGVGN0tpQztFRThLakMsdUJGNUtrQztFRTZLbEMsY0ZyU1U7QUN3WWQ7QUNoR0U7RUFDRSxhRjlLK0I7RUUrSy9CLG9ERjlLa0M7QUNnUnRDO0FDL0ZFO0VBQ0U7QURpR0o7O0FDN0ZBO0VBQ0U7RUFDQSx1QkZqU3FDO0VFa1NyQyx1QkZqUzRCO0VFa1M1QixVRmpTNkI7RUVrUzdCLGNGalM4QjtFRWtTOUIsY0ZqUzJCO0VFa1MzQixrQkZqUytCO0VFa1MvQixtQkZqU2lDO0VFa1NqQyxtQkZqU2lDO0VFa1NqQyxrQkZqU2dDO0VFa1NoQyxxQkZqUytCO0VFa1MvQixzQkZqU2dDO0FDaVlsQzs7QUM3RkE7Ozs7OztFQU1FLG1CRnZTbUI7QUN1WXJCOztBQzdGQTs7O0VBR0U7RUFDQSxXRjdTa0I7RUU4U2xCLDhDRnJTdUI7RUVzU3ZCLHlCRjVTbUI7RUU2U25CLHVCRjVTMEI7RUU2UzFCLG1CRjFTdUI7RUUyU3ZCLHNFRjdTdUI7RUU4U3ZCLGNGM1NrQjtFRTRTbEIsa0JGOVNzQjtBQzhZeEI7QUM5RkU7OztFQUNFO0VBQ0E7QURrR0o7QUMvRkU7OztFQUNFLHlCRmhUdUI7RUVpVHZCLGFGaFR3QjtFRWlUeEIsbUZGaFQyQjtBQ21aL0I7QUNoR0U7OztFQUNFO0FEb0dKOztBQ2hHQTtFQUNFLG1CRnhVbUI7RUV5VW5CLGdCRmpab0I7QUNvZnRCO0FDakdFO0VBQ0U7QURtR0o7QUNoR0U7RUFDRTtFQUNBLGNGeFVnQjtFRXlVaEI7RUFDQTtBRGtHSjtBQy9GRTs7RUFFRSxlRnRWaUI7RUV1VmpCO0VBQ0Esa0JGblZvQjtFRW9WcEIsb0JGelZpQjtBQzBickI7O0FDN0ZBO0VBQ0UsZUY5Vm1CO0VFK1ZuQixpQkY5Vm9CO0FDOGJ0Qjs7QUM3RkE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxtQkZoV3VCO0VFaVd2QixrQkZsV3NCO0FDa2N4Qjs7QUM3RkE7RUFDRSxjRjNWc0I7RUU0VnRCLGVGM1Z1QjtBQzJiekI7O0FDN0ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUJGN1d1QjtFRThXdkIsY0Y3V2tCO0VFOFdsQixrQkZoWHNCO0FDZ2R4Qjs7QUM3RkE7O0VBRUU7RUFDQTtFQUNBLGdCRnRjb0I7RUV1Y3BCLGNGdFhrQjtBQ3NkcEI7QUM5RkU7O0VBQ0U7RUFDQSxrQkY1WG9CO0FDNmR4QjtBQzlGRTs7RUFDRTtFQUNBO0FEaUdKOztBQzdGQTtFQUNFO0VBQ0EsdUJGdlhrQztFRXdYbEMsa0JGelh5QjtBQ3lkM0I7O0FDN0ZBO0VBQ0UsbUJGelhxQztFRTBYckMsdUJGelh5QztFRTBYekMsZUZ6WGdDO0VFMFhoQyxnQkZ6WGlDO0VFMFhqQztFQUNBLG1CRjFYb0M7RUUyWHBDLGNGMVgrQjtFRTJYL0IsY0YxWG1DO0VFMlhuQyxnQkYxWHFDO0FDMGR2QztBQzlGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0EseUJGdGNVO0VFdWNWLFdGL2VrQjtFRWdmbEI7RUFDQTtFQUNBO0FEK0ZKOztBQ3JGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFVGamVnQjtFRWtlaEIsV0ZsZWdCO0VFbWVoQix3QkZqZWtCO0VFbWVsQjtFQUNBO0VBQ0Esa0JGbGV3QjtFRW1leEIsb0JGcmV1QjtFRXNldkIsZ0JGemVnQjtFRTBlaEI7RUFDQTtBRHVGRjtBQ3JGRTtFQUNFO0VBQ0E7RUFDQSxpQkY1ZW1CO0FDbWtCdkI7QUNwRkU7RUFDRSxxQkYzZVU7RUU0ZVYsY0Y1ZVU7QUNra0JkO0FDcEZJO0VBQ0U7RUFDQTtBRHNGTjtBQy9FSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCRjlmUTtBQytrQmQ7QUMvRU07RUFDRTtFQUNBO0FEaUZSO0FDOUVNO0VBQ0U7RUFDQTtBRGdGUjtBQzNFSTtFQUVJO0FENEVSO0FDMUVRO0VBQ0U7QUQ0RVY7QUN0RUU7RUFDRTtFQUNBLGNGeGhCWTtBQ2dtQmhCO0FDckVJO0VBRUk7QURzRVI7QUNwRVE7RUFDRTtBRHNFVjtBQ2hFRTtFQUNFO0VBQ0EsY0Z2aUJTO0FDeW1CYjtBQy9ESTtFQUVJO0FEZ0VSO0FDOURRO0VBQ0U7QURnRVY7QUMxREU7RUFDRTtFQUNBLGNGdGpCYTtBQ2tuQmpCO0FDekRJO0VBRUk7QUQwRFI7QUN4RFE7RUFDRTtBRDBEVjtBQ3BERTtFQUNFLHFCRjFrQlk7RUUya0JaLGNGM2tCWTtBQ2lvQmhCO0FDcERJO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRHFETjtBQ25ETTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURxRFI7QUM5Q007RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEZ0RSO0FDeENJO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEeUNOO0FDbENJO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURtQ047QUM1Qkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJGcHBCVTtBQ2tyQmhCO0FDNUJNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUQ4QlI7QUMzQk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtBRDZCUjtBQ2xCUTtFQUNFO0FEb0JWO0FDakJRO0VBQ0U7QURtQlY7QUNoQlE7RUFDRTtBRGtCVjs7QUNYQTtFQUNFLGVGcG5CK0I7RUVxbkIvQixtQkZwbkJpQztFRXFuQmpDLGVGcG5CK0I7RUVxbkIvQixtQkZubkI0QjtFRW9uQjVCLFVGbm5CNkI7RUVvbkI3QixtQkZ0bkJnQztFRXVuQmhDLGdCRnBuQmlDO0FDa29CbkM7QUNaRTtFQUNFO0VBQ0E7QURjSjtBQ1hFO0VBQ0U7RUFDQTtFQUNBLFVGNW5Cd0I7RUU2bkJ4QixXRjVuQnlCO0VFNm5CekIsa0JGNW5CZ0M7RUU2bkJoQyxtQkYxbkIyQjtFRTJuQjNCLFdGdnZCa0I7RUV3dkJsQixnQkZob0J5QjtFRWlvQnpCO0FEYUo7QUNYSTtFQUNFLG1CRmhvQnlCO0FDNm9CL0I7QUNYTTtFQUNFLG1CRnJvQnlCO0VFc29CekIsV0Zod0JjO0FDNndCdEI7QUNWTTtFQUNFLG1CRjFvQnlCO0FDc3BCakM7QUNQRTtFQUNFO0VBQ0E7RUFDQSxZRnRwQjRCO0VFdXBCNUI7RUFDQTtFQUNBLG1CRm5wQjJCO0FDNHBCL0I7O0FDSkE7RUFDRTtBRE9GOztBQ0pBO0VBQ0UsMEJGendCcUI7QUNneEJ2Qjs7QUNKQTtFQUNFLG9DRjV3QnFCO0FDbXhCdkI7O0FDSkE7RUFDRTtBRE9GOztBQ0hBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRE1GOztBQ0RFO0VBQ0U7RUFDQSxjRmhxQnFCO0FDb3FCekI7QUNERTtFQUNFO0VBQ0E7QURHSjs7QUV4ekJBO0VBQ0U7SUFDRTtFRjJ6QkY7RUV4ekJBO0lBQ0U7RUYwekJGO0VFdnpCQTtJQUNFO0VGeXpCRjtFRXR6QkE7SUFDRTtFRnd6QkY7QUFDRjtBRXJ6QkE7RUFDRTtJQUNFO0lBQ0E7RUZ1ekJGO0FBQ0Y7QUVwekJBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RUZzekJGO0VFbnpCQTtJQUNFO0lBQ0E7SUFDQTtFRnF6QkY7RUVsekJBO0lBQ0U7SUFDQTtJQUNBO0VGb3pCRjtFRWp6QkE7SUFDRTtJQUNBO0lBQ0E7RUZtekJGO0VFaHpCQTtJQUNFO0lBQ0E7SUFDQTtFRmt6QkY7QUFDRjtBRS95QkE7RUFDRTtJQUNFO0lBQ0E7SUFDQTtFRml6QkY7RUU5eUJBO0lBQ0U7SUFDQTtJQUNBO0VGZ3pCRjtFRTd5QkE7SUFDRTtJQUNBO0lBQ0E7RUYreUJGO0VFNXlCQTtJQUNFO0lBQ0E7SUFDQTtFRjh5QkY7QUFDRjtBRzUzQkE7RUFDRTtJQUNFO0VIODNCRjtFRzMzQkE7SUFDRTtFSDYzQkY7RUcxM0JBO0lBQ0U7RUg0M0JGO0VHejNCQTtJQUNFO0VIMjNCRjtBQUNGO0FHdjNCQTtFQUNFO0lBQ0U7SUFDQTtFSHkzQkY7RUd0M0JBO0lBQ0U7SUFDQTtFSHczQkY7QUFDRjtBR3AzQkE7RUFDRTtJQUNFO0lBQ0E7SUFDQTtFSHMzQkY7RUduM0JBO0lBQ0U7SUFDQTtJQUNBO0VIcTNCRjtFR2wzQkE7SUFDRTtJQUNBO0lBQ0E7RUhvM0JGO0VHajNCQTtJQUNFO0lBQ0E7SUFDQTtFSG0zQkY7RUdoM0JBO0lBQ0U7SUFDQTtJQUNBO0VIazNCRjtBQUNGO0FHLzJCQTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0VIaTNCRjtFRzkyQkE7SUFDRTtJQUNBO0lBQ0E7RUhnM0JGO0VHNzJCQTtJQUNFO0lBQ0E7SUFDQTtFSCsyQkY7RUc1MkJBO0lBQ0U7SUFDQTtJQUNBO0VIODJCRjtBQUNGO0FHMzJCQTtFQUNFO0lBQ0U7RUg2MkJGO0VHMTJCQTtJQUNFO0VINDJCRjtFR3oyQkE7SUFDRTtFSDIyQkY7RUd4MkJBO0lBQ0U7RUgwMkJGO0FBQ0Y7QUd0MkJBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RUh3MkJGO0VHcjJCQTtJQUNFO0lBQ0E7SUFDQTtFSHUyQkY7RUdwMkJBO0lBQ0U7SUFDQTtFSHMyQkY7RUduMkJBO0lBQ0U7SUFDQTtJQUNBO0VIcTJCRjtBQUNGO0FHbDJCQTtFQUNFO0lBQ0U7SUFDQTtFSG8yQkY7RUdqMkJBO0lBQ0U7SUFDQTtFSG0yQkY7QUFDRjtBR2gyQkE7RUFDRTtJQUNFO0VIazJCRjtFRy8xQkE7SUFDRTtFSGkyQkY7QUFDRjtBRzcxQkE7RUFDRTtJQUNFO0VIKzFCRjtFRzUxQkE7SUFDRTtFSDgxQkY7QUFDRjtBRzExQkE7RUFDRTtJQUNFO0lBQ0E7RUg0MUJGO0VHejFCQTtJQUNFO0lBQ0E7RUgyMUJGO0VHeDFCQTtJQUNFO0lBQ0E7RUgwMUJGO0VHdjFCQTtJQUNFO0lBQ0E7RUh5MUJGO0VHdDFCQTtJQUNFO0lBQ0E7RUh3MUJGO0FBQ0Y7QUkvZ0NFO0VDUEk7QUx5aENOO0FLcmhDRTtFQUNFO0FMdWhDSjtBS25oQ0k7RUFDRTtFQUNBO0FMcWhDTjtBS25oQ007RUFDRTtBTHFoQ1I7QUtsaENNO0VBQ0U7QUxvaENSO0FLL2dDRTtFRGhCQTtJQ21CTTtFTGdoQ047RUs5Z0NNO0lBQ0U7RUxnaENSO0VLN2dDTTtJQUNFO0VMK2dDUjtBQUNGO0FNcGpDSTtFQUNFO0VBQ0EsWVAyT2M7RU8xT2Q7RUFDQTtFQUNBO0FOc2pDTjtBTXBqQ007RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOc2pDUjtBTW5qQ007RUFFRTtFQUNBO0VBQ0E7RUFDQTtBTm9qQ1I7QU1qakNNO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QU5rakNSO0FNL2lDTTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU5nakNSO0FNN2lDTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU4raUNSO0FNNWlDTTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU42aUNSO0FNMWlDTTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0FOMmlDUjtBTXhpQ007RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOMGlDUjtBTXZpQ007RUFFRTtFQUNBO0VBQ0E7RUFDQTtBTndpQ1IsQzs7OztBT3huQ0EsZ0JBQWdCOztBQUVoQixxQ0FBcUM7QUFDckM7Q0FDQywyQkFBMkI7QUFDNUI7O0FBRUE7Q0FDQyxrQkFBa0I7QUFDbkI7O0FBRUE7Q0FDQyxrQkFBa0I7Q0FDbEIsTUFBTTtDQUNOLFNBQVM7Q0FDVCxPQUFPO0NBQ1AsUUFBUTtDQUNSLGFBQWE7Q0FDYixzQkFBc0I7Q0FDdEIsWUFBWTtDQUNaLDJCQUEyQjtBQUM1Qjs7QUFFQTtDQUNDLGtCQUFrQjtDQUNsQixhQUFhO0NBQ2IsTUFBTTtDQUNOLE9BQU87Q0FDUCxZQUFZO0FBQ2I7O0FBRUE7Q0FDQyxlQUFlO0NBQ2Ysa0JBQWtCO0FBQ25COztBQUVBO0NBQ0MsZUFBZTtDQUNmLGtCQUFrQjtBQUNuQixDOzs7O0FDdkNBOzs7RUFHRTtBQ0hGOzs7RUFHRTs7QUFFRixVQUFVO0FDTFY7OztFQUdFO0FDSEY7OztFQUdFO0FBRUY7Q0FDQyxtREFBbUQ7Q0FDbkQsb0RBQW9EO0NBQ3BELGtEQUFrRDtDQUNsRCx1REFBdUQ7Q0FDdkQsbURBQW1EO0NBQ25ELCtDQUErQztDQUMvQyxzREFBc0Q7Q0FDdEQsNERBQTREO0NBQzVELGtEQUFrRDs7Q0FFbEQsK0ZBQStGOztDQUUvRiw0REFBNEQ7Q0FDNUQsK0VBQStFO0NBQy9FLDREQUE0RDtDQUM1RCw4REFBOEQ7Q0FDOUQseURBQXlEO0NBQ3pELHFEQUFxRDtDQUNyRCxzREFBc0Q7Q0FDdEQsMERBQTBEO0NBQzFELHNEQUFzRDs7Q0FFdEQsK0ZBQStGOztDQUUvRix1REFBdUQ7Q0FDdkQsaUVBQWlFO0NBQ2pFLGtFQUFrRTtDQUNsRSw4REFBOEQ7O0NBRTlELDZEQUE2RDtDQUM3RCxvRUFBb0U7Q0FDcEUsb0VBQW9FO0NBQ3BFLGlFQUFpRTtDQUNqRSx5REFBeUQ7OztDQUd6RCxzRUFBc0U7Q0FDdEUsc0VBQXNFO0NBQ3RFLHNFQUFzRTtDQUN0RSxvRUFBb0U7Q0FDcEUsc0VBQXNFOztDQUV0RSxvREFBb0Q7Q0FDcEQscURBQXFEOztDQUVyRCw4REFBOEQ7Q0FDOUQsaUVBQWlFO0NBQ2pFLHFGQUFxRjtDQUNyRix1RUFBdUU7Q0FDdkUsOEVBQThFO0NBQzlFLGdFQUFnRTs7Q0FFaEUsK0ZBQStGOztDQUUvRiwyRUFBMkU7Q0FDM0Usb0VBQW9FOztDQUVwRSwrRkFBK0Y7O0NBRS9GLGlFQUFpRTtDQUNqRSxtRUFBbUU7O0NBRW5FLCtGQUErRjs7Q0FFL0Ysb0VBQW9FO0NBQ3BFLDZEQUE2RDtDQUM3RCxnRUFBZ0U7Q0FDaEUsMERBQTBEO0NBQzFELDJEQUEyRDtDQUMzRCxvRUFBb0U7Q0FDcEUsc0RBQXNEOztDQUV0RCwrRkFBK0Y7O0NBRS9GLG1FQUFtRTtDQUNuRSw2RkFBNkY7Q0FDN0YsMkVBQTJFO0NBQzNFLCtFQUErRTtDQUMvRSxzRUFBc0U7O0NBRXRFLCtGQUErRjs7Q0FFL0Ysb0VBQW9FO0NBQ3BFLDZEQUE2RDs7Q0FFN0QsK0ZBQStGOztDQUUvRixzRUFBc0U7Q0FDdEUsK0RBQStEOztDQUUvRCwrRkFBK0Y7O0NBRS9GLGdFQUFnRTtDQUNoRSxpRUFBaUU7O0NBRWpFLCtGQUErRjs7Q0FFL0YseURBQXlEOztDQUV6RCwrRkFBK0Y7O0NBRS9GLDJEQUEyRDs7Q0FFM0QsNkZBQTZGOztDQUU3RixvREFBb0Q7Q0FDcEQsbUVBQW1FO0NBQ25FLGdFQUFnRTs7Q0FFaEUsZ0dBQWdHOztDQUVoRyx5REFBeUQ7O0NBRXpELGdHQUFnRzs7Q0FFaEcsZ0RBQWdEO0FBQ2pEO0FDMUhBOzs7RUFHRTtBQUVGO0NBQ0M7O0dBRUU7Q0FDRix5QkFBeUI7QUFDMUI7QUNWQTs7O0VBR0U7QUFFRjtDQUNDOztHQUVFO0NBQ0YsMkNBQTJDOztDQUUzQzs7R0FFRTtDQUNGLGlHQUFpRzs7Q0FFakc7O0dBRUU7Q0FDRiw2R0FBNkc7O0NBRTdHOztHQUVFO0NBQ0YsdUdBQXVHOztDQUV2Rzs7R0FFRTtDQUNGLHVEQUF1RDtBQUN4RDtBQzlCQTs7O0VBR0U7QUFFRjtDQUNDLHlCQUF5QjtDQUN6Qiw4QkFBOEI7Q0FDOUIsNkRBQTZEOztDQUU3RCwwQkFBMEI7Q0FDMUIsNEJBQTRCO0NBQzVCLDBCQUEwQjtDQUMxQix5QkFBeUI7Q0FDekIsMkJBQTJCO0FBQzVCO0FDZkE7OztFQUdFO0FBRUY7Q0FDQzs7O2dCQUdlO0NBQ2YsbUNBQW1DO0FBQ3BDO0FBRUE7O0VBRUU7QUFDRjs7O0NBR0Msc0JBQXNCO0NBQ3RCLFdBQVc7Q0FDWCxZQUFZO0NBQ1osZ0JBQWdCOztDQUVoQiwyQ0FBMkM7Q0FDM0MsU0FBUztDQUNULFVBQVU7Q0FDVixTQUFTO0NBQ1QsdUJBQXVCO0NBQ3ZCLHFCQUFxQjtDQUNyQixzQkFBc0I7Q0FDdEIsZ0JBQWdCOztDQUVoQixnRUFBZ0U7Q0FDaEUscUJBQXFCO0FBQ3RCO0FBRUE7O0VBRUU7QUFDRjs7Q0FFQyx1REFBdUQ7Q0FDdkQseUJBQXlCO0NBQ3pCLGtHQUFrRztDQUNsRywyQkFBMkI7Q0FDM0IsZ0JBQWdCO0NBQ2hCLG1CQUFtQjtDQUNuQixZQUFZO0NBQ1osV0FBVztBQUNaO0FBR0M7RUFDQyxpQkFBaUI7Q0FDbEI7QUFFQTtFQUNDLFdBQVc7RUFDWCx1QkFBdUI7Q0FDeEI7QUFFQTtFQUNDLHFCQUFxQjtDQUN0QjtBQUVBOzs7RUFHQyxZQUFZO0NBQ2I7QUFFQTs7O0VBR0MsZUFBZTtDQUNoQjtBQUVBO0VBQ0MsYUFBYTtFQUNiLG9DQUFvQztDQUNyQztBQUVBO0VBQ0Msa0dBQWtHO0VBQ2xHLFVBQVU7RUFDVjtDQUNEO0FBR0Q7O0VBRUU7QUFDRjs7Q0FFQyxpQkFBaUI7QUFDbEI7QUNoR0E7OztFQUdFO0FBRUY7O0VBRUU7QUFDRjtDQUNDLHVCQUF1QjtBQUN4QjtBQ1ZBOzs7RUFHRTtBQUVGO0NBQ0M7O0dBRUU7Q0FDRixpRUFBaUU7O0NBRWpFOztHQUVFO0NBQ0YsMkRBQTJEOztDQUUzRDs7R0FFRTtDQUNGLHlFQUF5RTtBQUMxRTtBQ3BCQTs7O0VBR0U7QUFFRjtDQUNDLDhCQUE4QjtDQUM5QiwyREFBMkQ7Q0FDM0Qsa0RBQWtEO0NBQ2xELDREQUE0RDtDQUM1RCwyREFBMkQ7Q0FDM0QsMkRBQTJEO0NBQzNELGdFQUFnRTtBQUNqRTs7QVRMQSxlQUFlO0FVUmY7OztFQUdFO0FDSEY7OztFQUdFO0FBRUY7Ozs7RUFJRTtBQ1RGOzs7RUFHRTtBQUVGOztFQUVFO0FBS0Y7O0VBRUU7QUZMRDtFR0VBLGdCQUFnQjs7RUhFZixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLDJDQUEyQztFQUMzQyx1REFBdUQ7RUFDdkQsZUFBZTtDQWlCaEI7QUdyQkE7O0VBRUMsc0NBQXNDO0NBRXZDO0FIUkE7RUlBQSxzQ0FBOEI7Q0p5QjlCO0FBZkM7R0FDQyw0QkFBNEI7R0FDNUIsNkJBQTZCOztHQUU3Qix1RUFBdUU7R0FDdkUsbUJBQW1CO0VBQ3BCO0FBRUE7R0FDQyx5QkFBeUI7R0FDekIsMEJBQTBCOztHQUUxQix1RUFBdUU7R0FDdkUsZ0JBQWdCO0VBQ2pCO0FLakNGOzs7RUFHRTtBQ0hGOzs7RUFHRTtBQUVGOztFQUVFO0FGUEY7OztFQUdFO0FBRUY7O0VBRUU7QUFLRjs7RUFFRTtBR2RGOzs7RUFHRTtBQUVGOztFQUVFO0FKUEY7OztFQUdFO0FBRUY7Ozs7RUFJRTtBS1RGOzs7RUFHRTtBQUVGOzs7OztFQUtFO0FDVkY7OztFQUdFO0FKU0Y7O0NHQUMscURBQXFDO0NMRHJDLGdCQUFnQjs7Q0VNaEIsbUJBQW1CO0NBQ25CLGVBQWU7Q0FDZixzQkFBc0I7Q0FDdEIsK0JBQStCO0NBQy9CLGtCQUFrQjs7Q0FFbEIsaUZBQWlGO0NBQ2pGLDRDQUE0QztDQUM1Qyw2Q0FBNkM7O0NBRTdDO2lEQUNnRDtDQUNoRCxjQUFjOztDQUVkLGlFQUFpRTtDQUNqRSxrQkFBa0I7O0NBRWxCLHFEQUFxRDtDQUNyRCw2QkFBNkI7O0NBRTdCLCtEQUErRDtDQUMvRCw4REFBOEQ7O0NBRTlELGdFQUFnRTtDQUNoRSx3QkFBd0I7QUFnSHpCO0FHMUlFO0dBQ0MsMkRBQTJDO0VBQzVDO0FBRUE7R0FDQyw0REFBNEM7RUFDN0M7QUFHRCwrREFBK0Q7QUFDL0Q7RUFDQyw4REFBOEM7Q0FDL0M7QUxkQTs7OztFQUVDLHNDQUFzQztDQUV2QztBRTBCQTtBQS9CRDs7RUFnQ0UsZ0JBQWdCO0FBNkdsQjtDQTVHQztBQUVBOzs7O0VDdENBLDRCQUE0QjtFQUM1QixhQUFhO0VBQ2IsNEJBQTJCO0VGRjNCLDZDQUE4QjtDQzBDOUI7QUFFQSx5REFBeUQ7QUFFeEQ7Ozs7R0FFQyxjQUFjO0VBQ2Y7QUFHRDtFQUNDLGlFQUFpRTtFQUNqRSxrQkFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLGNBQWM7RUFDZCxlQUFlOztFQUVmO2tFQUNnRTtFQUNoRSxzQkFBc0I7Q0FTdkI7QUl6RUE7R0ptRUUsZ0JBQWdCO0NJakVsQjtBQUZBO0dKdUVFLGlCQUFpQjtDSXJFbkI7QUp5RUE7RUFDQyxjQUFjOztFQVVkLFdBQVc7Q0FDWjtBSXZGQTtHSitFRSxvQ0FBb0M7Q0k3RXRDO0FBRkE7R0ptRkUscUNBQXFDO0NJakZ2QztBSnVGQSwrREFBK0Q7QUFFOUQ7Ozs7R0FFQyxpRkFBaUY7R0QxRm5GLHNEQUE4QjtFQzRGN0I7QUFFQTtHRTlGRCxtQ0FBbUM7RUZnR2xDO0FBRUEsK0RBQStEO0FBQy9EO0dFbkdELG1DQUFtQztFRnFHbEM7QUFFQTtHQUNDLFdBQVc7RUFDWjtBQUdEO0VBQ0MsMERBQTBEOztFQUUxRCwwREFBMEQ7Q0FVM0Q7QUk1SEE7SUpxSEcsc0NBQXNDO0NJbkh6QztBQUZBO0lKeUhHLHFDQUFxQztDSXZIeEM7QUo2SEMsMERBQTBEO0FBQzFEO0dBQ0MsWUFBWTtFQUNiO0FBR0QsNkVBQTZFO0FBQzdFO0VHaElBLGdEQUFxQzs7RUhtSXBDLHNDQUFzQztDQUN2QztBR2pJQztHQUNDLHNEQUEyQztFQUM1QztBQUVBO0dBQ0MsdURBQTRDO0VBQzdDO0FBR0QsK0RBQStEO0FBQy9EO0VBQ0MseURBQThDO0NBQy9DO0FIdUhBO0VBQ0Msa0NBQWtDO0NBQ25DO0FBRUE7RUFDQyxvQ0FBb0M7Q0FDckM7QUFHRCw0REFBNEQ7QUFDNUQ7O0NHaEpDLG9EQUFxQzs7Q0hvSnJDLHlDQUF5QztBQUMxQztBR2xKRTtHQUNDLDBEQUEyQztFQUM1QztBQUVBO0dBQ0MsMkRBQTRDO0VBQzdDO0FBR0QsK0RBQStEO0FBQy9EO0VBQ0MsNkRBQThDO0NBQy9DO0FId0lEOztDQUVDLGlCQUFpQjtBQUNsQjtBS3RLQTs7O0VBR0U7QVBIRjs7O0VBR0U7QUFFRjs7OztFQUlFO0FJVEY7OztFQUdFO0FBRUY7O0VBRUU7QUVQRjs7O0VBR0U7QUNNRjs7NERBRTREO0FBQzVEO0NBQ0MsMkJBQTJCO0NBQzNCLCtDQUErQztDQUMvQywyQkFBMkI7Q0FDM0IsZ0VBQWdFO0NBQ2hFOzs7O0VBSUM7Q0FDRCwyRkFBMkY7QUFDNUY7QUFHQzs7O0dBR0U7QUFDRjtFQUNDLGNBQWM7RUFDZCx1QkFBdUI7Q0FDeEI7QUQzQkE7R0MrQkUsdUNBQXVDO0dBQ3ZDLCtDQUErQztDRDlCakQ7QUFGQTtHQ29DRSx1Q0FBdUM7R0FDdkMsOENBQThDO0NEbkNoRDtBQ3VDQTtFUHBDQSxnQkFBZ0I7O0VPaURmLCtEQUErRDtFQUMvRCw2REFBNkQ7RUFDN0Qsc0ZBQXNGO0VBQ3RGLDZCQUE2QjtFQUM3QiwyQ0FBMkM7RUFDM0Msd0RBQXdEO0NBMEJ6RDtBUDlFQTs7RUFFQyxzQ0FBc0M7Q0FFdkM7QU1YQTtHQzZDRSxvRUFBb0U7R0FDcEUsaUJBQWlCO0NENUNuQjtBQUZBO0dDa0RFLG1FQUFtRTtHQUNuRSxrQkFBa0I7Q0RqRHBCO0FDMkRDO0dQeERELGdCQUFnQjs7R082RGQsZ0RBQWdEO0dBQ2hELGlEQUFpRDtHQUNqRCwwREFBMEQ7O0dBRTFELHVEQUF1RDtHQUN2RCwwQkFBMEI7RUFLM0I7QVByRUQ7O0VBRUMsc0NBQXNDO0lPc0RwQyxpREFBaUQ7Q1BwRHBEO0FPOERFO0FBWkQ7SUFhRSxnQkFBZ0I7RUFFbEI7R0FEQztBQUdEO0dBQ0MsOERBQThEO0VBSy9EO0FBSEM7SUFDQyxzREFBc0Q7R0FDdkQ7QUFJRjtFSHBGQSxtQ0FBbUM7Q0dzRm5DO0FBRUEsOEVBQThFO0FBQzlFO0VBQ0MseUJBQXlCO0VBQ3pCLGFBQWE7RUFDYixnQkFBZ0I7Q0FPakI7QUFMQztHQUNDLG1HQUFtRztHQUNuRyxtQkFBbUI7R0FDbkIsNkJBQTZCO0VBQzlCO0FBR0QsMERBQTBEO0FBRXpEO0dBQ0MsdURBQXVEO0VBa0J4RDtBQWhCQztJQUNDLDZEQUE2RDtHQUM5RDtBQUdDOztLQUVDO0FEcEhKO0tDc0hJLDhEQUE4RDtDRHBIbEU7QUFGQTtLQzBISSwyRUFBMkU7Q0R4SC9FO0FFUkQ7OztFQUdFO0FGSEY7OztFQUdFO0FFSUY7Q0FDQyxvRUFBb0U7QUFpQ3JFO0FBL0JDOztFQUVDLDJDQUEyQztFQUMzQywyQkFBMkI7Q0FDNUI7QUZSQTtHRVlFLHFDQUFxQztDRlZ2QztBQUZBO0dFZ0JFLHNDQUFzQztDRmR4QztBRWtCQTs7OztHQUlFO0FBQ0Y7Ozs7RUFJQyx3REFBd0Q7Q0FLekQ7QUFIQztHQUNDLDJCQUEyQjtFQUM1QjtBQ3ZDRjs7O0VBR0U7QUFFRjtDQUNDLDREQUE0RDtBQUM3RDtBQUdDO0VBQ0MsV0FBVztFQUNYLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsY0FBYztDQWdCZjtBQWRDO0dBQ0MsdUJBQXVCO0VBQ3hCO0FBRUE7R0FDQyx1QkFBdUI7R0FDdkIseUJBQXlCO0dBQ3pCLGdCQUFnQjtFQUNqQjtBQUVBO0dBQ0Msc0NBQXNDO0dBQ3RDLHVDQUF1QztFQUN4QztBQUdEO0VBQ0MsaUZBQWlGO0NBQ2xGO0FBR0M7R0FDQyx5QkFBeUI7RUFDMUI7QUN2Q0Y7OztFQUdFO0FWSEY7OztFQUdFO0FBRUY7Ozs7RUFJRTtBV1RGOzs7RUFHRTtBREtGO0NBQ0MsK0JBQStCOztDQUUvQjs7NERBRTJEO0NBQzNELG9EQUFvRDtBQUNyRDtBQUVBO0NBQ0MsYUFBYTtDQUNiLFlBQVk7QUFDYjtBQUVBO0NBQ0MsK0JBQStCO0FBa0VoQztBQzNFQztFQUNDO0VEV0EscUNBQXFDO0VBQ3JDLHNDQUFzQztFQUN0Qyx5Q0FBeUM7RUFDekMsMENBQTBDO0VBQzFDLFVBQVU7RUFDVixTQUFTO0VDZFQ7O0VEZ0JBOzs7R0FHQyxrREFBa0Q7R0FDbEQsU0FBUztFQUNWOztFQUVBO0dBQ0MsaURBQWlEO0VBQ2xEOztFQUVBO0dBQ0MsZ0dBQWdHO0VBQ2pHOztFQUVBOztHQUVDLG1HQUFtRztFQUNwRztDQ2pDRDtBRG9DQTs7O0dBR0U7QUNuREY7RUFDQztFRG9EQSxZQUFZO0VBQ1osYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsa0NBQWtDO0VDdERsQzs7RUR3REE7R0FDQyxxQkFBcUI7RUFDdEI7Q0N6REQ7QUQ0REE7QUFoREQ7RUFpREUsZ0JBQWdCO0FBa0JsQjtDQWpCQztBQUVBO0VBQ0MsYUFBYTtFQUNiLGlCQUFpQjtDQUNsQjtBQUVBO0VBQ0MsYUFBYTtFQUNiLDRDQUE0QztDQUM3QztBQUdDO0dBQ0MsY0FBYztFQUNmO0FBSUY7Q0FDQyxxQ0FBcUM7QUFDdEM7QUU3RkE7OztFQUdFO0FOSEY7OztFQUdFO0FNS0Qsb0NBQW9DO0FBRW5DOztHQUVDLFdBQVc7RUFDWjtBQUVBO0dBQ0Msd0VBQXdFO0dBQ3hFLDRCQUE0QjtHQUM1Qiw2QkFBNkI7RUFlOUI7QUFiQztJQUNDLGlEQUFpRDtHQUNsRDtBTmhCRjtLTW9CSSx3Q0FBd0M7Q05sQjVDO0FBRkE7S013QkksdUNBQXVDO0NOdEIzQztBTTJCQztHQUNDLGtCQUFrQjtFQUNuQjtBQUdELHVDQUF1QztBQUV0QztHQUNDLFlBQVk7RUFvQmI7QUFsQkM7SUFDQyxhQUFhO0lBQ2IsZ0JBQWdCO0dBZWpCO0FBYkM7S0FDQyxrRUFBa0U7SUFDbkU7QUFFQTtLQUNDLGtFQUFrRTtJQUNuRTtBQUVBOztLQUVDLFdBQVc7S0FDWCxZQUFZO0lBQ2I7QUFJRjtHQUNDLGtCQUFrQjtFQUNuQjtBQ25FRjs7O0VBR0U7QWJIRjs7O0VBR0U7QUFFRjs7OztFQUlFO0FDVEY7OztFQUdFO0FBRUY7O0VBRUU7QUFLRjs7RUFFRTtBYWRGOzs7RUFHRTtBRE1GO0NBQ0MsMkRBQTJEO0NBQzNELDhEQUE4RDtDQUM5RCw0QkFBNEI7Q0FDNUIsNEJBQTRCO0NBQzVCLDZEQUE2RDtDQUM3RCxpRUFBaUU7QUFDbEU7QUFFQTtDQUNDLGdDQUFnQztDQUNoQyxxREFBcUQ7Q0FDckQsMkJBQTJCO0FBQzVCO0FBRUE7Q2JiQyxnQkFBZ0I7O0NhaUJoQiw4Q0FBOEM7O0NBRTlDLDZDQUE2QztDQUM3Qyx1Q0FBdUM7Q0FDdkMscUNBQXFDO0NBQ3JDLDZDQUE2QztDQUM3Qyw0QkFBNEI7QUFLN0I7QWIxQkM7O0VBRUMsc0NBQXNDO0NBRXZDO0FhT0Q7Q1pmQyxzQ0FBOEI7QVk4Qi9CO0FBSEM7RUFDQyxrRUFBa0U7Q0FDbkU7QUFHRDtDQUNDLGdCQUFnQjtBQUNqQjtBQUVBO0NBQ0M7RUFDQyxnQ0FBZ0M7Q0FDakM7O0NBRUE7RUFDQyxxREFBcUQ7Q0FDdEQ7QUFDRDtBRXJEQTs7O0VBR0U7QUFHRDtFQUNDLGdDQUFnQztDQUtqQztBQUhDO0dBQ0Msb0NBQW9DO0VBQ3JDO0FDWEY7OztFQUdFO0FoQkhGOzs7RUFHRTtBQUVGOzs7O0VBSUU7QUlURjs7O0VBR0U7QUFFRjs7RUFFRTtBSFBGOzs7RUFHRTtBQUVGOztFQUVFO0FBS0Y7O0VBRUU7QUtkRjs7O0VBR0U7QVVPRjtDQUNDLHlEQUF5RDtBQUMxRDtBQUVBO0NBQ0MsaUVBQWlFO0NBQ2pFLGtCQUFrQjtBQTJFbkI7QUF6RUM7RUFDQyxvQ0FBb0M7Q0FDckM7QUFHQztHQUNDLGlDQUFpQzs7R0FFakMseUNBQXlDO0dBQ3pDLHVDQUF1QztFQUN4QztBQUlBO0dBQ0MsZ0NBQWdDOztHQUVoQyx5Q0FBeUM7R0FDekMscUNBQXFDO0VBQ3RDO0FBR0Q7RVovQkEsbUNBQW1DO0NZaUNuQztBQUlFO0lBQ0MsdUVBQXVFO0lBQ3ZFLHFDQUFxQztHQUN0QztBQUlBO0lBQ0MsdUVBQXVFO0lBQ3ZFLHNDQUFzQztHQUN2QztBQUdELFFBQVE7QUFDUjtHQUNDLFVBQVU7R0FDVixnQkFBZ0I7R0FDaEIsdUJBQXVCO0VBQ3hCO0FBRUEsK0RBQStEO0FBQy9EO0daMURELG1DQUFtQztFWTREbEM7QUFFQSxxREFBcUQ7QUFDckQ7R0FDQyw0QkFBNEI7R0FDNUIsNkJBQTZCO0VBQzlCO0FBRUE7R0FDQyxXQUFXO0VBQ1o7QUFFQSxzREFBc0Q7QUFDdEQ7O0dBRUMsZ0JBQWdCO0VBS2pCO0FBSEM7SWY3RUYsNkNBQThCO0dlK0U1QjtBQUtIO0NoQmxGQyxnQkFBZ0I7O0NnQnNGaEIscURBQXFEO0NBQ3JELHVEQUF1RDtDQUN2RCxTQUFTOztDQUVULHVFQUF1RTtDQUN2RSxlQUFlO0FBdUJoQjtBaEJoSEM7O0VBRUMsc0NBQXNDO0NBRXZDO0FnQjRFRDtDZnBGQyxzQ0FBOEI7O0NlK0Y5QjttREFDa0Q7QUFvQm5EO0FBbkJDO0VBQ0MseUJBQXlCO0NBQzFCO0FBRUE7RUFDQywwQkFBMEI7Q0FDM0I7QUFFQTtFQUNDLDRCQUE0QjtDQUM3QjtBQUVBO0VBQ0MsNkJBQTZCO0NBQzlCO0FBRUE7RUFDQyxhQUFhO0NBQ2Q7QUM1SEQ7OztFQUdFO0FqQkhGOzs7RUFHRTtBQUVGOzs7O0VBSUU7QWlCRkY7Q0FDQzttREFDa0Q7Q2pCRWxELGdCQUFnQjtBaUJxQmpCO0FqQm5CQzs7RUFFQyxzQ0FBc0M7RWlCSnRDLHlCQUF5QjtDakJNMUI7QWlCSEE7cUNBQ29DO0FBRW5DO0dqQk5ELGdCQUFnQjtFaUJZZjtBakJWRDs7RUFFQyxzQ0FBc0M7SWlCSXBDLHlCQUF5QjtJQUN6Qiw0QkFBNEI7SUFDNUIsNkJBQTZCO0NqQkpoQztBaUJRQztHakJkRCxnQkFBZ0I7RWlCbUJmO0FqQmpCRDs7RUFFQyxzQ0FBc0M7SWlCWXBDLHlCQUF5QjtJQUN6QiwwQkFBMEI7Q2pCWDdCO0FrQmpCRDs7O0VBR0U7QWxCSEY7OztFQUdFO0FBRUY7Ozs7RUFJRTtBa0JGRjtDQUNDLHlEQUF5RDtDQUN6RCxxREFBcUQ7QUFDdEQ7QUFHQzs7R0FFRTtBQUdEO0dBQ0Msb0RBQW9EO0dBQ3BELDhCQUE4QjtHQUM5QixpQ0FBaUM7RUFDbEM7QUFFQTtHQUNDLG1EQUFtRDtHQUNuRCw2QkFBNkI7R0FDN0IsZ0NBQWdDO0VBQ2pDO0FBR0Q7RUFDQzt5Q0FDdUM7RUFDdkMsZ0JBQWdCO0NBaUJqQjtBQWZDO0dBQ0Msa0RBQWtEO0dBQ2xELDZCQUE2QjtHQUM3QixnQ0FBZ0M7RUFDakM7QUFFQTtHQUNDLG1EQUFtRDtHQUNuRCw4QkFBOEI7R0FDOUIsaUNBQWlDO0VBQ2xDO0FBRUE7R0FDQyxvQ0FBb0M7RUFDckM7QUFHRDtxREFDb0Q7QUFDcEQ7RUFDQyxxQkFBcUI7RUFDckIsd0JBQXdCO0NBQ3pCO0FBRUE7bURBQ2tEO0FBQ2xEO0VsQm5EQSxnQkFBZ0I7Q2tCNkRoQjtBbEIzREE7O0VBRUMsc0NBQXNDO0NBRXZDO0FrQitDRTtJQUNDLDRCQUE0QjtHQUM3QjtBQUVBO0lBQ0MsNkJBQTZCO0dBQzlCO0FBSUY7O21DQUVrQztBQUdqQyx5RUFBeUU7QUFDekU7R0FDQyx5REFBeUQ7RUFDMUQ7QUFFQTs0Q0FDMEM7QUFDMUM7R0FDQyxXQUFXO0dBQ1gsa0JBQWtCO0dBQ2xCLFVBQVU7R0FDVixZQUFZO0dBQ1osMkRBQTJEO0VBQzVEO0FBRUEsb0ZBQW9GO0FBQ3BGO0dBQ0Msa0VBQWtFO0VBQ25FO0FBR0M7SUFDQyxVQUFVO0dBQ1g7QUFJQTtJQUNDLFdBQVc7R0FDWjtBQzVHSDs7O0VBR0U7QUFFRjtDQUNDLFNBQVM7QUFDVjtBQ1BBOzs7RUFHRTtBaEJIRjs7O0VBR0U7QUFFRjs7RUFFRTtBQ1BGOzs7RUFHRTtBQUVGOzs7OztFQUtFO0FDVkY7OztFQUdFO0FjTUY7O0VBRUU7QUFDRjtDQUNDLFdBQVc7Q0FDWCxvRUFBb0U7Q0FDcEUsZ0JBQWdCO0FBeUVqQjtBQXZFQztFQUNDLHlCQUF5QjtFQUN6QixnQkFBZ0I7Q0FLakI7QUFIQztHQUNDLDJEQUEyRDtFQUM1RDtBQUdEO0VBQ0MsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQix1QkFBdUI7Q0FDeEI7QUFFQTtFaEJ2QkEsbUNBQW1DO0NnQnlCbkM7QUFFQSwyQ0FBMkM7QUFDM0M7RUFDQyxnRUFBZ0U7Q0FDakU7QUFFQTtFQUNDLG9DQUFvQztDQWVyQztBZG5EQTtHY3VDRSx5QkFBeUI7O0dBRXpCLHFGQUFxRjtHQUNyRixnREFBZ0Q7Q2R4Q2xEO0FBRkE7R2M4Q0Usd0JBQXdCOztHQUV4Qix1R0FBdUc7R0FDdkcsK0NBQStDO0NkL0NqRDtBY21EQTtFaEJsREEsbUNBQW1DO0NnQm9EbkM7QUFHQztHQUNDLHFDQUFxQztFQUN0QztBQUVBO0dBQ0MsaUNBQWlDOztHQUVqQyx5Q0FBeUM7R0FDekMsdUNBQXVDO0VBQ3hDO0FBSUE7R0FDQyxzQ0FBc0M7RUFDdkM7QUFFQTtHQUNDLGdDQUFnQzs7R0FFaEMseUNBQXlDO0dBQ3pDLHFDQUFxQztFQUN0QztBQ3RGRjs7O0VBR0U7QUFFRjtDQUNDLDRDQUE0QztBQUM3QztBQUVBO0NBQ0Msc0RBQXNEO0FBQ3ZEO0FDWEE7OztFQUdFO0FBRUY7O0VBRUU7QUFDRjtDQUNDLGdCQUFnQjtBQTBCakI7QUF4QkM7O0VBRUMsMEZBQTBGO0VBQzFGLCtCQUErQjtDQUNoQztBQUVBO0VBQ0MsZ0RBQWdEO0VBQ2hELCtDQUErQztFQUMvQyxxQ0FBcUM7Q0FDdEM7QUFFQTs7O0dBR0U7QUFDRjtFQUNDLHlCQUF5QjtFQUN6QixnQkFBZ0I7Q0FLakI7QUFIQztHQUNDLDJEQUEyRDtFQUM1RDtBQ2pDRjs7O0VBR0U7QXZCSEY7OztFQUdFO0FBRUY7Ozs7RUFJRTtBQ1RGOzs7RUFHRTtBQUVGOztFQUVFO0FBS0Y7O0VBRUU7QXNCTkY7Q0FDQyw2Q0FBNkM7QUFDOUM7QUFFQTtDdEJIQyxzQ0FBOEI7O0NzQk05QixxREFBcUQ7Q0FDckQsdURBQXVEO0NBQ3ZELFNBQVM7Q0FDVCxtQkFBbUI7Q0FDbkIsdURBQXVEOztDQUV2RCwwQkFBMEI7QUE4QjNCO0FBN0JDOztFQUVDLGFBQWE7Q0FDZDtBQUVBLHFEQUFxRDtBQUNyRDs7RUFFQyx5QkFBeUI7Q0FDMUI7QUFFQTs7RUFFQywwQkFBMEI7Q0FDM0I7QUFFQTs7RUFFQyw0QkFBNEI7Q0FDN0I7QUFFQTs7RUFFQyw2QkFBNkI7Q0FDOUI7QUFFQTtFQUNDLGFBQWE7Q0FDZDtBQ2xERDs7O0VBR0U7QXJCSEY7OztFQUdFO0FBRUY7O0VBRUU7QUZQRjs7O0VBR0U7QUFFRjs7RUFFRTtBQUtGOztFQUVFO0F1Qk5GO0NBQ0MsK0NBQStDO0NBQy9DLGdEQUFnRDtDQUNoRCw4REFBOEQ7Q0FDOUQseUVBQXlFO0NBQ3pFLGlFQUFpRTtBQUNsRTtBQUVBO0NBQ0MsZ0NBQWdDO0NBQ2hDLHdEQUF3RDtDQUN4RCwwREFBMEQ7Q0FDMUQsY0FBYztDQUNkLGlCQUFpQjs7Q0FFakIsNkJBQTZCO0FBOEU5QjtBQTVFQztFckJoQkEsNEJBQTRCO0VBQzVCLGFBQWE7RUFDYiw0QkFBMkI7RUZGM0IsNkNBQThCO0N1Qm1COUI7QUFFQTtFQUNDLG1CQUFtQjtDQUNwQjtBQUVBLGtEQUFrRDtBQUNsRDtFQUNDLGFBQWE7Q0FDZDtBQUVBO0VBQ0MsaUJBQWlCO0VBQ2pCLGdCQUFnQjtDQUNqQjtBQUVBO0VBQ0MsaUJBQWlCO0VBQ2pCLGNBQWM7Q0FDZjtBQUVBOzs7O0VBSUMsYUFBYTtDQUNkO0FBRUE7RUFDQyxhQUFhO0VBQ2IsOEJBQThCO0VBQzlCLHNFQUFzRTtFQUN0RSxtQkFBbUI7Q0FlcEI7QUFiQztHQUNDLHlFQUF5RTtHQUN6RSxlQUFlO0VBQ2hCO0FBRUE7R0FDQyxvQkFBb0I7RUFDckI7QUFFQTtHQUNDLG9CQUFvQjtHQUNwQixpQkFBaUI7RUFDbEI7QUFHRDtFQUNDLHFCQUFxQjtFQUNyQixxRUFBcUU7RUFDckUsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixlQUFlO0NBQ2hCO0FBRUE7RUFDQyxzQkFBc0I7Q0FDdkI7QUFFQTtFQUNDLGdCQUFnQjtFQUNoQiw0RUFBNEU7RUFDNUUsYUFBYTtDQUtkO0FBSEM7R0FDQyxnQkFBZ0I7RUFDakI7QUNuR0Y7OztFQUdFO0F6QkhGOzs7RUFHRTtBQUVGOzs7O0VBSUU7QUlURjs7O0VBR0U7QUFFRjs7RUFFRTtBSFBGOzs7RUFHRTtBQUVGOztFQUVFO0FBS0Y7O0VBRUU7QUVkRjs7O0VBR0U7QUFFRjs7RUFFRTtBRVBGOzs7RUFHRTtBQUVGOzs7OztFQUtFO0FvQkNGO0NBQ0MsbURBQW1EO0FBQ3BEO0FBRUE7Q3pCSkMsZ0JBQWdCO0F5QldqQjtBekJUQzs7RUFFQyxzQ0FBc0M7Q0FFdkM7QXlCQ0E7RXRCVEEsNEJBQTRCO0VBQzVCLGFBQWE7RUFDYiw0QkFBMkI7RUZGM0IsdUNBQThCO0N3Qlk5QjtBQUdEO0NBQ0MsY0FBYztDQUNkLHFDQUFxQztDQUNyQyw2QkFBNkI7QUE0QjlCO0FBMUJDO0VBQ0MsZ0JBQWdCO0NBQ2pCO0FBRUE7RUFDQyxpQkFBaUI7Q0FDbEI7QUFFQSxnRUFBZ0U7QUFDaEU7RUFDQyxtQ0FBbUM7Q0FDcEM7QUFFQSxxREFBcUQ7QUFDckQ7RUFDQzs7O0lBR0U7RUFDRixzQ0FBc0M7Q0FDdkM7QUFFQSxzREFBc0Q7QUFDdEQ7RUFDQyxtREFBbUQ7Q0FDcEQ7QUFHRCxnRUFBZ0U7QUFFL0Q7RUFDQyxxREFBcUQ7Q0FDdEQ7QUFJQTtFQUNDLGtEQUFrRDtDQUNuRDtBQ25FRDs7O0VBR0U7QXBCSEY7OztFQUdFO0FvQklGO0NBQ0MsNkJBQTZCO0FBQzlCO0FBRUE7Q0FDQyx3REFBd0Q7Q0FDeEQsb0NBQW9DO0NBQ3BDLHlDQUF5QztDQUN6QyxvREFBb0Q7QUFnQnJEO0FwQnpCQztHb0JhRSxzQ0FBc0M7Q3BCWHhDO0FBRkE7R29CaUJFLHFDQUFxQztDcEJmdkM7QW9CbUJBO0VBQ0MseUJBQXlCO0VBQ3pCLGlCQUFpQjtDQUNsQjtBQzlCRDs7O0VBR0U7QUFFRjtDQUNDLDZFQUE2RTtDQUM3RSxrQ0FBa0M7QUFDbkM7QUFFQTtDQUNDLDBCQUEwQjtDQUMxQiwyQkFBMkI7O0NBRTNCLHVGQUF1RjtDQUN2RixtQ0FBbUM7O0NBRW5DLCtCQUErQjtDQUMvQixlQUFlOztDQUVmLHlEQUF5RDtDQUN6RCxzQkFBc0I7QUFvQnZCO0FBbEJDO0VBQ0MsK0JBQStCO0VBQy9CLGVBQWU7Q0FDaEI7QUFFQSxnRkFBZ0Y7QUFDaEY7RUFDQyxjQUFjO0NBVWY7QUFSQztHQUNDLGNBQWM7RUFNZjtBQUpDO0lBQ0Msa0JBQWtCO0lBQ2xCLGtCQUFrQjtHQUNuQjtBQ3RDSDs7O0VBR0U7QTVCSEY7OztFQUdFO0FBRUY7Ozs7RUFJRTtBR1RGOzs7RUFHRTtBQUVGOztFQUVFO0FGUEY7OztFQUdFO0FBRUY7O0VBRUU7QUFLRjs7RUFFRTtBMkJMRjtDQUNDLHNCQUFzQjs7Q0FFdEIsNEJBQTRCO0NBQzVCLDRDQUE0QztBQUM3QztBQUVBO0M1QkxDLGdCQUFnQjs7QzRCUWhCLDRDQUE0QztDQUM1Qyw4Q0FBOEM7Q0FDOUMsOERBQThEO0NBQzlELGdDQUFnQzs7Q0FFaEMsd0VBQXdFO0NBQ3hFLDZDQUE2Qzs7Q0FFN0MsK0RBQStEO0NBQy9ELDhEQUE4RDtBQWtDL0Q7QTVCakRDOztFQUVDLHNDQUFzQztDQUV2QztBNEJhQTtBQWREO0VBZUUsZ0JBQWdCO0FBK0JsQjtDQTlCQztBQUVBO0V6QnpCQSw0QkFBNEI7RUFDNUIsYUFBYTtFQUNiLDRCQUEyQjtFRkYzQiw2Q0FBOEI7QzJCNEI5QjtBQUVBO0VBQ0MsdURBQXVEO0VBQ3ZELHFEQUFxRDtFQUNyRCwwQ0FBMEM7Q0FNM0M7QUFKQztHQUNDLGlGQUFpRjtHM0JwQ25GLHNEQUE4QjtFMkJzQzdCO0FBR0Q7RUFDQyxnREFBZ0Q7RUFDaEQsdUNBQXVDO0NBU3hDO0FBUEM7QUFKRDtHQUtFLGVBQWU7Q0FNakI7RUFMQztBQUVBO0czQmpERCxtREFBOEI7RTJCbUQ3QjtBQUlGO0NBQ0M7RUFDQywyQkFBMkI7Q0FDNUI7O0NBRUE7RUFDQywwQkFBMEI7Q0FDM0I7O0NBRUE7RUFDQywyQkFBMkI7Q0FDNUI7O0NBRUE7RUFDQywwQkFBMEI7Q0FDM0I7QUFDRDtBQ2hGQTs7O0VBR0U7QUFFRjtDQUNDLGlCQUFpQjtBQUNsQjtBQ1BBOzs7RUFHRTtBeEJIRjs7O0VBR0U7QU5IRjs7O0VBR0U7QUFFRjs7OztFQUlFO0E4QkRGO0NBQ0Msc0VBQXNFO0NBQ3RFLGlGQUFpRjtDQUNqRixxRUFBcUU7Q0FDckUsaUZBQWlGO0NBQ2pGLDBFQUEwRTtBQUMzRTtBQUVBO0M5QkxDLGdCQUFnQjtBOEJtSGpCO0E5QmpIQzs7RUFFQyxzQ0FBc0M7Q0FFdkM7QThCRUE7RUFDQyxXQUFXO0NBd0NaO0FBdENDO0dBQ0MsUUFBUTs7R0FlUixvQkFBb0I7O0dBRXBCLDBEQUEwRDtHQUMxRCw4Q0FBOEM7R0FDOUMsb0JBQW9CO0dBQ3BCLG1CQUFtQjs7R0FFbkIsNkRBQTZEO0dBQzdELHVCQUF1QjtHQUN2QixnQkFBZ0I7O0dBRWhCLGVBQWU7O0dBRWY7OztzREFHbUQ7RUFLcEQ7QXhCckREO0l3Qm9CRyxTQUFTO0lBQ1QscUJBQXFCO0lBQ3JCLCtEQUErRDtJQUMvRCwrREFBK0Q7Q3hCckJsRTtBQUZBO0l3QjJCRyxVQUFVO0lBQ1Ysd0JBQXdCO0lBQ3hCLDBFQUEwRTtDeEIzQjdFO0F3QmdERTtBQWxDRDtJQW1DRSxnQkFBZ0I7RUFFbEI7R0FEQztBQUtEO0dBQ0MsaUNBQWlDO0VBQ2xDO0FBRUE7R0FDQyxpQ0FBaUM7RUFDbEM7QUFHRDtFQUNDLG9DQUFvQztFQUNwQyxtQ0FBbUM7O0VBRW5DO2tDQUNnQztFQUNoQyxtQkFBbUI7Q0FLcEI7QUFIQztHQUNDLGlDQUFpQztFQUNsQztBQUdELG1FQUFtRTtBQUNuRTs7RUFFQywwQ0FBMEM7Q0FDM0M7QUFFQSxxR0FBcUc7QUFDckcsMERBQTBEO0FBQzFEOzs7RUFVQyxtREFBbUQ7RUFDbkQsa0VBQWtFOztFQUVsRSx1QkFBdUI7RUFDdkIsVUFBVTtDQUNYO0F4QnRHQTtHd0IwRkUsaUlBQWlJO0N4QnhGbkk7QUFGQTtHd0I4RkUsNElBQTRJO0N4QjVGOUk7QXdCc0dBLHVIQUF1SDtBQUV2SCx5R0FBeUc7QUFDekc7RUFDQyx1QkFBdUI7Q0FDeEI7QUFFQSw4RUFBOEU7QUFDOUU7RUFDQyxVQUFVO0NBQ1g7QUFFQSx5RkFBeUY7QUFDekY7RUFDQywrSEFBK0g7Q0FDaEk7QUM3SEQ7OztFQUdFO0FBRUY7Q0FDQyxvQ0FBb0M7Q0FDcEMsbUNBQW1DOztDQUVuQztpQ0FDZ0M7Q0FDaEMsbUJBQW1CO0FBQ3BCO0FBRUE7Q0FDQyxpQ0FBaUM7QUFDbEM7QUNoQkE7OztFQUdFO0E1QkhGOzs7RUFHRTtBQUVGOztFQUVFO0FKUEY7OztFQUdFO0FBRUY7Ozs7RUFJRTtBQ1RGOzs7RUFHRTtBQUVGOztFQUVFO0FBS0Y7O0VBRUU7QUtkRjs7O0VBR0U7QTBCT0Y7Q2hDQ0MsZ0JBQWdCOztDZ0NFaEIscUJBQXFCO0NBQ3JCLDJDQUEyQzs7Q0FFM0MsbURBQW1EO0NBQ25ELGtDQUFrQztBQUNuQztBaENMQzs7RUFFQyxzQ0FBc0M7Q0FFdkM7QWdDR0Q7Q0FDQyxlQUFlOztDQUVmLHNDQUFzQztDQUN0QyxlQUFlO0FBNERoQjtBQTFEQztFQUNDLG9FQUFvRTtFQUNwRSxpQkFBaUI7RUFDakIsV0FBVztFQUNYLGdCQUFnQjtDQXVDakI7QTFCL0RBO0cwQjJCRSxnQkFBZ0I7QzFCekJsQjtBQUZBO0cwQitCRSxpQkFBaUI7QzFCN0JuQjtBMEJnQ0M7R0FDQyw0REFBNEQ7R0FDNUQsd0VBQXdFO0VBQ3pFO0FBRUE7R0FDQyxnQkFBZ0I7RUFDakI7QUFFQTtHQUNDLHFEQUFxRDtHQUNyRCwwQ0FBMEM7RUFhM0M7QUFYQztJQUNDLGdCQUFnQjtHQUNqQjtBQUVBO0lBQ0MsMkRBQTJEO0dBQzVEO0FBRUE7SUFDQyw2Q0FBNkM7R0FDOUM7QUFHRDtHQUNDLHdEQUF3RDtFQUN6RDtBQUdEOzZDQUM0QztBQUUzQztHQUNDLDJDQUEyQztHQUMzQyxjQUFjO0VBTWY7QUFKQztJQUNDLHdEQUF3RDtJQUN4RCxjQUFjO0dBQ2Y7QUFLSDtDQUNDLHFDQUFxQzs7Q0FFckMsbUVBQW1FO0FBZXBFO0FBZEM7RUFDQyxjQUFjO0NBQ2Y7QUFFQSxpRUFBaUU7QUFDakU7RUFDQyxpREFBaUQ7Q0FDbEQ7QUFFQTtFQUNDLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsMkRBQTJEO0NBQzVEO0FBR0Q7Q0FDQyxXQUFXO0NBQ1gsV0FBVztDQUNYLHVDQUF1Qzs7Q0FFdkMsZ0NBQWdDO0NBQ2hDLGlDQUFpQztBQUNsQztBQ2pIQTs7O0VBR0U7QUFFRjtDQUNDLGFBQWE7Q0FDYixlQUFlO0NBQ2YsMkJBQTJCO0NBQzNCLDJDQUEyQztDQUMzQyxnQ0FBZ0M7Q0FDaEMsNEJBQTRCO0NBQzVCLGdEQUFnRDtDQUNoRCxXQUFXO0FBQ1o7QUNkQTs7O0VBR0U7QUFFRjtDQUNDLGlFQUFpRTtDQUNqRSxrQkFBa0I7QUFLbkI7QUFIQztFQUNDLGVBQWU7Q0FDaEI7QUNYRDs7O0VBR0U7QS9CSEY7OztFQUdFO0FBRUY7O0VBRUU7QUNQRjs7O0VBR0U7QUFFRjs7Ozs7RUFLRTtBQ1ZGOzs7RUFHRTtBNkJPRDs7R0FFRTtBQUNGO0VBQ0MsV0FBVztDQXVCWjtBQXJCQztHQUNDLFlBQVk7R0FDWixnQkFBZ0I7R0FDaEIsdUJBQXVCO0VBQ3hCO0FBRUE7Ry9CYkQsbUNBQW1DO0UrQmVsQztBQUdDO0lBQ0MscUNBQXFDO0dBQ3RDO0FBSUE7SUFDQyxzQ0FBc0M7R0FDdkM7QUFJRjs7R0FFRTtBQUNGO0VBQ0MseURBQXlEO0VBQ3pELGlCQUFpQjtDQWVsQjtBQWJDO0dBQ0MsWUFBWTtHQUNaLGtCQUFrQjtFQUNuQjtBQUVBO0dBQ0MsNEJBQTRCO0dBQzVCLDZCQUE2QjtFQUM5QjtBQUVBO0dBQ0MsYUFBYTtFQUNkO0FBR0Q7O0dBRUU7QUFDRjtFQUNDLGdCQUFnQjtDQStCakI7QUE3QkM7R0FDQyxvQ0FBb0M7RUF1QnJDO0E3QnJGRDtJNkJpRUcseUJBQXlCOztJQUV6Qix5Q0FBeUM7SUFDekMsdUNBQXVDOztJQUV2QyxxRkFBcUY7SUFDckYsZ0RBQWdEO0M3QnJFbkQ7QUFGQTtJNkIyRUcsd0JBQXdCOztJQUV4QixnQ0FBZ0M7O0lBRWhDLHlDQUF5QztJQUN6QyxxQ0FBcUM7O0lBRXJDLHVHQUF1RztJQUN2RywrQ0FBK0M7QzdCakZsRDtBNkJxRkM7Ry9CcEZELG1DQUFtQztFK0JzRmxDO0FDL0ZGOzs7RUFHRTtBQUVGO0NBQ0MsdUNBQXVDO0FBQ3hDO0FBRUE7Q0FDQyxpREFBaUQ7QUFDbEQ7QUNYQTs7O0VBR0U7QS9CSEY7OztFQUdFO0ErQktEOztHQUVFO0FBQ0Y7RUFDQyxnQkFBZ0I7Q0FvQmpCO0FBbEJDOztHQUVDLDBGQUEwRjtHQUMxRiwrQkFBK0I7RUFDaEM7QUFFQTtHQUNDLHdEQUF3RDtHQUN4RCxtQ0FBbUM7RUFTcEM7QS9CekJEO0krQm1CRyxzQ0FBc0M7Qy9CakJ6QztBQUZBO0krQnVCRyxxQ0FBcUM7Qy9CckJ4QztBZ0NSRDs7O0VBR0U7QXRDSEY7OztFQUdFO0FBRUY7Ozs7RUFJRTtBQ1RGOzs7RUFHRTtBQUVGOztFQUVFO0FBS0Y7O0VBRUU7QUVkRjs7O0VBR0U7QUFFRjs7RUFFRTtBbUNFRjtDQUNDLHdDQUF3QztBQUN6QztBQUVBO0N0Q0ZDLGdCQUFnQjs7Q3NDTWhCLHFEQUFxRDtDQUNyRCx1REFBdUQ7Q0FDdkQsU0FBUztDQUNULG1CQUFtQjtDQUNuQixrREFBa0Q7QUEwQm5EO0F0Q2xDQzs7RUFFQyxzQ0FBc0M7Q0FFdkM7QXNDSkQ7Q3JDSkMsc0NBQThCOztDcUNjOUIscURBQXFEO0FBd0J0RDtBQXZCQzs7RUFFQyx5QkFBeUI7Q0FDMUI7QUFFQTs7RUFFQywwQkFBMEI7Q0FDM0I7QUFFQTs7RUFFQyw0QkFBNEI7Q0FDN0I7QUFFQTs7RUFFQyw2QkFBNkI7Q0FDOUI7QUFFQTtFQUNDLGFBQWE7Q0FDZDtBQUtDOztHQUVDLHlCQUF5QjtHQUN6QixnQkFBZ0I7RUFDakI7QUFJQTs7R0FFQyxrREFBa0Q7R0FDbEQsa0JBQWtCO0dBQ2xCLFVBQVU7O0duQ3REWiw0QkFBNEI7O0dBQzVCLGFBQWE7O0dBQ2IsNEJBQTJCO0dGRjNCLDZDQUE4QjtFcUMwRDdCO0FDbkVGOzs7RUFHRTtBdkNIRjs7O0VBR0U7QUFFRjs7OztFQUlFO0FDVEY7OztFQUdFO0FBRUY7O0VBRUU7QUFLRjs7RUFFRTtBc0NORjtDQUNDLDhCQUE4QjtDQUM5Qiw4QkFBOEI7Q0FDOUIsK0JBQStCO0NBQy9CLGtDQUFrQztDQUNsQyxxRUFBcUU7QUFDdEU7QUFFQTtDdkNMQyxnQkFBZ0I7O0N1Q1NoQixnQkFBZ0I7O0NBRWhCLDRDQUE0QztDQUM1Qyx5RUFBeUU7QUF1TDFFO0F2Q2pNQzs7RUFFQyxzQ0FBc0M7Q0FFdkM7QXVDREQ7Q3RDUEMsc0NBQThCO0FzQ3FNL0I7QUFwTEU7O0dBRUMsUUFBUTtHQUNSLFNBQVM7R0FDVCxtQkFBbUI7RUFDcEI7QUFJQTs7R0FFQyxvSEFBb0g7RUFDckg7QUFFQTtHQUNDLDhFQUE4RTtHQUM5RSx1REFBdUQ7RUFDeEQ7QUFFQTtHQUNDLGtGQUFrRjtHQUNsRixtRkFBbUY7RUFDcEY7QUFJQTs7R0FFQyxvSEFBb0g7RUFDckg7QUFFQTtHQUNDLGtFQUFrRTtHQUNsRSx3REFBd0Q7R0FDeEQsMERBQTBEO0VBQzNEO0FBRUE7R0FDQyxrRkFBa0Y7R0FDbEYsc0ZBQXNGO0VBQ3ZGO0FBSUE7O0dBRUMsb0hBQW9IO0VBQ3JIO0FBRUE7R0FDQyw4RUFBOEU7R0FDOUUseURBQXlEO0VBQzFEO0FBRUE7R0FDQyxrRkFBa0Y7R0FDbEYscUZBQXFGO0VBQ3RGO0FBSUE7O0dBRUMsb0hBQW9IO0VBQ3JIO0FBRUE7R0FDQyw4RUFBOEU7R0FDOUUsd0RBQXdEO0VBQ3pEO0FBRUE7R0FDQyxrRkFBa0Y7R0FDbEYsb0ZBQW9GO0VBQ3JGO0FBSUE7O0dBRUMsU0FBUztHQUNULDBEQUEwRDtHQUMxRCw4Q0FBOEM7RUFDL0M7QUFJQTs7R0FFQyxrREFBa0Q7R0FDbEQsOENBQThDO0VBQy9DO0FBSUE7O0dBRUMsbURBQW1EO0dBQ25ELDhDQUE4QztFQUMvQztBQUlBOztHQUVDLFNBQVM7R0FDVCwwREFBMEQ7R0FDMUQsaURBQWlEO0VBQ2xEO0FBSUE7O0dBRUMsa0RBQWtEO0dBQ2xELGlEQUFpRDtFQUNsRDtBQUlBOztHQUVDLG1EQUFtRDtHQUNuRCxpREFBaUQ7RUFDbEQ7QUFJQTs7R0FFQyxVQUFVO0dBQ1YsMERBQTBEO0dBQzFELGlEQUFpRDtFQUNsRDtBQUlBOztHQUVDLFNBQVM7R0FDVCx5REFBeUQ7R0FDekQsaURBQWlEO0VBQ2xEO0FBSUE7O0dBRUMsVUFBVTtHQUNWLDBEQUEwRDtHQUMxRCw4Q0FBOEM7RUFDL0M7QUFJQTs7R0FFQyxTQUFTO0dBQ1QseURBQXlEO0dBQ3pELDhDQUE4QztFQUMvQztBQUlBOztHQUVDLGdEQUFnRDtHQUNoRCx5REFBeUQ7R0FDekQsUUFBUTtFQUNUO0FBSUE7O0dBRUMsK0NBQStDO0dBQy9DLHlEQUF5RDtHQUN6RCxRQUFRO0VBQ1Q7QUM1TUY7OztFQUdFO0FBRUY7Q0FDQyw4Q0FBOEM7Q0FDOUMsdURBQXVEO0NBQ3ZELGtDQUFrQzs7Q0FFbEMsbURBQW1EO0FBY3BEO0FBYkM7RUFDQyxxQ0FBcUM7RUFDckMsbUNBQW1DO0VBQ25DLHNDQUFzQztDQUN2QztBQUVBLDRDQUE0QztBQUM1QztFQUNDLHdDQUF3Qzs7RUFFeEMsNkVBQTZFO0VBQzdFLG9DQUFvQztDQUNyQztBQUtBLHVFQUF1RTtBQUN2RTtFQUNDLGdCQUFnQjtDQUNqQjtBQy9CRDs7O0VBR0U7QXhDSEY7OztFQUdFO0FBRUY7O0VBRUU7QUFLRjs7RUFFRTtBd0NQRjtDQUNDLDhDQUE4QztDQUM5Qyw0Q0FBNEM7QUFDN0M7QUFFQSxxRUFBcUU7QUFDckU7Q3hDSkMsc0NBQThCOztDd0NPOUIsZ0JBQWdCOztDQUVoQiw0Q0FBNEM7Q0FDNUMsOENBQThDO0NBQzlDLHNDQUFzQzs7Q0FFdEMsV0FBVztDQUNYLFlBQVk7QUFDYjtBQUVBO0NBQ0MsMkRBQTJEO0NBQzNELHdEQUF3RDtBQUN6RDtBQUVBO0NBQ0MscUVBQXFFO0NBQ3JFLGtFQUFrRTtBQUNuRTtBQUNBO0NBQ0MscUVBQXFFO0NBQ3JFLGtFQUFrRTtBQUNuRTtBQUVBLG1GQUFtRjtBQUNuRjs7O0NBR0MsNkNBQTZDO0FBQzlDO0FDN0NBOzs7RUFHRTtBekNIRjs7O0VBR0U7QUFFRjs7RUFFRTtBQUtGOztFQUVFO0F5Q05EO0V6Q0NBLHNDQUE4Qjs7RXlDRTdCLHVCQUF1QjtFQUN2Qix5QkFBeUI7RUFDekIsMEJBQTBCO0NBQzNCO0FDZEQ7OztFQUdFO0E3QkhGOzs7RUFHRTtBUkhGOzs7RUFHRTtBcUNLRjtDQUNDLG1EQUFtRDtBQUNwRDtBQUVBO0NBQ0MsZ0NBQWdDO0FBb0VqQztBQWxFQztFQUNDLDJEQUEyRDtFQUMzRCxhQUFhO0NBQ2Q7QUFHQztHQUNDLHVDQUF1QztFQUN4QztBQUlBO0dBQ0MsdUNBQXVDO0VBQ3hDO0E3QnZCRDtBNkJNRDtFQXFCRSxVQUFVO0VBQ1YsdUNBQXVDO0FBK0N6Qzs7RUE3Q0U7R0FDQyx5REFBeUQ7RUFZMUQ7O0dBVkM7O0lBRUMsWUFBWTtJQUNaLFdBQVc7R0FDWjs7R0FFQSx5REFBeUQ7R0FDekQ7SUFDQyxtQkFBbUI7R0FDcEI7O0VBR0QsOEVBQThFO0dBRTdFO0lBQ0MsbURBQW1EO0dBQ3BEOztFQUdEOztHQUVDLG1DQUFtQztHQUNuQyxtQ0FBbUM7R0FDbkMsZ0JBQWdCO0VBaUJqQjs7R0FmQztJQUNDLGlEQUFpRDtHQUNsRDs7R3JDNURGO0lxQytERyxjQUFjO0NyQzdEakI7O0dBRkE7SXFDbUVHLGNBQWM7Q3JDakVqQjs7SXFDbUVHO0tBQ0MsbURBQW1EO0lBQ3BEO0M3QnJFSDtBOEJSRDs7O0VBR0U7QXRDSEY7OztFQUdFO0FzQ0lGO0NBQ0MsK0ZBQStGO0FBQ2hHO0FBSUU7R0FDQyxXQUFXO0VBQ1o7QUFFQTtHQUNDLDJGQUEyRjtFQW9CNUY7QUFsQkM7SUFDQyxXQUFXO0lBQ1gsb0JBQW9CO0dBQ3JCO0FBRUE7SUFDQyxXQUFXO0dBV1o7QXRDL0JGO0tzQ3VCSSw0REFBNEQ7Q3RDckJoRTtBc0N5Qkk7TUFDQyw0REFBNEQ7S0FDN0Q7QUFLSDtHQUNDLHVHQUF1RztFQXdDeEc7QUF0Q0M7SUFDQyw4SEFBOEg7R0FDL0g7QUFFQTtJQUNDLGVBQWU7SUFDZixnQkFBZ0I7O0lBRWhCLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsVUFBVTtHQWFYO0F0QzVERjtLc0NrREksK0JBQStCO0N0Q2hEbkM7QUFGQTtLc0NzREksOEJBQThCO0N0Q3BEbEM7QXNDdURHO0tBQ0MsVUFBVTtJQUNYO0FBR0Q7SUFDQyxXQUFXO0dBV1o7QUFSRTtNQUNDLDZEQUE2RDtLQUM5RDtBdENwRUo7S3NDd0VJLDZEQUE2RDtDdEN0RWpFO0FzQzRFQTtFQUNDLGVBQWU7Q0FrQmhCO0FBaEJDO0dBQ0MsV0FBVztHQUNYLHlEQUF5RDtFQWExRDtBQVhDO0lBQ0MsbUJBQW1CO0dBQ3BCO0FBRUE7SUFDQyxpQkFBaUI7R0FDbEI7QUFFQTtJQUNDLG9DQUFvQztHQUNyQztBQ3JHSDs7O0VBR0U7QUFFRjtDQUNDLCtCQUErQjtBQUNoQztBQUVBO0NBQ0MscUNBQXFDO0NBQ3JDLHNDQUFzQztDQUN0QyxpREFBaUQ7QUFLbEQ7QUFIQztBQUxEO0VBTUUsc0JBQXNCO0FBRXhCO0NBREM7QUFHRDtDQUNDLHFDQUFxQztDQUNyQyxzQ0FBc0M7Q0FDdEMsa0JBQWtCO0NBQ2xCLHNDQUFzQztDQUN0Qyw2QkFBNkI7QUFDOUI7QUFFQTtDQUNDO0VBQ0M7Q0FDRDtBQUNEO0FDL0JBOzs7RUFHRTtBQUVGOzs7RUFHRTtBQUNGO0NBQ0M7QUFDRDtBQ1hBOzs7RUFHRTtBQUVGO0NBQ0MscURBQXFEO0NBQ3JELDBEQUEwRDtBQUMzRDtBQUVBO0NBQ0MsMkNBQTJDO0NBQzNDLHVDQUF1QztBQUN4QztBQ2JBOzs7RUFHRTtBaERIRjs7O0VBR0U7QUFFRjs7OztFQUlFO0FNVEY7OztFQUdFO0EwQ0tGO0NoREdDLGdCQUFnQjs7Q2dEQWhCLDhDQUE4QztDQUM5QyxrQ0FBa0M7Q0FDbEMsZ0RBQWdEO0FBc0dqRDtBaER0R0M7O0VBRUMsc0NBQXNDO0NBRXZDO0FnREZBO0VBQ0MsMkJBQTJCO0VBQzNCLFVBQVU7RUFDVixjQUFjO0VBQ2QsMENBQTBDOztFQUUxQzs7O0lBR0U7RUFDRixtQ0FBbUM7RUFDbkMsc0NBQXNDO0NBQ3ZDO0FBRUE7RUFDQyxTQUFTO0NBQ1Y7QUFHQztHQUNDLGtDQUFrQztHQUNsQyxxQ0FBcUM7RUFDdEM7QUFFQTsrQkFDNkI7QUFDN0I7R0FDQyxhQUFhO0VBQ2Q7QUFHRDs7RUFFQyw0REFBNEQ7RUFDNUQsbUNBQW1DO0VBQ25DLHNDQUFzQztDQUN2QztBQUVBO0VBQ0MsdURBQXVEO0VBQ3ZELFVBQVU7O0VBRVYsK0ZBQStGO0NBV2hHO0FBVkM7R0FDQyxrRUFBa0U7R0FDbEUsV0FBVzs7R0FFWCx1REFBdUQ7R0FDdkQsU0FBUzs7R0FFVCx3RkFBd0Y7R0FDeEYsZ0JBQWdCO0VBQ2pCO0FBR0Q7RUFDQyw2QkFBNkI7RUFDN0IsVUFBVTtDQVdYO0FBVEM7R0FDQyx3REFBd0Q7R0FDeEQsU0FBUzs7R0FFVCxzREFBc0Q7RUFJdkQ7QUFIQztJQUNDLGdCQUFnQjtHQUNqQjtBQUtEOzs7SUFHRTtBQUNGO0dBQ0Msb0NBQW9DO0VBQ3JDO0FBR0QscUVBQXFFO0FBRXBFLGdIQUFnSDtBQUNoSDtHQUNDLGVBQWU7RUFDaEI7QUFFQTtHQUNDLGNBQWM7R0FDZCxXQUFXO0VBQ1o7QUFHRDtFQUNDLGFBQWE7Q0FDZDtBQUVBO0VBQ0MsU0FBUztDQUNWO0FBR0Qsc0JBQXNCO0FBRXRCOzs7OztFQUtFO0FBR0Q7RUFDQyxlQUFlO0NBQ2hCO0FBRUE7RUFDQyxrQ0FBa0M7RUFDbEMsb0NBQW9DO0NBQ3JDO0FBRUE7RUFDQyxjQUFjO0NBQ2Y7QUFHQyw2REFBNkQ7QUFDN0Q7R0FDQyx5QkFBeUI7R0FDekIsNEJBQTRCO0VBQzdCO0FBRUEsMkRBQTJEO0FBQzNEO0dBQ0MsMEJBQTBCO0dBQzFCLDZCQUE2QjtFQUM5QjtBQUdELHVGQUF1RjtBQUN2RjtFQUNDLG9DQUFvQztDQUNyQztBQUVBLHdGQUF3RjtBQUN4RjtFQUNDLG9DQUFvQztDQUNyQztBQUdEOzs7OztFQUtFO0FBR0Q7RUFDQyxlQUFlO0NBQ2hCO0FBR0MsNkRBQTZEO0FBQzdEO0dBQ0MsMEJBQTBCO0dBQzFCLDZCQUE2QjtFQUM5QjtBQUVBLDJEQUEyRDtBQUMzRDtHQUNDLHlCQUF5QjtHQUN6Qiw0QkFBNEI7RUFDN0I7QUFHRCx1RkFBdUY7QUFDdkY7RUFDQyxxQ0FBcUM7Q0FDdEM7QUFFQSx3RkFBd0Y7QUFDeEY7RUFDQyxxQ0FBcUM7Q0FDdEM7QUFHRCxxQkFBcUI7QUMxTXJCOzs7RUFHRTtBakRIRjs7O0VBR0U7QUFFRjs7OztFQUlFO0FpREZGO0NBQ0MsOEJBQThCO0NBQzlCLDhCQUE4QjtDQUM5QixrQ0FBa0M7Q0FDbEMsOEJBQThCO0NBQzlCLDhCQUE4QjtDQUM5QiwrREFBK0Q7O0NBRS9ELG1DQUFtQzs7Q0FlbkMsK0JBQStCO0NBQy9CLGdCQUFnQjtBQU1qQjtBQXBCQztFQUNDLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsbUNBQW1DO0NBQ3BDO0FBRUE7RUFDQyx5QkFBeUI7RUFDekIscUJBQXFCO0VBQ3JCLHlDQUF5QztFQUN6QyxnQkFBZ0I7Q0FDakI7QUFLQSx5REFBeUQ7QUFDekQ7RUFDQyxhQUFhO0NBQ2Q7O0E5RGlCRCxXQUFXO0ErRHJEWDs7O0VBR0U7QWxESEY7OztFQUdFO0FBRUY7Ozs7RUFJRTtBa0RBQTtHbERFRCxnQkFBZ0I7O0drRElkLDZDQUE2QztHQUM3QyxzQkFBc0I7RUFjdkI7QWxEakJEOztFQUVDLHNDQUFzQztJa0RKcEMsNEJBQTRCO0lBQzVCLDZCQUE2QjtDbERLaEM7QWtEQ0U7SUFDQyx3QkFBd0I7R0FDekI7QUFFQTtJQUNDLFNBQVM7SUFDVCxvREFBb0Q7R0FDckQ7QUFFQTtJQUNDLFNBQVM7R0FDVjtBQUtILDBGQUEwRjtBQUMxRjtDQUNDLGdFQUFnRTtDQUNoRSwyQ0FBMkM7O0NsRDFCM0MsZ0JBQWdCO0FrRG9DakI7QWxEbENDOztFQUVDLHNDQUFzQztFa0R5QnRDLHlCQUF5QjtFQUN6QiwwQkFBMEI7Q2xEeEIzQjtBa0QyQkE7RUFDQyx5Q0FBeUM7Q0FDMUM7O0EvRFVELFlBQVk7QWdFeERaOzs7RUFHRTtBN0NIRjs7O0VBR0U7QTZDSUY7Q0FDQywwQ0FBMEM7Q0FDMUMsMENBQTBDO0NBQzFDLDhEQUE4RDtBQUMvRDtBQUdDOztHQUVFO0FBRUQ7R0FDQyw4REFBOEQ7R0FDOUQsMkRBQTJEO0dBQzNELHVEQUF1RDtHQUN2RCxpREFBaUQ7R0FDakQsaUJBQWlCOztHQUVqQixrQ0FBa0M7RUFnQm5DO0FBZkM7SUFDQyxXQUFXO0lBQ1gsUUFBUTtJQUNSLFNBQVM7O0lBRVQsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsMkRBQTJEOztJQUUzRCwyQkFBMkI7SUFDM0IsdUZBQXVGO0lBQ3ZGLDBLQUEwSztJQUMxSyxtQkFBbUI7R0FDcEI7QUFJRjs7R0FFRTtBQUNGO0VBQ0Msa0dBQWtHO0NBQ25HO0FBRUE7O0dBRUU7QUFDRjtFQUNDLFNBQVM7RUFDVCx3QkFBd0I7Q0FDekI7QUFHRDtDQUNDLFNBQVM7Q0FDVCx1REFBdUQ7Q0FDdkQsaURBQWlEO0NBQ2pELGdCQUFnQjtBQXdCakI7QUF0QkM7RUFDQyxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLDBEQUEwRDtFQUMxRCxRQUFRO0VBQ1IsU0FBUztFQUNULG1CQUFtQjtDQWVwQjtBN0NqRkE7RzZDcUVFLFVBQVU7O0dBRVYsb0tBQW9LO0dBQ3BLLHVGQUF1RjtDN0N0RXpGO0FBRkE7RzZDNEVFLFdBQVc7O0dBRVgsbUtBQW1LO0dBQ25LLHVGQUF1RjtDN0M3RXpGO0E4Q1JEOzs7RUFHRTtBQUVGO0NBQ0MsdURBQXVEO0FBQ3hEO0FBRUE7Q0FDQyxTQUFTO0NBQ1QsV0FBVztDQUNYLHVEQUF1RDs7Q0FFdkQsZUFBZTtDQUNmLGdDQUFnQztDQUNoQyxpQkFBaUI7Q0FDakIsd0RBQXdEO0NBQ3hELHVCQUF1QjtDQUN2QixtQkFBbUI7QUFDcEI7QUFFQTtDQUNDLDJGQUEyRjtDQUMzRixpQkFBaUI7Q0FDakIsZ0JBQWdCO0NBQ2hCLGtCQUFrQjtBQUNuQjtBQzNCQTs7O0VBR0U7QTFDSEY7OztFQUdFO0EwQ0lGLGdDQUFnQztBMUNEL0I7RUFDQztFMENHQTs7O0lBR0U7RUFDRiwwQ0FBMEM7RTFDTDFDO0NBQ0Q7QTBDT0E7RUFDQyxZQUFZO0NBbUJiO0ExQ3ZCQTtFQUNDO0cwQ01DLDhDQUE4QztFMUNKL0M7Q0FDRDtBQVpBO0VBQ0M7RzBDa0JDOzs7S0FHRTtHQUNGLGtCQUFrQjs7R0FFbEI7OztLQUdFO0dBQ0YsZ0JBQWdCO0UxQzFCakI7Q0FDRDtBMkNWRDs7O0VBR0U7QXhDSEY7OztFQUdFO0FSSEY7OztFQUdFO0FnREtGO0NBQ0MsWUFBWTs7Q0FFWjs7O0dBR0U7QUErR0g7QUE5R0M7RUFDQyxhQUFhO0NBQ2Q7QUFFQSxvREFBb0Q7QUFDcEQ7O0VBRUMsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLHNCQUFzQjs7RUFFdEIsZ0NBQWdDO0VBQ2hDLFNBQVM7O0NBMkJWO0FBekJDO0dBQ0MsY0FBYztFQUNmO0FBR0M7SUFDQyx1Q0FBdUM7R0FDeEM7QUFJQTtJQUNDLHdDQUF3QztHQUN6QztBQUdEO0dBQ0MsY0FBYztFQU1mO0FBSkM7SUFDQyxXQUFXO0lBQ1gsZUFBZTtHQUNoQjtBQUtGLHFDQUFxQztBQUNyQztFQUNDLDBFQUEwRTtFQUMxRSx1QkFBdUI7Q0FxQ3hCO0FBbkNDO0dBQ0Msd0JBQXdCO0VBQ3pCO0FBRUE7R0FDQyx5QkFBeUI7RUFDMUI7QUFFQTtHQUNDLFFBQVE7R0FDUiwyQkFBMkI7O0dBVTNCLGtDQUFrQztFQUNuQztBaEQ5RUQ7SWdEc0VHLGlDQUFpQztDaERwRXBDO0FBRkE7SWdEMEVHLGdDQUFnQztDaER4RW5DO0FnRDhFQztHQUNDLGNBQWM7R0FDZCx1Q0FBdUM7RUFTeEM7QWhEM0ZEO0lnRHFGRyxjQUFjO0NoRG5GakI7QUFGQTtJZ0R5RkcsZUFBZTtDaER2RmxCO0FnRDRGQSxzQ0FBc0M7QUFDdEM7RUFDQyxlQUFlO0VBQ2YseUJBQXlCO0VBQ3pCLGdEQUFnRDtDQVdqRDtBQVRDO0dBQ0MsaUJBQWlCOztHQUVqQiw4RUFBOEU7RUFLL0U7QUFKQztJQUNDLHFDQUFxQztJQUNyQyxzQ0FBc0M7R0FDdkM7QUFJRjtFQUNDLFdBQVc7RUFDWCxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQiw4QkFBOEI7RUFDOUIsbUJBQW1CO0NBQ3BCO0F4Q3RIQTtDd0MwSEE7RUFDQyxZQUFZOztFQUVaLCtHQUErRztFQUMvRyxlQUFlOztFQUVmLHFDQUFxQztDQTBEdEM7RUF6REM7R0FDQyxlQUFlO0VBNEJoQjs7R0ExQkM7SUFDQyxjQUFjO0lBQ2QsV0FBVztJQUNYLHlDQUF5QztHQUMxQzs7R0FFQTtJQUNDLGtCQUFrQjtHQWtCbkI7O0lBaEJDO0tBQ0MsY0FBYztJQWNmOztLaEQ1Skg7TWdEaUpLLGNBQWM7Q2hEL0luQjs7S0FGQTtNZ0RxSkssZUFBZTtDaERuSnBCOztLZ0RzSkk7TUFDQyxXQUFXO01BQ1gsa0JBQWtCO0tBQ25COztFQUtILHNDQUFzQztFQUN0QztHQUNDLGVBQWU7R0FDZixjQUFjO0VBc0JmOztHQXBCQztJQUNDLGtCQUFrQjtHQWtCbkI7O0lBaEJDO0tBQ0MsY0FBYztJQVNmOztLaERsTEg7TWdENEtLLGNBQWM7Q2hEMUtuQjs7S0FGQTtNZ0RnTEssZUFBZTtDaEQ5S3BCOztJZ0RrTEc7S0FDQyxXQUFXO0tBQ1gsa0JBQWtCO0lBQ25CO0N4Q3JMSDtBeUNSRDs7O0VBR0U7QUFFRixvQ0FBb0M7QUFFbkM7RUFDQyxVQUFVO0NBQ1g7QUFFQTtFQUNDLGVBQWU7Q0FDaEI7QUNiRDs7O0VBR0U7QUFFRjs7OztFQUlFO0FDVEY7OztFQUdFO0FBRUY7Q0FDQyxxRUFBcUU7Q0FDckUsbUNBQW1DO0NBQ25DLDRDQUE0QztDQUM1QywwRkFBMEY7O0NBRTFGLDJFQUEyRTtDQUMzRSx1REFBdUQ7QUFDeEQ7QUFFQSwyQkFBMkI7QUFDM0I7Q0FDQyxtQ0FBbUM7Q0FDbkMsaURBQWlEO0FBeUlsRDtBQXZJQztFQUNDLGtHQUFrRztDQUNuRztBQUVBLGtFQUFrRTtBQUNsRTtFQUNDLGdCQUFnQjtDQUNqQjtBQUVBO0VBQ0MsaUJBQWlCO0NBQ2xCO0FBRUEsK0ZBQStGO0FBRS9GO0VBQ0Msb0NBQW9DO0VBQ3BDLDREQUE0RDtFQUM1RCxnQ0FBZ0M7RUFDaEMsNEJBQTRCO0VBQzVCLDJHQUEyRztFQUMzRyxtSUFBbUk7RUFDbkksa0VBQWtFO0VBQ2xFLHNDQUFzQztFQUN0QyxtQ0FBbUM7RUFDbkMsZ0NBQWdDO0NBQ2pDO0FBRUE7RUFDQyxVQUFVO0VBQ1YsaUNBQWlDO0NBQ2xDO0FBRUEsK0RBQStEO0FBQy9EO0VBQ0MsaUJBQWlCO0NBQ2xCO0FBRUE7RUFDQyxRQUFRO0VBQ1IsdURBQXVEO0NBQ3hEO0FBRUE7RUFDQyxNQUFNO0VBQ04sdURBQXVEO0VBQ3ZELHdDQUF3QztDQUN6QztBQUVBO0VBQ0MsUUFBUTtFQUNSLHVEQUF1RDtDQUN4RDtBQUVBLGlHQUFpRztBQUVqRztFQUNDLG1DQUFtQztDQUNwQztBQUVBLG9DQUFvQztBQUNwQztFQUNDLCtCQUErQjtFQUMvQixpQ0FBaUM7Q0FhbEM7QUFYQztHQUNDLGtDQUFrQztFQUNuQztBQUVBO0dBQ0Msb0NBQW9DO0VBQ3JDO0FBRUE7R0FDQyxtQ0FBbUM7RUFDcEM7QUFHRDtFQUNDLGdDQUFnQztFQUNoQyxXQUFXO0NBQ1o7QUFFQSw2QkFBNkI7QUFDN0I7RUFDQyxzQkFBc0I7RUFDdEIsMENBQTBDO0VBQzFDLHlDQUF5QztFQUN6QyxZQUFZO0VBQ1osWUFBWTtFQUNaLG1DQUFtQzs7RUFFbkMsc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxxQkFBcUI7RUFDckIsbUNBQW1DLEVBQUUsdUJBQXVCOztFQUU1RCxxQ0FBcUM7RUFDckMsZ0JBQWdCO0VBQ2hCLGNBQWM7Q0FVZjtBQVJDO0dBQ0MsMkRBQTJEO0dBQzNELGlEQUFpRDs7R0FFakQsdUhBQXVIO0dBQ3ZILG1FQUFtRTtHQUNuRSxVQUFVO0VBQ1g7QUFHRCxnQ0FBZ0M7QUFDaEM7RUFDQyxtREFBbUQ7RUFDbkQseUNBQXlDOztFQUV6QywwRUFBMEU7Q0FJM0U7QUFIQztHQUNDLG9CQUFvQjtFQUNyQjtBQUdEO0VBQ0Msc0JBQXNCO0VBQ3RCLGlEQUFpRDtDQU1sRDtBQUpDO0dBQ0MsaUJBQWlCO0dBQ2pCLGtCQUFrQjtFQUNuQjtBQUdEO0VBQ0M7Q0FDRDtBQzFKRDs7O0VBR0U7QXBESEY7OztFQUdFO0FvRElGO0NBQ0MsNENBQTRDO0FBQzdDO0FBRUE7Q0FDQyxzQkFBc0I7QUFnQnZCO0FBZEM7RUFDQyx3Q0FBd0M7RUFDeEMsbUNBQW1DO0NBV3BDO0FBVEM7O0dBRUMsdUJBQXVCO0dBQ3ZCLGVBQWU7RUFDaEI7QUFFQTtHQUNDLDJCQUEyQjtFQUM1QjtBQUtEO0VBQ0MsY0FBYztFQUNkLFdBQVc7Q0FTWjtBcERwQ0E7R29EOEJFLGdCQUFnQjtDcEQ1QmxCO0FBRkE7R29Ea0NFLGlCQUFpQjtDcERoQ25CO0FvRG9DQTs7RUFTQyxxREFBcUQ7Q0FDdEQ7QUFUQztHQUNDLGlEQUFpRDtFQUNsRDtBQUVBO0dBQ0Msb0RBQW9EO0VBQ3JEO0FBS0Qsd0ZBQXdGO0FBQ3hGO0VBQ0MscURBQXFEO0VBQ3JELGdDQUFnQztDQUNqQztBQUVBO0VBQ0MsYUFBYTtDQUNkO0FDaEVEOzs7RUFHRTtBQ0hGOzs7RUFHRTtBQUVGO0NBQ0MsOENBQThDO0NBQzlDLDREQUE0RDs7Q0FFNUQsMkZBQTJGO0NBQzNGLCtCQUErQjtDQUMvQixpQ0FBaUM7Q0FDakMsK0RBQStEO0FBQ2hFO0FBRUE7Q0FDQyxVQUFVO0NBQ1Ysd0RBQXdEO0NBQ3hELDBFQUEwRTtDQUMxRSx1Q0FBdUM7Q0FDdkMsZ0NBQWdDOztDQUVoQyxnQ0FBZ0M7Q0FDaEMsdURBQXVEOztDQUV2RCxnREFBZ0Q7Q0FDaEQsNEJBQTRCOztDQUU1Qjs7O0dBR0U7Q0FDRixnQkFBZ0I7Q0FDaEIsc0ZBQXNGO0NBQ3RGLHVGQUF1Rjs7Q0FFdkYsNkVBQTZFO0FBa0M5RTtBQWpDQztFQUNDLDJFQUEyRTtFQUMzRSxTQUFTOztFQUVULFFBQVE7RUFDUixVQUFVO0VBQ1YsU0FBUztFQUNULFFBQVE7O0VBRVIsb0NBQW9DO0VBQ3BDLDBCQUEwQjtFQUMxQixxRkFBcUY7RUFDckYsdUZBQXVGOztFQUV2Riw2Q0FBNkM7RUFDN0MseUJBQXlCO0VBQ3pCLHNCQUFzQjtFQUN0Qiw2QkFBNkI7O0VBRTdCLG9HQUFvRztFQUNwRyxzQkFBc0I7Q0FDdkI7QUFFQTtBQTdDRDtFQThDRSx1QkFBdUI7QUFTekI7O0VBUEU7R0FDQyxlQUFlO0dBQ2YsVUFBVTtHQUNWLFlBQVk7R0FDWixjQUFjO0VBQ2Y7Q0FDRDtBQUdEO0NBQ0M7RUFDQyxVQUFVO0NBQ1g7O0NBRUE7RUFDQyxVQUFVO0NBQ1g7QUFDRDtBQUVBO0NBQ0M7RUFDQyxVQUFVO0NBQ1g7O0NBRUE7RUFDQyxVQUFVO0NBQ1g7QUFDRDtBQUVBO0NBQ0M7RUFDQyxVQUFVO0VBQ1YsUUFBUTtFQUNSLFNBQVM7Q0FDVjtDQUNBO0VBQ0MsWUFBWTtFQUNaLFNBQVM7Q0FDVjtDQUNBO0VBQ0MsVUFBVTtFQUNWLFlBQVk7RUFDWixjQUFjO0NBQ2Y7QUFDRDtBQzNHQTs7O0VBR0U7QUFFRjtDQUNDLHFEQUFxRDtDQUNyRCx5Q0FBeUM7Q0FDekMsK0NBQStDO0FBQ2hEO0FBRUE7Q0FDQyxrRUFBa0U7Q0FDbEUsV0FBVztDQUNYLFNBQVM7QUFlVjtBQWJDO0VBQ0MsNkdBQTZHO0NBQzlHO0FBRUE7RUFDQzs7Ozs7SUFLRTtFQUNGLDZEQUE2RDtDQUM5RDtBQUdEO0NBQ0MsV0FBVztDQUNYLFlBQVk7QUFVYjtBQVJDO0VBQ0MsK0NBQStDO0VBQy9DLGdEQUFnRDtFQUNoRCxrQkFBa0I7RUFDbEIsK0RBQStEO0VBQy9ELG1DQUFtQztFQUNuQywwREFBMEQ7Q0FDM0Q7QUFHRDtDQUNDO0VBQ0MsMkJBQTJCO0NBQzVCO0FBQ0Q7QUNqREE7OztFQUdFO0FBS0EsdUJBQXVCO0FBQ3ZCO0dBQ0MsdUJBQXVCO0VBTXhCO0FBSkM7QUFIRDtJQUlFLFVBQVU7SUFDVixlQUFlO0VBRWpCO0dBREM7QUFJRix5QkFBeUI7QUFDekI7O0VBRUMsV0FBVztFQUNYLFFBQVE7RUFDUixpREFBaUQ7RUFDakQsdUJBQXVCO0NBQ3hCO0FBR0Q7Q0FDQyxPQUFPLFVBQVUsRUFBRTtDQUNuQixPQUFPLFVBQVUsRUFBRTtBQUNwQjtBQ2hDQTs7O0VBR0U7QUFFRixxRUFBcUU7QUFDckU7Q0FDQyxvREFBb0Q7O0NBRXBELGdHQUFnRztBQUlqRztBQUhDO0VBQ0MsMEZBQTBGO0NBQzNGO0FBR0Q7OztFQUdFO0FBQ0Y7Q0FDQywrQ0FBK0M7QUFDaEQ7QUFFQSx1Q0FBdUM7QUFDdkM7Q0FDQyxZQUFZO0NBQ1osaURBQWlEO0NBQ2pELGtCQUFrQjtDQUNsQix3Q0FBd0M7QUFDekM7QUM3QkE7OztFQUdFO0FDSEY7OztFQUdFO0FBRUY7O0VBRUU7QTNEUEY7OztFQUdFO0FISEY7OztFQUdFO0FBRUY7O0VBRUU7QUZQRjs7O0VBR0U7QUFFRjs7RUFFRTtBQUtGOztFQUVFO0FhZEY7OztFQUdFO0FrRFNEO0VBQ0MsZUFBZTtFQUNmLGdCQUFnQjtDQW1DakI7QUFqQ0M7R0FDQyxtQ0FBbUM7R0FDbkMsbUNBQW1DO0dBQ25DLHVCQUF1QjtHQUN2QixlQUFlOztHQUVmO29FQUNpRTtHQUNqRSxnQ0FBZ0M7R0FDaEMsY0FBYztHQUNkLGtCQUFrQjtFQUtuQjtBQUhDO0lBQ0MsMEJBQTBCO0dBQzNCO0FBR0Q7Ozs7R0FJQyxnQkFBZ0I7RUFDakI7QUFFQTtHQUNDLGdCQUFnQjtFQUNqQjtBQUdDO0lBQ0MsMEJBQTBCO0dBQzNCO0FBS0Q7R0FDQyx1Q0FBdUM7RUFDeEM7QUFJQTtHQUNDLHVDQUF1QztFQUN4QztBbER0REQ7RWtEMERDO0dBQ0MsK0RBQStEO0VBTWhFOztHQUpDO0lBQ0MsWUFBWTtJQUNaLGVBQWU7R0FDaEI7RzFEaEVGO0kwRHFFRyxjQUFjO0MxRG5FakI7O0dBRkE7STBEeUVHLGNBQWM7QzFEdkVqQjtDUUFBO0FvRFJEOzs7RUFHRTtBNURIRjs7O0VBR0U7QTRESUY7OztFQUdFO0FBQ0Y7Q0FDQyxVQUFVO0NBQ1YsZ0NBQWdDO0FBK0NqQztBQTdDQztFQUNDLCtFQUErRTtDQU1oRjtBQUpDO0dBQ0MsWUFBWTtHQUNaLFdBQVc7RUFDWjtBQUdEO0VBQ0MsbUNBQW1DO0VBQ25DLFNBQVM7RUFDVCxVQUFVO0VBQ1YsZ0JBQWdCO0NBaUJqQjtBQWZDO0dBQ0MsaURBQWlEO0VBQ2xEO0E1RDFCRDtHNEQ2QkUsY0FBYztDNUQzQmhCO0FBRkE7RzREaUNFLGNBQWM7QzVEL0JoQjtBNERpQ0U7SUFDQyxtREFBbUQ7R0FDcEQ7QUFJRiw0R0FBNEc7QUFDNUc7RUFDQyxpQ0FBaUM7Q0FVbEM7QUFSQztHQUNDLFVBQVU7R0FDVixXQUFXO0VBS1o7QUFIQztJQUNDLGdCQUFnQjtHQUNqQjtBQ3pESDs7O0VBR0U7QUFFRjtDQUNDLHVGQUF1RjtDQUN2Rix1Q0FBdUM7Q0FDdkMsdUVBQXVFO0FBQ3hFO0FBR0MsMkJBQTJCO0FBRzFCO0dBQ0MsV0FBVzs7R0FFWDs7O0tBR0U7R0FDRixzQ0FBc0M7R0FDdEMsd0NBQXdDOztHQUV4QyxxQ0FBcUM7R0FDckMseURBQSszQjtHQUMvM0IscUJBQXFCO0dBQ3JCLDRCQUE0QjtHQUM1QiwyQkFBMkI7R0FDM0IsbUJBQW1COztHQUVuQjs7O0lBR0M7R0FDRCxnQkFBZ0I7R0FDaEIsc0dBQXNHO0dBQ3RHLHVHQUF1RztFQUN4RztBQ3ZDRjs7O0VBR0U7QUFHRCwrREFBK0Q7QUFDL0Q7RUFDQyxnQ0FBZ0M7Q0FTakM7QUFQQztHQUNDLGVBQWU7RUFLaEI7QUFIQztJQUNDLHNDQUFzQztHQUN2QztBQUlGOzs7R0FHRTtBQUVEO0dBQ0Msd0NBQXdDO0VBQ3pDO0FBRUEsNEVBQTRFO0FBQzVFO0dBQ0MsaURBQWlEO0VBV2xEO0FBUkU7S0FDQyxXQUFXO0lBS1o7QUFIQztNQUNDLHNDQUFzQztLQUN2QztBQU1KO0VBQ0MsZUFBZTtFQUNmLFdBQVc7Q0FDWjtBQUVBO0VBQ0MsdUJBQXVCO0VBQ3ZCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsZ0RBQWdEO0NBT2pEO0FBTEM7R0FDQyxnQkFBZ0I7R0FDaEIseUJBQXlCO0dBQ3pCLGdCQUFnQjtFQUNqQjtBQzNERjs7O0VBR0U7QUFFRjtDQUNDLGlDQUFpQztBQUNsQztBQUVBO0NBQ0Msd0NBQXdDO0NBQ3hDLGlDQUFpQztDQUNqQyxvQ0FBb0M7Q0FDcEMsZ0NBQWdDO0FBMEJqQztBQXhCQztFQUNDLHFFQUFxRTtFQUNyRSx1Q0FBdUM7RUFDdkMsd0NBQXdDO0VBQ3hDLFVBQVU7O0VBRVY7OztJQUdFO0VBQ0YsU0FBUzs7RUFFVDs7OztJQUlFO0VBQ0YsdUJBQXVCO0NBTXhCO0FBSkM7R0FDQyx1Q0FBdUM7R0FDdkMsd0NBQXdDO0VBQ3pDO0FDckNGOzs7RUFHRTtBQUVGO0NBQ0MsMkNBQTJDOztDQUUzQyw0REFBNEQ7Q0FDNUQsNEVBQTRFO0FBQzdFO0FBRUE7Q0FDQyxjQUFjO0FBK0ZmO0FBN0ZDO0VBQ0MsK0NBQStDO0VBQy9DLDJDQUEyQztDQTRCNUM7QUExQkM7R0FDQyxzREFBc0Q7R0FDdEQsbURBQW1EO0dBQ25ELHNDQUFzQztHQUN0QywyQkFBMkI7R0FDM0Isc0JBQXNCO0VBTXZCO0FBSkM7SUFDQyxXQUFXO0lBQ1gsWUFBWTtHQUNiO0FBR0Q7R0FDQyx1REFBdUQ7R0FDdkQsbUJBQW1CO0dBQ25CLGtCQUFrQjtHQUNsQixrQkFBa0I7R0FDbEIsdUJBQXVCO0VBT3hCO0FBTEM7SUFDQyw2REFBNkQ7SUFDN0QsZUFBZTtJQUNmLDBCQUEwQjtHQUMzQjtBQUlGO0VBQ0MsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtDQUNsQjtBQUVBOzs7O0VBSUMseURBQWl3RztDQUNsd0c7QUFFQTtFQUNDLDhCQUE4QjtDQWEvQjtBQVhDO0dBQ0MseURBQXl3QztFQUMxd0M7QUFFQTtHQUNDLDBCQUEwQjtFQUszQjtBQUhDO0lBQ0MsdUJBQXVCO0dBQ3hCO0FBSUY7RUFDQyw4RkFBOEY7Q0FjL0Y7QUFaQztHQUNDLHlEQUF5Mko7RUFDMTJKO0FBRUEsMERBQTBEO0FBQzFEO0dBQ0MsMEJBQTBCO0VBSzNCO0FBSEM7SUFDQyx1QkFBdUI7R0FDeEI7QUFJRjtFQUNDLHNGQUFzRjtFQUN0RiwrRUFBK0U7Q0FhaEY7QUFYQztHQUNDLHlEQUE2ekM7RUFDOXpDO0FBRUE7R0FDQywwQkFBMEI7RUFLM0I7QUFIQztJQUNDLHVCQUF1QjtHQUN4QjtBQ3pHSDs7O0VBR0U7QUFFRjtDQUNDLHdEQUF3RDtDQUN4RCw0Q0FBNEM7QUFDN0M7QUFFQTtDQUNDLDhDQUE4QztDQUM5QyxtQ0FBbUM7QUFDcEM7QUNiQTs7O0VBR0U7QUFFRjtDQUNDLDJFQUEyRTtDQUMzRSxrRkFBa0Y7Q0FDbEYseUVBQXlFO0NBQ3pFLG9GQUFvRjtDQUNwRixrRkFBa0Y7QUFDbkY7QUFFQTtDQUNDLHNDQUFzQztDQUN0Qyx5RUFBeUU7Q0FDekUsaUJBQWlCO0NBQ2pCOzs7Ozs7OztJQVFHO0FBcUJKO0FBbkJDO0FBZEQ7RUFlRSxnQkFBZ0I7QUFrQmxCO0NBakJDO0FBRUE7RUFDQyxrRkFBa0Y7RUFDbEY7Ozs7OztLQU1HO0NBQ0o7QUFFQTtFQUNDLGlGQUFpRjtFQUNqRixpQkFBaUI7Q0FDbEI7QUFHRDtDQUNDLGVBQWU7O0NBRWY7K0JBQzhCO0FBZ0IvQjtBQWZDO0VBQ0MsZUFBZTtDQUNoQjtBQUVBO0VBQ0MsWUFBWTtDQVNiO0FBUEM7R0FDQyxZQUFZO0VBQ2I7QUFFQTtHQUNDLHlFQUF5RTtFQUMxRTtBQ2xFRjs7O0VBR0U7QTNESEY7OztFQUdFO0FkSEY7OztFQUdFO0FBRUY7Ozs7RUFJRTtBeUVERjtDQUNDLG1DQUFtQztBQUNwQztBQUVBO0NBQ0MsZ0JBQWdCO0NBQ2hCLGtCQUFrQjtBQW9DbkI7QUFsQ0M7RUFDQyx5RkFBeUY7RUFDekYsMERBQTBEO0VBQzFELG9DQUFvQztDQUNyQztBQUVBO0VBQ0MseUNBQXlDO0VBQ3pDLDBDQUEwQztFQUMxQyw2Q0FBNkM7RUFDN0MsOENBQThDO0VBQzlDLGdCQUFnQjtFQUNoQixVQUFVO0VBQ1YsK0JBQStCO0VBQy9CLFNBQVM7Q0FtQlY7QUFqQkM7QUFWRDtHQVdFLGdCQUFnQjtDQWdCbEI7RUFmQztBQUVBOztHQUVDLGtEQUFrRDtHQUNsRCxTQUFTO0dBQ1QsbUdBQW1HO0VBQ3BHO0FBRUEsZ0VBQWdFO0FBQ2hFO0dBQ0MsK0NBQStDO0dBQy9DLFdBQVc7R0FDWCxrQkFBa0I7RUFDbkI7QUNoREY7OztFQUdFO0E1REhGOzs7RUFHRTtBNERJRjtDQUNDLHdEQUF3RDtDQUN4RCxpREFBaUQ7QUFnQmxEO0FBZEM7RUFDQyx5QkFBeUI7RUFDekIsb0NBQW9DO0NBQ3JDO0FBRUE7RUFDQyxnQkFBZ0I7RUFDaEIsdUJBQXVCO0VBQ3ZCLGdCQUFnQjtDQUNqQjtBQUVBO0VBQ0MsV0FBVztDQUNaO0FDeEJEOzs7RUFHRTtBckVIRjs7O0VBR0U7QVFIRjs7O0VBR0U7QTZET0Q7RUFDQyxnQkFBZ0I7RUFDaEIsdUJBQXVCO0VBQ3ZCLGdCQUFnQjtDQUNqQjtBQUVBO0VBQ0MsNEZBQTRGO0VBQzVGLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0NBQ25CO0E3RGZBO0E2REVEO0VBZ0JFLGdCQUFnQjtBQU9sQjs7RUFMRTtHQUNDLHVCQUF1QjtHQUN2QixnQkFBZ0I7RUFDakI7QzdEckJEO0E4RFJEOzs7RUFHRTtBQUVGO0NBQ0Msa0JBQWtCO0FBQ25CO0FDUEE7OztFQUdFO0FBRUY7Q0FDQyxvQ0FBb0M7Q0FDcEMsb0NBQW9DO0NBQ3BDLDJEQUEyRDtDQUMzRCxpRUFBaUU7Q0FDakUsMkRBQTJEO0FBQzVEO0FBRUE7Q0FDQyxnQ0FBZ0M7Q0FDaEMsbUNBQW1DO0FBa0ZwQztBQWhGQztFQUNDLDJFQUEyRTtFQUMzRSw0RUFBNEU7O0VBRTVFLFVBQVU7RUFDVix5Q0FBeUM7RUFDekMsMkNBQTJDOztFQUUzQywrQ0FBK0M7Q0F1RWhEO0FBdEVDO0dBQ0MsNkNBQTZDO0VBQzlDO0FBRUE7R0FDQyxZQUFZO0dBQ1osaUJBQWlCO0dBQ2pCLFdBQVc7R0FDWCxtQ0FBbUM7R0FDbkMsZ0JBQWdCO0dBQ2hCLHVCQUF1QjtHQUN2QixjQUFjO0VBQ2Y7QUFFQTtHQUNDLFdBQVc7R0FDWCxnQkFBZ0I7R0FDaEIsV0FBVzs7R0FFWCxpQ0FBaUM7R0FDakMsMkNBQTJDO0dBQzNDLGlEQUFpRDtFQUNsRDtBQUVBO0dBQ0MsOEVBQThFOztHQUU5RSwrQ0FBK0M7RUFXaEQ7QUFWQztJQUNDLDJEQUEyRDtHQUM1RDtBQUVBO0lBQ0MsV0FBVzs7SUFFWCw2Q0FBNkM7SUFDN0Msb0JBQW9CO0dBQ3JCO0FBR0Q7R0FDQyx5Q0FBeUM7RUFVMUM7QUFSQztJQUNDLGdEQUFnRDtJQUNoRCxVQUFVLEVBQUUsZ0RBQWdEO0dBQzdEO0FBRUE7SUFDQywrQ0FBK0M7R0FDaEQ7QUFJQTtJQUNDLHlEQUF5RDtHQUMxRDtBQUVBO0lBQ0MsK0RBQStEO0dBQ2hFO0FBR0Q7R0FDQyw2REFBNkQ7RUFLOUQ7QUFIQztJQUNDLFVBQVU7R0FDWDtBQzlGSDs7O0VBR0U7QUFHRDtFQUNDLGlDQUFpQztDQUNsQztBQUdDO0dBQ0MsYUFBYTtFQUNkO0FDYkY7OztFQUdFO0FBRUY7Q0FDQyxrQ0FBa0M7QUFDbkM7QUFFQTtDQUNDLGdDQUFnQztDQUNoQyxnQkFBZ0I7Q0FDaEIsNENBQTRDO0FBQzdDO0FDYkE7OztFQUdFO0ExRUhGOzs7RUFHRTtBTkhGOzs7RUFHRTtBQUVGOzs7O0VBSUU7QU1IRDtHMEVLRSwwQkFBMEI7R0FDMUIsNkJBQTZCO0MxRUovQjtBQUZBO0cwRVVFLHlCQUF5QjtHQUN6Qiw0QkFBNEI7QzFFVDlCO0EwRVlDOytFQUM2RTtBQUM3RTtHQUNDLFVBQVU7RUFDWDtBQUlBO0dBQ0MsVUFBVTtFQTBDWDtBMUVqRUQ7STBFMEJHLHlCQUF5QjtJQUN6Qiw0QkFBNEI7QzFFekIvQjtBMEUyQkc7S0FDQyxrQ0FBa0M7SUFDbkM7QTFFL0JIO0kwRW1DRywwQkFBMEI7SUFDMUIsNkJBQTZCO0MxRWxDaEM7QTBFb0NHO0tBQ0MsbUNBQW1DO0lBQ3BDO0FBR0Q7SUFDQyxxREFBcUQ7R0FDdEQ7QUFFQTtJaEYxQ0YsZ0JBQWdCOztJZ0Y2Q2IsV0FBVztJQUNYLFlBQVk7SUFDWiw4Q0FBOEM7R0FZL0M7QWhGekRGOztFQUVDLHNDQUFzQztDQUV2QztBZ0YyQ0c7S0FDQyxTQUFTO0tBQ1QsU0FBUztLQUNULFlBQVk7S0FDWixTQUFTO0tBQ1QsNkJBQTZCO0tBQzdCLGtCQUFrQjtLQUNsQix3QkFBd0I7S0FDeEIscUJBQXFCO0lBQ3RCO0FBS0g7RUFDQyxXQUFXO0VBQ1gsd0VBQXdFOztFQUV4RSw0QkFBNEI7RUFDNUIsNkJBQTZCO0NBc0I5QjtBQXBCQztHQUNDLHFEQUFxRDtFQUN0RDtBMUU3RUQ7RzBFZ0ZFLDBCQUEwQjtDMUU5RTVCO0FBRkE7RzBFb0ZFLHlCQUF5QjtDMUVsRjNCO0EwRXFGQztHQUNDLHdDQUF3QztFQU16QztBMUU5RkQ7STBFMkZHLGVBQWU7SUFDZix1Q0FBdUM7QzFFMUYxQztBMkVSRDs7O0VBR0U7QUFFRjtDQUNDLG9DQUFvQztBQXlCckM7QUF2QkM7RUFDQywyREFBMkQ7RUFDM0QsYUFBYTtDQUNkO0FBRUE7RUFDQyxlQUFlO0VBQ2YsUUFBUTtDQUNUO0FBRUE7RUFDQyxlQUFlO0NBV2hCO0FBUkU7SUFDQyw2Q0FBNkM7R0FDOUM7QUFFQTtJQUNDLFdBQVc7R0FDWjtBQzVCSDs7O0VBR0U7QTVFSEY7OztFQUdFO0E0RUlGO0NBQ0MsNkRBQTZEOztDQUU3RCxnREFBZ0Q7QUF5QmpEO0E1RTdCQztJNEVRRyxvQ0FBb0M7QzVFTnZDO0FBRkE7STRFWUcscUNBQXFDO0M1RVZ4QztBNEVlQTtFQUNDLFdBQVc7RUFDWCxlQUFlO0NBQ2hCO0FBRUE7RUFDQyxtQ0FBbUM7Q0FLcEM7QUFIQztHQUNDLDJCQUEyQjtFQUM1QjtBQ2pDRjs7O0VBR0U7QUFFRjtDQUNDLHdDQUF3QztDQUN4QywyQ0FBMkM7Q0FDM0MsMENBQTBDO0NBQzFDLDBDQUEwQztBQUMzQztBQUVBO0NBQ0MsMkZBQTJGO0NBQzNGLDJKQUEySjtDQUMzSiwwRkFBMEY7QUFDM0Y7QUFFQTs7Q0FFQyxrQkFBa0I7QUFDbkI7QUFFQTtDQUNDLG9EQUFvRDtDQUNwRCxzREFBc0Q7Q0FDdEQsa0RBQWtEO0NBQ2xELDZDQUE2QztDQUM3QyxrQkFBa0I7Q0FDbEIsYUFBYTtDQUNiLGdCQUFnQjtBQWNqQjtBQVpDO0FBVEQ7RUFVRSxnQkFBZ0I7QUFXbEI7Q0FWQztBQUVBO0VBQ0MsZ0JBQWdCO0NBQ2pCO0FBRUE7RUFDQywwQ0FBMEM7RUFDMUMsOENBQThDO0NBQy9DO0FDM0NEOzs7RUFHRTtBQUVGO0NBQ0MsWUFBWTtBQWtCYjtBQWZFO0dBQ0Msb0JBQW9CO0dBQ3BCLFVBQVU7R0FDVixVQUFVO0VBQ1g7QUFHQztJQUNDLGdCQUFnQjs7SUFFaEIsMkZBQTJGO0lBQzNGLHNDQUFzQztHQUN2QztBQ3JCSDs7O0VBR0U7QUFFRjtDQUNDLG9FQUFvRTtBQUNyRTtBQUtFOzs7OztJQUtFO0FBQ0Y7Ozs7R0FFQywyREFBMkQ7R0FDM0QsNERBQTREO0dBQzVELCtDQUErQztHQUMvQyxvQkFBb0IsRUFBRSw0Q0FBNEM7RUFDbkU7QUN4QkY7OztFQUdFO0F0RkhGOzs7RUFHRTtBQUVGOzs7O0VBSUU7QXNGRkY7Q0FDQywyQ0FBMkM7Q0FDM0MsNENBQTRDO0FBQzdDO0FBTUk7S0FDQyxtQ0FBbUM7S0FDbkMsa0JBQWtCO0lBQ25CO0FBR0Q7O0lBRUMsV0FBVztJQUNYLGVBQWU7SUFDZixlQUFlO0dBQ2hCO0FBR0Q7R0FDQyxVQUFVO0VBY1g7QUFaQzs7SUFFQztHQUNEO0FBRUE7SUFDQyxvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLHlDQUF5QztJQUN6Qyw4Q0FBOEM7SUFDOUMsaUNBQWlDO0dBQ2xDO0FBSUY7RUFDQyx1Q0FBdUM7Q0E2QnhDO0FBM0JDO0d0RnhDRCxnQkFBZ0I7O0dzRjJDZCxzQ0FBc0M7R0FDdEMsc0NBQXNDO0dBQ3RDLHlEQUF5RDtHQUN6RCxxREFBcUQ7R0FDckQsa0JBQWtCOztHQVNsQixrRUFBa0U7RUFLbkU7QXRGM0REOztFQUVDLHNDQUFzQztDQUV2QztBc0YyQ0UsMENBQTBDO0FBQzFDO0lBQ0MsNEVBQTRFO0lBQzVFLG1KQUFtSjtJQUNuSixtQkFBbUI7R0FDcEI7QUFJQTtBQWxCRDtJQW1CRSxlQUFlO0VBRWpCO0dBREM7QUFHRCw0RkFBNEY7QUFDNUY7R0FDQyxhQUFhO0VBQ2Q7QUFJRjtDQUNDO0VBQ0MsVUFBVTtDQUNYOztDQUVBO0VBQ0MsVUFBVTtDQUNYO0FBQ0Q7QUN6RkE7OztFQUdFO0FBRUY7Q0FDQyxZQUFZO0FBbUJiO0FBaEJFO0dBQ0Msb0JBQW9CO0dBQ3BCLFVBQVU7RUFZWDtBQVZDO0lBQ0MsZ0JBQWdCOztJQUVoQiwyRkFBMkY7SUFDM0Ysc0NBQXNDO0dBS3ZDO0FBSEM7S0FDQyxXQUFXO0lBQ1o7QUNyQko7OztFQUdFO0FBRUY7Q0FDQyw0REFBNEQ7QUFDN0Q7QUFHQzs7RUFFQyxrQkFBa0I7RUFDbEIsd0JBQXdCO0VBQ3hCLGNBQWM7RUFDZCxpQkFBaUI7O0VBRWpCLHNEQUFzRDtDQTRCdkQ7QUEzQkM7R0FDQyxXQUFXO0dBQ1gsb0JBQW9CO0dBQ3BCLDBEQUEwRDtHQUMxRCxrQkFBa0I7R0FDbEIsTUFBTTtHQUNOLE9BQU87R0FDUCxRQUFRO0dBQ1IsU0FBUztFQUNWO0FBRUE7Ozs7R0FFQyw2QkFBNkI7RUFDOUI7QUFFQTs7O0lBR0U7QUFDRjtHQUNDLGNBQWM7RUFLZjtBQUhDO0lBQ0MsYUFBYTtHQUNkO0FDM0NIOzs7RUFHRTtBdEZIRjs7O0VBR0U7QUFFRjs7RUFFRTtBRlBGOzs7RUFHRTtBQUVGOztFQUVFO0FBS0Y7O0VBRUU7QVVkRjs7O0VBR0U7QThFTUY7Q0FDQyxrQ0FBa0M7Q0FDbEMsbUNBQW1DO0NBQ25DLDZDQUE2QztDQUM3Qyx5Q0FBeUM7O0NBRXpDLGlEQUFpRDtDQUNqRCxrREFBa0Q7Q0FDbEQsNEVBQTRFO0NBQzVFLDBFQUEwRTtBQUMzRTtBQUVBO0NBQ0MsaURBQWlEO0NBQ2pELG9CQUFvQjtDQUNwQiwwQkFBMEI7Q0FDMUIsOEdBQThHO0FBYy9HO0FBWkM7QUFORDtFQU9FLGdCQUFnQjtBQVdsQjtDQVZDO0FBRUE7O0VBRUMsOEVBQThFO0NBQy9FO0FBRUE7RUFDQyxrREFBa0Q7Q0FDbkQ7QUFHRDtDQUNDLDZCQUE2Qjs7Q0FFN0I7NEdBQzJHO0FBaUI1RztBQWhCQzs7RXhGckNBLHVDQUE4QjtDd0ZvRDlCO0E5RS9DQTtFQUNDO0c4RW1DQyxrRUFBa0U7RTlFakNuRTtDQUNEO0E4RW1DQzs7OztJQUlFO0FBQ0Y7R3RGakRELDRCQUE0QjtHQUM1QixhQUFhO0dBQ2IsNEJBQTJCO0VzRmlEMUI7QUFLRDtFQUNDLFlBQVk7RUFDWixzQkFBc0I7O0VBRXRCLGlHQUFpRztFQUNqRyw2QkFBNkI7RUFDN0IsVUFBVTs7RUFFVjs7OzZFQUcyRTtFQUMzRTs7OytGQUc2Rjs7RUFFN0YsaUNBQWlDO0VBQ2pDLGtFQUFrRTs7RUFFbEUsdURBQXVEO0VBQ3ZELDRCQUE0QjtFQUM1QixvREFBb0Q7RUFDcEQsTUFBTTtDQTZCUDtBQTNCQztBQXpCRDtHQTBCRSxnQkFBZ0I7Q0EwQmxCO0VBekJDO0FBRUE7R0FDQyx5RkFBeUY7R0FDekYseUNBQXlDO0dBQ3pDLDBDQUEwQztHQUMxQyxxREFBcUQ7O0dBRXJELDREQUE0RDtFQVc3RDtBQVZDO0lBQ0MsVUFBVTs7SUFFVixtRUFBbUU7SUFDbkUsa0VBQWtFO0dBS25FO0FBSEM7QUFORDtLQU9FLGdCQUFnQjtHQUVsQjtJQURDO0FBSUYscUdBQXFHO0FBQ3JHO0dBQ0MsVUFBVTtFQUNYO0FBR0QsMkZBQTJGO0FBQzNGO0VBQ0MsVUFBVTtFQUNWLHFEQUFxRDtDQUN0RDtBQUVBLHdGQUF3RjtBQUd2RjtHQUNDLFVBQVU7R0FDViw4Q0FBOEM7O0dBRTlDLG9GQUFvRjtFQUlyRjtBQUhDO0lBQ0MsVUFBVTtHQUNYO0FBS0gsc0ZBQXNGO0FBQ3RGLDBEQUEwRDtBQUMxRDtDQUNDLFVBQVU7Q0FDVixxREFBcUQ7QUFDdEQ7QUFFQSxzREFBc0Q7QUFDdEQ7Q0FDQyw2RkFBNkY7Q0FDN0YsZ0JBQWdCO0FBa0JqQjtBQWhCQztFQUNDOzs7OztJQUtFO0VBQ0Ysa0NBQWtDO0NBQ25DO0FBR0M7O0dBRUMsaURBQWlEO0VBQ2xEO0FBSUYsbUZBQW1GO0FBQ25GLDBEQUEwRDtBQUV6RDs7RUFFQyxvREFBb0Q7Q0FRckQ7QUFMRTs7OztJQUVDLGlEQUFpRDtHQUNsRDtBQUtIOztDQUVDOzs7O3lEQUl3RDtDQUN4RCwwREFBMEQ7QUFDM0Q7QUNsTUE7OztFQUdFO0FBRUY7Q0FDQyx1QkFBdUI7O0NBRXZCLHVDQUF1QztDQUN2QyxpRUFBaUU7Q0FDakUsOEJBQThCO0FBQy9CO0FBRUE7Q0FDQywwQ0FBMEM7QUFDM0M7QUFFQTtDQUNDLDZCQUE2QjtDQUM3Qiw4QkFBOEI7Q0FDOUIsd0NBQXdDO0NBQ3hDLDZEQUE2RDtDQUM3RCw4Q0FBOEM7QUFxQi9DO0FBbkJDO0VBQ0MsNkJBQTZCO0VBQzdCLDhCQUE4QjtDQUMvQjtBQUVBO0VBQ0MsNkJBQTZCO0VBQzdCLCtCQUErQjtDQUNoQztBQUVBO0VBQ0MsZ0NBQWdDO0VBQ2hDLCtCQUErQjtDQUNoQztBQUVBO0VBQ0MsZ0NBQWdDO0VBQ2hDLDhCQUE4QjtDQUMvQjtBQzFDRDs7O0VBR0U7QUFFRjtDQUNDLHlDQUF5QztDQUN6Qyx5RUFBeUU7Q0FDekUsK0VBQStFO0NBQy9FLDRGQUE0RjtDQUM1Rix5REFBeUQ7Q0FDekQsd0RBQXdEO0NBQ3hELDBFQUEwRTtBQUMzRTtBQWFDOztHQUVFO0FBQ0Y7RUFDQywrQ0FBK0M7RUFDL0MsZ0RBQWdEO0VBQ2hELHFEQUFxRDtFQUNyRCxvQkFBb0I7RUFDcEIseU1BQXlNOztFQWIxTSxVQUFVOztFQUNWLG9CQUFvQjtDQWdGcEI7QUFoRUM7QUFURDtHQVVFLGdCQUFnQjtDQStEbEI7RUE5REM7QUFFQTtHQUNDLFdBQVc7R0FDWCxXQUFXO0dBQ1gsK0JBQStCO0dBQy9CLDhCQUE4QjtHQUM5QixlQUFlO0VBb0JoQjtBQWxCQztBQVBEO0lBUUUsZ0JBQWdCO0VBaUJsQjtHQWhCQztBQUVBO0lBQ0Msb0JBQW9CO0lBQ3BCLG9CQUFvQjs7SUFFcEIsVUFBVTtJQUNWLHNEQUFzRDtJQUN0RCxtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLHNCQUFzQjtHQUN2QjtBQUVBO0lBQ0MsbUJBQW1CO0dBQ3BCO0FBR0Q7R0FDQzs7S0FFRTtHQUNGLDhEQUE4RDs7R0FFOUQ7O0tBRUU7RUF3Qkg7QUF0QkU7S0FDQyxxREFBcUQ7SUFDdEQ7QUFFQTtLQUNDLHlEQUF5RDtJQUMxRDtBQUdEO0FBbkJEO0lBb0JFLGVBQWU7RUFZakI7S0FURztNQUNDLGVBQWU7S0FDaEI7O0tBRUE7TUFDQyxlQUFlO0tBQ2hCO0dBRUY7QUFJRjs7R0FFRTtBQUdEO0dBN0ZELFVBQVU7R0FDVixvQkFBb0I7RUE4Rm5CO0FBR0Q7OztHQUdFO0FBQ0Y7RUFDQywyREFBMkQ7Q0FDNUQ7QUFFQTs7OztHQUlFO0FBQ0Y7O0VBRUMsNERBQTREO0NBUTdEO0FBTkM7R0FDQywyREFBMkQ7R0FDM0QsNERBQTREO0dBQzVELG9CQUFvQjtHQUNwQixrRkFBa0Y7RUFDbkY7QUFHRDs7O0dBR0U7QUFDRjtFQUNDLGlCQUFpQjtDQUNsQjtBQUVBOztHQUVFO0FBQ0Y7RUFDQyxvQkFBb0I7RUFDcEIsV0FBVztFQUNYLG9GQUFvRjs7RUFFcEY7OztJQUdFO0VBQ0Ysd0NBQXdDO0VBQ3hDLHFDQUFxQztDQUN0QztBQUVBOzs7R0FHRTtBQUVEOztHQUVDLDBCQUEwQjtFQUMzQjtBQUtBOzs7O0lBSUU7QUFDRjtHQUNDLGtEQUFrRDtFQUNuRDtBQUVBOzs7SUFHRTtBQUNGO0dBeEtELFVBQVU7R0FDVixvQkFBb0I7RUF5S25CO0FBRUE7OztJQUdFO0FBSUE7S0FDQztJQUNEO0FBSUY7Ozs7SUFJRTtBQUNGO0dBQ0M7RUFDRDtBQUlGOzs7O0VBSUU7QUFDRjtDQUNDLGNBQWM7Q0FDZCxrQkFBa0I7QUFDbkI7QUFFQTs7Ozs7RUFLRTtBQUtDO0lBeE5GLFVBQVU7SUFDVixvQkFBb0I7R0F5TmxCO0FBS0g7O0VBRUU7QUFDRjtDQUNDLHNFQUFzRTtBQUt2RTtBQUhDO0VBQ0MscUJBQXFCO0NBQ3RCO0FBR0Q7Q0FDQztFQUNDLHFCQUFxQjtDQUN0QjtDQUNBO0VBQ0Msb0JBQW9CO0NBQ3JCO0FBQ0Q7QUFFQTtDQUNDO0VBQ0Msb0JBQW9CO0NBQ3JCO0NBQ0E7RUFDQyxvQkFBb0I7Q0FDckI7QUFDRDtBQUVBO0NBQ0M7RUFDQywrSEFBK0g7Q0FDaEk7Q0FDQTtFQUNDLCtIQUErSDtDQUNoSTtDQUNBO0VBQ0MsaUlBQWlJO0NBQ2xJO0FBQ0Q7QUFFQTtDQUNDO0VBQ0MsVUFBVTtDQUNYO0NBQ0E7RUFDQyxVQUFVO0NBQ1g7Q0FDQTtFQUNDLFVBQVU7Q0FDWDtDQUNBO0VBQ0MsVUFBVTtDQUNYO0NBQ0E7RUFDQyxVQUFVO0NBQ1g7QUFDRDs7QUM3U0E7OztFQUdFOztBQUVGO0NBQ0MsdUNBQXVDO0NBQ3ZDLGNBQWM7Q0FDZCxrQkFBa0I7QUFDbkI7O0FBRUE7Q0FDQyx1Q0FBdUM7QUFDeEM7O0FDYkE7OztFQUdFOztBQUVGO0NBQ0MsWUFBWTtDQUNaLGdCQUFnQjs7Q0FFaEIsZ0VBQWdFO0NBQ2hFLG9CQUFvQjtDQUNwQixtQkFBbUI7O0NBRW5CLGNBQWM7Q0FDZCxlQUFlO0NBQ2Ysa0JBQWtCO0NBQ2xCLHNDQUFzQztBQUN2Qzs7QUFFQTtDQUNDLGNBQWM7Q0FDZCx1Q0FBdUM7QUFDeEM7O0FDdEJBOzs7RUFHRTs7QUFFRjtDQUNDLHdDQUF3QztDQUN4Qyx5REFBeUQ7Q0FDekQsMERBQTBEO0FBQzNEOztBQUlFO0dBQ0Msa0JBQWtCO0VBMkJuQjs7QUF6QkM7SUFDQyxXQUFXOztJQUVYLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQLFVBQVU7O0lBRVYsWUFBWTtJQUNaLFdBQVc7O0lBRVg7Ozs7O0tBS0M7SUFDRCwwQkFBMEI7O0lBRTFCLDJEQUEyRDtHQUM1RDs7QUFFQTtJQUNDLFlBQVk7R0FDYjs7QUFLSDtDQUNDO0VBQ0MsMkJBQTJCO0NBQzVCO0NBQ0E7RUFDQyw0QkFBNEI7Q0FDN0I7QUFDRDs7QUNwREE7OztFQUdFOztBQUdEOztHQUVFOztBQUNGO0VBQ0MsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixvQkFBb0I7Q0FNckI7O0FBSkM7R0FDQyxrQkFBa0I7R0FDbEIsUUFBUTtFQUNUOztBQUdEOztHQUVFOztBQUVEO0dBQ0MsYUFBYTtFQUNkOztBQUVBO0dBQ0MsYUFBYTtFQUNkOztBQUlGO0NBQ0Msa0JBQWtCO0NBQ2xCLG9CQUFvQjtBQUNyQjs7QUNyQ0E7OztFQUdFOztBQUVGO0NBQ0MsWUFBWTtDQUNaLHdCQUF3QjtDQUN4QixpQ0FBaUM7Q0FDakMsaUNBQWlDO0NBQ2pDLGtCQUFrQjs7Q0FFbEIsZ0RBQWdEO0NBQ2hELGdCQUFnQjtDQUNoQixjQUFjOztDQUVkLFdBQVc7Q0FDWCxxQkFBcUI7O0NBRXJCLHlEQUF5RDtDQUN6RCxrQkFBa0I7O0NBRWxCLDhEQUE4RDtDQUM5RCxnQkFBZ0I7QUFPakI7O0FBTEM7RUFDQyxpQkFBaUI7RUFDakIsVUFBVTtFQUNWLGdCQUFnQjtDQUNqQjs7QUFHRDtDQUNDLGtCQUFrQjtBQU1uQjs7QUFKQztFQUNDLDRCQUE0QjtFQUM1QixrQkFBa0I7Q0FDbkI7O0FDdENEOzs7RUFHRTs7QUFFRjtDQUNDOztvREFFbUQ7Q0FDbkQsa0JBQWtCO0FBTW5COztBQUpDO0VBQ0MsbUVBQW1FO0VBQ25FLDBCQUEwQjtDQUMzQjs7QUNkRDs7O0VBR0U7O0FBRUY7Q0FDQyxZQUFZO0NBQ1osdURBQXVEO0FBQ3hEOztBQ1JBOzs7RUFHRTs7QUFFRixnQ0FBZ0M7QUFDaEM7O0NBRUMsa0JBQWtCO0FBV25CO0FBVEM7RUFDQyxrQkFBa0I7RUFDbEIsT0FBTztFQUNQLFFBQVE7RUFDUiwrQkFBK0I7O0VBRS9CLGdDQUFnQztFQUNoQyxvQkFBb0I7Q0FDckI7O0FBR0QsaUNBQWlDO0FBRWhDO0VBQ0MsYUFBYTtDQUNkOztBQUdEOzs7O0VBSUU7QUFDRjtDQUNDLGtCQUFrQjtBQUNuQjs7QUNuQ0E7OztFQUdFOztBQUVGLGlGQUFpRjtBQUNqRjtDQUNDLGFBQWE7QUFDZDs7QUNSQTs7O0VBR0U7O0FBRUY7Q0FDQyxnREFBZ0Q7Q0FDaEQsMkJBQTJCO0FBQzVCOztBQUVBO0NBQ0MsOEJBQThCO0FBQy9COztBQ1pBOzs7RUFHRTs7QUFFRjtDQUNDLGVBQWU7QUFVaEI7O0FBUkM7RUFDQyxhQUFhOztFQUViLDJCQUEyQjtDQUk1Qjs7QUFIQztHQUNDLGtCQUFrQjtFQUNuQjs7QUNkRjs7O0VBR0U7O0FBRUYscUhBQXFIOztBQUVySDt1REFDdUQ7QUFFdEQ7RUFDQyxlQUFlO0NBQ2hCO0FBRUE7RUFDQyxnQkFBZ0I7Q0FDakI7QUFFQTtFQUNDLGdCQUFnQjtDQUNqQjtBQUVBO0VBQ0MsZ0JBQWdCO0NBQ2pCOztBQ3hCRDs7O0VBR0U7O0FBRUY7Q0FDQyxlQUFlO0FBQ2hCOztBQUVBO0NBQ0MsZUFBZTtBQUNoQjs7QUFFQTtDQUNDLGVBQWU7QUFDaEI7O0FBRUE7Q0FDQyxpQkFBaUI7QUFDbEI7O0FDbkJBOzs7RUFHRTs7QUFFRjtDQUNDLCtDQUErQztDQUMvQywrQ0FBK0M7Q0FDL0MsOENBQThDO0NBQzlDLDhDQUE4QztDQUM5Qyx3Q0FBd0M7Q0FDeEMsNkNBQTZDO0FBQzlDOztBQUdDO0VBQ0MsbURBQW1EO0NBQ3BEO0FBRkE7RUFDQyxrREFBbUQ7Q0FDcEQ7QUFGQTtFQUNDLGlEQUFtRDtDQUNwRDtBQUZBO0VBQ0MsaURBQW1EO0NBQ3BEOztBQUlBO0VBQ0Msa0NBQXFDOztFQUVyQyw4RUFBOEU7RUFDOUUsNkJBQTZCO0NBQzlCO0FBTEE7RUFDQyxvQ0FBcUM7O0VBRXJDLDhFQUE4RTtFQUM5RSw2QkFBNkI7Q0FDOUI7O0FDMUJEOzs7RUFHRTs7O0FBR0Y7Q0FDQyxnRkFBZ0Y7Q0FDaEYsa0JBQWtCO0FBQ25COztBQUVBO0NBQ0MsY0FBYztDQUNkLFdBQVc7Q0FDWCwyQkFBMkI7Q0FDM0IsU0FBUztBQUNWOztBQ2hCQTs7O0VBR0U7O0FBRUYsMkJBQTJCO0FBQzNCO0NBQ0MsNkJBQTZCO0NBQzdCO3dGQUN1RjtDQUN2RixrQkFBa0I7Q0FDbEIsa0JBQWtCO0NBQ2xCLGtCQUFrQjs7Q0FFbEI7aUhBQ2dIO0NBQ2hILGVBQWU7O0NBRWYseURBQXlEO0NBQ3pELGtCQUFrQjs7Q0FFbEIsZ0dBQWdHO0FBOENqRztBQTVDQztFQUNDLGtCQUFrQjs7RUFFbEIsb0RBQW9EO0VBQ3BELFVBQVU7Q0FDWDtBQUVBLGlHQUFpRztBQUVqRyxvQ0FBb0M7QUFDcEM7RUFDQyxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHNCQUFzQjtDQUN2QjtBQUVBO0VBQ0Msa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixhQUFhO0NBQ2Q7QUFFQTtFQUNDLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsWUFBWTs7RUFFWiwwRkFBMEY7RUFDMUYsY0FBYztFQUNkLHlCQUF5QjtFQUN6QixtQkFBbUI7Q0FDcEI7QUFFQTtFQUNDLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsTUFBTTtFQUNOLFFBQVE7RUFDUixTQUFTOztFQUVULGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsdUJBQXVCO0NBQ3hCOztBQ2xFRDs7O0VBR0U7O0FBRUY7Q0FDQyxtREFBbUQ7QUFDcEQ7O0FBRUE7Q0FDQyxtQ0FBbUM7Q0FDbkMsaURBQWlEO0NBQ2pELGdDQUFnQztDQUNoQywwQkFBMEI7Q0FDMUIscUVBQXFFO0NBQ3JFLGtEQUFrRDtBQStCbkQ7O0FBN0JDO0VBQ0MseUdBQXlHO0NBQzFHOztBQUVBO0VBQ0MsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsMkNBQTJDO0VBQzNDLE1BQU07RUFDTixnQ0FBZ0M7RUFDaEMsNEJBQTRCO0VBQzVCLDJHQUEyRztFQUMzRywwSUFBMEk7RUFDMUksa0VBQWtFO0VBQ2xFLHNDQUFzQztFQUN0QyxtQ0FBbUM7RUFDbkMsZ0NBQWdDO0NBQ2pDOztBQUVBLDBCQUEwQjs7QUFDMUI7RUFDQyxpQkFBaUI7Q0FDbEI7O0FBRUE7RUFDQyxnREFBZ0Q7RUFDaEQsb0JBQW9CO0NBQ3JCOztBQUdEO0NBQ0MsZ0JBQWdCO0FBQ2pCOztBQUVBO0NBQ0MscUJBQXFCO0FBQ3RCOzs7QUN0REE7OztFQUdFOztBbEdIRjs7O0VBR0U7O0FrR0lGO0NBQ0Msb0RBQW9EO0NBQ3BELDhDQUE4QztDQUM5QyxvRUFBb0U7QUFDckU7O0FBRUEsbUJBQW1CO0FBQ25CO0NBQ0Msc0JBQXNCO0NBQ3RCLG9CQUFvQjtDQUNwQixzQkFBc0I7Q0FDdEIseUNBQXlDO0NBQ3pDLDBEQUEwRDtDQUMxRCxhQUFhO0NBQ2IsZ0JBQWdCO0NBQ2hCLG9CQUFvQjs7Q0FFcEIsK0dBQStHO0FBS2hIO0FBSkM7QUFYRDtFQVlFLHVCQUF1QjtFQUN2QixZQUFZO0FBRWQ7Q0FEQzs7QUFHRCxtQkFBbUI7QWxHakJsQjtFQUNDO0VrR21CQSxrREFBa0Q7RWxHakJsRDtDQUNEO0FrR21CQTtBQUxEO0VBTUUsZUFBZTtBQUVqQjtDQURDOztBQUdEO0NBQ0M7RUFDQyxzRUFBc0U7Q0FDdkU7O0NBRUE7RUFDQywwREFBMEQ7Q0FDM0Q7QUFDRDs7QUNsREE7OztFQUdFOztBQUVGO0NBQ0MsWUFBWTtDQUNaLDBEQUEwRDtBQU0zRDs7QUFKQztFQUNDLGFBQWE7RUFDYixxQ0FBcUM7Q0FDdEM7O0FDWkQ7OztFQUdFOztBQUVGLHlGQUF5RjtBQUN6RjtDQUNDLFlBQVk7QUFDYjs7QUFFQTtDQUNDLGVBQWU7Q0FDZjs7OztFQUlDO0NBQ0QsY0FBYztDQUNkLHNCQUFzQjtBQVd2Qjs7QUFUQztFQUNDLHFGQUFxRjtFQUNyRixXQUFXO0NBQ1o7O0FBRUE7RUFDQyxnRkFBZ0Y7RUFDaEYsY0FBYztDQUNmOztBQUlBO3lEQUN3RDs7QUFHdkQ7R0FDQyxlQUFlO0VBQ2hCOztBQUlGO0NBQ0Msd0NBQXdDO0FBQ3pDOztBQUVBO0NBQ0MsdUNBQXVDO0FBQ3hDOztBQUVBO0NBQ0MsVUFBVTtBQUNYOztBQ3BEQTs7O0VBR0U7O0FsR0hGOzs7RUFHRTs7QWtHSUY7Q0FDQyxhQUFhO0NBQ2IsbUJBQW1CO0NBQ25CLGlCQUFpQjtDQUNqQix1QkFBdUI7QUFxQnhCOztBQW5CQztFQUNDLHFCQUFxQjtDQUN0Qjs7QUFFQTtFQUNDLGFBQWE7Q0FDZDs7QWxHYkE7O0FrR0NEO0VBZUUsZUFBZTtBQVVqQjs7RUFSRTtHQUNDLGdCQUFnQjtFQUNqQjs7RUFFQTtHQUNDLGVBQWU7RUFDaEI7Q2xHdEJEOztBbUdSRDs7O0VBR0U7O0FBRUY7Q0FDQywrQkFBK0I7Q0FDL0Isd0VBQXdFO0FBQ3pFOztBQUdDLDREQUE0RDs7QUFFM0Q7O3lEQUV1RDs7QUFDdkQ7O0dBRUMscURBQXFEO0VBQ3REOztBQUVBO2dGQUM4RTs7QUFDOUU7O0dBRUMsV0FBVztFQUNaOztBQUVBO0dBQ0MsWUFBWTtHQUNaLDBDQUEwQztHQUMxQyxjQUFjO0VBQ2Y7O0FBRUE7R0FDQyxXQUFXO0dBQ1gsMkNBQTJDO0VBQzVDOztBQUVBO0dBQ0MsWUFBWTtHQUNaLDBDQUEwQztFQUMzQzs7QUFFQTtHQUNDLGVBQWU7R0FDZixpQkFBaUI7RUFDbEI7O0FBRUE7R0FDQyxjQUFjO0dBQ2Qsa0JBQWtCO0VBQ25COztBQUdEO0VBQ0MsaUJBQWlCO0VBQ2pCLGtCQUFrQjtDQUNuQjs7QUFFQTtFQUNDLFdBQVc7RUFDWCwyQ0FBMkM7Q0FDNUM7O0FBRUE7RUFDQyxZQUFZO0VBQ1osMENBQTBDO0NBQzNDOztBQUVBLDZHQUE2Rzs7QUFDN0c7OztFQUdDLGFBQWE7Q0FDZDs7QUFHQzs7R0FFQyxnREFBZ0Q7R0FDaEQsbURBQW1EO0VBQ3BEOztBQUVBO0dBQ0Msa0RBQWtEO0VBQ25EOztBQUVBO0dBQ0MsaURBQWlEO0VBQ2xEOztBQUtEO3lEQUN3RDs7QUFJdEQ7Ozs7OztJQUdDLHNEQUFzRDtHQUt2RDs7QUFIQztLQUNDLGFBQWE7SUFDZDs7QUFLRDs7O0lBR0MsNERBQTREO0dBQzdEOztBQ3BISDs7O0VBR0U7O0FwR0hGOzs7RUFHRTs7QW9HSUY7Q0FDQyxhQUFhO0NBQ2IsbUJBQW1CO0NBQ25CLGlCQUFpQjtBQXFCbEI7O0FBbkJDO0VBQ0MscUJBQXFCO0NBQ3RCOztBQUVBO0VBQ0MsYUFBYTtDQUNkOztBcEdaQTs7QW9HQ0Q7RUFjRSxlQUFlO0FBVWpCOztFQVJFO0dBQ0MsZ0JBQWdCO0VBQ2pCOztFQUVBO0dBQ0MsZUFBZTtFQUNoQjtDcEdyQkQ7O0FxR1JEOzs7RUFHRTs7QUFHRDs7RUFFQyxrQkFBa0I7Q0FDbkI7O0FBRUEseUJBQXlCOztBQUN6Qjs7RUFFQyxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLE9BQU87Q0FDUjs7QUNqQkQ7OztFQUdFOztBQUVGO0NBQ0MsY0FBYztDQUNkLGtCQUFrQjs7Q0FFbEI7OztHQUdFO0NBQ0Ysc0NBQXNDO0NBQ3RDLHdDQUF3QztDQUN4QyxrQkFBa0I7Q0FDbEIsVUFBVTtBQU1YOztBQUpDO0VBQ0MsV0FBVztFQUNYLGtCQUFrQjtDQUNuQjs7QUNyQkQ7OztFQUdFOztBQUVGO0NBQ0Msa0JBQWtCO0NBQ2xCLGFBQWE7Q0FDYixtQkFBbUI7Q0FDbkIsdUJBQXVCO0NBQ3ZCLE1BQU07Q0FDTixPQUFPO0FBTVI7O0FBSkM7RUFDQyxXQUFXO0VBQ1gsa0JBQWtCO0NBQ25COztBQ2hCRDs7O0VBR0U7O0FBR0Q7RUFDQyxjQUFjO0VBQ2QsV0FBVztFQUNYLGtCQUFrQjs7RUFFbEIsOEZBQThGO0VBQzlGOzBGQUN3RjtFQUN4RixrQkFBa0I7O0VBRWxCLCtHQUErRztFQUMvRyxlQUFlO0NBbUJoQjs7QUFqQkM7R0FDQyxpRUFBaUU7R0FDakUsY0FBYzs7R0FFZCx1RUFBdUU7R0FDdkUsY0FBYzs7R0FFZCxtR0FBbUc7R0FDbkcsZUFBZTs7R0FFZiw2SEFBNkg7R0FDN0gsZUFBZTs7R0FFZjs0REFDeUQ7R0FDekQsWUFBWTtFQUNiOztBQUdEO0VBQ0M7Ozs7SUFJRTtFQUNGLG9CQUFvQjs7RUFFcEIsd0ZBQXdGO0VBQ3hGLGVBQWU7O0VBRWYsK0dBQStHO0VBQy9HLHVCQUF1Qjs7RUFFdkIsK0ZBQStGO0NBZWhHOztBQWRDO0dBQ0MsYUFBYTtFQUNkOztBQUVBLG1FQUFtRTs7QUFDbkU7O0dBRUMsbUdBQW1HO0dBQ25HLFlBQVk7R0FDWixjQUFjOztHQUVkLHdGQUF3RjtHQUN4RixlQUFlO0VBQ2hCOztBQUtEOzs7O0dBSUU7O0FBQ0Y7RUFDQyxxQkFBcUI7RUFDckIsc0JBQXNCOztFQUV0Qjs7O0lBR0U7RUFDRixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtDQUN4Qjs7QUFFQTs7R0FFRTs7QUFDRjtFQUNDLFVBQVU7O0VBRVY7OztJQUdFO0NBSUg7O0FBSEM7R0FDQyxVQUFVO0VBQ1g7O0FBR0Q7O0dBRUU7O0FBQ0Y7RUFDQyxVQUFVOztFQUVWOzs7SUFHRTtDQWFIOztBQVpDO0dBQ0MsVUFBVTs7R0FFVjs7OztLQUlFO0VBSUg7O0FBSEM7SUFDQyxhQUFhO0dBQ2Q7O0FBSUY7MERBQ3lEOztBQUN6RDtFQUNDLFlBQVk7Q0FDYjs7QUFFQTt5REFDd0Q7O0FBR3ZEO0dBQ0MsZUFBZTtFQUNoQjs7QUM1SUY7OztFQUdFOztBQUdEO0VBQ0MsMEJBQTBCO0NBQzNCOztBQ1JEOzs7RUFHRTs7QUFHRCwyQkFBMkI7O0FBRzFCO0dBQ0MsY0FBYztHQUNkLGtCQUFrQjtFQUNuQjs7O0FDWkY7OztFQUdFOztBM0dIRjs7O0VBR0U7O0EyR0lGO0NBQ0MsYUFBYTtDQUNiLG1CQUFtQjtDQUNuQixpQkFBaUI7QUFxQmxCOztBQW5CQztFQUNDLHFCQUFxQjtDQUt0Qjs7QUFIQztHQUNDLGdCQUFnQjtFQUNqQjs7QTNHWEQ7O0EyR0NEO0VBY0UsZUFBZTtBQVVqQjs7RUFSRTtHQUNDLGdCQUFnQjtFQUNqQjs7RUFFQTtHQUNDLGVBQWU7RUFDaEI7QzNHckJEOztBNEdSRDs7O0VBR0U7O0E1R0hGOzs7RUFHRTs7QTRHSUY7Q0FDQyxhQUFhO0NBQ2IsdUJBQXVCO0FBaUJ4Qjs7QUFmQztFQUNDLGFBQWE7Q0FDZDs7QTVHUEE7O0E0R0NEO0VBU0UsZUFBZTtBQVVqQjs7RUFSRTtHQUNDLGdCQUFnQjtFQUNqQjs7RUFFQTtHQUNDLGVBQWU7RUFDaEI7QzVHaEJEOztBNEdvQkQ7OztFQUdFO0FBQ0Y7Q0FDQyxjQUFjOztDQUVkOzs7R0FHRTtBQU9IO0FBTEU7O0dBRUMsb0NBQW9DO0VBQ3JDOztBQzNDRjs7O0VBR0U7O0FBRUY7Q0FDQyxjQUFjO0FBQ2Y7O0FDUEE7OztFQUdFOztBQUVGO0NBQ0MsYUFBYTtBQUNkOztBQ1BBOzs7RUFHRTs7QUFFRjtDQUNDLHdCQUF3QjtBQWlCekI7O0FBZkM7RUFDQyw0QkFBNEI7Q0FhN0I7O0FBWEM7R0FDQyw0QkFBNEI7RUFTN0I7O0FBUEM7SUFDQyw0QkFBNEI7R0FLN0I7O0FBSEM7S0FDQyw0QkFBNEI7SUFDN0I7O0FBTUo7Q0FDQyxxQkFBcUI7QUFhdEI7O0FBWEM7RUFDQyx1QkFBdUI7Q0FTeEI7O0FBUEM7R0FDQyx1QkFBdUI7RUFLeEI7O0FBSEM7SUFDQyx1QkFBdUI7R0FDeEI7O0FDcENIOzs7RUFHRTs7QUFFRjtDQUNDLG1DQUFtQztBQUNwQzs7QUF5RUE7O0VBRUU7QUFDRjtDQUNDLGdCQUFnQjtBQXdCakI7QUF0QkM7RUFDQyxrQkFBa0I7RUFDbEIsa0JBQWtCO0NBS25CO0FBSEM7R0FDQyxlQUFlO0VBQ2hCO0FBSUE7R0F0RkQsd0JBQXdCO0dBQ3hCLHFCQUFxQjtHQUNyQixrQkFBa0I7R0FDbEIseUNBQXlDO0dBQ3pDLDBDQUEwQztHQUMxQyxzQkFBc0I7R0FFdEIsa0JBQWtCO0dBQ2xCLFNBQVM7R0FFVCxlQUFlO0dBQ2YsV0FBVztHQUNYLG1CQUFtQjtHQUNuQixRQUFRO0dBQ1IsY0FBYztHQUVkLGVBQWU7RUF3RWQ7QUF2RUQ7RUFDQyxPQUFPO0VBQ1AsZUFBZTtFQUNmLFlBQVk7RUFDWixrQkFBa0I7Q0FDbkI7QUFFQTtFQUNDLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxXQUFXO0VBQ1gsWUFBWTtFQUNaLGlDQUFpQztFQUNqQyxrQkFBa0I7RUFDbEIsd0NBQXdDO0NBS3pDO0FBSEM7QUFYRDtHQVlFLGdCQUFnQjtDQUVsQjtFQURDO0FBR0Q7RUFDQyxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLHVCQUF1QjtFQUN2QixvQkFBb0I7RUFDcEIsV0FBVzs7RUFFWCx1RkFBdUY7RUFDdkYsb0RBQW9EO0VBQ3BELHFEQUFxRDtFQUNyRCx1REFBdUQ7RUFDdkQsd0RBQXdEO0VBQ3hELG1CQUFtQjtFQUNuQix5QkFBeUI7RUFDekIsK0dBQStHO0VBQy9HLHdCQUF3QjtDQUN6QjtBQUdDO0dBQ0MsOEJBQThCO0dBQzlCLGdDQUFnQztFQUNqQztBQUVBO0dBQ0MsOEJBQThCO0VBQy9CO0FBd0JBO0dBQ0Msc0JBQXNCO0VBQ3ZCO0FBRUE7R0FDQyxrQkFBa0I7RUFDbkI7O0FBSUY7O0VBRUU7QUFFRDs7O0dBR0U7QUFDRjs7RUFFQyxlQUFlO0NBS2hCO0FBSEM7R0FDQywwQ0FBMEM7RUFDM0M7QUFHRDs7R0FFRTtBQUNGO0VBeEhBLHdCQUF3QjtFQUN4QixxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLHlDQUF5QztFQUN6QywwQ0FBMEM7RUFDMUMsc0JBQXNCO0VBRXRCLGtCQUFrQjtFQUNsQixTQUFTO0VBRVQsZUFBZTtFQUNmLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsUUFBUTtFQUNSLGNBQWM7RUFFZCxlQUFlO0NBMEdmO0FBekdBO0VBQ0MsT0FBTztFQUNQLGVBQWU7RUFDZixZQUFZO0VBQ1osa0JBQWtCO0NBQ25CO0FBRUE7RUFDQyxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLHNCQUFzQjtFQUN0QixXQUFXO0VBQ1gsV0FBVztFQUNYLFlBQVk7RUFDWixpQ0FBaUM7RUFDakMsa0JBQWtCO0VBQ2xCLHdDQUF3QztDQUt6QztBQUhDO0FBWEQ7R0FZRSxnQkFBZ0I7Q0FFbEI7RUFEQztBQUdEO0VBQ0MsY0FBYztFQUNkLGtCQUFrQjtFQUNsQix1QkFBdUI7RUFDdkIsb0JBQW9CO0VBQ3BCLFdBQVc7O0VBRVgsdUZBQXVGO0VBQ3ZGLG9EQUFvRDtFQUNwRCxxREFBcUQ7RUFDckQsdURBQXVEO0VBQ3ZELHdEQUF3RDtFQUN4RCxtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLCtHQUErRztFQUMvRyx3QkFBd0I7Q0FDekI7QUFHQztHQUNDLDhCQUE4QjtHQUM5QixnQ0FBZ0M7RUFDakM7QUFFQTtHQUNDLDhCQUE4QjtFQUMvQjtBQTJEQTtHQUNDLGtCQUFrQjtFQUNuQjs7QUN6SUY7OztFQUdFOztBQUVGO0NBQ0M7OERBQzZEO0NBQzdELFdBQVc7O0NBRVgscUVBQXFFO0NBQ3JFO3dGQUN1RjtDQUN2RixlQUFlOztDQUVmOzBEQUN5RDtDQUN6RCxjQUFjOztDQUVkO21FQUNrRTtDQUNsRSxlQUFlO0FBQ2hCOztBQ3RCQTs7O0VBR0U7O0FBR0Q7RUFDQyxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLG1CQUFtQjtDQWFwQjs7QUFYQztHQUNDLHFFQUFxRTtHQUNyRSxlQUFlOztHQUVmLGtCQUFrQjtFQU1uQjs7QUFKQztJQUNDLGdCQUFnQjtJQUNoQixjQUFjO0dBQ2Y7O0FBV0Q7R0FDQyxhQUFhO0VBQ2Q7O0FBSUY7Z0VBQ2dFO0FBQ2hFO0NBQ0Msb0JBQW9CO0FBQ3JCOztBQUVBO2dFQUNnRTtBQUNoRTtDQUNDLG9CQUFvQjtBQUNyQjs7QUMvQ0E7OztFQUdFOztBbkhIRjs7O0VBR0U7O0FtSEtEO0VBQ0MsV0FBVztFQUNYLFFBQVE7RUFDUixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFNBQVM7RUFDVCxZQUFZO0VBQ1osVUFBVTtDQUNYOztBQUVBO0VBQ0MsYUFBYTtDQUNkOztBbkhkQTtHbUhvQkU7SUFDQyxXQUFXO0lBQ1gsUUFBUTtJQUNSLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsU0FBUztJQUNULFlBQVk7SUFDWixVQUFVO0dBQ1g7O0dBRUE7SUFDQyxhQUFhO0dBQ2Q7Q25IOUJGOztBb0hSRDs7O0VBR0U7O0FwSEhGOzs7RUFHRTs7QW9ISUY7Q0FDQyxhQUFhO0NBQ2IsdUJBQXVCO0NBQ3ZCLG1CQUFtQjtDQUNuQixpQkFBaUI7Q0FDakIsWUFBWTtBQTBCYjs7QUF4QkM7RUFDQyxxQkFBcUI7RUFDckIsV0FBVztDQUNaOztBQUVBO0VBQ0MsYUFBYTtDQUNkOztBQUVBO0VBQ0MsV0FBVztDQUNaOztBcEhuQkE7O0FvSENEO0VBcUJFLGVBQWU7QUFVakI7O0VBUkU7R0FDQyxnQkFBZ0I7RUFDakI7O0VBRUE7R0FDQyxlQUFlO0VBQ2hCO0NwSDVCRDs7QXFIUkQ7OztFQUdFOztBQUVGO0NBQ0MsbUNBQW1DO0FBQ3BDOztBQUVBO0NBQ0MsNkNBQTZDOztDQUU3QyxnQkFBZ0I7O0NBRWhCOzBEQUN5RDtDQUN6RCxrQkFBa0I7O0NBRWxCLDRCQUE0Qjs7Q0FFNUI7MERBQ3lEO0FBSzFEOztBQUpDO0VBQ0MsZ0JBQWdCO0VBQ2hCLGNBQWM7Q0FDZjs7QUN6QkQ7OztFQUdFOztBQUVGO0NBQ0MsbURBQW1EO0NBQ25ELG1EQUFtRDtDQUNuRCx1REFBdUQ7Q0FDdkQscURBQXFEO0FBQ3REOztBQUVBO0NBQ0Msa0JBQWtCO0NBQ2xCLGlCQUFpQjtDQUNqQiwyQ0FBMkM7QUErRDVDOztBQTdEQzs7RUFFQyxXQUFXO0VBQ1gsWUFBWTtDQUNiOztBQUVBO0VBQ0MsU0FBUztFQUNULG9CQUFvQjtFQUNwQixrQkFBa0I7RUFDbEIseURBQXlEO0VBQ3pELDJEQUEyRDtFQUMzRCxTQUFTO0NBQ1Y7O0FBRUE7RUFDQyxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLE1BQU07RUFDTixrRUFBa0U7RUFDbEUsVUFBVTtFQUNWLHdDQUF3QztDQXVDekM7O0FBcENDOztBQVREO0dBVUUsZ0JBQWdCO0NBbUNsQjtFQWxDQzs7QUFFQTtHQUNDLGlFQUFpRTtFQUNsRTs7QUFFQTs7R0FFQyxpRUFBaUU7RUFLbEU7O0FBSEM7SUFDQyxVQUFVO0dBQ1g7O0FBR0Q7R0FDQyxnQ0FBZ0M7R0FDaEMsa0JBQWtCO0dBQ2xCLFFBQVE7R0FDUixVQUFVO0dBQ1YsdURBQXVEO0dBQ3ZELHNDQUFzQztHQUN0QyxpREFBaUQ7R0FDakQsZ0JBQWdCO0dBQ2hCLGVBQWU7R0FDZixrQkFBa0I7R0FDbEIsVUFBVTtHQUNWLHFDQUFxQztFQU10Qzs7QUFIQzs7QUFmRDtJQWdCRSxnQkFBZ0I7RUFFbEI7R0FEQzs7O0FDM0VIOzs7RUFHRTs7QUFFRjtDQUNDLGtCQUFrQjtDQUNsQixXQUFXO0NBQ1gsY0FBYztDQUNkLGFBQWE7Q0FDYixtQkFBbUI7Q0FDbkIsdUJBQXVCO0FBUXhCOztBQU5DO0VBQ0MsV0FBVztFQUNYLGtCQUFrQjtFQUNsQix5Q0FBeUM7RUFDekMsV0FBVztDQUNaOztBQUdEO0NBQ0Msa0JBQWtCO0NBQ2xCLFVBQVU7Q0FDVixrQkFBa0I7Q0FDbEIsY0FBYztDQUNkLHlCQUF5QjtDQUN6QixpQ0FBaUM7Q0FDakMsa0JBQWtCO0NBQ2xCLDBEQUEwRDtDQUMxRCxpQkFBaUI7Q0FDakIsaUJBQWlCO0NBQ2pCLHNCQUFzQjtDQUN0Qiw0QkFBNEI7Q0FDNUIsNkNBQTZDOztDQUU3QyxrRUFBa0U7Q0FDbEUseUJBQXlCO0NBQ3pCLHNCQUFzQjtDQUN0QixxQkFBcUI7Q0FDckIsaUJBQWlCO0FBQ2xCOztBQUVBLHdFQUF3RTtBQUN4RTtDQUNDO0VBQ0MsVUFBVTtDQUtYOztFQUhDO0dBQ0MsYUFBYTtFQUNkOztDQUdEOzs7OztHQUtFO0NBQ0Y7RUFDQyxnQkFBZ0I7Q0FDakI7QUFDRDs7QUM5REE7OztFQUdFOztBaElIRjs7O0VBR0U7O0FnSUlGO0NBQ0MsOENBQThDO0FBQy9DOztBQXNDQztFQXpCQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQXVCcEQ7O0FBdEJBO0VBZkEseURBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSx5aUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEseURBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0EseWlCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSTJDQTtFQTdCQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQTJCcEQ7O0FBMUJBO0VBZkEseURBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSx1aUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEseURBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0EsdWlCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSStDQTtFQWpDQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQStCcEQ7O0FBOUJBO0VBZkEseURBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSw0aUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEseURBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0EsNGlCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSW1EQTtFQXJDQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQW1DcEQ7O0FBbENBO0VBZkEseURBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSx5aUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEseURBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0EseWlCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSXVEQTtFQXpDQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQXVDcEQ7O0FBdENBO0VBZkEseURBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSxxaUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEseURBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0EscWlCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSTJEQTtFQTdDQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQTJDcEQ7O0FBMUNBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSx3aUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0Esd2lCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSStEQTtFQWpEQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQStDcEQ7O0FBOUNBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSxvaUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0Esb2lCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSW1FQTtFQXJEQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQW1EcEQ7O0FBbERBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSxvaUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0Esb2lCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSXVFQTtFQXpEQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQXVEcEQ7O0FBdERBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSxvaUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0Esb2lCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSTJFQTtFQTdEQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQTJEcEQ7O0FBMURBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSxvaUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0Esb2lCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSStFQTtFQWpFQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQStEcEQ7O0FBOURBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSxvaUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0Esb2lCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSW1GQTtFQXJFQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQW1FcEQ7O0FBbEVBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSxvaUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0Esb2lCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSXVGQTtFQXpFQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQXVFcEQ7O0FBdEVBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSx3aUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0Esd2lCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSTJGQTtFQTdFQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQTJFcEQ7O0FBMUVBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSxzaUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0Esc2lCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSStGQTtFQWpGQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQStFcEQ7O0FBOUVBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSxxaUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0EscWlCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSW1HQTtFQXJGQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQW1GcEQ7O0FBbEZBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSxxaUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0EscWlCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSXVHQTtFQXpGQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQXVGcEQ7O0FBdEZBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSxvaUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0Esb2lCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSTJHQTtFQTdGQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQTJGcEQ7O0FBMUZBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSxvaUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0Esb2lCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSStHQTtFQWpHQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQStGcEQ7O0FBOUZBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSxtaUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0EsbWlCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSW1IQTtFQXJHQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQW1HcEQ7O0FBbEdBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSx5aUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0EseWlCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FnSXVIQTtFQXpHQSw0QkFBNEI7RUFDNUIsaUJBQWlCO0VBRWpCO3FEQUNvRDtDQXVHcEQ7O0FBdEdBO0VBZkEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDQWdCNUI7O0FBQ0E7RUFiQSw0aUJBQXlpQjtFQUN6aUIseUNBQXlDO0NBY3pDOztBQUVBO0VBQ0Msc0RBQXNEO0NBQ3ZEOztBaEk5QkE7RWdJTUEsMERBQXNmO0VBQ3RmLDRCQUE0QjtDaElMNUI7O0FBRkE7RWdJV0EsNGlCQUF5aUI7RUFDemlCLHlDQUF5QztDaElWekM7O0FpSVJEOzs7RUFHRTs7QXpJSEY7OztFQUdFOztBQUVGOzs7O0VBSUU7QTBJVEY7OztFQUdFO0FBRUY7O0VBRUU7QXpJUEY7OztFQUdFO0FBRUY7O0VBRUU7QUFLRjs7RUFFRTs7QXdJTEY7Q0FDQyxrQkFBa0I7Q0FDbEIsZ0JBQWdCO0FBQ2pCOztBQUVBOztDQUVDLGdDQUFnQztDQUNoQyxTQUFTO0NBQ1QsNkJBQTZCO0NBQzdCLHVDQUF1QztDQUN2QyxxQ0FBcUM7Q0FDckMsc0JBQXNCO0NBQ3RCLHFCQUFxQjtBQUN0Qjs7QUFFQTtDQUNDLDZCQUE2QjtDQUM3QixrQkFBa0I7Q0FDbEIsY0FBYztBQUNmOztBQUVBO0NBQ0Msa0JBQWtCO0NBQ2xCLFdBQVc7Q0FDWCxZQUFZO0NBQ1osWUFBWTtDQUNaLGFBQWE7Q0FDYixnQkFBZ0I7Q0FDaEIsc0JBQXNCOztDQUV0Qix5Q0FBeUM7O0N6STdCekMsZ0JBQWdCO0F5SXdDakI7O0F6SXRDQzs7RUFFQyxzQ0FBc0M7RXlJNEJ0Qyx5QkFBeUI7RUFDekIsMEJBQTBCO0N6STNCM0I7O0F5SThCQTtFQ3RDQSw0QkFBNEI7RUFDNUIsYUFBYTtFQUNiLDRCQUEyQjtFeklGM0IsdUNBQThCO0N3SXlDOUI7O0FFbEREOzs7RUFHRTs7QUFFRjtDQUNDLGVBQWU7QUFLaEI7O0FBSEM7RUFDQyxhQUFhO0NBQ2Q7O0FDVkQ7OztFQUdFOztBQUVGO0NBQ0MsYUFBYTtDQUNiLDhCQUE4QjtBQUMvQjs7QUNSQTs7O0VBR0U7O0FBRUY7Ozs7RUFJRTs7QTdIVEY7OztFQUdFOztBNkhXRDtFQUNDLFlBQVk7RUFDWixlQUFlO0VBQ2YsWUFBWTs7RUFFWixhQUFhO0VBQ2Isb0JBQW9CO0VBQ3BCLGlCQUFpQjtFQUNqQiwwQkFBMEI7RUFDMUIsaUNBQWlDO0NBa0VsQzs7QUFoRUM7R0FDQyx3QkFBd0I7R0FDeEIseURBQXlEO0VBb0QxRDs7QUFsREM7SUFDQyx1Q0FBdUM7SUFDdkMsV0FBVztHQWdDWjs7QUE5QkM7S0FDQyxzQ0FBc0M7S0FDdEMsc0NBQXNDO0tBQ3RDLHlEQUF5RDtLQUN6RCxxREFBcUQ7S0FDckQsa0JBQWtCOztLQVNsQixrRUFBa0U7O0tBUGxFLDBDQUEwQztJQVkzQzs7QUFYQztNQUNDLDRFQUE0RTtNQUM1RSxtSkFBbUo7TUFDbkosbUJBQW1CO0tBQ3BCOztBQUlBOztBQWhCRDtNQWlCRSxlQUFlO0lBRWpCO0tBREM7O0FBR0QsNEZBQTRGOztBQUM1RjtLQUNDLGFBQWE7SUFDZDs7QUFFQTtLQUNDLG1DQUFtQztLQUNuQyxrQkFBa0I7SUFDbkI7O0FBR0Q7SUFDQyxjQUFjO0lBQ2QsV0FBVztHQVdaOztBQVJFO01BQ0MsNkNBQTZDO0tBQzlDOztBQUVBO01BQ0MsV0FBVztLQUNaOztBQUtIO0dBQ0Msd0JBQXdCO0dBQ3hCLGlCQUFpQjtFQUNsQjs7QUFFQTtHQUNDLHdCQUF3QjtFQUN6Qjs7QUN4RkY7OztFQUdFOztBQUVGO0NBQ0MsMkJBQTJCO0FBQzVCOztBQUVBO0NBQ0MsYUFBYTtDQUNiLGlFQUFpRTtDQUNqRSxzQkFBc0I7QUFnQnZCOztBQWRDO0VBQ0MsYUFBYTtFQUNiLDhCQUE4QjtFQUM5QixzQkFBc0I7Q0FVdkI7O0FBUkM7R0FDQyxhQUFhO0dBQ2IscUJBQXFCO0dBQ3JCLDJCQUEyQjtHQUMzQixtQkFBbUI7R0FDbkIsWUFBWTtHQUNaLGdCQUFnQjtFQUNqQjs7QUMxQkY7OztFQUdFOztBQUVGO0NBQ0MsOERBQThEO0NBQzlEO3dGQUN1RjtDQUN2RixrQkFBa0I7Q0FDbEIsY0FBYztBQWdDZjs7QUE5QkM7RUFDQywrQ0FBK0M7RUFDL0MseUJBQXlCO0VBQ3pCLGlCQUFpQjs7RUFFakI7Z0dBQzhGO0VBQzlGLFdBQVc7RUFDWCxZQUFZOztFQUVaO21FQUNpRTtFQUNqRSxrQ0FBa0M7Q0FpQm5DOztBQWZDOztHQUVDLGNBQWM7R0FDZCxhQUFhOztHQUViOztrRkFFK0U7R0FDL0UsaUNBQWlDO0VBQ2xDOztBQUVBO0dBQ0MsaUJBQWlCO0dBQ2pCLCtCQUErQjtFQUNoQzs7QUFJRjs7Ozs7Ozs7OztFQVVFO0FBQ0Y7Q0FDQztFQUNDLGVBQWU7Q0FDaEI7QUFDRDs7QUFFQTtxR0FDcUc7QUFDckc7Q0FDQyxpQkFBaUI7QUFDbEI7O0FBRUE7Q0FDQyxnQkFBZ0I7QUFDakI7O0FBRUE7Q0FDQzs7O0dBR0U7Q0FDRixxQkFBcUI7O0NBRXJCOzs7R0FHRTtDQUNGLFdBQVc7QUFDWjs7QUNuRkE7OztFQUdFOztBQUVGO0NBQ0MsYUFBYTtDQUNiLG1CQUFtQjtDQUNuQixlQUFlO0FBQ2hCOztBQ1RBOzs7RUFHRTs7QUFFRjtDQUNDLGFBQWE7Q0FDYixtQkFBbUI7Q0FDbkIsaUJBQWlCO0NBQ2pCLDhCQUE4Qjs7Q0FFOUIsZ0RBQWdEO0FBV2pEOztBQVZDO0VBQ0MsWUFBWTtDQUNiOztBQUdDOztHQUVDLHVCQUF1QjtFQUN4Qjs7QUNwQkY7OztFQUdFOztBQUlBO0dBQ0MsZUFBZTtFQWlCaEI7O0FBZEU7S0FDQywwREFBMEQ7S0FDMUQsZUFBZTtJQUNoQjs7QUFFQTtLQUNDLDBEQUEwRDtLQUMxRCxlQUFlO0lBQ2hCOztBQUVBO0tBQ0MsWUFBWTtJQUNiOztBQ3ZCSjs7O0VBR0U7O0FBRUY7Q0FDQyxXQUFXO0NBQ1gsYUFBYTtDQUNiLDJCQUEyQjtBQThCNUI7O0FBNUJDO0VBQ0MsZUFBZTtFQUNmLFlBQVk7Q0FDYjs7QUFFQTtFQUNDLGVBQWU7O0VBRWYsNERBQTREO0NBSTdEOztBQUhDO0dBQ0MsYUFBYTtFQUNkOztBQUdEO0VBQ0MsbUVBQW1FO0VBQ25FLGFBQWE7Q0FXZDs7QUFUQztHQUNDLGtCQUFrQjtHQUNsQixnQkFBZ0I7RUFNakI7O0FBSkM7SUFDQyxrQkFBa0I7SUFDbEIsY0FBYztHQUNmOztBQ25DSDs7O0VBR0U7O0FBSUE7R0FDQyxlQUFlO0VBQ2hCOztBQUVBO0dBQ0MsZUFBZTtFQUNoQjs7QUFFQTtHQUNDLGVBQWU7R0FDZixtQkFBbUI7RUFlcEI7O0FBYkM7SUFDQyxhQUFhO0lBQ2IsOEJBQThCO0lBQzlCLG1CQUFtQjtHQUtwQjs7QUFIQztLQUNDLFlBQVk7SUFDYjs7QUFHRDtJQUNDLFlBQVk7R0FDYjs7QUFJRjtFQUNDLCtEQUErRDtFQUMvRCxrQkFBa0I7Q0FvQm5COztBQWxCQztHQUNDLGtCQUFrQjtHQUNsQixTQUFTO0dBQ1QsZ0VBQWdFO0dBQ2hFLCtCQUErQjs7R0FFL0Isc0VBQXNFO0dBQ3RFLFVBQVU7O0dBRVYsMENBQTBDO0VBUTNDOztBQVBDO0lBQ0MsV0FBVztJQUNYLGtCQUFrQjtJQUNsQiw2REFBNkQ7SUFDN0QsU0FBUztJQUNULDZCQUE2QjtHQUM5Qjs7QUN2REg7OztFQUdFOztBQUlBO0dBQ0MsZUFBZTtHQUNmLGFBQWE7R0FDYix1QkFBdUI7RUFLeEI7O0FBSEM7SUFDQyxpQkFBaUI7R0FDbEI7O0FDZEg7OztFQUdFOztBeklIRjs7O0VBR0U7O0F5SUlGO0NBQ0MsdURBQXVEO0NBQ3ZELGlEQUFpRDtDQUNqRCx1RUFBdUU7QUFDeEU7O0FBRUEsbUJBQW1CO0FBQ25CO0NBQ0Msc0JBQXNCO0NBQ3RCLGlCQUFpQjtDQUNqQixzQkFBc0I7Q0FDdEIsa0JBQWtCO0NBQ2xCLDRDQUE0QztDQUM1Qyw2REFBNkQ7Q0FDN0QsYUFBYTtDQUNiLGdCQUFnQjtDQUNoQixvQkFBb0I7O0NBRXBCLCtHQUErRztBQUtoSDtBekl4QkM7RUFDQztFeUlvQkEsdUJBQXVCO0VBQ3ZCLFlBQVk7RXpJbkJaO0NBQ0Q7O0F5SXNCRCxtQkFBbUI7QXpJbEJsQjtFeUlxQkM7R0FDQyxrREFBa0Q7RUFDbkQ7Q3pJbkJEO0F5SXNCQTtFQUNDLHFCQUFxQjtFQUNyQixzQkFBc0I7O0VBRXRCOzs7SUFHRTtFQUNGLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsdUJBQXVCO0NBQ3hCOztBQUdEO0NBQ0M7RUFDQyx5RUFBeUU7Q0FDMUU7O0NBRUE7RUFDQyw2REFBNkQ7Q0FDOUQ7QUFDRDs7QUM5REE7OztFQUdFOztBQUVGO0NBQ0MscUVBQXFFO0NBQ3JFLG9DQUFvQzs7Q0FFcEM7MEhBQ3lIO0NBQ3pILG9HQUFvRztBQUNyRzs7QUFFQTtDQUNDLG1CQUFtQjtBQUNwQjs7QUFFQTtDQUNDLGdCQUFnQjtBQUNqQjs7QUFFQTs7Q0FFQzs4RUFDNkU7Q0FDN0UseUJBQXlCO0NBQ3pCLGtCQUFrQjtBQUNuQjs7QUFFQTtDQUNDLGtCQUFrQjtDQUNsQixNQUFNO0NBQ04sU0FBUztDQUNULHFEQUFxRDtDQUNyRCwyQ0FBMkM7Q0FDM0Msa0JBQWtCO0NBQ2xCLGlCQUFpQjtDQUNqQiw0QkFBNEI7QUFDN0I7O0FBRUE7Q0FDQyxhQUFhO0FBQ2Q7O0FBRUE7NERBQzREO0FBQzVEO0NBQ0MsYUFBYTtBQUNkOztBQUVBOztDQUVDLCtEQUErRDtDQUMvRCxhQUFhO0NBQ2I7Ozs0Q0FHMkM7Q0FDM0MsY0FBYztDQUNkLGlCQUFpQjtBQUNsQjs7QUFFQTtDQUNDLG9EQUFvRDtDQUNwRCxZQUFZO0FBQ2I7O0FDbEVBOzs7RUFHRTs7QUNIRjs7O0VBR0U7O0FBRUY7O0VBRUU7O0FBQ0Y7Q0FDQzt1RUFDc0U7Q0FDdEUsd0JBQXdCO0FBQ3pCO0FDWkE7OztFQUdFO0FBRUY7Q0FDQyxpQkFBaUI7Q0FDakIsK0NBQStDO0NBQy9DLG1CQUFtQjtBQUNwQjtBQ1RBOzs7RUFHRTtBQUVGOztFQUVFO0FBQ0Y7O0NBRUMsMkJBQTJCO0FBQzVCO0FDWEE7OztFQUdFO0FBRUY7Q0FDQyxpQ0FBaUM7Q0FDakMscUNBQXFDO0NBQ3JDLHVDQUF1QztDQUN2QywyQ0FBMkM7Q0FDM0Msc0RBQXNEO0NBQ3RELDRDQUE0QztDQUM1QywwREFBMEQ7QUFDM0Q7QUFFQTtDQUNDLHNEQUFzRDs7Q0FFdEQsZ0JBQWdCO0NBQ2hCLDJDQUEyQztDQUMzQyxpQkFBaUI7Q0FDakIsc0NBQXNDO0FBaUR2QztBQS9DQztFQUNDLDZDQUE2QztDQW9DOUM7QUFsQ0M7R0FDQyxlQUFlO0dBQ2YsYUFBYTtHQUNiLG1CQUFtQjtHQUNuQixZQUFZO0dBQ1osc0JBQXNCO0dBQ3RCLDZDQUE2QztHQUM3QyxzRkFBc0Y7RUFDdkY7QUFFQTtHQUNDLGdCQUFnQjtHQUNoQixxQkFBcUI7R0FDckIsaUJBQWlCO0dBQ2pCLHlCQUF5QjtHQUN6QixpQkFBaUI7R0FDakIsaUJBQWlCO0dBQ2pCLGVBQWU7R0FDZixtQkFBbUI7R0FDbkIsc0NBQXNDOztFQUV2QztBQUVBO0dBQ0MsY0FBYztHQUNkLGVBQWU7RUFDaEI7QUFHQztJQUNDLHFCQUFxQjtJQUNyQixVQUFVO0dBQ1g7QUFJRjtFQUNDLHlCQUF5QjtDQUMxQjtBQUVBO0VBQ0MsNEJBQTRCO0VBQzVCLCtDQUErQztDQUNoRDs7QUNyRUQ7OztFQUdFOztBQ0hGOzs7RUFHRTs7QUFFRjs7RUFFRTtBQ1BGOzs7RUFHRTs7QUZLRjs7Q0NDQyxzQkFBc0I7Q0FDdEIseUJBQXlCO0NBQ3pCLHFCQUFxQjtDQUNyQixpQkFBZ0I7O0NEQWhCLGtCQUFrQjtDQUNsQixvQkFBb0I7Q0FDcEIsbUJBQW1CO0FBd0JwQjs7QUVoQ0M7RUZXQyxxQkFBcUI7Q0VUdEI7O0FBRkE7RUZlQyxzQkFBc0I7Q0VidkI7O0FGZ0JBO0VBQ0MsYUFBYTtDQUNkOztBQUdDO0dBQ0MscUJBQXFCO0VBQ3RCOztBQUdELDJEQUEyRDs7QUFDM0Q7RUFDQyx1QkFBdUI7Q0FDeEI7O0FHckNEOzs7RUFHRTs7QUFHRDtFQUNDLGNBQWM7Q0FLZjs7QUFIQztHQUNDLGNBQWM7RUFDZjs7QUNYRjs7O0VBR0U7O0FGSEY7OztFQUdFOztBRUlGO0NBQ0MsaUJBQWlCO0NBQ2pCLFdBQVc7Q0FDWCxnQkFBZ0I7QUFxQ2pCOztBRnpDQztFRU9DLGdCQUFnQjtDRkxqQjs7QUFGQTtFRVdDLGlCQUFpQjtDRlRsQjs7QUFGQTtHRWdCRSxxQ0FBcUM7Q0ZkdkM7O0FBRkE7R0VvQkUsc0NBQXNDO0NGbEJ4Qzs7QUVzQkE7RUFDQyxvQkFBb0I7RUFDcEIsV0FBVztFQUNYLFlBQVk7Q0FTYjs7QUZwQ0E7R0U4QkUscUNBQXFDO0NGNUJ2Qzs7QUFGQTtHRWtDRSxvQ0FBb0M7Q0ZoQ3RDOztBRW9DQTtFQUNDLFlBQVk7Q0FDYjs7QUM5Q0Q7OztFQUdFOztBQUdEO0VBQ0MsYUFBYTtDQUNkOztBQ1JEOzs7RUFHRTs7QUFFRjtDQUNDLGFBQWE7QUFDZDs7QUNQQTs7O0VBR0U7O0FBRUY7Q0FDQyxrQkFBa0I7QUFLbkI7O0FBSEM7RUFDQyxnQkFBZ0I7Q0FDakI7O0FBR0Q7Q0FDQyxhQUFhO0NBQ2IsbUJBQW1CO0NBQ25CLGlCQUFpQjtDQUNqQiw4QkFBOEI7Q0FDOUIsbUNBQW1DO0NBQ25DLFlBQVk7QUFjYjs7QUFaQztFQUNDLGtCQUFrQjtDQUNuQjs7QUFFQTtFQUNDLFlBQVk7Q0FDYjs7QUFFQTtFQUNDLG1DQUFtQztFQUNuQyx1Q0FBdUM7Q0FDeEM7O0FDaENEOzs7RUFHRTs7QTdKSEY7OztFQUdFOztBNkpLRCxvQ0FBb0M7O0FBRW5DOztHQUVDLGFBQWE7R0FDYixtQkFBbUI7RUFLcEI7O0E3SlpEO0k2SlVHLDJCQUEyQjtDN0pSOUI7O0E2SmFBLHVDQUF1Qzs7QUFFdEM7R0FDQyxhQUFhO0dBQ2IsbUJBQW1CO0dBQ25CLDZCQUE2QjtFQU05Qjs7QUFKQzs7SUFFQztHQUNEOztBQy9CSDs7O0VBR0U7O0FBR0Q7RUFDQyxhQUFhO0VBQ2IseUJBQXlCO0NBQzFCOztBQ1REOzs7RUFHRTs7QUFFRjtDQUNDLGlCQUFpQjtDQUNqQix5QkFBeUI7O0NBRXpCLGVBQWU7Q0FDZixTQUFTO0NBQ1QsT0FBTztDQUNQLFFBQVE7Q0FDUixNQUFNO0FBT1A7O0FBTEM7RUFDQyxvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLGdCQUFnQjtDQUNqQjs7QUFHRDtDQUNDLHlCQUF5QjtDQUN6QixrQkFBa0I7Q0FDbEIsa0JBQWtCO0FBZ0JuQjs7QUFkQztFQUNDLGNBQWM7Q0FDZjs7QUFFQSxvQ0FBb0M7O0FBRW5DO0dBQ0MsWUFBWTtFQUNiOztBQUdEO0VBQ0MsbUJBQW1CO0NBQ3BCOztBQ3hDRDs7O0VBR0U7O0FBRUY7Q0FDQyw2QkFBNkI7QUFDOUI7O0FBRUE7Q0FDQyxxQkFBcUI7Q0FDckIsa0JBQWtCO0FBMkVuQjs7QUF6RUM7RUFDQyxvQkFBb0I7RUFDcEIsNEJBQTRCO0NBQzdCOztBQUVBLHdFQUF3RTs7QUFDeEU7RUFDQyxXQUFXO0NBQ1o7O0FBRUE7RUFDQyxhQUFhO0VBQ2IsMEJBQTBCO0VBQzFCLHVDQUF1Qzs7RUFFdkMsa0JBQWtCO0NBeURuQjs7QUF2REM7R0FDQyxxQkFBcUI7RUFDdEI7O0FBRUE7Ozs7O0dBS0MsWUFBWTtFQUNiOztBQUVBOzs7OztHQUtDOzs7S0FHRTtHQUNGLFNBQVM7R0FDVCxZQUFZO0VBQ2I7O0FBRUE7O0dBRUMsU0FBUztFQUNWOztBQUVBOztHQUVDLFVBQVU7RUFDWDs7QUFFQTs7R0FFQyw0REFBNEQ7R0FDNUQsU0FBUztHQUNULDJCQUEyQjtFQUM1Qjs7QUFFQTs7R0FFQyxpRUFBaUU7R0FDakUsU0FBUztHQUNULDJCQUEyQjtFQUM1Qjs7QUFFQTs7R0FFQyxpRUFBaUU7R0FDakUsU0FBUztHQUNULDJCQUEyQjtFQUM1Qjs7QUFJRjs7O0VBR0U7QUFDRjtDQUNDLHNDQUFzQztBQUN2Qzs7QUM5RkE7OztFQUdFOztBQUVGO0NBQ0MsaUVBQWlFO0NBQ2pFLGtCQUFrQjtBQUtuQjs7QUFIQztFQUNDLHNDQUFzQztDQUN2Qzs7O0FDWEQ7OztFQUdFOztBQUVGO0NBQ0MscUNBQXFDO0FBQ3RDOztBQUVBO0NBQ0Msc0RBQXNEO0NBQ3RELGtCQUFrQjtDQUNsQiwrQ0FBK0M7QUFPaEQ7O0FBSkU7R0FDQyxzQ0FBc0M7RUFDdkM7O0FDakJGOzs7RUFHRTs7QUFFRjtDQUNDLG9CQUFvQjtDQUNwQiw0QkFBNEI7QUFDN0I7O0FDUkE7OztFQUdFOztBQUVGO0NBQ0Msa0JBQWtCO0NBQ2xCLGlCQUFpQixFQUFFLCtEQUErRDtDQUNsRixnQkFBZ0I7Q0FDaEIsb0NBQW9DO0FBQ3JDOztBQ1ZBOzs7RUFHRTs7QUFFRjtDQUNDLGNBQWM7QUFDZjs7QUNQQTs7O0VBR0U7O0FBRUY7Q0FDQyxrQkFBa0I7Q0FDbEIsY0FBYztDQUNkLGFBQWE7QUFDZDs7QUFFQTtDQUNDLHFCQUFxQjtBQUN0Qjs7QUNiQTs7O0VBR0U7O0FBRUY7Q0FDQyxhQUFhO0NBQ2IsbUJBQW1CO0NBQ25CLGlCQUFpQjtDQUNqQixtQkFBbUI7Q0FDbkIsOEJBQThCO0FBSy9COztBQUhDO0VBQ0MsWUFBWTtDQUNiOztBQ2REOzs7RUFHRTs7QUFFRjtDQUNDLHNCQUFzQjtBQUN2Qjs7QUNQQTs7O0VBR0U7O0FBRUY7Q0FDQyxjQUFjO0FBQ2Y7O0FBRUE7Q0FDQyxhQUFhO0FBQ2Q7O0FDWEE7OztFQUdFOztBQUdEO0VBQ0MsYUFBYTtFQUNiLGtCQUFrQjtDQUNuQjs7QUFFQTtFQUNDLGNBQWM7RUFDZCxrQkFBa0I7Q0FDbkI7O0FDZEQ7OztFQUdFOztBckJIRjs7O0VBR0U7O0FBRUY7O0VBRUU7O0FxQkFGO0NyQkVDLHNCQUFzQjtDQUN0Qix5QkFBeUI7Q0FDekIscUJBQXFCO0NBQ3JCLGlCQUFnQjs7Q3FCRmhCLGFBQWE7Q0FDYixzQkFBc0I7QUFjdkI7O0FBWkM7O0VBRUMsY0FBYztDQUNmOztBQUVBOzt1QkFFc0I7O0FBQ3RCO0VBQ0Msa0JBQWtCO0VBQ2xCLDRCQUE0QjtDQUM3Qjs7QUN4QkQ7OztFQUdFOztBQUVGO0NBQ0Msa0VBQWtFO0NBQ2xFLCtEQUErRDtBQUNoRTs7QUFFQTtDQUNDLGFBQWE7Q0FDYixrQkFBa0I7O0NBRWxCLDBCQUEwQjtBQXlDM0I7O0FBdENFOztHQUVDLFdBQVc7R0FDWCxrQkFBa0I7RUFDbkI7O0FBRUE7R0FDQyw4Q0FBOEM7RUFDL0M7O0FBRUE7R0FDQyx3REFBd0Q7RUFDekQ7O0FBSUE7R0FDQyw4Q0FBOEM7RUFDL0M7O0FBRUE7R0FDQyx3REFBd0Q7RUFDekQ7O0FBSUE7R0FDQyw4Q0FBOEM7RUFDL0M7O0FBRUE7R0FDQyx3REFBd0Q7RUFDekQ7O0FBR0Q7RUFDQyxjQUFjO0NBQ2Y7O0FDdEREOzs7RUFHRTs7QUFFRjtDQUNDLGFBQWE7Q0FDYixtQkFBbUI7Q0FDbkIsdUJBQXVCO0FBQ3hCOztBQUVBOztFQUVFO0FBQ0Y7Q0FDQyx1QkFBdUI7QUFDeEI7O0FDaEJBOzs7RUFHRTs7QUFFRjtDQUNDLGtCQUFrQjs7Q0FFbEIsNkRBQTZEO0NBQzdELG9DQUFvQztBQUNyQzs7QUFFQTtDQUNDLGtCQUFrQjtBQUNuQjs7QUFFQTtDQUNDLFVBQVU7QUFDWDs7QUFFQTtDQUNDLFVBQVU7QUFDWDs7QUN0QkE7OztFQUdFOztBQUdEO0VBQ0MsMEJBQTBCLEVBQUUsU0FBUztFQUNyQyxlQUFlO0VBQ2YsTUFBTTtDQUNQOztBQUVBO0VBQ0MsU0FBUztFQUNULGtCQUFrQjtDQUNuQjs7QUNmRDs7O0VBR0U7O0FBRUY7Q0FDQyxrQkFBa0I7QUFlbkI7O0FBYkM7RUFDQyxrQkFBa0I7RUFDbEIsMEJBQTBCO0NBVTNCOztBQVJDO0dBQ0MsWUFBWTtFQUNiOztBQUVBO0dBQ0MsU0FBUztHQUNULFlBQVk7RUFDYjs7QUNuQkY7OztFQUdFOztBakxIRjs7O0VBR0U7O0FpTE1BO0dBQ0Msa0JBQWtCO0dBQ2xCLFFBQVE7R0FDUiwyQkFBMkI7RUFTNUI7O0FqTGZEO0lpTFNHLDhCQUE4QjtDakxQakM7O0FBRkE7SWlMYUcsK0JBQStCO0NqTFhsQzs7QWlMZUM7R0FDQyxrQkFBa0I7R0FDbEIsUUFBUTtHQUNSLDJCQUEyQjtFQUM1Qjs7QUFLQztJQUNDLGNBQWM7R0FDZjs7QUFFQSxrREFBa0Q7O0FBQ2xEO0lBQ0MsYUFBYTtHQUNkOztBQ3ZDSDs7O0VBR0U7O0FBRUY7Q0FDQyxnREFBZ0Q7Q0FDaEQsdUJBQXVCO0NBQ3ZCLG9CQUFvQjtDQUNwQixvQkFBb0I7Q0FDcEIsa0JBQWtCO0FBQ25COztBQ1hBOzs7RUFHRTs7QTdCSEY7OztFQUdFOztBQUVGOztFQUVFOztBNkJBRjtDN0JFQyxzQkFBc0I7Q0FDdEIseUJBQXlCO0NBQ3pCLHFCQUFxQjtDQUNyQixpQkFBZ0I7O0M2QkZoQix5Q0FBeUM7QUFDMUM7O0FDWEE7OztFQUdFOztBQUVGO0NBQ0MsK0JBQStCO0FBQ2hDOztBQUVBO0NBQ0MsY0FBYztDQUNkLGtCQUFrQjtBQUNuQjs7QUFFQTtDQUNDLGtCQUFrQjtDQUNsQixRQUFRO0NBQ1IsT0FBTztDQUNQLFFBQVE7Q0FDUixjQUFjO0NBQ2QsMkJBQTJCO0NBQzNCLFVBQVU7QUFDWDs7QUN0QkE7OztFQUdFOztBL0JIRjs7O0VBR0U7O0FBRUY7O0VBRUU7O0ErQkFGO0MvQkVDLHNCQUFzQjtDQUN0Qix5QkFBeUI7Q0FDekIscUJBQXFCO0NBQ3JCLGlCQUFnQjs7QytCRmhCLGFBQWE7Q0FDYixxQkFBcUI7Q0FDckIsbUJBQW1CO0FBNkNwQjs7QUEzQ0M7RUFDQyxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQixZQUFZOztDQUViOztBQUVBO0VBQ0MscUJBQXFCOztFQUVyQjs7OztJQUlFO0NBS0g7O0FBSkM7O0dBRUMsYUFBYTtFQUNkOztBQUdEO0VBQ0MsZ0JBQWdCO0NBQ2pCOztBQUVBO0VBQ0MsaUJBQWlCO0NBQ2xCOztBQUVBO0VBQ0Msc0JBQXNCO0NBQ3ZCOztBQUVBO0VBQ0MsaUJBQWlCO0NBQ2xCOztBQUdDO0dBQ0MsYUFBYTtFQUNkOztBQ3ZERjs7O0VBR0U7O0FBRUY7Q0FDQyxrQkFBa0I7Q0FDbEIsNEJBQTRCO0FBQzdCOztBQ1JBOzs7RUFHRTs7QUFHRDtFQUNDLG9CQUFvQjtFQUNwQiw0QkFBNEI7Q0FDN0I7O0FDVEQ7OztFQUdFOztBQUVGO0NBQ0Msa0NBQWtDO0NBQ2xDLGdEQUFnRDtBQUNqRDs7QUFFQTtDQUNDLDBCQUEwQjtDQUMxQiw0Q0FBNEM7Q0FDNUMsa0JBQWtCO0FBZ0RuQjs7QUE5Q0M7O0VBRUMsWUFBWTtDQUNiOztBQUVBOztFQUVDLFNBQVM7RUFDVCxZQUFZO0NBQ2I7O0FBRUE7O0VBRUMsU0FBUztDQUNWOztBQUVBOztFQUVDLFVBQVU7Q0FDWDs7QUFFQTs7RUFFQyxxRUFBcUU7Q0FDdEU7O0FBRUE7RUFDQyxRQUFRO0NBQ1Q7O0FBRUE7RUFDQyxXQUFXO0NBQ1o7O0FBRUE7O0VBRUMsc0VBQXNFO0NBQ3ZFOztBQUVBO0VBQ0MsUUFBUTtDQUNUOztBQUVBO0VBQ0MsV0FBVztDQUNaOztBQzVERDs7O0VBR0U7O0FBRUY7Q0FDQyxjQUFjO0NBQ2Qsa0JBQWtCO0FBQ25COztBQ1JBOzs7RUFHRTs7QUFFRjtDQUNDLGdEQUFnRDtDQUNoRCxzREFBc0Q7Q0FDdEQsZ0RBQWdEOztDQUVoRCxtREFBbUQ7Q0FDbkQsaUNBQWlDO0NBQ2pDLHFFQUFxRTtBQUN0RTs7QUFFQTtDQUNDLHFFQUFxRTtDQUNyRSxrQkFBa0I7QUFDbkI7O0FBRUE7Q0FDQyxrRkFBa0Y7Q0FDbEYsa0JBQWtCO0FBcUJuQjs7QUFuQkM7RUFDQyxrQkFBa0I7Q0FPbkI7O0FBTEM7R0FDQzttQ0FDZ0M7R0FDaEMsY0FBYztFQUNmOztBQUdELDBGQUEwRjs7QUFDMUY7RUFDQyxtQkFBbUI7Q0FDcEI7O0FBRUEsdUZBQXVGOztBQUN2RjtFQUNDLG1CQUFtQjtDQUNwQjs7QUFHRDtDQUNDLHNEQUFzRDtDQUN0RCwyQ0FBMkM7Q0FDM0Msc0RBQXNEO0NBQ3RELDhDQUE4QztDQUM5QyxtQ0FBbUM7Q0FDbkMsY0FBYztDQUNkLGtDQUFrQztDQUNsQyx3Q0FBd0M7Q0FDeEMsNkNBQTZDO0FBb0M5Qzs7QUFsQ0M7Ozs7O0VBS0Msa0JBQWtCO0NBQ25COztBQUVBO0VBQ0MscUNBQXFDO0VBQ3JDLHNDQUFzQztDQUN2Qzs7QUFFQTtFQUNDLHFDQUFxQztFQUNyQyx1Q0FBdUM7Q0FDeEM7O0FBRUE7RUFDQyx3Q0FBd0M7RUFDeEMsdUNBQXVDO0NBQ3hDOztBQUVBO0VBQ0Msd0NBQXdDO0VBQ3hDLHNDQUFzQztDQUN2Qzs7QUFFQSx1RUFBdUU7O0FBQ3ZFO0VBQ0MsZ0RBQWdEO0VBQ2hELFNBQVM7RUFDVCwwQkFBMEI7Q0FDM0I7O0FDekZEOzs7RUFHRTs7QUFFRjtDQUNDLGtGQUFrRjtDQUNsRixrQkFBa0I7QUFDbkI7O0FBRUE7Q0FDQyxhQUFhO0NBQ2Isa0JBQWtCOztDQUVsQiw4RkFBOEY7Q0FDOUYsb0JBQW9COztDQUVwQixPQUFPO0NBQ1AsTUFBTTtBQUNQOztBQUdDO0VBQ0MsY0FBYztDQUNmOztBQUdEO0NBQ0Msa0JBQWtCOztDQUVsQixtRkFBbUY7Q0FDbkYsbUJBQW1CO0FBV3BCOztBQVRDOztFQUVDLG1CQUFtQjtDQUNwQjs7QUFFQTs7RUFFQyxtQkFBbUI7Q0FDcEI7O0FDekNEOzs7RUFHRTs7QUFHRDs7R0FFRTs7QUFDRjtFQUNDLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLDRCQUE0QjtDQXdCN0I7O0FBdEJDO0dBQ0Msa0JBQWtCO0dBQ2xCLFFBQVE7R0FDUixTQUFTO0dBQ1Qsc0NBQXNDO0VBQ3ZDOztBQUVBO0dBQ0MsMENBQTBDO0dBQzFDLG9EQUFvRDtHQUNwRCxvQkFBb0I7O0dBRXBCLDJCQUEyQjtFQUM1Qjs7QUFFQTtHQUNDLDBDQUEwQztHQUMxQyx1REFBdUQ7R0FDdkQscUJBQXFCOztHQUVyQiwwQkFBMEI7RUFDM0I7O0FBR0Q7Ozs7R0FJRTs7QUFHRDtHQUNDLFdBQVc7R0FDWCxjQUFjO0dBQ2Qsa0JBQWtCO0dBQ2xCLFFBQVE7R0FDUixTQUFTO0dBQ1Qsc0NBQXNDO0VBQ3ZDOztBQUdEOztHQUVFOztBQUNGO0VBQ0MsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsUUFBUTtDQUNUOztBQUVBOzs7O0dBSUU7O0FBQ0Y7RUFDQyxxREFBcUQ7RUFDckQsc0RBQXNEO0NBQ3ZEOztBQUVBOztHQUVFOztBQUNGO0VBQ0MsMERBQTBEO0VBQzFELGNBQWM7Q0FDZjs7QUFFQTs7R0FFRTs7QUFDRjtFQUNDLDZEQUE2RDtFQUM3RCxjQUFjO0NBQ2Y7O0FBR0Q7O0VBRUU7QUFDRjtDQUNDLGFBQWE7QUFDZDs7QUFFQTs7RUFFRTtBQUNGO0NBQ0MsYUFBYTtBQUNkOztBQUVBOztFQUVFO0FBQ0Y7Q0FDQyxhQUFhO0FBQ2Q7O0FoTjJ2U0Esd0NBQXdDLEM7Ozs7QWlOMzJTeEM7Ozs7Ozs7Ozs7Ozs7RUFhRTtBQUNGO0VBQ0UseUJBQXlCO0VBQ3pCLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1Ysc0JBQXNCO0VBQ3RCLDhDQUE4QztFQUM5QyxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLGVBQWU7QUFDakI7QUFDQTtFQUNFLDhEQUE4RDtBQUNoRTtBQUNBO0VBQ0Usc0JBQXNCO0FBQ3hCO0FBQ0E7RUFDRSwwQkFBMEI7QUFDNUI7QUFDQTtFQUNFLCtDQUErQztBQUNqRDtBQUNBO0VBQ0Usd0JBQXdCO0VBQ3hCLHFCQUFxQjtBQUN2QjtBQUNBO0VBQ0UsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCx5QkFBeUI7QUFDM0I7QUFDQTtFQUNFLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gseUJBQXlCO0FBQzNCO0FBQ0E7RUFDRSxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLHlCQUF5QjtBQUMzQjtBQUNBO0VBQ0UsY0FBYztFQUNkLGVBQWU7RUFDZixnQ0FBZ0M7RUFDaEMscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QiwyQkFBMkI7RUFDM0IsMEJBQTBCO0VBQzFCLG9CQUFvQjtFQUNwQix5QkFBeUI7RUFDekIseUJBQXlCO0VBQ3pCLDJCQUEyQjtFQUMzQiwrQkFBK0I7RUFDL0Isb0NBQTRCO0tBQTVCLGlDQUE0QjtNQUE1QixnQ0FBNEI7VUFBNUIsNEJBQTRCO0VBQzVCLDJCQUEyQjtBQUM3QjtBQUNBO0VBQ0UsYUFBYTtBQUNmO0FBQ0E7RUFDRSx3QkFBd0I7QUFDMUI7QUFDQTtFQUNFLHdCQUF3QjtBQUMxQjtBQUNBO0VBQ0UsaUJBQWlCO0FBQ25CO0FBQ0E7RUFDRSxVQUFVO0VBQ1YsV0FBVztBQUNiO0FBQ0E7RUFDRSwrQkFBK0I7QUFDakM7QUFDQTtFQUNFLFlBQVk7RUFDWix5QkFBeUI7QUFDM0I7QUFDQTtFQUNFLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsT0FBTztFQUNQLFdBQVc7RUFDWCxXQUFXO0VBQ1gseUJBQXlCO0VBQ3pCLGdCQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLHNCQUFzQjtFQUN0Qix3Q0FBd0M7RUFDeEMsMEJBQTBCO0FBQzVCO0FBQ0E7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCO0FBQ2xCO0FBQ0E7RUFDRSxvQ0FBb0M7RUFDcEMsa0JBQWtCO0FBQ3BCO0FBQ0E7Ozs7RUFJRSxnQkFBZ0I7QUFDbEI7QUFDQTtFQUNFLGVBQWU7RUFDZixZQUFZO0FBQ2Q7QUFDQTtFQUNFLFVBQVU7RUFDVixlQUFlO0FBQ2pCO0FBQ0E7RUFDRSxrQkFBa0I7QUFDcEI7QUFDQTtFQUNFLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsZUFBZTtBQUNqQjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLGNBQWM7QUFDaEI7QUFDQTtFQUNFLGNBQWM7QUFDaEI7QUFDQTtFQUNFLDRCQUE0QjtBQUM5QjtBQUNBO0VBQ0UscUJBQXFCO0VBQ3JCLFdBQVc7RUFDWCxZQUFZO0VBQ1osZUFBZTtBQUNqQjtBQUNBO0VBQ0UsWUFBWTtFQUNaLGNBQWM7RUFDZCxXQUFXO0VBQ1gsWUFBWTtFQUNaLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIseUJBQXlCO0VBQ3pCLHFEQUFxRDtFQUNyRCw2Q0FBNkM7QUFDL0M7QUFDQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0VBQ0E7SUFDRSx5QkFBeUI7RUFDM0I7QUFDRjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQixpQkFBaUI7RUFDakIsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsNkJBQTZCO0FBQy9CO0FBQ0E7RUFDRSw2QkFBNkI7QUFDL0I7O0FBRUE7RUFDRSxvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUEseUNBQXlDO0FBQ3pDO0VBQ0UseUJBQXlCO0FBQzNCO0FBQ0E7RUFDRSxVQUFVO0VBQ1Ysa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUiwyQkFBMkI7RUFDM0Isc0JBQXNCO0VBQ3RCLDBCQUEwQjtFQUMxQixrQ0FBa0M7RUFDbEMsd0JBQXdCO0VBQ3hCLGVBQWU7QUFDakI7QUFDQTtFQUNFLG1DQUFtQztBQUNyQztBQUNBO0VBQ0UsVUFBVTtBQUNaOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixnQ0FBZ0M7RUFDaEMseUNBQXlDO0VBQ3pDLDBCQUEwQjtBQUM1QjtBQUNBO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixRQUFRO0VBQ1IsY0FBYztFQUNkLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLDBCQUEwQjtBQUM1QjtBQUNBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLHlCQUF5QjtBQUMzQjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLDhDQUE4QztFQUM5QyxXQUFXO0VBQ1gsdUJBQXVCO0FBQ3pCO0FBQ0E7RUFDRSx5QkFBeUI7RUFDekIsMkJBQTJCO0VBQzNCLFdBQVc7QUFDYjtBQUNBO0VBQ0Usd0JBQXdCO0FBQzFCOztBQUVBO0VBQ0UsWUFBWTtBQUNkO0FBQ0E7RUFDRSxVQUFVO0VBQ1YsY0FBYztBQUNoQjtBQUNBO0VBQ0Usa0JBQWtCO0FBQ3BCO0FBRkE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7QUFDQTtFQUNFLCtCQUErQjtFQUMvQixrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLGFBQWE7RUFDYixZQUFZO0FBQ2Q7QUFDQTtFQUNFLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsYUFBYTtBQUNmO0FBQ0E7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxvQkFBb0I7RUFDcEIsbUJBQW1CO0FBQ3JCO0FBQ0E7RUFDRSxjQUFjO0VBQ2QscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixxQkFBcUI7RUFDckIsY0FBYztFQUNkLDBCQUEwQjtFQUMxQixzQkFBc0I7QUFDeEI7QUFDQTtFQUNFLCtCQUErQjtBQUNqQztBQUNBO0VBQ0UsZ0JBQWdCO0FBQ2xCO0FBQ0E7RUFDRSxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLE1BQU07RUFDTixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsMkJBQTJCO0FBQzdCO0FBQ0E7RUFDRSw4QkFBOEI7RUFDOUIsZ0JBQWdCO0FBQ2xCO0FBQ0E7RUFDRSwwQkFBMEI7QUFDNUI7QUFDQTtFQUNFLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLDBCQUEwQjtBQUM1QjtBQUNBO0VBQ0UsK0JBQStCO0VBQy9CLGlCQUFpQjtBQUNuQjtBQUNBO0VBQ0UsMkJBQTJCO0FBQzdCO0FBQ0E7RUFDRSwyQkFBMkI7QUFDN0I7O0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRSwrRkFBK0Y7QUFDakc7O0FBRUE7RUFDRSw4RkFBOEY7QUFDaEc7O0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7OztFQUdFLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLGlCQUFpQjtBQUNuQjs7QUFFQTs7RUFFRSxnQkFBZ0I7RUFDaEIsWUFBWTtBQUNkOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLDhCQUE4QjtFQUM5Qix3Q0FBZ0M7VUFBaEMsZ0NBQWdDO0VBQ2hDLDJCQUEyQjtFQUMzQixxQkFBcUI7RUFDckIsNkJBQTZCO0VBQzdCLHFCQUFxQjtFQUNyQiw4QkFBOEI7QUFDaEM7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7QUFDQTtFQUNFLFlBQVk7RUFDWixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixnQkFBZ0I7RUFDaEIsUUFBUTtFQUNSLFNBQVM7RUFDVCxtQkFBbUI7RUFDbkIsMkJBQTJCO0VBQzNCLHlEQUF5RDtBQUMzRDtBQUNBO0VBQ0UsV0FBVztBQUNiO0FBQ0E7RUFDRSxVQUFVO0FBQ1o7QUFDQTtFQUNFLGdCQUFnQjtFQUNoQiwyQkFBMkI7RUFDM0IseURBQXlEO0FBQzNEO0FBQ0E7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsZ0JBQWdCO0FBQ2xCO0FBQ0E7RUFDRSxpQkFBaUI7RUFDakIsdUJBQXVCO0FBQ3pCO0FBQ0E7RUFDRSx5Q0FBeUM7RUFDekMsa0JBQWtCO0VBQ2xCLGtEQUFrRDtFQUNsRCw4REFBOEQ7RUFDOUQsMkJBQTJCO0VBQzNCLDZFQUE2RTtBQUMvRTtBQUNBO0VBQ0Usa0RBQWtEO0VBQ2xELDhEQUE4RDtFQUM5RCwyQkFBMkI7QUFDN0I7QUFDQTtFQUNFLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtBQUNsQjtBQUNBO0VBQ0UscUJBQXFCO0FBQ3ZCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFDQTtFQUNFLCtFQUErRTtFQUMvRSxrREFBa0Q7RUFDbEQsOERBQThEO0VBQzlELDJCQUEyQjtBQUM3Qjs7QUFFQTtFQUNFLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsaUJBQWlCO0FBQ25CO0FBQ0E7RUFDRSw2QkFBNkI7QUFDL0I7QUFDQTtFQUNFLGtCQUFrQjtBQUNwQjtBQVFBLGlEQUFpRCxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9kaXN0L2Nzcy9ib290c3RyYXAuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Jhbm5lci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcm9vdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NvbG9yLW1vZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHlwZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY29udGFpbmVycy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NvbnRhaW5lci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtdmFyaWFudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2xhYmVscy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLWNvbnRyb2wuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLXNlbGVjdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1jaGVjay5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1yYW5nZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZmxvYXRpbmctbGFiZWxzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXZiYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FjY29yZGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2xpc3QtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2Ryb3Auc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19zcGlubmVycy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fb2ZmY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wbGFjZWhvbGRlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fY29sb3ItYmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fY29sb3JlZC1saW5rcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19mb2N1cy1yaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2ljb24tbGluay5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19yYXRpby5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19wb3NpdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19zdGFja3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3N0cmV0Y2hlZC1saW5rLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3RleHQtdHJ1bmNhdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdnIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL191dGlsaXRpZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hcGkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLWRhdGVwaWNrZXIvZGlzdC9jc3MvYm9vdHN0cmFwLWRhdGVwaWNrZXIubWluLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc3dlZXRhbGVydDIvc3JjL3Njc3MvX3RvYXN0cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zd2VldGFsZXJ0Mi9zcmMvdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3N3ZWV0YWxlcnQyL3NyYy9zd2VldGFsZXJ0Mi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zd2VldGFsZXJ0Mi9zcmMvc2Nzcy9fY29yZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zd2VldGFsZXJ0Mi9zcmMvc2Nzcy9fdG9hc3RzLWFuaW1hdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc3dlZXRhbGVydDIvc3JjL3Njc3MvX2FuaW1hdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc3dlZXRhbGVydDIvc3JjL3Njc3MvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zd2VldGFsZXJ0Mi9zcmMvc2Nzcy9fYm9keS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zd2VldGFsZXJ0Mi9zcmMvc2Nzcy9fdG9hc3RzLWJvZHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanF1ZXJ5LmxvYWRtYXNrL2pxdWVyeS5sb2FkbWFzay5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9kaXN0L2NrZWRpdG9yNS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9pbmRleC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvZ2xvYmFscy9nbG9iYWxzLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9nbG9iYWxzL19jb2xvcnMuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2dsb2JhbHMvX2Rpc2FibGVkLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9nbG9iYWxzL19mb2N1cy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvZ2xvYmFscy9fZm9udHMuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2dsb2JhbHMvX3Jlc2V0LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9nbG9iYWxzL19yb3VuZGVkLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9nbG9iYWxzL19zaGFkb3cuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2dsb2JhbHMvX3NwYWNpbmcuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL21peGlucy9fcm91bmRlZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL21peGlucy9fc2hhZG93LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL21peGlucy9fcm91bmRlZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9taXhpbnMvX3NoYWRvdy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL21peGlucy9fZm9jdXMuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvbWl4aW5zL19kaXNhYmxlZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvbWl4aW5zL19idXR0b24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvbWl4aW5zL19kaXIuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvYnV0dG9uL3N3aXRjaGJ1dHRvbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9idXR0b24vbGlzdGl0ZW1idXR0b24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvY29sbGFwc2libGUvY29sbGFwc2libGUuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvY29sb3JncmlkL2NvbG9yZ3JpZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX21lZGlhY29sb3JzLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2NvbG9yc2VsZWN0b3IvY29sb3JzZWxlY3Rvci5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fcndkLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2dhY3Rpb25zLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2Ryb3Bkb3duL2xpc3Rkcm9wZG93bi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9kcm9wZG93bi9zcGxpdGJ1dHRvbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9kcm9wZG93bi90b29sYmFyZHJvcGRvd24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvZHJvcGRvd24vbWVudS9kcm9wZG93bm1lbnVidXR0b24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvZHJvcGRvd24vbWVudS9kcm9wZG93bm1lbnVsaXN0aXRlbS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9kcm9wZG93bi9tZW51L2Ryb3Bkb3dubWVudWxpc3RpdGVtYnV0dG9uLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2Ryb3Bkb3duL21lbnUvZHJvcGRvd25tZW51cGFuZWwuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvZWRpdG9ydWkvYWNjZXNzaWJpbGl0eWhlbHAuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvZWRpdG9ydWkvZWRpdG9ydWkuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvZm9ybWhlYWRlci9mb3JtaGVhZGVyLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2ljb24vaWNvbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9sYWJlbC9sYWJlbC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9sYWJlbGVkZmllbGQvbGFiZWxlZGZpZWxkdmlldy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9sYWJlbGVkaW5wdXQvbGFiZWxlZGlucHV0LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2xpc3QvbGlzdC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9tZW51YmFyL21lbnViYXIuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvbWVudWJhci9tZW51YmFybWVudS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9tZW51YmFyL21lbnViYXJtZW51YnV0dG9uLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL21lbnViYXIvbWVudWJhcm1lbnVsaXN0aXRlbS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9tZW51YmFyL21lbnViYXJtZW51bGlzdGl0ZW1idXR0b24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvbWVudWJhci9tZW51YmFybWVudXBhbmVsLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL3BhbmVsL2JhbGxvb25wYW5lbC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9wYW5lbC9iYWxsb29ucm90YXRvci5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9wYW5lbC9mYWtlcGFuZWwuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvcGFuZWwvc3RpY2t5cGFuZWwuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1mb3JtL3Jlc3BvbnNpdmVmb3JtLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvc3Bpbm5lci9zcGlubmVyLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL3RleHRhcmVhL3RleHRhcmVhLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL3Rvb2xiYXIvYmxvY2t0b29sYmFyLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL3Rvb2xiYXIvdG9vbGJhci5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LWVkaXRvci1jbGFzc2ljL2NsYXNzaWNlZGl0b3IuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LWNsaXBib2FyZC9jbGlwYm9hcmQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LWNvZGUtYmxvY2svY29kZWJsb2NrLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS1lbmdpbmUvcGxhY2Vob2xkZXIuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LWZpbmQtYW5kLXJlcGxhY2UvZmluZGFuZHJlcGxhY2Vmb3JtLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS1oZWFkaW5nL2hlYWRpbmcuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LWhvcml6b250YWwtbGluZS9ob3Jpem9udGFsbGluZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtaHRtbC1lbWJlZC9odG1sZW1iZWQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LWltYWdlL2ltYWdlaW5zZXJ0LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS1pbWFnZS9pbWFnZXVwbG9hZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtaW1hZ2UvaW1hZ2V1cGxvYWRpY29uLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS1pbWFnZS9pbWFnZXVwbG9hZGxvYWRlci5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtaW1hZ2UvaW1hZ2V1cGxvYWRwcm9ncmVzcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtbGluay9saW5rLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS1saW5rL2xpbmthY3Rpb25zLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fdW5zZWxlY3RhYmxlLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS1saW5rL2xpbmtmb3JtLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS1saW5rL2xpbmtpbWFnZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtbGlzdC9saXN0cHJvcGVydGllcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtbGlzdC9saXN0c3R5bGVzLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS1tZWRpYS1lbWJlZC9tZWRpYWVtYmVkZWRpdGluZy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtbWVudGlvbi9tZW50aW9uLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS1yZXN0cmljdGVkLWVkaXRpbmcvcmVzdHJpY3RlZGVkaXRpbmcuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXNwZWNpYWwtY2hhcmFjdGVycy9jaGFyYWN0ZXJncmlkLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS1zcGVjaWFsLWNoYXJhY3RlcnMvY2hhcmFjdGVyaW5mby5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtc3BlY2lhbC1jaGFyYWN0ZXJzL3NwZWNpYWxjaGFyYWN0ZXJzLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS1zdHlsZS9zdHlsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtc3R5bGUvc3R5bGVncmlkLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS1zdHlsZS9zdHlsZWdyb3VwLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS1zdHlsZS9zdHlsZXBhbmVsLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS10YWJsZS9jb2xvcmlucHV0LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS10YWJsZS9mb3JtLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS10YWJsZS9mb3Jtcm93LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS10YWJsZS9pbnNlcnR0YWJsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdGFibGUvdGFibGVjZWxscHJvcGVydGllcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdGFibGUvdGFibGVlZGl0aW5nLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS10YWJsZS90YWJsZWZvcm0uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXRhYmxlL3RhYmxlcHJvcGVydGllcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdGFibGUvdGFibGVzZWxlY3Rpb24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXdpZGdldC93aWRnZXQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXdpZGdldC93aWRnZXRyZXNpemUuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXdpZGdldC93aWRnZXR0eXBlYXJvdW5kLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1iYXNpYy1zdHlsZXMvdGhlbWUvY29kZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtYmxvY2stcXVvdGUvdGhlbWUvYmxvY2txdW90ZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtY2tib3gvdGhlbWUvY2tib3hpbWFnZWVkaXQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LWNsaXBib2FyZC90aGVtZS9jbGlwYm9hcmQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LWNvZGUtYmxvY2svdGhlbWUvY29kZWJsb2NrLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1lZGl0b3ItY2xhc3NpYy90aGVtZS9jbGFzc2ljZWRpdG9yLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1lZGl0b3ItaW5saW5lL3RoZW1lL2lubGluZWVkaXRvci5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtZW5naW5lL3RoZW1lL3BsYWNlaG9sZGVyLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1lbmdpbmUvdGhlbWUvcmVuZGVyZXIuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LWZpbmQtYW5kLXJlcGxhY2UvdGhlbWUvZmluZGFuZHJlcGxhY2UuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LWZpbmQtYW5kLXJlcGxhY2UvdGhlbWUvZmluZGFuZHJlcGxhY2Vmb3JtLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1mb250L3RoZW1lL2ZvbnRzaXplLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1oZWFkaW5nL3RoZW1lL2hlYWRpbmcuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LWhpZ2hsaWdodC90aGVtZS9oaWdobGlnaHQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LWhvcml6b250YWwtbGluZS90aGVtZS9ob3Jpem9udGFsbGluZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtaHRtbC1lbWJlZC90aGVtZS9odG1sZW1iZWQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LWh0bWwtc3VwcG9ydC90aGVtZS9kYXRhZmlsdGVyLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1pbWFnZS90aGVtZS9pbWFnZWNhcHRpb24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LWltYWdlL3RoZW1lL2ltYWdlaW5zZXJ0LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1pbWFnZS90aGVtZS9pbWFnZXJlc2l6ZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtaW1hZ2UvdGhlbWUvaW1hZ2VjdXN0b21yZXNpemVmb3JtLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1pbWFnZS90aGVtZS9pbWFnZXN0eWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1pbWFnZS90aGVtZS90ZXh0YWx0ZXJuYXRpdmVmb3JtLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1pbWFnZS90aGVtZS9pbWFnZXVwbG9hZHByb2dyZXNzLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1pbWFnZS90aGVtZS9pbWFnZXVwbG9hZGljb24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LWltYWdlL3RoZW1lL2ltYWdldXBsb2FkbG9hZGVyLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1pbWFnZS90aGVtZS9pbWFnZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtaW1hZ2UvdGhlbWUvaW1hZ2VwbGFjZWhvbGRlci5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtbGluay90aGVtZS9saW5raW1hZ2UuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LWxpbmsvdGhlbWUvbGlua2FjdGlvbnMuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LWxpbmsvdGhlbWUvbGlua2Zvcm0uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LWxpc3QvdGhlbWUvZG9jdW1lbnRsaXN0LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1saXN0L3RoZW1lL2xpc3RzdHlsZXMuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LWxpc3QvdGhlbWUvbGlzdC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtbGlzdC90aGVtZS90b2RvbGlzdC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtbWVkaWEtZW1iZWQvdGhlbWUvbWVkaWFlbWJlZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtbWVkaWEtZW1iZWQvdGhlbWUvbWVkaWFlbWJlZGVkaXRpbmcuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1mb3JtL3Jlc3BvbnNpdmVmb3JtLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1tZWRpYS1lbWJlZC90aGVtZS9tZWRpYWZvcm0uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LW1lbnRpb24vdGhlbWUvbWVudGlvbnVpLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1taW5pbWFwL3RoZW1lL21pbmltYXAuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXBhZ2UtYnJlYWsvdGhlbWUvcGFnZWJyZWFrLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1zaG93LWJsb2Nrcy90aGVtZS9zaG93YmxvY2tzLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1zb3VyY2UtZWRpdGluZy90aGVtZS9zb3VyY2VlZGl0aW5nLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvbWl4aW5zL19mb2N1cy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtc3BlY2lhbC1jaGFyYWN0ZXJzL3RoZW1lL2NoYXJhY3RlcmdyaWQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXNwZWNpYWwtY2hhcmFjdGVycy90aGVtZS9jaGFyYWN0ZXJpbmZvLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS1zcGVjaWFsLWNoYXJhY3RlcnMvdGhlbWUvc3BlY2lhbGNoYXJhY3RlcnMuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXN0eWxlL3RoZW1lL3N0eWxlZ3JpZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGFibGUvdGhlbWUvdGFibGUuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRhYmxlL3RoZW1lL2luc2VydHRhYmxlLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10YWJsZS90aGVtZS9mb3Jtcm93LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10YWJsZS90aGVtZS90YWJsZWNlbGxwcm9wZXJ0aWVzLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10YWJsZS90aGVtZS9jb2xvcmlucHV0LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10YWJsZS90aGVtZS90YWJsZWZvcm0uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXRhYmxlL3RoZW1lL3RhYmxlcHJvcGVydGllcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdGFibGUvdGhlbWUvdGFibGVjYXB0aW9uLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS10YWJsZS90aGVtZS90YWJsZWNvbHVtbnJlc2l6ZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvZ2xvYmFscy9nbG9iYWxzLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS11aS90aGVtZS9nbG9iYWxzL19oaWRkZW4uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXVpL3RoZW1lL2dsb2JhbHMvX3ppbmRleC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvZ2xvYmFscy9fdHJhbnNpdGlvbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvZ2xvYmFscy9fcG93ZXJlZGJ5LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fdW5zZWxlY3RhYmxlLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX2Rpci5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9idXR0b24vc3dpdGNoYnV0dG9uLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL2J1dHRvbi9saXN0aXRlbWJ1dHRvbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9jb2xsYXBzaWJsZS9jb2xsYXBzaWJsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9jb2xvcmdyaWQvY29sb3JncmlkLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL2NvbG9ycGlja2VyL2NvbG9ycGlja2VyLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL2NvbG9yc2VsZWN0b3IvY29sb3JzZWxlY3Rvci5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nYWN0aW9ucy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL2Ryb3Bkb3duL3NwbGl0YnV0dG9uLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL2Ryb3Bkb3duL3Rvb2xiYXJkcm9wZG93bi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9kcm9wZG93bi9tZW51L2Ryb3Bkb3dubWVudWJ1dHRvbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9kcm9wZG93bi9tZW51L2Ryb3Bkb3dubWVudXBhbmVsLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL2Ryb3Bkb3duL21lbnUvZHJvcGRvd25tZW51LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL2FyaWFsaXZlYW5ub3VuY2VyL2FyaWFsaXZlYW5ub3VuY2VyLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL2Zvcm1oZWFkZXIvZm9ybWhlYWRlci5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9pY29uL2ljb24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvbGFiZWwvbGFiZWwuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvbGFiZWxlZGZpZWxkL2xhYmVsZWRmaWVsZHZpZXcuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvbGlzdC9saXN0LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL3BhbmVsL2JhbGxvb25wYW5lbC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9wYW5lbC9iYWxsb29ucm90YXRvci5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9wYW5lbC9mYWtlcGFuZWwuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvcGFuZWwvc3RpY2t5cGFuZWwuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9zZWFyY2gvc2VhcmNoLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL2hpZ2hsaWdodGVkdGV4dC9oaWdobGlnaHRlZHRleHQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2tlZGl0b3I1L3BhY2thZ2VzL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL3NwaW5uZXIvc3Bpbm5lci5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvdG9vbGJhci9ibG9ja3Rvb2xiYXIuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvbWVudWJhci9tZW51YmFybWVudWJ1dHRvbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9tZW51YmFyL21lbnViYXJtZW51cGFuZWwuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ja2VkaXRvcjUvcGFja2FnZXMvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvbWVudWJhci9tZW51YmFybWVudS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtd2lkZ2V0L3RoZW1lL3dpZGdldC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtd2lkZ2V0L3RoZW1lL3dpZGdldHJlc2l6ZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NrZWRpdG9yNS9wYWNrYWdlcy9ja2VkaXRvcjUtd2lkZ2V0L3RoZW1lL3dpZGdldHR5cGVhcm91bmQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy90b20tc2VsZWN0L2Rpc3QvY3NzL3RvbS1zZWxlY3QuZGVmYXVsdC5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohXG4gKiBCb290c3RyYXAgIHY1LjMuMyAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAqIENvcHlyaWdodCAyMDExLTIwMjQgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAqL1xuOnJvb3QsXG5bZGF0YS1icy10aGVtZT1saWdodF0ge1xuICAtLWJzLWJsdWU6ICMwZDZlZmQ7XG4gIC0tYnMtaW5kaWdvOiAjNjYxMGYyO1xuICAtLWJzLXB1cnBsZTogIzZmNDJjMTtcbiAgLS1icy1waW5rOiAjZDYzMzg0O1xuICAtLWJzLXJlZDogI2RjMzU0NTtcbiAgLS1icy1vcmFuZ2U6ICNmZDdlMTQ7XG4gIC0tYnMteWVsbG93OiAjZmZjMTA3O1xuICAtLWJzLWdyZWVuOiAjMTk4NzU0O1xuICAtLWJzLXRlYWw6ICMyMGM5OTc7XG4gIC0tYnMtY3lhbjogIzBkY2FmMDtcbiAgLS1icy1ibGFjazogIzAwMDtcbiAgLS1icy13aGl0ZTogI2ZmZjtcbiAgLS1icy1ncmF5OiAjNmM3NTdkO1xuICAtLWJzLWdyYXktZGFyazogIzM0M2E0MDtcbiAgLS1icy1ncmF5LTEwMDogI2Y4ZjlmYTtcbiAgLS1icy1ncmF5LTIwMDogI2U5ZWNlZjtcbiAgLS1icy1ncmF5LTMwMDogI2RlZTJlNjtcbiAgLS1icy1ncmF5LTQwMDogI2NlZDRkYTtcbiAgLS1icy1ncmF5LTUwMDogI2FkYjViZDtcbiAgLS1icy1ncmF5LTYwMDogIzZjNzU3ZDtcbiAgLS1icy1ncmF5LTcwMDogIzQ5NTA1NztcbiAgLS1icy1ncmF5LTgwMDogIzM0M2E0MDtcbiAgLS1icy1ncmF5LTkwMDogIzIxMjUyOTtcbiAgLS1icy1wcmltYXJ5OiAjMGQ2ZWZkO1xuICAtLWJzLXNlY29uZGFyeTogIzZjNzU3ZDtcbiAgLS1icy1zdWNjZXNzOiAjMTk4NzU0O1xuICAtLWJzLWluZm86ICMwZGNhZjA7XG4gIC0tYnMtd2FybmluZzogI2ZmYzEwNztcbiAgLS1icy1kYW5nZXI6ICNkYzM1NDU7XG4gIC0tYnMtbGlnaHQ6ICNmOGY5ZmE7XG4gIC0tYnMtZGFyazogIzIxMjUyOTtcbiAgLS1icy1wcmltYXJ5LXJnYjogMTMsIDExMCwgMjUzO1xuICAtLWJzLXNlY29uZGFyeS1yZ2I6IDEwOCwgMTE3LCAxMjU7XG4gIC0tYnMtc3VjY2Vzcy1yZ2I6IDI1LCAxMzUsIDg0O1xuICAtLWJzLWluZm8tcmdiOiAxMywgMjAyLCAyNDA7XG4gIC0tYnMtd2FybmluZy1yZ2I6IDI1NSwgMTkzLCA3O1xuICAtLWJzLWRhbmdlci1yZ2I6IDIyMCwgNTMsIDY5O1xuICAtLWJzLWxpZ2h0LXJnYjogMjQ4LCAyNDksIDI1MDtcbiAgLS1icy1kYXJrLXJnYjogMzMsIDM3LCA0MTtcbiAgLS1icy1wcmltYXJ5LXRleHQtZW1waGFzaXM6ICMwNTJjNjU7XG4gIC0tYnMtc2Vjb25kYXJ5LXRleHQtZW1waGFzaXM6ICMyYjJmMzI7XG4gIC0tYnMtc3VjY2Vzcy10ZXh0LWVtcGhhc2lzOiAjMGEzNjIyO1xuICAtLWJzLWluZm8tdGV4dC1lbXBoYXNpczogIzA1NTE2MDtcbiAgLS1icy13YXJuaW5nLXRleHQtZW1waGFzaXM6ICM2NjRkMDM7XG4gIC0tYnMtZGFuZ2VyLXRleHQtZW1waGFzaXM6ICM1ODE1MWM7XG4gIC0tYnMtbGlnaHQtdGV4dC1lbXBoYXNpczogIzQ5NTA1NztcbiAgLS1icy1kYXJrLXRleHQtZW1waGFzaXM6ICM0OTUwNTc7XG4gIC0tYnMtcHJpbWFyeS1iZy1zdWJ0bGU6ICNjZmUyZmY7XG4gIC0tYnMtc2Vjb25kYXJ5LWJnLXN1YnRsZTogI2UyZTNlNTtcbiAgLS1icy1zdWNjZXNzLWJnLXN1YnRsZTogI2QxZTdkZDtcbiAgLS1icy1pbmZvLWJnLXN1YnRsZTogI2NmZjRmYztcbiAgLS1icy13YXJuaW5nLWJnLXN1YnRsZTogI2ZmZjNjZDtcbiAgLS1icy1kYW5nZXItYmctc3VidGxlOiAjZjhkN2RhO1xuICAtLWJzLWxpZ2h0LWJnLXN1YnRsZTogI2ZjZmNmZDtcbiAgLS1icy1kYXJrLWJnLXN1YnRsZTogI2NlZDRkYTtcbiAgLS1icy1wcmltYXJ5LWJvcmRlci1zdWJ0bGU6ICM5ZWM1ZmU7XG4gIC0tYnMtc2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGU6ICNjNGM4Y2I7XG4gIC0tYnMtc3VjY2Vzcy1ib3JkZXItc3VidGxlOiAjYTNjZmJiO1xuICAtLWJzLWluZm8tYm9yZGVyLXN1YnRsZTogIzllZWFmOTtcbiAgLS1icy13YXJuaW5nLWJvcmRlci1zdWJ0bGU6ICNmZmU2OWM7XG4gIC0tYnMtZGFuZ2VyLWJvcmRlci1zdWJ0bGU6ICNmMWFlYjU7XG4gIC0tYnMtbGlnaHQtYm9yZGVyLXN1YnRsZTogI2U5ZWNlZjtcbiAgLS1icy1kYXJrLWJvcmRlci1zdWJ0bGU6ICNhZGI1YmQ7XG4gIC0tYnMtd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1O1xuICAtLWJzLWJsYWNrLXJnYjogMCwgMCwgMDtcbiAgLS1icy1mb250LXNhbnMtc2VyaWY6IHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgLS1icy1mb250LW1vbm9zcGFjZTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgLS1icy1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSk7XG4gIC0tYnMtYm9keS1mb250LWZhbWlseTogdmFyKC0tYnMtZm9udC1zYW5zLXNlcmlmKTtcbiAgLS1icy1ib2R5LWZvbnQtc2l6ZTogMXJlbTtcbiAgLS1icy1ib2R5LWZvbnQtd2VpZ2h0OiA0MDA7XG4gIC0tYnMtYm9keS1saW5lLWhlaWdodDogMS41O1xuICAtLWJzLWJvZHktY29sb3I6ICMyMTI1Mjk7XG4gIC0tYnMtYm9keS1jb2xvci1yZ2I6IDMzLCAzNywgNDE7XG4gIC0tYnMtYm9keS1iZzogI2ZmZjtcbiAgLS1icy1ib2R5LWJnLXJnYjogMjU1LCAyNTUsIDI1NTtcbiAgLS1icy1lbXBoYXNpcy1jb2xvcjogIzAwMDtcbiAgLS1icy1lbXBoYXNpcy1jb2xvci1yZ2I6IDAsIDAsIDA7XG4gIC0tYnMtc2Vjb25kYXJ5LWNvbG9yOiByZ2JhKDMzLCAzNywgNDEsIDAuNzUpO1xuICAtLWJzLXNlY29uZGFyeS1jb2xvci1yZ2I6IDMzLCAzNywgNDE7XG4gIC0tYnMtc2Vjb25kYXJ5LWJnOiAjZTllY2VmO1xuICAtLWJzLXNlY29uZGFyeS1iZy1yZ2I6IDIzMywgMjM2LCAyMzk7XG4gIC0tYnMtdGVydGlhcnktY29sb3I6IHJnYmEoMzMsIDM3LCA0MSwgMC41KTtcbiAgLS1icy10ZXJ0aWFyeS1jb2xvci1yZ2I6IDMzLCAzNywgNDE7XG4gIC0tYnMtdGVydGlhcnktYmc6ICNmOGY5ZmE7XG4gIC0tYnMtdGVydGlhcnktYmctcmdiOiAyNDgsIDI0OSwgMjUwO1xuICAtLWJzLWhlYWRpbmctY29sb3I6IGluaGVyaXQ7XG4gIC0tYnMtbGluay1jb2xvcjogIzBkNmVmZDtcbiAgLS1icy1saW5rLWNvbG9yLXJnYjogMTMsIDExMCwgMjUzO1xuICAtLWJzLWxpbmstZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAtLWJzLWxpbmstaG92ZXItY29sb3I6ICMwYTU4Y2E7XG4gIC0tYnMtbGluay1ob3Zlci1jb2xvci1yZ2I6IDEwLCA4OCwgMjAyO1xuICAtLWJzLWNvZGUtY29sb3I6ICNkNjMzODQ7XG4gIC0tYnMtaGlnaGxpZ2h0LWNvbG9yOiAjMjEyNTI5O1xuICAtLWJzLWhpZ2hsaWdodC1iZzogI2ZmZjNjZDtcbiAgLS1icy1ib3JkZXItd2lkdGg6IDFweDtcbiAgLS1icy1ib3JkZXItc3R5bGU6IHNvbGlkO1xuICAtLWJzLWJvcmRlci1jb2xvcjogI2RlZTJlNjtcbiAgLS1icy1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6IHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xuICAtLWJzLWJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAtLWJzLWJvcmRlci1yYWRpdXMtc206IDAuMjVyZW07XG4gIC0tYnMtYm9yZGVyLXJhZGl1cy1sZzogMC41cmVtO1xuICAtLWJzLWJvcmRlci1yYWRpdXMteGw6IDFyZW07XG4gIC0tYnMtYm9yZGVyLXJhZGl1cy14eGw6IDJyZW07XG4gIC0tYnMtYm9yZGVyLXJhZGl1cy0yeGw6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteHhsKTtcbiAgLS1icy1ib3JkZXItcmFkaXVzLXBpbGw6IDUwcmVtO1xuICAtLWJzLWJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgLS1icy1ib3gtc2hhZG93LXNtOiAwIDAuMTI1cmVtIDAuMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4gIC0tYnMtYm94LXNoYWRvdy1sZzogMCAxcmVtIDNyZW0gcmdiYSgwLCAwLCAwLCAwLjE3NSk7XG4gIC0tYnMtYm94LXNoYWRvdy1pbnNldDogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICAtLWJzLWZvY3VzLXJpbmctd2lkdGg6IDAuMjVyZW07XG4gIC0tYnMtZm9jdXMtcmluZy1vcGFjaXR5OiAwLjI1O1xuICAtLWJzLWZvY3VzLXJpbmctY29sb3I6IHJnYmEoMTMsIDExMCwgMjUzLCAwLjI1KTtcbiAgLS1icy1mb3JtLXZhbGlkLWNvbG9yOiAjMTk4NzU0O1xuICAtLWJzLWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAjMTk4NzU0O1xuICAtLWJzLWZvcm0taW52YWxpZC1jb2xvcjogI2RjMzU0NTtcbiAgLS1icy1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xufVxuXG5bZGF0YS1icy10aGVtZT1kYXJrXSB7XG4gIGNvbG9yLXNjaGVtZTogZGFyaztcbiAgLS1icy1ib2R5LWNvbG9yOiAjZGVlMmU2O1xuICAtLWJzLWJvZHktY29sb3ItcmdiOiAyMjIsIDIyNiwgMjMwO1xuICAtLWJzLWJvZHktYmc6ICMyMTI1Mjk7XG4gIC0tYnMtYm9keS1iZy1yZ2I6IDMzLCAzNywgNDE7XG4gIC0tYnMtZW1waGFzaXMtY29sb3I6ICNmZmY7XG4gIC0tYnMtZW1waGFzaXMtY29sb3ItcmdiOiAyNTUsIDI1NSwgMjU1O1xuICAtLWJzLXNlY29uZGFyeS1jb2xvcjogcmdiYSgyMjIsIDIyNiwgMjMwLCAwLjc1KTtcbiAgLS1icy1zZWNvbmRhcnktY29sb3ItcmdiOiAyMjIsIDIyNiwgMjMwO1xuICAtLWJzLXNlY29uZGFyeS1iZzogIzM0M2E0MDtcbiAgLS1icy1zZWNvbmRhcnktYmctcmdiOiA1MiwgNTgsIDY0O1xuICAtLWJzLXRlcnRpYXJ5LWNvbG9yOiByZ2JhKDIyMiwgMjI2LCAyMzAsIDAuNSk7XG4gIC0tYnMtdGVydGlhcnktY29sb3ItcmdiOiAyMjIsIDIyNiwgMjMwO1xuICAtLWJzLXRlcnRpYXJ5LWJnOiAjMmIzMDM1O1xuICAtLWJzLXRlcnRpYXJ5LWJnLXJnYjogNDMsIDQ4LCA1MztcbiAgLS1icy1wcmltYXJ5LXRleHQtZW1waGFzaXM6ICM2ZWE4ZmU7XG4gIC0tYnMtc2Vjb25kYXJ5LXRleHQtZW1waGFzaXM6ICNhN2FjYjE7XG4gIC0tYnMtc3VjY2Vzcy10ZXh0LWVtcGhhc2lzOiAjNzViNzk4O1xuICAtLWJzLWluZm8tdGV4dC1lbXBoYXNpczogIzZlZGZmNjtcbiAgLS1icy13YXJuaW5nLXRleHQtZW1waGFzaXM6ICNmZmRhNmE7XG4gIC0tYnMtZGFuZ2VyLXRleHQtZW1waGFzaXM6ICNlYTg2OGY7XG4gIC0tYnMtbGlnaHQtdGV4dC1lbXBoYXNpczogI2Y4ZjlmYTtcbiAgLS1icy1kYXJrLXRleHQtZW1waGFzaXM6ICNkZWUyZTY7XG4gIC0tYnMtcHJpbWFyeS1iZy1zdWJ0bGU6ICMwMzE2MzM7XG4gIC0tYnMtc2Vjb25kYXJ5LWJnLXN1YnRsZTogIzE2MTcxOTtcbiAgLS1icy1zdWNjZXNzLWJnLXN1YnRsZTogIzA1MWIxMTtcbiAgLS1icy1pbmZvLWJnLXN1YnRsZTogIzAzMjgzMDtcbiAgLS1icy13YXJuaW5nLWJnLXN1YnRsZTogIzMzMjcwMTtcbiAgLS1icy1kYW5nZXItYmctc3VidGxlOiAjMmMwYjBlO1xuICAtLWJzLWxpZ2h0LWJnLXN1YnRsZTogIzM0M2E0MDtcbiAgLS1icy1kYXJrLWJnLXN1YnRsZTogIzFhMWQyMDtcbiAgLS1icy1wcmltYXJ5LWJvcmRlci1zdWJ0bGU6ICMwODQyOTg7XG4gIC0tYnMtc2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGU6ICM0MTQ2NGI7XG4gIC0tYnMtc3VjY2Vzcy1ib3JkZXItc3VidGxlOiAjMGY1MTMyO1xuICAtLWJzLWluZm8tYm9yZGVyLXN1YnRsZTogIzA4Nzk5MDtcbiAgLS1icy13YXJuaW5nLWJvcmRlci1zdWJ0bGU6ICM5OTc0MDQ7XG4gIC0tYnMtZGFuZ2VyLWJvcmRlci1zdWJ0bGU6ICM4NDIwMjk7XG4gIC0tYnMtbGlnaHQtYm9yZGVyLXN1YnRsZTogIzQ5NTA1NztcbiAgLS1icy1kYXJrLWJvcmRlci1zdWJ0bGU6ICMzNDNhNDA7XG4gIC0tYnMtaGVhZGluZy1jb2xvcjogaW5oZXJpdDtcbiAgLS1icy1saW5rLWNvbG9yOiAjNmVhOGZlO1xuICAtLWJzLWxpbmstaG92ZXItY29sb3I6ICM4YmI5ZmU7XG4gIC0tYnMtbGluay1jb2xvci1yZ2I6IDExMCwgMTY4LCAyNTQ7XG4gIC0tYnMtbGluay1ob3Zlci1jb2xvci1yZ2I6IDEzOSwgMTg1LCAyNTQ7XG4gIC0tYnMtY29kZS1jb2xvcjogI2U2ODViNTtcbiAgLS1icy1oaWdobGlnaHQtY29sb3I6ICNkZWUyZTY7XG4gIC0tYnMtaGlnaGxpZ2h0LWJnOiAjNjY0ZDAzO1xuICAtLWJzLWJvcmRlci1jb2xvcjogIzQ5NTA1NztcbiAgLS1icy1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIC0tYnMtZm9ybS12YWxpZC1jb2xvcjogIzc1Yjc5ODtcbiAgLS1icy1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogIzc1Yjc5ODtcbiAgLS1icy1mb3JtLWludmFsaWQtY29sb3I6ICNlYTg2OGY7XG4gIC0tYnMtZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogI2VhODY4Zjtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gIDpyb290IHtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgfVxufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogdmFyKC0tYnMtYm9keS1mb250LWZhbWlseSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtYm9keS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogdmFyKC0tYnMtYm9keS1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1icy1ib2R5LWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICB0ZXh0LWFsaWduOiB2YXIoLS1icy1ib2R5LXRleHQtYWxpZ24pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbmhyIHtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgc29saWQ7XG4gIG9wYWNpdHk6IDAuMjU7XG59XG5cbmg2LCAuaDYsIGg1LCAuaDUsIGg0LCAuaDQsIGgzLCAuaDMsIGgyLCAuaDIsIGgxLCAuaDEge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiB2YXIoLS1icy1oZWFkaW5nLWNvbG9yKTtcbn1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjM3NXJlbSArIDEuNXZ3KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gIH1cbn1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjMyNXJlbSArIDAuOXZ3KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IGNhbGMoMS4zcmVtICsgMC42dncpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gIH1cbn1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjI3NXJlbSArIDAuM3Z3KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbmFiYnJbdGl0bGVdIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICBjdXJzb3I6IGhlbHA7XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwge1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuc21hbGwsIC5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbn1cblxubWFyaywgLm1hcmsge1xuICBwYWRkaW5nOiAwLjE4NzVlbTtcbiAgY29sb3I6IHZhcigtLWJzLWhpZ2hsaWdodC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWhpZ2hsaWdodC1iZyk7XG59XG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbmEge1xuICBjb2xvcjogcmdiYSh2YXIoLS1icy1saW5rLWNvbG9yLXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbmE6aG92ZXIge1xuICAtLWJzLWxpbmstY29sb3ItcmdiOiB2YXIoLS1icy1saW5rLWhvdmVyLWNvbG9yLXJnYik7XG59XG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pLCBhOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKTpob3ZlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJzLWZvbnQtbW9ub3NwYWNlKTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogYXV0bztcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xufVxucHJlIGNvZGUge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG59XG5cbmNvZGUge1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGNvbG9yOiB2YXIoLS1icy1jb2RlLWNvbG9yKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuYSA+IGNvZGUge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxua2JkIHtcbiAgcGFkZGluZzogMC4xODc1cmVtIDAuMzc1cmVtO1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGNvbG9yOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5rYmQga2JkIHtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmltZyxcbnN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnRhYmxlIHtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBjb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxudGgge1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDtcbn1cblxudGhlYWQsXG50Ym9keSxcbnRmb290LFxudHIsXG50ZCxcbnRoIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5bcm9sZT1idXR0b25dIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zZWxlY3Qge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbnNlbGVjdDpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbltsaXN0XTpub3QoW3R5cGU9ZGF0ZV0pOm5vdChbdHlwZT1kYXRldGltZS1sb2NhbF0pOm5vdChbdHlwZT1tb250aF0pOm5vdChbdHlwZT13ZWVrXSk6bm90KFt0eXBlPXRpbWVdKTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLFxuW3R5cGU9YnV0dG9uXTpub3QoOmRpc2FibGVkKSxcblt0eXBlPXJlc2V0XTpub3QoOmRpc2FibGVkKSxcblt0eXBlPXN1Ym1pdF06bm90KDpkaXNhYmxlZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXNpemU6IGNhbGMoMS4yNzVyZW0gKyAwLjN2dyk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBsZWdlbmQge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG59XG5sZWdlbmQgKyAqIHtcbiAgY2xlYXI6IGxlZnQ7XG59XG5cbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZSxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQge1xuICBwYWRkaW5nOiAwO1xufVxuXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi8qIHJ0bDpyYXc6XG5bdHlwZT1cInRlbFwiXSxcblt0eXBlPVwidXJsXCJdLFxuW3R5cGU9XCJlbWFpbFwiXSxcblt0eXBlPVwibnVtYmVyXCJdIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG59XG4qL1xuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG46Oi13ZWJraXQtY29sb3Itc3dhdGNoLXdyYXBwZXIge1xuICBwYWRkaW5nOiAwO1xufVxuXG46OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuaWZyYW1lIHtcbiAgYm9yZGVyOiAwO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi5kaXNwbGF5LTEge1xuICBmb250LXNpemU6IGNhbGMoMS42MjVyZW0gKyA0LjV2dyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5kaXNwbGF5LTEge1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgfVxufVxuXG4uZGlzcGxheS0yIHtcbiAgZm9udC1zaXplOiBjYWxjKDEuNTc1cmVtICsgMy45dncpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZGlzcGxheS0yIHtcbiAgICBmb250LXNpemU6IDQuNXJlbTtcbiAgfVxufVxuXG4uZGlzcGxheS0zIHtcbiAgZm9udC1zaXplOiBjYWxjKDEuNTI1cmVtICsgMy4zdncpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZGlzcGxheS0zIHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cbn1cblxuLmRpc3BsYXktNCB7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjQ3NXJlbSArIDIuN3Z3KTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmRpc3BsYXktNCB7XG4gICAgZm9udC1zaXplOiAzLjVyZW07XG4gIH1cbn1cblxuLmRpc3BsYXktNSB7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjQyNXJlbSArIDIuMXZ3KTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmRpc3BsYXktNSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG5cbi5kaXNwbGF5LTYge1xuICBmb250LXNpemU6IGNhbGMoMS4zNzVyZW0gKyAxLjV2dyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5kaXNwbGF5LTYge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICB9XG59XG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubGlzdC1pbmxpbmUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmxpc3QtaW5saW5lLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuXG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG4uYmxvY2txdW90ZSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogLTFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgY29sb3I6ICM2Yzc1N2Q7XG59XG4uYmxvY2txdW90ZS1mb290ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCUwqBcIjtcbn1cblxuLmltZy1mbHVpZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6IDAuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJvZHktYmcpO1xuICBib3JkZXI6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZmlndXJlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XG59XG5cbi5jb250YWluZXIsXG4uY29udGFpbmVyLWZsdWlkLFxuLmNvbnRhaW5lci14eGwsXG4uY29udGFpbmVyLXhsLFxuLmNvbnRhaW5lci1sZyxcbi5jb250YWluZXItbWQsXG4uY29udGFpbmVyLXNtIHtcbiAgLS1icy1ndXR0ZXIteDogMS41cmVtO1xuICAtLWJzLWd1dHRlci15OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1icy1ndXR0ZXIteCkgKiAwLjUpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tYnMtZ3V0dGVyLXgpICogMC41KTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jb250YWluZXItc20sIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29udGFpbmVyLW1kLCAuY29udGFpbmVyLXNtLCAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbnRhaW5lci1sZywgLmNvbnRhaW5lci1tZCwgLmNvbnRhaW5lci1zbSwgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29udGFpbmVyLXhsLCAuY29udGFpbmVyLWxnLCAuY29udGFpbmVyLW1kLCAuY29udGFpbmVyLXNtLCAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuY29udGFpbmVyLXh4bCwgLmNvbnRhaW5lci14bCwgLmNvbnRhaW5lci1sZywgLmNvbnRhaW5lci1tZCwgLmNvbnRhaW5lci1zbSwgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMzIwcHg7XG4gIH1cbn1cbjpyb290IHtcbiAgLS1icy1icmVha3BvaW50LXhzOiAwO1xuICAtLWJzLWJyZWFrcG9pbnQtc206IDU3NnB4O1xuICAtLWJzLWJyZWFrcG9pbnQtbWQ6IDc2OHB4O1xuICAtLWJzLWJyZWFrcG9pbnQtbGc6IDk5MnB4O1xuICAtLWJzLWJyZWFrcG9pbnQteGw6IDEyMDBweDtcbiAgLS1icy1icmVha3BvaW50LXh4bDogMTQwMHB4O1xufVxuXG4ucm93IHtcbiAgLS1icy1ndXR0ZXIteDogMS41cmVtO1xuICAtLWJzLWd1dHRlci15OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1icy1ndXR0ZXIteSkpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTAuNSAqIHZhcigtLWJzLWd1dHRlci14KSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0wLjUgKiB2YXIoLS1icy1ndXR0ZXIteCkpO1xufVxuLnJvdyA+ICoge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1icy1ndXR0ZXIteCkgKiAwLjUpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tYnMtZ3V0dGVyLXgpICogMC41KTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tYnMtZ3V0dGVyLXkpO1xufVxuXG4uY29sIHtcbiAgZmxleDogMSAwIDAlO1xufVxuXG4ucm93LWNvbHMtYXV0byA+ICoge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5yb3ctY29scy0xID4gKiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnJvdy1jb2xzLTIgPiAqIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5yb3ctY29scy0zID4gKiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogMzMuMzMzMzMzMzMlO1xufVxuXG4ucm93LWNvbHMtNCA+ICoge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDI1JTtcbn1cblxuLnJvdy1jb2xzLTUgPiAqIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiAyMCU7XG59XG5cbi5yb3ctY29scy02ID4gKiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogMTYuNjY2NjY2NjclO1xufVxuXG4uY29sLWF1dG8ge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5jb2wtMSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogOC4zMzMzMzMzMyU7XG59XG5cbi5jb2wtMiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogMTYuNjY2NjY2NjclO1xufVxuXG4uY29sLTMge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDI1JTtcbn1cblxuLmNvbC00IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG59XG5cbi5jb2wtNSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogNDEuNjY2NjY2NjclO1xufVxuXG4uY29sLTYge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmNvbC03IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiA1OC4zMzMzMzMzMyU7XG59XG5cbi5jb2wtOCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogNjYuNjY2NjY2NjclO1xufVxuXG4uY29sLTkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDc1JTtcbn1cblxuLmNvbC0xMCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogODMuMzMzMzMzMzMlO1xufVxuXG4uY29sLTExIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiA5MS42NjY2NjY2NyU7XG59XG5cbi5jb2wtMTIge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTtcbn1cblxuLm9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcbn1cblxuLm9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTtcbn1cblxuLm9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTtcbn1cblxuLm9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcbn1cblxuLm9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLm9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTtcbn1cblxuLm9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcbn1cblxuLm9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTtcbn1cblxuLm9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7XG59XG5cbi5vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xufVxuXG4uZy0wLFxuLmd4LTAge1xuICAtLWJzLWd1dHRlci14OiAwO1xufVxuXG4uZy0wLFxuLmd5LTAge1xuICAtLWJzLWd1dHRlci15OiAwO1xufVxuXG4uZy0xLFxuLmd4LTEge1xuICAtLWJzLWd1dHRlci14OiAwLjI1cmVtO1xufVxuXG4uZy0xLFxuLmd5LTEge1xuICAtLWJzLWd1dHRlci15OiAwLjI1cmVtO1xufVxuXG4uZy0yLFxuLmd4LTIge1xuICAtLWJzLWd1dHRlci14OiAwLjVyZW07XG59XG5cbi5nLTIsXG4uZ3ktMiB7XG4gIC0tYnMtZ3V0dGVyLXk6IDAuNXJlbTtcbn1cblxuLmctMyxcbi5neC0zIHtcbiAgLS1icy1ndXR0ZXIteDogMXJlbTtcbn1cblxuLmctMyxcbi5neS0zIHtcbiAgLS1icy1ndXR0ZXIteTogMXJlbTtcbn1cblxuLmctNCxcbi5neC00IHtcbiAgLS1icy1ndXR0ZXIteDogMS41cmVtO1xufVxuXG4uZy00LFxuLmd5LTQge1xuICAtLWJzLWd1dHRlci15OiAxLjVyZW07XG59XG5cbi5nLTUsXG4uZ3gtNSB7XG4gIC0tYnMtZ3V0dGVyLXg6IDNyZW07XG59XG5cbi5nLTUsXG4uZ3ktNSB7XG4gIC0tYnMtZ3V0dGVyLXk6IDNyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuY29sLXNtIHtcbiAgICBmbGV4OiAxIDAgMCU7XG4gIH1cbiAgLnJvdy1jb2xzLXNtLWF1dG8gPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAucm93LWNvbHMtc20tMSA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5yb3ctY29scy1zbS0yID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAucm93LWNvbHMtc20tMyA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLnJvdy1jb2xzLXNtLTQgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5yb3ctY29scy1zbS01ID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAucm93LWNvbHMtc20tNiA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuY29sLXNtLTEge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLTIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS0zIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5jb2wtc20tNCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLTUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS02IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5jb2wtc20tNyB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLTgge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS05IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5jb2wtc20tMTAge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS0xMSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAub2Zmc2V0LXNtLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5vZmZzZXQtc20tMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtc20tMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LXNtLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLm9mZnNldC1zbS00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtc20tNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LXNtLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLm9mZnNldC1zbS03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtc20tOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LXNtLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLm9mZnNldC1zbS0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LXNtLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5nLXNtLTAsXG4gIC5neC1zbS0wIHtcbiAgICAtLWJzLWd1dHRlci14OiAwO1xuICB9XG4gIC5nLXNtLTAsXG4gIC5neS1zbS0wIHtcbiAgICAtLWJzLWd1dHRlci15OiAwO1xuICB9XG4gIC5nLXNtLTEsXG4gIC5neC1zbS0xIHtcbiAgICAtLWJzLWd1dHRlci14OiAwLjI1cmVtO1xuICB9XG4gIC5nLXNtLTEsXG4gIC5neS1zbS0xIHtcbiAgICAtLWJzLWd1dHRlci15OiAwLjI1cmVtO1xuICB9XG4gIC5nLXNtLTIsXG4gIC5neC1zbS0yIHtcbiAgICAtLWJzLWd1dHRlci14OiAwLjVyZW07XG4gIH1cbiAgLmctc20tMixcbiAgLmd5LXNtLTIge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDAuNXJlbTtcbiAgfVxuICAuZy1zbS0zLFxuICAuZ3gtc20tMyB7XG4gICAgLS1icy1ndXR0ZXIteDogMXJlbTtcbiAgfVxuICAuZy1zbS0zLFxuICAuZ3ktc20tMyB7XG4gICAgLS1icy1ndXR0ZXIteTogMXJlbTtcbiAgfVxuICAuZy1zbS00LFxuICAuZ3gtc20tNCB7XG4gICAgLS1icy1ndXR0ZXIteDogMS41cmVtO1xuICB9XG4gIC5nLXNtLTQsXG4gIC5neS1zbS00IHtcbiAgICAtLWJzLWd1dHRlci15OiAxLjVyZW07XG4gIH1cbiAgLmctc20tNSxcbiAgLmd4LXNtLTUge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDNyZW07XG4gIH1cbiAgLmctc20tNSxcbiAgLmd5LXNtLTUge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDNyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLW1kIHtcbiAgICBmbGV4OiAxIDAgMCU7XG4gIH1cbiAgLnJvdy1jb2xzLW1kLWF1dG8gPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAucm93LWNvbHMtbWQtMSA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5yb3ctY29scy1tZC0yID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAucm93LWNvbHMtbWQtMyA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLnJvdy1jb2xzLW1kLTQgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5yb3ctY29scy1tZC01ID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAucm93LWNvbHMtbWQtNiA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuY29sLW1kLTEge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLTIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC0zIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5jb2wtbWQtNCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLTUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC02IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5jb2wtbWQtNyB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLTgge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC05IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5jb2wtbWQtMTAge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC0xMSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAub2Zmc2V0LW1kLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5vZmZzZXQtbWQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtbWQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LW1kLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLm9mZnNldC1tZC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtbWQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LW1kLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLm9mZnNldC1tZC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtbWQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LW1kLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLm9mZnNldC1tZC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LW1kLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5nLW1kLTAsXG4gIC5neC1tZC0wIHtcbiAgICAtLWJzLWd1dHRlci14OiAwO1xuICB9XG4gIC5nLW1kLTAsXG4gIC5neS1tZC0wIHtcbiAgICAtLWJzLWd1dHRlci15OiAwO1xuICB9XG4gIC5nLW1kLTEsXG4gIC5neC1tZC0xIHtcbiAgICAtLWJzLWd1dHRlci14OiAwLjI1cmVtO1xuICB9XG4gIC5nLW1kLTEsXG4gIC5neS1tZC0xIHtcbiAgICAtLWJzLWd1dHRlci15OiAwLjI1cmVtO1xuICB9XG4gIC5nLW1kLTIsXG4gIC5neC1tZC0yIHtcbiAgICAtLWJzLWd1dHRlci14OiAwLjVyZW07XG4gIH1cbiAgLmctbWQtMixcbiAgLmd5LW1kLTIge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDAuNXJlbTtcbiAgfVxuICAuZy1tZC0zLFxuICAuZ3gtbWQtMyB7XG4gICAgLS1icy1ndXR0ZXIteDogMXJlbTtcbiAgfVxuICAuZy1tZC0zLFxuICAuZ3ktbWQtMyB7XG4gICAgLS1icy1ndXR0ZXIteTogMXJlbTtcbiAgfVxuICAuZy1tZC00LFxuICAuZ3gtbWQtNCB7XG4gICAgLS1icy1ndXR0ZXIteDogMS41cmVtO1xuICB9XG4gIC5nLW1kLTQsXG4gIC5neS1tZC00IHtcbiAgICAtLWJzLWd1dHRlci15OiAxLjVyZW07XG4gIH1cbiAgLmctbWQtNSxcbiAgLmd4LW1kLTUge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDNyZW07XG4gIH1cbiAgLmctbWQtNSxcbiAgLmd5LW1kLTUge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDNyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29sLWxnIHtcbiAgICBmbGV4OiAxIDAgMCU7XG4gIH1cbiAgLnJvdy1jb2xzLWxnLWF1dG8gPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAucm93LWNvbHMtbGctMSA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5yb3ctY29scy1sZy0yID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAucm93LWNvbHMtbGctMyA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLnJvdy1jb2xzLWxnLTQgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5yb3ctY29scy1sZy01ID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAucm93LWNvbHMtbGctNiA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuY29sLWxnLTEge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLTIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy0zIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5jb2wtbGctNCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLTUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy02IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5jb2wtbGctNyB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLTgge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy05IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5jb2wtbGctMTAge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy0xMSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAub2Zmc2V0LWxnLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5vZmZzZXQtbGctMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtbGctMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LWxnLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLm9mZnNldC1sZy00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtbGctNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LWxnLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLm9mZnNldC1sZy03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtbGctOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LWxnLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLm9mZnNldC1sZy0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LWxnLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5nLWxnLTAsXG4gIC5neC1sZy0wIHtcbiAgICAtLWJzLWd1dHRlci14OiAwO1xuICB9XG4gIC5nLWxnLTAsXG4gIC5neS1sZy0wIHtcbiAgICAtLWJzLWd1dHRlci15OiAwO1xuICB9XG4gIC5nLWxnLTEsXG4gIC5neC1sZy0xIHtcbiAgICAtLWJzLWd1dHRlci14OiAwLjI1cmVtO1xuICB9XG4gIC5nLWxnLTEsXG4gIC5neS1sZy0xIHtcbiAgICAtLWJzLWd1dHRlci15OiAwLjI1cmVtO1xuICB9XG4gIC5nLWxnLTIsXG4gIC5neC1sZy0yIHtcbiAgICAtLWJzLWd1dHRlci14OiAwLjVyZW07XG4gIH1cbiAgLmctbGctMixcbiAgLmd5LWxnLTIge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDAuNXJlbTtcbiAgfVxuICAuZy1sZy0zLFxuICAuZ3gtbGctMyB7XG4gICAgLS1icy1ndXR0ZXIteDogMXJlbTtcbiAgfVxuICAuZy1sZy0zLFxuICAuZ3ktbGctMyB7XG4gICAgLS1icy1ndXR0ZXIteTogMXJlbTtcbiAgfVxuICAuZy1sZy00LFxuICAuZ3gtbGctNCB7XG4gICAgLS1icy1ndXR0ZXIteDogMS41cmVtO1xuICB9XG4gIC5nLWxnLTQsXG4gIC5neS1sZy00IHtcbiAgICAtLWJzLWd1dHRlci15OiAxLjVyZW07XG4gIH1cbiAgLmctbGctNSxcbiAgLmd4LWxnLTUge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDNyZW07XG4gIH1cbiAgLmctbGctNSxcbiAgLmd5LWxnLTUge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDNyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbC14bCB7XG4gICAgZmxleDogMSAwIDAlO1xuICB9XG4gIC5yb3ctY29scy14bC1hdXRvID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLnJvdy1jb2xzLXhsLTEgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucm93LWNvbHMteGwtMiA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnJvdy1jb2xzLXhsLTMgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlO1xuICB9XG4gIC5yb3ctY29scy14bC00ID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAucm93LWNvbHMteGwtNSA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLnJvdy1jb2xzLXhsLTYgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wteGwtYXV0byB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmNvbC14bC0xIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogOC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC14bC0yIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wteGwtMyB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuY29sLXhsLTQge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC14bC01IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wteGwtNiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuY29sLXhsLTcge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC14bC04IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wteGwtOSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuY29sLXhsLTEwIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogODMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wteGwtMTEge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC14bC0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm9mZnNldC14bC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAub2Zmc2V0LXhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LXhsLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7XG4gIH1cbiAgLm9mZnNldC14bC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5vZmZzZXQteGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LXhsLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7XG4gIH1cbiAgLm9mZnNldC14bC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5vZmZzZXQteGwtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LXhsLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7XG4gIH1cbiAgLm9mZnNldC14bC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5vZmZzZXQteGwtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLm9mZnNldC14bC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTtcbiAgfVxuICAuZy14bC0wLFxuICAuZ3gteGwtMCB7XG4gICAgLS1icy1ndXR0ZXIteDogMDtcbiAgfVxuICAuZy14bC0wLFxuICAuZ3kteGwtMCB7XG4gICAgLS1icy1ndXR0ZXIteTogMDtcbiAgfVxuICAuZy14bC0xLFxuICAuZ3gteGwtMSB7XG4gICAgLS1icy1ndXR0ZXIteDogMC4yNXJlbTtcbiAgfVxuICAuZy14bC0xLFxuICAuZ3kteGwtMSB7XG4gICAgLS1icy1ndXR0ZXIteTogMC4yNXJlbTtcbiAgfVxuICAuZy14bC0yLFxuICAuZ3gteGwtMiB7XG4gICAgLS1icy1ndXR0ZXIteDogMC41cmVtO1xuICB9XG4gIC5nLXhsLTIsXG4gIC5neS14bC0yIHtcbiAgICAtLWJzLWd1dHRlci15OiAwLjVyZW07XG4gIH1cbiAgLmcteGwtMyxcbiAgLmd4LXhsLTMge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDFyZW07XG4gIH1cbiAgLmcteGwtMyxcbiAgLmd5LXhsLTMge1xuICAgIC0tYnMtZ3V0dGVyLXk6IDFyZW07XG4gIH1cbiAgLmcteGwtNCxcbiAgLmd4LXhsLTQge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDEuNXJlbTtcbiAgfVxuICAuZy14bC00LFxuICAuZ3kteGwtNCB7XG4gICAgLS1icy1ndXR0ZXIteTogMS41cmVtO1xuICB9XG4gIC5nLXhsLTUsXG4gIC5neC14bC01IHtcbiAgICAtLWJzLWd1dHRlci14OiAzcmVtO1xuICB9XG4gIC5nLXhsLTUsXG4gIC5neS14bC01IHtcbiAgICAtLWJzLWd1dHRlci15OiAzcmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5jb2wteHhsIHtcbiAgICBmbGV4OiAxIDAgMCU7XG4gIH1cbiAgLnJvdy1jb2xzLXh4bC1hdXRvID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLnJvdy1jb2xzLXh4bC0xID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnJvdy1jb2xzLXh4bC0yID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAucm93LWNvbHMteHhsLTMgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlO1xuICB9XG4gIC5yb3ctY29scy14eGwtNCA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnJvdy1jb2xzLXh4bC01ID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAucm93LWNvbHMteHhsLTYgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wteHhsLWF1dG8ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5jb2wteHhsLTEge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXh4bC0yIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wteHhsLTMge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmNvbC14eGwtNCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXh4bC01IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wteHhsLTYge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC14eGwtNyB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXh4bC04IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wteHhsLTkge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC14eGwtMTAge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC14eGwtMTEge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC14eGwtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5vZmZzZXQteHhsLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5vZmZzZXQteHhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LXh4bC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5vZmZzZXQteHhsLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLm9mZnNldC14eGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LXh4bC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5vZmZzZXQteHhsLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLm9mZnNldC14eGwtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LXh4bC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5vZmZzZXQteHhsLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLm9mZnNldC14eGwtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLm9mZnNldC14eGwtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmcteHhsLTAsXG4gIC5neC14eGwtMCB7XG4gICAgLS1icy1ndXR0ZXIteDogMDtcbiAgfVxuICAuZy14eGwtMCxcbiAgLmd5LXh4bC0wIHtcbiAgICAtLWJzLWd1dHRlci15OiAwO1xuICB9XG4gIC5nLXh4bC0xLFxuICAuZ3gteHhsLTEge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDAuMjVyZW07XG4gIH1cbiAgLmcteHhsLTEsXG4gIC5neS14eGwtMSB7XG4gICAgLS1icy1ndXR0ZXIteTogMC4yNXJlbTtcbiAgfVxuICAuZy14eGwtMixcbiAgLmd4LXh4bC0yIHtcbiAgICAtLWJzLWd1dHRlci14OiAwLjVyZW07XG4gIH1cbiAgLmcteHhsLTIsXG4gIC5neS14eGwtMiB7XG4gICAgLS1icy1ndXR0ZXIteTogMC41cmVtO1xuICB9XG4gIC5nLXh4bC0zLFxuICAuZ3gteHhsLTMge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDFyZW07XG4gIH1cbiAgLmcteHhsLTMsXG4gIC5neS14eGwtMyB7XG4gICAgLS1icy1ndXR0ZXIteTogMXJlbTtcbiAgfVxuICAuZy14eGwtNCxcbiAgLmd4LXh4bC00IHtcbiAgICAtLWJzLWd1dHRlci14OiAxLjVyZW07XG4gIH1cbiAgLmcteHhsLTQsXG4gIC5neS14eGwtNCB7XG4gICAgLS1icy1ndXR0ZXIteTogMS41cmVtO1xuICB9XG4gIC5nLXh4bC01LFxuICAuZ3gteHhsLTUge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDNyZW07XG4gIH1cbiAgLmcteHhsLTUsXG4gIC5neS14eGwtNSB7XG4gICAgLS1icy1ndXR0ZXIteTogM3JlbTtcbiAgfVxufVxuLnRhYmxlIHtcbiAgLS1icy10YWJsZS1jb2xvci10eXBlOiBpbml0aWFsO1xuICAtLWJzLXRhYmxlLWJnLXR5cGU6IGluaXRpYWw7XG4gIC0tYnMtdGFibGUtY29sb3Itc3RhdGU6IGluaXRpYWw7XG4gIC0tYnMtdGFibGUtYmctc3RhdGU6IGluaXRpYWw7XG4gIC0tYnMtdGFibGUtY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy10YWJsZS1iZzogdmFyKC0tYnMtYm9keS1iZyk7XG4gIC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICAtLWJzLXRhYmxlLWFjY2VudC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtYmc6IHJnYmEodmFyKC0tYnMtZW1waGFzaXMtY29sb3ItcmdiKSwgMC4wNSk7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWJnOiByZ2JhKHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yLXJnYiksIDAuMSk7XG4gIC0tYnMtdGFibGUtaG92ZXItY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy10YWJsZS1ob3Zlci1iZzogcmdiYSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCAwLjA3NSk7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLXRhYmxlLWJvcmRlci1jb2xvcik7XG59XG4udGFibGUgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtO1xuICBjb2xvcjogdmFyKC0tYnMtdGFibGUtY29sb3Itc3RhdGUsIHZhcigtLWJzLXRhYmxlLWNvbG9yLXR5cGUsIHZhcigtLWJzLXRhYmxlLWNvbG9yKSkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy10YWJsZS1iZyk7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJzLWJvcmRlci13aWR0aCk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDk5OTlweCB2YXIoLS1icy10YWJsZS1iZy1zdGF0ZSwgdmFyKC0tYnMtdGFibGUtYmctdHlwZSwgdmFyKC0tYnMtdGFibGUtYWNjZW50LWJnKSkpO1xufVxuLnRhYmxlID4gdGJvZHkge1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbn1cbi50YWJsZSA+IHRoZWFkIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLnRhYmxlLWdyb3VwLWRpdmlkZXIge1xuICBib3JkZXItdG9wOiBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSBzb2xpZCBjdXJyZW50Y29sb3I7XG59XG5cbi5jYXB0aW9uLXRvcCB7XG4gIGNhcHRpb24tc2lkZTogdG9wO1xufVxuXG4udGFibGUtc20gPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuMjVyZW07XG59XG5cbi50YWJsZS1ib3JkZXJlZCA+IDpub3QoY2FwdGlvbikgPiAqIHtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIDA7XG59XG4udGFibGUtYm9yZGVyZWQgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICBib3JkZXItd2lkdGg6IDAgdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbn1cblxuLnRhYmxlLWJvcmRlcmxlc3MgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuLnRhYmxlLWJvcmRlcmxlc3MgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuXG4udGFibGUtc3RyaXBlZCA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUob2RkKSA+ICoge1xuICAtLWJzLXRhYmxlLWNvbG9yLXR5cGU6IHZhcigtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAtLWJzLXRhYmxlLWJnLXR5cGU6IHZhcigtLWJzLXRhYmxlLXN0cmlwZWQtYmcpO1xufVxuXG4udGFibGUtc3RyaXBlZC1jb2x1bW5zID4gOm5vdChjYXB0aW9uKSA+IHRyID4gOm50aC1jaGlsZChldmVuKSB7XG4gIC0tYnMtdGFibGUtY29sb3ItdHlwZTogdmFyKC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcik7XG4gIC0tYnMtdGFibGUtYmctdHlwZTogdmFyKC0tYnMtdGFibGUtc3RyaXBlZC1iZyk7XG59XG5cbi50YWJsZS1hY3RpdmUge1xuICAtLWJzLXRhYmxlLWNvbG9yLXN0YXRlOiB2YXIoLS1icy10YWJsZS1hY3RpdmUtY29sb3IpO1xuICAtLWJzLXRhYmxlLWJnLXN0YXRlOiB2YXIoLS1icy10YWJsZS1hY3RpdmUtYmcpO1xufVxuXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyOmhvdmVyID4gKiB7XG4gIC0tYnMtdGFibGUtY29sb3Itc3RhdGU6IHZhcigtLWJzLXRhYmxlLWhvdmVyLWNvbG9yKTtcbiAgLS1icy10YWJsZS1iZy1zdGF0ZTogdmFyKC0tYnMtdGFibGUtaG92ZXItYmcpO1xufVxuXG4udGFibGUtcHJpbWFyeSB7XG4gIC0tYnMtdGFibGUtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtYmc6ICNjZmUyZmY7XG4gIC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yOiAjYTZiNWNjO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtYmc6ICNjNWQ3ZjI7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1hY3RpdmUtYmc6ICNiYWNiZTY7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWhvdmVyLWJnOiAjYmZkMWVjO1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogdmFyKC0tYnMtdGFibGUtY29sb3IpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLXRhYmxlLWJvcmRlci1jb2xvcik7XG59XG5cbi50YWJsZS1zZWNvbmRhcnkge1xuICAtLWJzLXRhYmxlLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWJnOiAjZTJlM2U1O1xuICAtLWJzLXRhYmxlLWJvcmRlci1jb2xvcjogI2I1YjZiNztcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiAjZDdkOGRhO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWJnOiAjY2JjY2NlO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1ob3Zlci1iZzogI2QxZDJkNDtcbiAgLS1icy10YWJsZS1ob3Zlci1jb2xvcjogIzAwMDtcbiAgY29sb3I6IHZhcigtLWJzLXRhYmxlLWNvbG9yKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy10YWJsZS1ib3JkZXItY29sb3IpO1xufVxuXG4udGFibGUtc3VjY2VzcyB7XG4gIC0tYnMtdGFibGUtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtYmc6ICNkMWU3ZGQ7XG4gIC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yOiAjYTdiOWIxO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtYmc6ICNjN2RiZDI7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1hY3RpdmUtYmc6ICNiY2QwYzc7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWhvdmVyLWJnOiAjYzFkNmNjO1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogdmFyKC0tYnMtdGFibGUtY29sb3IpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLXRhYmxlLWJvcmRlci1jb2xvcik7XG59XG5cbi50YWJsZS1pbmZvIHtcbiAgLS1icy10YWJsZS1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1iZzogI2NmZjRmYztcbiAgLS1icy10YWJsZS1ib3JkZXItY29sb3I6ICNhNmMzY2E7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1iZzogI2M1ZThlZjtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1iZzogI2JhZGNlMztcbiAgLS1icy10YWJsZS1hY3RpdmUtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtaG92ZXItYmc6ICNiZmUyZTk7XG4gIC0tYnMtdGFibGUtaG92ZXItY29sb3I6ICMwMDA7XG4gIGNvbG9yOiB2YXIoLS1icy10YWJsZS1jb2xvcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yKTtcbn1cblxuLnRhYmxlLXdhcm5pbmcge1xuICAtLWJzLXRhYmxlLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWJnOiAjZmZmM2NkO1xuICAtLWJzLXRhYmxlLWJvcmRlci1jb2xvcjogI2NjYzJhNDtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiAjZjJlN2MzO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWJnOiAjZTZkYmI5O1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1ob3Zlci1iZzogI2VjZTFiZTtcbiAgLS1icy10YWJsZS1ob3Zlci1jb2xvcjogIzAwMDtcbiAgY29sb3I6IHZhcigtLWJzLXRhYmxlLWNvbG9yKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy10YWJsZS1ib3JkZXItY29sb3IpO1xufVxuXG4udGFibGUtZGFuZ2VyIHtcbiAgLS1icy10YWJsZS1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1iZzogI2Y4ZDdkYTtcbiAgLS1icy10YWJsZS1ib3JkZXItY29sb3I6ICNjNmFjYWU7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1iZzogI2VjY2NjZjtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1iZzogI2RmYzJjNDtcbiAgLS1icy10YWJsZS1hY3RpdmUtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtaG92ZXItYmc6ICNlNWM3Y2E7XG4gIC0tYnMtdGFibGUtaG92ZXItY29sb3I6ICMwMDA7XG4gIGNvbG9yOiB2YXIoLS1icy10YWJsZS1jb2xvcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yKTtcbn1cblxuLnRhYmxlLWxpZ2h0IHtcbiAgLS1icy10YWJsZS1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1iZzogI2Y4ZjlmYTtcbiAgLS1icy10YWJsZS1ib3JkZXItY29sb3I6ICNjNmM3Yzg7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1iZzogI2VjZWRlZTtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1iZzogI2RmZTBlMTtcbiAgLS1icy10YWJsZS1hY3RpdmUtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtaG92ZXItYmc6ICNlNWU2ZTc7XG4gIC0tYnMtdGFibGUtaG92ZXItY29sb3I6ICMwMDA7XG4gIGNvbG9yOiB2YXIoLS1icy10YWJsZS1jb2xvcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yKTtcbn1cblxuLnRhYmxlLWRhcmsge1xuICAtLWJzLXRhYmxlLWNvbG9yOiAjZmZmO1xuICAtLWJzLXRhYmxlLWJnOiAjMjEyNTI5O1xuICAtLWJzLXRhYmxlLWJvcmRlci1jb2xvcjogIzRkNTE1NDtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiAjMmMzMDM0O1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6ICNmZmY7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWJnOiAjMzczYjNlO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogI2ZmZjtcbiAgLS1icy10YWJsZS1ob3Zlci1iZzogIzMyMzUzOTtcbiAgLS1icy10YWJsZS1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgY29sb3I6IHZhcigtLWJzLXRhYmxlLWNvbG9yKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy10YWJsZS1ib3JkZXItY29sb3IpO1xufVxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLXNtIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLW1kIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLWxnIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS14bCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzk5Ljk4cHgpIHtcbiAgLnRhYmxlLXJlc3BvbnNpdmUteHhsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxufVxuLmZvcm0tbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuMzc1cmVtICsgdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuMzc1cmVtICsgdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoMC41cmVtICsgdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuNXJlbSArIHZhcigtLWJzLWJvcmRlci13aWR0aCkpO1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuMjVyZW0gKyB2YXIoLS1icy1ib3JkZXItd2lkdGgpKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC4yNXJlbSArIHZhcigtLWJzLWJvcmRlci13aWR0aCkpO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4uZm9ybS10ZXh0IHtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBjb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWNvbG9yKTtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJvZHktYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5mb3JtLWNvbnRyb2xbdHlwZT1maWxlXSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uZm9ybS1jb250cm9sW3R5cGU9ZmlsZV06bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gIGNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYm9keS1iZyk7XG4gIGJvcmRlci1jb2xvcjogIzg2YjdmZTtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDEzLCAxMTAsIDI1MywgMC4yNSk7XG59XG4uZm9ybS1jb250cm9sOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICBtaW4td2lkdGg6IDg1cHg7XG4gIGhlaWdodDogMS41ZW07XG4gIG1hcmdpbjogMDtcbn1cbi5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xufVxuLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWNvbG9yKTtcbiAgb3BhY2l0eTogMTtcbn1cbi5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktYmcpO1xuICBvcGFjaXR5OiAxO1xufVxuLmZvcm0tY29udHJvbDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xuICBtYXJnaW46IC0wLjM3NXJlbSAtMC43NXJlbTtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDAuNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtdGVydGlhcnktYmcpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmZvcm0tY29udHJvbDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5mb3JtLWNvbnRyb2w6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1iZyk7XG59XG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgMDtcbn1cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0OmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbC1zbSwgLmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLWxnIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtc20pO1xufVxuLmZvcm0tY29udHJvbC1zbTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgbWFyZ2luOiAtMC4yNXJlbSAtMC41cmVtO1xuICBtYXJnaW4taW5saW5lLWVuZDogMC41cmVtO1xufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDFyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuLmZvcm0tY29udHJvbC1sZzo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgbWFyZ2luOiAtMC41cmVtIC0xcmVtO1xuICBtYXJnaW4taW5saW5lLWVuZDogMXJlbTtcbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7XG59XG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wtc20ge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEuNWVtICsgMC41cmVtICsgY2FsYyh2YXIoLS1icy1ib3JkZXItd2lkdGgpICogMikpO1xufVxudGV4dGFyZWEuZm9ybS1jb250cm9sLWxnIHtcbiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDFyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTtcbiAgcGFkZGluZzogMC4zNzVyZW07XG59XG4uZm9ybS1jb250cm9sLWNvbG9yOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5mb3JtLWNvbnRyb2wtY29sb3I6Oi1tb3otY29sb3Itc3dhdGNoIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xufVxuLmZvcm0tY29udHJvbC1jb2xvcjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG59XG4uZm9ybS1jb250cm9sLWNvbG9yLmZvcm0tY29udHJvbC1zbSB7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTtcbn1cbi5mb3JtLWNvbnRyb2wtY29sb3IuZm9ybS1jb250cm9sLWxnIHtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTtcbn1cblxuLmZvcm0tc2VsZWN0IHtcbiAgLS1icy1mb3JtLXNlbGVjdC1iZy1pbWc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyMzM0M2E0MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAyLjI1cmVtIDAuMzc1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tYnMtZm9ybS1zZWxlY3QtYmctaW1nKSwgdmFyKC0tYnMtZm9ybS1zZWxlY3QtYmctaWNvbiwgbm9uZSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNzVyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTJweDtcbiAgYm9yZGVyOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1zZWxlY3Qge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5mb3JtLXNlbGVjdDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzg2YjdmZTtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDEzLCAxMTAsIDI1MywgMC4yNSk7XG59XG4uZm9ybS1zZWxlY3RbbXVsdGlwbGVdLCAuZm9ybS1zZWxlY3Rbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLmZvcm0tc2VsZWN0OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTtcbn1cbi5mb3JtLXNlbGVjdDotbW96LWZvY3VzcmluZyB7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IDAgMCAwIHZhcigtLWJzLWJvZHktY29sb3IpO1xufVxuXG4uZm9ybS1zZWxlY3Qtc20ge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tc2VsZWN0LWxnIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG5bZGF0YS1icy10aGVtZT1kYXJrXSAuZm9ybS1zZWxlY3Qge1xuICAtLWJzLWZvcm0tc2VsZWN0LWJnLWltZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZGVlMmU2JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nbTIgNSA2IDYgNi02Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG4uZm9ybS1jaGVjayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAxLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS41ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtO1xufVxuLmZvcm0tY2hlY2sgLmZvcm0tY2hlY2staW5wdXQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IC0xLjVlbTtcbn1cblxuLmZvcm0tY2hlY2stcmV2ZXJzZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLmZvcm0tY2hlY2stcmV2ZXJzZSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAtMS41ZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIC0tYnMtZm9ybS1jaGVjay1iZzogdmFyKC0tYnMtYm9keS1iZyk7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgbWFyZ2luLXRvcDogMC4yNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1mb3JtLWNoZWNrLWJnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tYnMtZm9ybS1jaGVjay1iZy1pbWFnZSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBib3JkZXI6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbn1cbi5mb3JtLWNoZWNrLWlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xufVxuLmZvcm0tY2hlY2staW5wdXRbdHlwZT1yYWRpb10ge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4uZm9ybS1jaGVjay1pbnB1dDphY3RpdmUge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoOTAlKTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjODZiN2ZlO1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEoMTMsIDExMCwgMjUzLCAwLjI1KTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0OmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQ2ZWZkO1xuICBib3JkZXItY29sb3I6ICMwZDZlZmQ7XG59XG4uZm9ybS1jaGVjay1pbnB1dDpjaGVja2VkW3R5cGU9Y2hlY2tib3hdIHtcbiAgLS1icy1mb3JtLWNoZWNrLWJnLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJyUzZSUzY3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNmZmYnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdtNiAxMCAzIDMgNi02Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZFt0eXBlPXJhZGlvXSB7XG4gIC0tYnMtZm9ybS1jaGVjay1iZy1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMicgZmlsbD0nJTIzZmZmJy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuLmZvcm0tY2hlY2staW5wdXRbdHlwZT1jaGVja2JveF06aW5kZXRlcm1pbmF0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZDZlZmQ7XG4gIGJvcmRlci1jb2xvcjogIzBkNmVmZDtcbiAgLS1icy1mb3JtLWNoZWNrLWJnLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJyUzZSUzY3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNmZmYnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGg4Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuLmZvcm0tY2hlY2staW5wdXQ6ZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgZmlsdGVyOiBub25lO1xuICBvcGFjaXR5OiAwLjU7XG59XG4uZm9ybS1jaGVjay1pbnB1dFtkaXNhYmxlZF0gfiAuZm9ybS1jaGVjay1sYWJlbCwgLmZvcm0tY2hlY2staW5wdXQ6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4uZm9ybS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6IDIuNWVtO1xufVxuLmZvcm0tc3dpdGNoIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgLS1icy1mb3JtLXN3aXRjaC1iZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMycgZmlsbD0ncmdiYSUyODAsIDAsIDAsIDAuMjUlMjknLyUzZSUzYy9zdmclM2VcIik7XG4gIHdpZHRoOiAyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMi41ZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWJzLWZvcm0tc3dpdGNoLWJnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjE1cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmZvcm0tc3dpdGNoIC5mb3JtLWNoZWNrLWlucHV0OmZvY3VzIHtcbiAgLS1icy1mb3JtLXN3aXRjaC1iZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMycgZmlsbD0nJTIzODZiN2ZlJy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuLmZvcm0tc3dpdGNoIC5mb3JtLWNoZWNrLWlucHV0OmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gIC0tYnMtZm9ybS1zd2l0Y2gtYmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9JyUyM2ZmZicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi5mb3JtLXN3aXRjaC5mb3JtLWNoZWNrLXJldmVyc2Uge1xuICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLmZvcm0tc3dpdGNoLmZvcm0tY2hlY2stcmV2ZXJzZSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gIG1hcmdpbi1yaWdodDogLTIuNWVtO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbi5idG4tY2hlY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJ0bi1jaGVja1tkaXNhYmxlZF0gKyAuYnRuLCAuYnRuLWNoZWNrOmRpc2FibGVkICsgLmJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBmaWx0ZXI6IG5vbmU7XG4gIG9wYWNpdHk6IDAuNjU7XG59XG5cbltkYXRhLWJzLXRoZW1lPWRhcmtdIC5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dDpub3QoOmNoZWNrZWQpOm5vdCg6Zm9jdXMpIHtcbiAgLS1icy1mb3JtLXN3aXRjaC1iZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMycgZmlsbD0ncmdiYSUyODI1NSwgMjU1LCAyNTUsIDAuMjUlMjknLyUzZSUzYy9zdmclM2VcIik7XG59XG5cbi5mb3JtLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMS41cmVtO1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5mb3JtLXJhbmdlOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5mb3JtLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjI1cmVtIHJnYmEoMTMsIDExMCwgMjUzLCAwLjI1KTtcbn1cbi5mb3JtLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDAuMjVyZW0gcmdiYSgxMywgMTEwLCAyNTMsIDAuMjUpO1xufVxuLmZvcm0tcmFuZ2U6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICBib3JkZXI6IDA7XG59XG4uZm9ybS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tdG9wOiAtMC4yNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkNmVmZDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5mb3JtLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjZkNGZlO1xufVxuLmZvcm0tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbn1cbi5mb3JtLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkNmVmZDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmZvcm0tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWI6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I2ZDRmZTtcbn1cbi5mb3JtLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbn1cbi5mb3JtLXJhbmdlOmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uZm9ybS1yYW5nZTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xufVxuLmZvcm0tcmFuZ2U6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xufVxuXG4uZm9ybS1mbG9hdGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbCxcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLXNlbGVjdCB7XG4gIGhlaWdodDogY2FsYygzLjVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMy41cmVtICsgY2FsYyh2YXIoLS1icy1ib3JkZXItd2lkdGgpICogMikpO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbn1cbi5mb3JtLWZsb2F0aW5nID4gbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAxcmVtIDAuNzVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjFzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmZvcm0tZmxvYXRpbmcgPiBsYWJlbCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIHBhZGRpbmc6IDFyZW0gMC43NXJlbTtcbn1cbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIsXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDpmb2N1cywgLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dDpmb2N1cyxcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQ6bm90KDpwbGFjZWhvbGRlci1zaG93bikge1xuICBwYWRkaW5nLXRvcDogMS42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbn1cbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDotd2Via2l0LWF1dG9maWxsLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dDotd2Via2l0LWF1dG9maWxsIHtcbiAgcGFkZGluZy10b3A6IDEuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG59XG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLXNlbGVjdCB7XG4gIHBhZGRpbmctdG9wOiAxLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xufVxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOmZvY3VzIH4gbGFiZWwsXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2w6bm90KDpwbGFjZWhvbGRlci1zaG93bikgfiBsYWJlbCxcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQgfiBsYWJlbCxcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tc2VsZWN0IH4gbGFiZWwge1xuICBjb2xvcjogcmdiYSh2YXIoLS1icy1ib2R5LWNvbG9yLXJnYiksIDAuNjUpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpIHRyYW5zbGF0ZVkoLTAuNXJlbSkgdHJhbnNsYXRlWCgwLjE1cmVtKTtcbn1cbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDpmb2N1cyB+IGxhYmVsOjphZnRlcixcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB+IGxhYmVsOjphZnRlcixcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQgfiBsYWJlbDo6YWZ0ZXIsXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLXNlbGVjdCB+IGxhYmVsOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDFyZW0gMC4zNzVyZW07XG4gIHotaW5kZXg6IC0xO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG59XG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCB+IGxhYmVsIHtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtYm9keS1jb2xvci1yZ2IpLCAwLjY1KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjg1KSB0cmFuc2xhdGVZKC0wLjVyZW0pIHRyYW5zbGF0ZVgoMC4xNXJlbSk7XG59XG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IH4gbGFiZWwge1xuICBib3JkZXItd2lkdGg6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgMDtcbn1cbi5mb3JtLWZsb2F0aW5nID4gOmRpc2FibGVkIH4gbGFiZWwsXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQgfiBsYWJlbCB7XG4gIGNvbG9yOiAjNmM3NTdkO1xufVxuLmZvcm0tZmxvYXRpbmcgPiA6ZGlzYWJsZWQgfiBsYWJlbDo6YWZ0ZXIsXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQgfiBsYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktYmcpO1xufVxuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWZsb2F0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgd2lkdGg6IDElO1xuICBtaW4td2lkdGg6IDA7XG59XG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuLmlucHV0LWdyb3VwID4gLmZvcm0tc2VsZWN0OmZvY3VzLFxuLmlucHV0LWdyb3VwID4gLmZvcm0tZmxvYXRpbmc6Zm9jdXMtd2l0aGluIHtcbiAgei1pbmRleDogNTtcbn1cbi5pbnB1dC1ncm91cCAuYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuLmlucHV0LWdyb3VwIC5idG46Zm9jdXMge1xuICB6LWluZGV4OiA1O1xufVxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXRlcnRpYXJ5LWJnKTtcbiAgYm9yZGVyOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuYnRuIHtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5idG4ge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLXNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XG59XG5cbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTpub3QoLmRyb3Bkb3duLW1lbnUpOm5vdCguZm9ybS1mbG9hdGluZyksXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuZHJvcGRvd24tdG9nZ2xlOm50aC1sYXN0LWNoaWxkKG4rMyksXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuZm9ybS1mbG9hdGluZzpub3QoOmxhc3QtY2hpbGQpID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6bGFzdC1jaGlsZCkgPiAuZm9ybS1zZWxlY3Qge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiA6bnRoLWxhc3QtY2hpbGQobiszKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSk6bm90KC5kcm9wZG93bi1tZW51KTpub3QoLmZvcm0tZmxvYXRpbmcpLFxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gLmRyb3Bkb3duLXRvZ2dsZTpudGgtbGFzdC1jaGlsZChuKzQpLFxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiszKSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuZm9ybS1mbG9hdGluZzpudGgtbGFzdC1jaGlsZChuKzMpID4gLmZvcm0tc2VsZWN0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLmlucHV0LWdyb3VwID4gOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC52YWxpZC10b29sdGlwKTpub3QoLnZhbGlkLWZlZWRiYWNrKTpub3QoLmludmFsaWQtdG9vbHRpcCk6bm90KC5pbnZhbGlkLWZlZWRiYWNrKSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZpcnN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZpcnN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5cbi52YWxpZC1mZWVkYmFjayB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGNvbG9yOiB2YXIoLS1icy1mb3JtLXZhbGlkLWNvbG9yKTtcbn1cblxuLnZhbGlkLXRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgei1pbmRleDogNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMC4xcmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2FzLXZhbGlkYXRlZCA6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4ud2FzLXZhbGlkYXRlZCA6dmFsaWQgfiAudmFsaWQtdG9vbHRpcCxcbi5pcy12YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcbi5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQsIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yKTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0pO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyUyMzE5ODc1NCcgZD0nTTIuMyA2LjczLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTtcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQ6Zm9jdXMsIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKHZhcigtLWJzLXN1Y2Nlc3MtcmdiKSwgMC4yNSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIHRleHRhcmVhLmZvcm0tY29udHJvbDp2YWxpZCwgdGV4dGFyZWEuZm9ybS1jb250cm9sLmlzLXZhbGlkIHtcbiAgcGFkZGluZy1yaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0pO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKSByaWdodCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6dmFsaWQsIC5mb3JtLXNlbGVjdC5pcy12YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS12YWxpZC1ib3JkZXItY29sb3IpO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tc2VsZWN0OnZhbGlkOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSwgLndhcy12YWxpZGF0ZWQgLmZvcm0tc2VsZWN0OnZhbGlkOm5vdChbbXVsdGlwbGVdKVtzaXplPVwiMVwiXSwgLmZvcm0tc2VsZWN0LmlzLXZhbGlkOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSwgLmZvcm0tc2VsZWN0LmlzLXZhbGlkOm5vdChbbXVsdGlwbGVdKVtzaXplPVwiMVwiXSB7XG4gIC0tYnMtZm9ybS1zZWxlY3QtYmctaWNvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPSclMjMxOTg3NTQnIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgcGFkZGluZy1yaWdodDogNC4xMjVyZW07XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNzVyZW0gY2VudGVyLCBjZW50ZXIgcmlnaHQgMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHgsIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tc2VsZWN0OnZhbGlkOmZvY3VzLCAuZm9ybS1zZWxlY3QuaXMtdmFsaWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKHZhcigtLWJzLXN1Y2Nlc3MtcmdiKSwgMC4yNSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtY29sb3I6dmFsaWQsIC5mb3JtLWNvbnRyb2wtY29sb3IuaXMtdmFsaWQge1xuICB3aWR0aDogY2FsYygzcmVtICsgY2FsYygxLjVlbSArIDAuNzVyZW0pKTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQsIC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcik7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZDpjaGVja2VkLCAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtZm9ybS12YWxpZC1jb2xvcik7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZDpmb2N1cywgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQ6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtc3VjY2Vzcy1yZ2IpLCAwLjI1KTtcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwsIC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICBjb2xvcjogdmFyKC0tYnMtZm9ybS12YWxpZC1jb2xvcik7XG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB+IC52YWxpZC1mZWVkYmFjayB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbDpub3QoOmZvY3VzKTp2YWxpZCwgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbDpub3QoOmZvY3VzKS5pcy12YWxpZCxcbi53YXMtdmFsaWRhdGVkIC5pbnB1dC1ncm91cCA+IC5mb3JtLXNlbGVjdDpub3QoOmZvY3VzKTp2YWxpZCxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLXNlbGVjdDpub3QoOmZvY3VzKS5pcy12YWxpZCxcbi53YXMtdmFsaWRhdGVkIC5pbnB1dC1ncm91cCA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zm9jdXMtd2l0aGluKTp2YWxpZCxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zm9jdXMtd2l0aGluKS5pcy12YWxpZCB7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgY29sb3I6IHZhcigtLWJzLWZvcm0taW52YWxpZC1jb2xvcik7XG59XG5cbi5pbnZhbGlkLXRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgei1pbmRleDogNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMC4xcmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtZGFuZ2VyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53YXMtdmFsaWRhdGVkIDppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4ud2FzLXZhbGlkYXRlZCA6aW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAsXG4uaXMtaW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxuLmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZCwgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yKTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0pO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZGMzNTQ1JyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvJTNlJTNjcGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyUyM2RjMzU0NScgc3Ryb2tlPSdub25lJy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTtcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZDpmb2N1cywgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKHZhcigtLWJzLWRhbmdlci1yZ2IpLCAwLjI1KTtcbn1cblxuLndhcy12YWxpZGF0ZWQgdGV4dGFyZWEuZm9ybS1jb250cm9sOmludmFsaWQsIHRleHRhcmVhLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIHtcbiAgcGFkZGluZy1yaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0pO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKSByaWdodCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6aW52YWxpZCwgLmZvcm0tc2VsZWN0LmlzLWludmFsaWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tc2VsZWN0OmludmFsaWQ6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6aW52YWxpZDpub3QoW211bHRpcGxlXSlbc2l6ZT1cIjFcIl0sIC5mb3JtLXNlbGVjdC5pcy1pbnZhbGlkOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSwgLmZvcm0tc2VsZWN0LmlzLWludmFsaWQ6bm90KFttdWx0aXBsZV0pW3NpemU9XCIxXCJdIHtcbiAgLS1icy1mb3JtLXNlbGVjdC1iZy1pY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZGMzNTQ1JyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvJTNlJTNjcGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyUyM2RjMzU0NScgc3Ryb2tlPSdub25lJy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICBwYWRkaW5nLXJpZ2h0OiA0LjEyNXJlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC43NXJlbSBjZW50ZXIsIGNlbnRlciByaWdodCAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTJweCwgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSkgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSk7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6aW52YWxpZDpmb2N1cywgLmZvcm0tc2VsZWN0LmlzLWludmFsaWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIDAuMjUpO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sLWNvbG9yOmludmFsaWQsIC5mb3JtLWNvbnRyb2wtY29sb3IuaXMtaW52YWxpZCB7XG4gIHdpZHRoOiBjYWxjKDNyZW0gKyBjYWxjKDEuNWVtICsgMC43NXJlbSkpO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkLCAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yKTtcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQ6Y2hlY2tlZCwgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKTtcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQ6Zm9jdXMsIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQ6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIDAuMjUpO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsLCAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICBjb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKTtcbn1cblxuLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IH4gLmludmFsaWQtZmVlZGJhY2sge1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG5cbi53YXMtdmFsaWRhdGVkIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2w6bm90KDpmb2N1cyk6aW52YWxpZCwgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbDpub3QoOmZvY3VzKS5pcy1pbnZhbGlkLFxuLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwID4gLmZvcm0tc2VsZWN0Om5vdCg6Zm9jdXMpOmludmFsaWQsXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1zZWxlY3Q6bm90KDpmb2N1cykuaXMtaW52YWxpZCxcbi53YXMtdmFsaWRhdGVkIC5pbnB1dC1ncm91cCA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zm9jdXMtd2l0aGluKTppbnZhbGlkLFxuLmlucHV0LWdyb3VwID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmb2N1cy13aXRoaW4pLmlzLWludmFsaWQge1xuICB6LWluZGV4OiA0O1xufVxuXG4uYnRuIHtcbiAgLS1icy1idG4tcGFkZGluZy14OiAwLjc1cmVtO1xuICAtLWJzLWJ0bi1wYWRkaW5nLXk6IDAuMzc1cmVtO1xuICAtLWJzLWJ0bi1mb250LWZhbWlseTogO1xuICAtLWJzLWJ0bi1mb250LXNpemU6IDFyZW07XG4gIC0tYnMtYnRuLWZvbnQtd2VpZ2h0OiA0MDA7XG4gIC0tYnMtYnRuLWxpbmUtaGVpZ2h0OiAxLjU7XG4gIC0tYnMtYnRuLWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgLS1icy1idG4tYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLWJ0bi1ib3JkZXItd2lkdGg6IHZhcigtLWJzLWJvcmRlci13aWR0aCk7XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLWJzLWJ0bi1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtb3BhY2l0eTogMC42NTtcbiAgLS1icy1idG4tZm9jdXMtYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKHZhcigtLWJzLWJ0bi1mb2N1cy1zaGFkb3ctcmdiKSwgLjUpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLWJzLWJ0bi1wYWRkaW5nLXkpIHZhcigtLWJzLWJ0bi1wYWRkaW5nLXgpO1xuICBmb250LWZhbWlseTogdmFyKC0tYnMtYnRuLWZvbnQtZmFtaWx5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1icy1idG4tZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWJzLWJ0bi1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1icy1idG4tbGluZS1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogdmFyKC0tYnMtYnRuLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtYnRuLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYnRuLWJnKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5idG4ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5idG46aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbn1cbi5idG4tY2hlY2sgKyAuYnRuOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWJzLWJ0bi1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJ0bi1iZyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtYnRuLWJvcmRlci1jb2xvcik7XG59XG4uYnRuOmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtYnRuLWZvY3VzLWJveC1zaGFkb3cpO1xufVxuLmJ0bi1jaGVjazpmb2N1cy12aXNpYmxlICsgLmJ0biB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJzLWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4sIDpub3QoLmJ0bi1jaGVjaykgKyAuYnRuOmFjdGl2ZSwgLmJ0bjpmaXJzdC1jaGlsZDphY3RpdmUsIC5idG4uYWN0aXZlLCAuYnRuLnNob3cge1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWFjdGl2ZS1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJ0bi1hY3RpdmUtYmcpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG46Zm9jdXMtdmlzaWJsZSwgOm5vdCguYnRuLWNoZWNrKSArIC5idG46YWN0aXZlOmZvY3VzLXZpc2libGUsIC5idG46Zmlyc3QtY2hpbGQ6YWN0aXZlOmZvY3VzLXZpc2libGUsIC5idG4uYWN0aXZlOmZvY3VzLXZpc2libGUsIC5idG4uc2hvdzpmb2N1cy12aXNpYmxlIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtYnRuLWZvY3VzLWJveC1zaGFkb3cpO1xufVxuLmJ0bi1jaGVjazpjaGVja2VkOmZvY3VzLXZpc2libGUgKyAuYnRuIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtYnRuLWZvY3VzLWJveC1zaGFkb3cpO1xufVxuLmJ0bjpkaXNhYmxlZCwgLmJ0bi5kaXNhYmxlZCwgZmllbGRzZXQ6ZGlzYWJsZWQgLmJ0biB7XG4gIGNvbG9yOiB2YXIoLS1icy1idG4tZGlzYWJsZWQtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYnRuLWRpc2FibGVkLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgb3BhY2l0eTogdmFyKC0tYnMtYnRuLWRpc2FibGVkLW9wYWNpdHkpO1xufVxuXG4uYnRuLXByaW1hcnkge1xuICAtLWJzLWJ0bi1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4tYmc6ICMwZDZlZmQ7XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogIzBkNmVmZDtcbiAgLS1icy1idG4taG92ZXItY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWhvdmVyLWJnOiAjMGI1ZWQ3O1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICMwYTU4Y2E7XG4gIC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2I6IDQ5LCAxMzIsIDI1MztcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICMwYTU4Y2E7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICMwYTUzYmU7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiAjMGQ2ZWZkO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICMwZDZlZmQ7XG59XG5cbi5idG4tc2Vjb25kYXJ5IHtcbiAgLS1icy1idG4tY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWJnOiAjNmM3NTdkO1xuICAtLWJzLWJ0bi1ib3JkZXItY29sb3I6ICM2Yzc1N2Q7XG4gIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1ob3Zlci1iZzogIzVjNjM2YTtcbiAgLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjNTY1ZTY0O1xuICAtLWJzLWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAxMzAsIDEzOCwgMTQ1O1xuICAtLWJzLWJ0bi1hY3RpdmUtY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1iZzogIzU2NWU2NDtcbiAgLS1icy1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogIzUxNTg1ZTtcbiAgLS1icy1idG4tYWN0aXZlLXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4tZGlzYWJsZWQtYmc6ICM2Yzc1N2Q7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIzZjNzU3ZDtcbn1cblxuLmJ0bi1zdWNjZXNzIHtcbiAgLS1icy1idG4tY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWJnOiAjMTk4NzU0O1xuICAtLWJzLWJ0bi1ib3JkZXItY29sb3I6ICMxOTg3NTQ7XG4gIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1ob3Zlci1iZzogIzE1NzM0NztcbiAgLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjMTQ2YzQzO1xuICAtLWJzLWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiA2MCwgMTUzLCAxMTA7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiAjMTQ2YzQzO1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjMTM2NTNmO1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogIzE5ODc1NDtcbiAgLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjMTk4NzU0O1xufVxuXG4uYnRuLWluZm8ge1xuICAtLWJzLWJ0bi1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYmc6ICMwZGNhZjA7XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogIzBkY2FmMDtcbiAgLS1icy1idG4taG92ZXItY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWhvdmVyLWJnOiAjMzFkMmYyO1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICMyNWNmZjI7XG4gIC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2I6IDExLCAxNzIsIDIwNDtcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICMzZGQ1ZjM7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICMyNWNmZjI7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiAjMGRjYWYwO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICMwZGNhZjA7XG59XG5cbi5idG4td2FybmluZyB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1iZzogI2ZmYzEwNztcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4taG92ZXItYmc6ICNmZmNhMmM7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI2ZmYzcyMDtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMjE3LCAxNjQsIDY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiAjZmZjZDM5O1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjZmZjNzIwO1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogI2ZmYzEwNztcbiAgLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xufVxuXG4uYnRuLWRhbmdlciB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1iZzogI2RjMzU0NTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4taG92ZXItYmc6ICNiYjJkM2I7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI2IwMmEzNztcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMjI1LCA4MywgOTc7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiAjYjAyYTM3O1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjYTUyODM0O1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogI2RjMzU0NTtcbiAgLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xufVxuXG4uYnRuLWxpZ2h0IHtcbiAgLS1icy1idG4tY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWJnOiAjZjhmOWZhO1xuICAtLWJzLWJ0bi1ib3JkZXItY29sb3I6ICNmOGY5ZmE7XG4gIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1ob3Zlci1iZzogI2QzZDRkNTtcbiAgLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjYzZjN2M4O1xuICAtLWJzLWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAyMTEsIDIxMiwgMjEzO1xuICAtLWJzLWJ0bi1hY3RpdmUtY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWFjdGl2ZS1iZzogI2M2YzdjODtcbiAgLS1icy1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI2JhYmJiYztcbiAgLS1icy1idG4tYWN0aXZlLXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tZGlzYWJsZWQtYmc6ICNmOGY5ZmE7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI2Y4ZjlmYTtcbn1cblxuLmJ0bi1kYXJrIHtcbiAgLS1icy1idG4tY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWJnOiAjMjEyNTI5O1xuICAtLWJzLWJ0bi1ib3JkZXItY29sb3I6ICMyMTI1Mjk7XG4gIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1ob3Zlci1iZzogIzQyNDY0OTtcbiAgLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjMzczYjNlO1xuICAtLWJzLWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiA2NiwgNzAsIDczO1xuICAtLWJzLWJ0bi1hY3RpdmUtY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1iZzogIzRkNTE1NDtcbiAgLS1icy1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogIzM3M2IzZTtcbiAgLS1icy1idG4tYWN0aXZlLXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4tZGlzYWJsZWQtYmc6ICMyMTI1Mjk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIzIxMjUyOTtcbn1cblxuLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICAtLWJzLWJ0bi1jb2xvcjogIzBkNmVmZDtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjMGQ2ZWZkO1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4taG92ZXItYmc6ICMwZDZlZmQ7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzBkNmVmZDtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMTMsIDExMCwgMjUzO1xuICAtLWJzLWJ0bi1hY3RpdmUtY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1iZzogIzBkNmVmZDtcbiAgLS1icy1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogIzBkNmVmZDtcbiAgLS1icy1idG4tYWN0aXZlLXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1jb2xvcjogIzBkNmVmZDtcbiAgLS1icy1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICMwZDZlZmQ7XG4gIC0tYnMtZ3JhZGllbnQ6IG5vbmU7XG59XG5cbi5idG4tb3V0bGluZS1zZWNvbmRhcnkge1xuICAtLWJzLWJ0bi1jb2xvcjogIzZjNzU3ZDtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjNmM3NTdkO1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4taG92ZXItYmc6ICM2Yzc1N2Q7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzZjNzU3ZDtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMTA4LCAxMTcsIDEyNTtcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICM2Yzc1N2Q7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICM2Yzc1N2Q7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICM2Yzc1N2Q7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudDtcbiAgLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjNmM3NTdkO1xuICAtLWJzLWdyYWRpZW50OiBub25lO1xufVxuXG4uYnRuLW91dGxpbmUtc3VjY2VzcyB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjMTk4NzU0O1xuICAtLWJzLWJ0bi1ib3JkZXItY29sb3I6ICMxOTg3NTQ7XG4gIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1ob3Zlci1iZzogIzE5ODc1NDtcbiAgLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjMTk4NzU0O1xuICAtLWJzLWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAyNSwgMTM1LCA4NDtcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICMxOTg3NTQ7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICMxOTg3NTQ7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICMxOTg3NTQ7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudDtcbiAgLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjMTk4NzU0O1xuICAtLWJzLWdyYWRpZW50OiBub25lO1xufVxuXG4uYnRuLW91dGxpbmUtaW5mbyB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjMGRjYWYwO1xuICAtLWJzLWJ0bi1ib3JkZXItY29sb3I6ICMwZGNhZjA7XG4gIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1ob3Zlci1iZzogIzBkY2FmMDtcbiAgLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjMGRjYWYwO1xuICAtLWJzLWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAxMywgMjAyLCAyNDA7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiAjMGRjYWYwO1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjMGRjYWYwO1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiAjMGRjYWYwO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIzBkY2FmMDtcbiAgLS1icy1ncmFkaWVudDogbm9uZTtcbn1cblxuLmJ0bi1vdXRsaW5lLXdhcm5pbmcge1xuICAtLWJzLWJ0bi1jb2xvcjogI2ZmYzEwNztcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4taG92ZXItYmc6ICNmZmMxMDc7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI2ZmYzEwNztcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMjU1LCAxOTMsIDc7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiAjZmZjMTA3O1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiAjZmZjMTA3O1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI2ZmYzEwNztcbiAgLS1icy1ncmFkaWVudDogbm9uZTtcbn1cblxuLmJ0bi1vdXRsaW5lLWRhbmdlciB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjZGMzNTQ1O1xuICAtLWJzLWJ0bi1ib3JkZXItY29sb3I6ICNkYzM1NDU7XG4gIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1ob3Zlci1iZzogI2RjMzU0NTtcbiAgLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xuICAtLWJzLWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAyMjAsIDUzLCA2OTtcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICNkYzM1NDU7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICNkYzM1NDU7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICNkYzM1NDU7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudDtcbiAgLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xuICAtLWJzLWdyYWRpZW50OiBub25lO1xufVxuXG4uYnRuLW91dGxpbmUtbGlnaHQge1xuICAtLWJzLWJ0bi1jb2xvcjogI2Y4ZjlmYTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4taG92ZXItYmc6ICNmOGY5ZmE7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI2Y4ZjlmYTtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMjQ4LCAyNDksIDI1MDtcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICNmOGY5ZmE7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICNmOGY5ZmE7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICNmOGY5ZmE7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudDtcbiAgLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xuICAtLWJzLWdyYWRpZW50OiBub25lO1xufVxuXG4uYnRuLW91dGxpbmUtZGFyayB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjMjEyNTI5O1xuICAtLWJzLWJ0bi1ib3JkZXItY29sb3I6ICMyMTI1Mjk7XG4gIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1ob3Zlci1iZzogIzIxMjUyOTtcbiAgLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjMjEyNTI5O1xuICAtLWJzLWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAzMywgMzcsIDQxO1xuICAtLWJzLWJ0bi1hY3RpdmUtY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1iZzogIzIxMjUyOTtcbiAgLS1icy1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogIzIxMjUyOTtcbiAgLS1icy1idG4tYWN0aXZlLXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1jb2xvcjogIzIxMjUyOTtcbiAgLS1icy1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICMyMTI1Mjk7XG4gIC0tYnMtZ3JhZGllbnQ6IG5vbmU7XG59XG5cbi5idG4tbGluayB7XG4gIC0tYnMtYnRuLWZvbnQtd2VpZ2h0OiA0MDA7XG4gIC0tYnMtYnRuLWNvbG9yOiB2YXIoLS1icy1saW5rLWNvbG9yKTtcbiAgLS1icy1idG4tYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogdmFyKC0tYnMtbGluay1ob3Zlci1jb2xvcik7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtbGluay1ob3Zlci1jb2xvcik7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1jb2xvcjogIzZjNzU3ZDtcbiAgLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1icy1idG4tYm94LXNoYWRvdzogMCAwIDAgIzAwMDtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogNDksIDEzMiwgMjUzO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5idG4tbGluazpmb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6IHZhcigtLWJzLWJ0bi1jb2xvcik7XG59XG4uYnRuLWxpbms6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWNvbG9yKTtcbn1cblxuLmJ0bi1sZywgLmJ0bi1ncm91cC1sZyA+IC5idG4ge1xuICAtLWJzLWJ0bi1wYWRkaW5nLXk6IDAuNXJlbTtcbiAgLS1icy1idG4tcGFkZGluZy14OiAxcmVtO1xuICAtLWJzLWJ0bi1mb250LXNpemU6IDEuMjVyZW07XG4gIC0tYnMtYnRuLWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtLCAuYnRuLWdyb3VwLXNtID4gLmJ0biB7XG4gIC0tYnMtYnRuLXBhZGRpbmcteTogMC4yNXJlbTtcbiAgLS1icy1idG4tcGFkZGluZy14OiAwLjVyZW07XG4gIC0tYnMtYnRuLWZvbnQtc2l6ZTogMC44NzVyZW07XG4gIC0tYnMtYnRuLWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZmFkZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmZhZGUge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5mYWRlOm5vdCguc2hvdykge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uY29sbGFwc2U6bm90KC5zaG93KSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgZWFzZTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jb2xsYXBzaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uY29sbGFwc2luZy5jb2xsYXBzZS1ob3Jpem9udGFsIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zNXMgZWFzZTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jb2xsYXBzaW5nLmNvbGxhcHNlLWhvcml6b250YWwge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cblxuLmRyb3B1cCxcbi5kcm9wZW5kLFxuLmRyb3Bkb3duLFxuLmRyb3BzdGFydCxcbi5kcm9wdXAtY2VudGVyLFxuLmRyb3Bkb3duLWNlbnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItdG9wOiAwLjNlbSBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmRyb3Bkb3duLW1lbnUge1xuICAtLWJzLWRyb3Bkb3duLXppbmRleDogMTAwMDtcbiAgLS1icy1kcm9wZG93bi1taW4td2lkdGg6IDEwcmVtO1xuICAtLWJzLWRyb3Bkb3duLXBhZGRpbmcteDogMDtcbiAgLS1icy1kcm9wZG93bi1wYWRkaW5nLXk6IDAuNXJlbTtcbiAgLS1icy1kcm9wZG93bi1zcGFjZXI6IDAuMTI1cmVtO1xuICAtLWJzLWRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiAgLS1icy1kcm9wZG93bi1jb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIC0tYnMtZHJvcGRvd24tYmc6IHZhcigtLWJzLWJvZHktYmcpO1xuICAtLWJzLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KTtcbiAgLS1icy1kcm9wZG93bi1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgLS1icy1kcm9wZG93bi1ib3JkZXItd2lkdGg6IHZhcigtLWJzLWJvcmRlci13aWR0aCk7XG4gIC0tYnMtZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAtIHZhcigtLWJzLWJvcmRlci13aWR0aCkpO1xuICAtLWJzLWRyb3Bkb3duLWRpdmlkZXItYmc6IHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7XG4gIC0tYnMtZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogMC41cmVtO1xuICAtLWJzLWRyb3Bkb3duLWJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3cpO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstaG92ZXItYmc6IHZhcigtLWJzLXRlcnRpYXJ5LWJnKTtcbiAgLS1icy1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogI2ZmZjtcbiAgLS1icy1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogIzBkNmVmZDtcbiAgLS1icy1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1icy10ZXJ0aWFyeS1jb2xvcik7XG4gIC0tYnMtZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6IDAuMjVyZW07XG4gIC0tYnMtZHJvcGRvd24taGVhZGVyLWNvbG9yOiAjNmM3NTdkO1xuICAtLWJzLWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteTogMC41cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHZhcigtLWJzLWRyb3Bkb3duLXppbmRleCk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogdmFyKC0tYnMtZHJvcGRvd24tbWluLXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tYnMtZHJvcGRvd24tcGFkZGluZy15KSB2YXIoLS1icy1kcm9wZG93bi1wYWRkaW5nLXgpO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtZHJvcGRvd24tZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLWJzLWRyb3Bkb3duLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtZHJvcGRvd24tYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLWJzLWRyb3Bkb3duLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtZHJvcGRvd24tYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtZHJvcGRvd24tYm9yZGVyLXJhZGl1cyk7XG59XG4uZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IHZhcigtLWJzLWRyb3Bkb3duLXNwYWNlcik7XG59XG5cbi5kcm9wZG93bi1tZW51LXN0YXJ0IHtcbiAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG59XG4uZHJvcGRvd24tbWVudS1zdGFydFtkYXRhLWJzLXBvcHBlcl0ge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbn1cblxuLmRyb3Bkb3duLW1lbnUtZW5kIHtcbiAgLS1icy1wb3NpdGlvbjogZW5kO1xufVxuLmRyb3Bkb3duLW1lbnUtZW5kW2RhdGEtYnMtcG9wcGVyXSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmRyb3Bkb3duLW1lbnUtc20tc3RhcnQge1xuICAgIC0tYnMtcG9zaXRpb246IHN0YXJ0O1xuICB9XG4gIC5kcm9wZG93bi1tZW51LXNtLXN0YXJ0W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS1zbS1lbmQge1xuICAgIC0tYnMtcG9zaXRpb246IGVuZDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS1zbS1lbmRbZGF0YS1icy1wb3BwZXJdIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmRyb3Bkb3duLW1lbnUtbWQtc3RhcnQge1xuICAgIC0tYnMtcG9zaXRpb246IHN0YXJ0O1xuICB9XG4gIC5kcm9wZG93bi1tZW51LW1kLXN0YXJ0W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS1tZC1lbmQge1xuICAgIC0tYnMtcG9zaXRpb246IGVuZDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS1tZC1lbmRbZGF0YS1icy1wb3BwZXJdIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmRyb3Bkb3duLW1lbnUtbGctc3RhcnQge1xuICAgIC0tYnMtcG9zaXRpb246IHN0YXJ0O1xuICB9XG4gIC5kcm9wZG93bi1tZW51LWxnLXN0YXJ0W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS1sZy1lbmQge1xuICAgIC0tYnMtcG9zaXRpb246IGVuZDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS1sZy1lbmRbZGF0YS1icy1wb3BwZXJdIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5kcm9wZG93bi1tZW51LXhsLXN0YXJ0IHtcbiAgICAtLWJzLXBvc2l0aW9uOiBzdGFydDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS14bC1zdGFydFtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUteGwtZW5kIHtcbiAgICAtLWJzLXBvc2l0aW9uOiBlbmQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUteGwtZW5kW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuZHJvcGRvd24tbWVudS14eGwtc3RhcnQge1xuICAgIC0tYnMtcG9zaXRpb246IHN0YXJ0O1xuICB9XG4gIC5kcm9wZG93bi1tZW51LXh4bC1zdGFydFtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUteHhsLWVuZCB7XG4gICAgLS1icy1wb3NpdGlvbjogZW5kO1xuICB9XG4gIC5kcm9wZG93bi1tZW51LXh4bC1lbmRbZGF0YS1icy1wb3BwZXJdIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG4uZHJvcHVwIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1icy1kcm9wZG93bi1zcGFjZXIpO1xufVxuLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwLjNlbSBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZHJvcGVuZCAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogdmFyKC0tYnMtZHJvcGRvd24tc3BhY2VyKTtcbn1cbi5kcm9wZW5kIC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQ7XG59XG4uZHJvcGVuZCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmRyb3BlbmQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICB2ZXJ0aWNhbC1hbGlnbjogMDtcbn1cblxuLmRyb3BzdGFydCAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWJzLWRyb3Bkb3duLXNwYWNlcik7XG59XG4uZHJvcHN0YXJ0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4uZHJvcHN0YXJ0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5kcm9wc3RhcnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjU1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItdG9wOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwLjNlbSBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uZHJvcHN0YXJ0IC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uZHJvcHN0YXJ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZSB7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiB2YXIoLS1icy1kcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15KSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYnMtZHJvcGRvd24tZGl2aWRlci1iZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiB2YXIoLS1icy1kcm9wZG93bi1pdGVtLXBhZGRpbmcteSkgdmFyKC0tYnMtZHJvcGRvd24taXRlbS1wYWRkaW5nLXgpO1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IHZhcigtLWJzLWRyb3Bkb3duLWxpbmstY29sb3IpO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWRyb3Bkb3duLWl0ZW0tYm9yZGVyLXJhZGl1cywgMCk7XG59XG4uZHJvcGRvd24taXRlbTpob3ZlciwgLmRyb3Bkb3duLWl0ZW06Zm9jdXMge1xuICBjb2xvcjogdmFyKC0tYnMtZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xufVxuLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCAuZHJvcGRvd24taXRlbTphY3RpdmUge1xuICBjb2xvcjogdmFyKC0tYnMtZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTtcbn1cbi5kcm9wZG93bi1pdGVtLmRpc2FibGVkLCAuZHJvcGRvd24taXRlbTpkaXNhYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1icy1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tYnMtZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteSkgdmFyKC0tYnMtZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiB2YXIoLS1icy1kcm9wZG93bi1oZWFkZXItY29sb3IpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLWJzLWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS1icy1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS1icy1kcm9wZG93bi1saW5rLWNvbG9yKTtcbn1cblxuLmRyb3Bkb3duLW1lbnUtZGFyayB7XG4gIC0tYnMtZHJvcGRvd24tY29sb3I6ICNkZWUyZTY7XG4gIC0tYnMtZHJvcGRvd24tYmc6ICMzNDNhNDA7XG4gIC0tYnMtZHJvcGRvd24tYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpO1xuICAtLWJzLWRyb3Bkb3duLWJveC1zaGFkb3c6IDtcbiAgLS1icy1kcm9wZG93bi1saW5rLWNvbG9yOiAjZGVlMmU2O1xuICAtLWJzLWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICNmZmY7XG4gIC0tYnMtZHJvcGRvd24tZGl2aWRlci1iZzogdmFyKC0tYnMtYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KTtcbiAgLS1icy1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAjMGQ2ZWZkO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICNhZGI1YmQ7XG4gIC0tYnMtZHJvcGRvd24taGVhZGVyLWNvbG9yOiAjYWRiNWJkO1xufVxuXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uYnRuLWdyb3VwID4gLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDEgYXV0bztcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuLmJ0bi1ncm91cCA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuLmJ0bi1ncm91cCA+IC5idG46aG92ZXIsXG4uYnRuLWdyb3VwID4gLmJ0bjpmb2N1cyxcbi5idG4tZ3JvdXAgPiAuYnRuOmFjdGl2ZSxcbi5idG4tZ3JvdXAgPiAuYnRuLmFjdGl2ZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46aG92ZXIsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmb2N1cyxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmFjdGl2ZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLmFjdGl2ZSB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cCB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uYnRuLWdyb3VwIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG59XG4uYnRuLWdyb3VwID4gOm5vdCguYnRuLWNoZWNrOmZpcnN0LWNoaWxkKSArIC5idG4sXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAtMSk7XG59XG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5idG4tZ3JvdXAgPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDpmaXJzdC1jaGlsZCxcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG46bnRoLWNoaWxkKG4rMyksXG4uYnRuLWdyb3VwID4gOm5vdCguYnRuLWNoZWNrKSArIC5idG4sXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogMC41NjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNTYyNXJlbTtcbn1cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLCAuZHJvcHVwIC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLCAuZHJvcGVuZCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmRyb3BzdGFydCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjpiZWZvcmUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLXNtID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsIC5idG4tZ3JvdXAtbGcgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbn1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAge1xuICB3aWR0aDogMTAwJTtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAtMSk7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB+IC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLm5hdiB7XG4gIC0tYnMtbmF2LWxpbmstcGFkZGluZy14OiAxcmVtO1xuICAtLWJzLW5hdi1saW5rLXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLW5hdi1saW5rLWZvbnQtd2VpZ2h0OiA7XG4gIC0tYnMtbmF2LWxpbmstY29sb3I6IHZhcigtLWJzLWxpbmstY29sb3IpO1xuICAtLWJzLW5hdi1saW5rLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1saW5rLWhvdmVyLWNvbG9yKTtcbiAgLS1icy1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWNvbG9yKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS1icy1uYXYtbGluay1wYWRkaW5nLXkpIHZhcigtLWJzLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtbmF2LWxpbmstZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWJzLW5hdi1saW5rLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJzLW5hdi1saW5rLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAubmF2LWxpbmsge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5uYXYtbGluazpob3ZlciwgLm5hdi1saW5rOmZvY3VzIHtcbiAgY29sb3I6IHZhcigtLWJzLW5hdi1saW5rLWhvdmVyLWNvbG9yKTtcbn1cbi5uYXYtbGluazpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDEzLCAxMTAsIDI1MywgMC4yNSk7XG59XG4ubmF2LWxpbmsuZGlzYWJsZWQsIC5uYXYtbGluazpkaXNhYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1icy1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5uYXYtdGFicyB7XG4gIC0tYnMtbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICAtLWJzLW5hdi10YWJzLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgLS1icy1uYXYtdGFicy1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgLS1icy1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKSB2YXIoLS1icy1zZWNvbmRhcnktYmcpIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIC0tYnMtbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogdmFyKC0tYnMtYm9keS1iZyk7XG4gIC0tYnMtbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpIHZhcigtLWJzLWJvcmRlci1jb2xvcikgdmFyKC0tYnMtYm9keS1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW5hdi10YWJzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtbmF2LXRhYnMtYm9yZGVyLWNvbG9yKTtcbn1cbi5uYXYtdGFicyAubmF2LWxpbmsge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tYnMtbmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7XG4gIGJvcmRlcjogdmFyKC0tYnMtbmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYnMtbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1uYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcbn1cbi5uYXYtdGFicyAubmF2LWxpbms6aG92ZXIsIC5uYXYtdGFicyAubmF2LWxpbms6Zm9jdXMge1xuICBpc29sYXRpb246IGlzb2xhdGU7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IpO1xufVxuLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUsXG4ubmF2LXRhYnMgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgY29sb3I6IHZhcigtLWJzLW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtbmF2LXRhYnMtbGluay1hY3RpdmUtYmcpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcik7XG59XG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tYnMtbmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4ubmF2LXBpbGxzIHtcbiAgLS1icy1uYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIC0tYnMtbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogIzBkNmVmZDtcbn1cbi5uYXYtcGlsbHMgLm5hdi1saW5rIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xufVxuLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLFxuLm5hdi1waWxscyAuc2hvdyA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiB2YXIoLS1icy1uYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1uYXYtcGlsbHMtbGluay1hY3RpdmUtYmcpO1xufVxuXG4ubmF2LXVuZGVybGluZSB7XG4gIC0tYnMtbmF2LXVuZGVybGluZS1nYXA6IDFyZW07XG4gIC0tYnMtbmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGg6IDAuMTI1cmVtO1xuICAtLWJzLW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgZ2FwOiB2YXIoLS1icy1uYXYtdW5kZXJsaW5lLWdhcCk7XG59XG4ubmF2LXVuZGVybGluZSAubmF2LWxpbmsge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5uYXYtdW5kZXJsaW5lIC5uYXYtbGluazpob3ZlciwgLm5hdi11bmRlcmxpbmUgLm5hdi1saW5rOmZvY3VzIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudGNvbG9yO1xufVxuLm5hdi11bmRlcmxpbmUgLm5hdi1saW5rLmFjdGl2ZSxcbi5uYXYtdW5kZXJsaW5lIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWJzLW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3IpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Y29sb3I7XG59XG5cbi5uYXYtZmlsbCA+IC5uYXYtbGluayxcbi5uYXYtZmlsbCAubmF2LWl0ZW0ge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubmF2LWp1c3RpZmllZCA+IC5uYXYtbGluayxcbi5uYXYtanVzdGlmaWVkIC5uYXYtaXRlbSB7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubmF2LWZpbGwgLm5hdi1pdGVtIC5uYXYtbGluayxcbi5uYXYtanVzdGlmaWVkIC5uYXYtaXRlbSAubmF2LWxpbmsge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50YWItY29udGVudCA+IC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5hdmJhciB7XG4gIC0tYnMtbmF2YmFyLXBhZGRpbmcteDogMDtcbiAgLS1icy1uYXZiYXItcGFkZGluZy15OiAwLjVyZW07XG4gIC0tYnMtbmF2YmFyLWNvbG9yOiByZ2JhKHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yLXJnYiksIDAuNjUpO1xuICAtLWJzLW5hdmJhci1ob3Zlci1jb2xvcjogcmdiYSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCAwLjgpO1xuICAtLWJzLW5hdmJhci1kaXNhYmxlZC1jb2xvcjogcmdiYSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCAwLjMpO1xuICAtLWJzLW5hdmJhci1hY3RpdmUtY29sb3I6IHJnYmEodmFyKC0tYnMtZW1waGFzaXMtY29sb3ItcmdiKSwgMSk7XG4gIC0tYnMtbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogMC4zMTI1cmVtO1xuICAtLWJzLW5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAxcmVtO1xuICAtLWJzLW5hdmJhci1icmFuZC1mb250LXNpemU6IDEuMjVyZW07XG4gIC0tYnMtbmF2YmFyLWJyYW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yLXJnYiksIDEpO1xuICAtLWJzLW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogcmdiYSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCAxKTtcbiAgLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAwLjVyZW07XG4gIC0tYnMtbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAwLjI1cmVtO1xuICAtLWJzLW5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogMC43NXJlbTtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci1mb250LXNpemU6IDEuMjVyZW07XG4gIC0tYnMtbmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCclM2UlM2NwYXRoIHN0cm9rZT0ncmdiYSUyODMzLCAzNywgNDEsIDAuNzUlMjknIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAtLWJzLW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCAwLjE1KTtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogMC4yNXJlbTtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiB2YXIoLS1icy1uYXZiYXItcGFkZGluZy15KSB2YXIoLS1icy1uYXZiYXItcGFkZGluZy14KTtcbn1cbi5uYXZiYXIgPiAuY29udGFpbmVyLFxuLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQsXG4ubmF2YmFyID4gLmNvbnRhaW5lci1zbSxcbi5uYXZiYXIgPiAuY29udGFpbmVyLW1kLFxuLm5hdmJhciA+IC5jb250YWluZXItbGcsXG4ubmF2YmFyID4gLmNvbnRhaW5lci14bCxcbi5uYXZiYXIgPiAuY29udGFpbmVyLXh4bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogaW5oZXJpdDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLm5hdmJhci1icmFuZCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1icy1uYXZiYXItYnJhbmQtcGFkZGluZy15KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWJzLW5hdmJhci1icmFuZC1wYWRkaW5nLXkpO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWJzLW5hdmJhci1icmFuZC1tYXJnaW4tZW5kKTtcbiAgZm9udC1zaXplOiB2YXIoLS1icy1uYXZiYXItYnJhbmQtZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLWJzLW5hdmJhci1icmFuZC1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5uYXZiYXItYnJhbmQ6aG92ZXIsIC5uYXZiYXItYnJhbmQ6Zm9jdXMge1xuICBjb2xvcjogdmFyKC0tYnMtbmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yKTtcbn1cblxuLm5hdmJhci1uYXYge1xuICAtLWJzLW5hdi1saW5rLXBhZGRpbmcteDogMDtcbiAgLS1icy1uYXYtbGluay1wYWRkaW5nLXk6IDAuNXJlbTtcbiAgLS1icy1uYXYtbGluay1mb250LXdlaWdodDogO1xuICAtLWJzLW5hdi1saW5rLWNvbG9yOiB2YXIoLS1icy1uYXZiYXItY29sb3IpO1xuICAtLWJzLW5hdi1saW5rLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1uYXZiYXItaG92ZXItY29sb3IpO1xuICAtLWJzLW5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1icy1uYXZiYXItZGlzYWJsZWQtY29sb3IpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlLCAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdyB7XG4gIGNvbG9yOiB2YXIoLS1icy1uYXZiYXItYWN0aXZlLWNvbG9yKTtcbn1cbi5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cblxuLm5hdmJhci10ZXh0IHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgY29sb3I6IHZhcigtLWJzLW5hdmJhci1jb2xvcik7XG59XG4ubmF2YmFyLXRleHQgYSxcbi5uYXZiYXItdGV4dCBhOmhvdmVyLFxuLm5hdmJhci10ZXh0IGE6Zm9jdXMge1xuICBjb2xvcjogdmFyKC0tYnMtbmF2YmFyLWFjdGl2ZS1jb2xvcik7XG59XG5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6IHZhcigtLWJzLW5hdmJhci10b2dnbGVyLXBhZGRpbmcteSkgdmFyKC0tYnMtbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14KTtcbiAgZm9udC1zaXplOiB2YXIoLS1icy1uYXZiYXItdG9nZ2xlci1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHZhcigtLWJzLW5hdmJhci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtbmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cyk7XG4gIHRyYW5zaXRpb246IHZhcigtLWJzLW5hdmJhci10b2dnbGVyLXRyYW5zaXRpb24pO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4ubmF2YmFyLXRvZ2dsZXI6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubmF2YmFyLXRvZ2dsZXI6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLWJzLW5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoKTtcbn1cblxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tYnMtbmF2YmFyLXRvZ2dsZXItaWNvbi1iZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xufVxuXG4ubmF2YmFyLW5hdi1zY3JvbGwge1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1icy1zY3JvbGwtaGVpZ2h0LCA3NXZoKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLXNtIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWJzLW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tYnMtbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm9mZmNhbnZhcyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm9mZmNhbnZhcyAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAub2ZmY2FudmFzIC5vZmZjYW52YXMtYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhci1leHBhbmQtbWQge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tYnMtbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAub2ZmY2FudmFzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAub2ZmY2FudmFzIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5vZmZjYW52YXMgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubmF2YmFyLWV4cGFuZC1sZyB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWJzLW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5vZmZjYW52YXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5vZmZjYW52YXMgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm9mZmNhbnZhcyAub2ZmY2FudmFzLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubmF2YmFyLWV4cGFuZC14bCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWJzLW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5vZmZjYW52YXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5vZmZjYW52YXMgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm9mZmNhbnZhcyAub2ZmY2FudmFzLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAubmF2YmFyLWV4cGFuZC14eGwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci1uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteHhsIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteHhsIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tYnMtbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteHhsIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm9mZmNhbnZhcyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteHhsIC5vZmZjYW52YXMgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteHhsIC5vZmZjYW52YXMgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gIH1cbn1cbi5uYXZiYXItZXhwYW5kIHtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tYnMtbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tYnMtbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG59XG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdi1zY3JvbGwge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItY29sbGFwc2Uge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLXRvZ2dsZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm5hdmJhci1leHBhbmQgLm9mZmNhbnZhcyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHotaW5kZXg6IGF1dG87XG4gIGZsZXgtZ3JvdzogMTtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuLm5hdmJhci1leHBhbmQgLm9mZmNhbnZhcyAub2ZmY2FudmFzLWhlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmF2YmFyLWV4cGFuZCAub2ZmY2FudmFzIC5vZmZjYW52YXMtYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbn1cblxuLm5hdmJhci1kYXJrLFxuLm5hdmJhcltkYXRhLWJzLXRoZW1lPWRhcmtdIHtcbiAgLS1icy1uYXZiYXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XG4gIC0tYnMtbmF2YmFyLWhvdmVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICAtLWJzLW5hdmJhci1kaXNhYmxlZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgLS1icy1uYXZiYXItYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLW5hdmJhci1icmFuZC1jb2xvcjogI2ZmZjtcbiAgLS1icy1uYXZiYXItYnJhbmQtaG92ZXItY29sb3I6ICNmZmY7XG4gIC0tYnMtbmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIC0tYnMtbmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCclM2UlM2NwYXRoIHN0cm9rZT0ncmdiYSUyODI1NSwgMjU1LCAyNTUsIDAuNTUlMjknIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG5bZGF0YS1icy10aGVtZT1kYXJrXSAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIC0tYnMtbmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCclM2UlM2NwYXRoIHN0cm9rZT0ncmdiYSUyODI1NSwgMjU1LCAyNTUsIDAuNTUlMjknIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG4uY2FyZCB7XG4gIC0tYnMtY2FyZC1zcGFjZXIteTogMXJlbTtcbiAgLS1icy1jYXJkLXNwYWNlci14OiAxcmVtO1xuICAtLWJzLWNhcmQtdGl0bGUtc3BhY2VyLXk6IDAuNXJlbTtcbiAgLS1icy1jYXJkLXRpdGxlLWNvbG9yOiA7XG4gIC0tYnMtY2FyZC1zdWJ0aXRsZS1jb2xvcjogO1xuICAtLWJzLWNhcmQtYm9yZGVyLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICAtLWJzLWNhcmQtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpO1xuICAtLWJzLWNhcmQtYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIC0tYnMtY2FyZC1ib3gtc2hhZG93OiA7XG4gIC0tYnMtY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJzLWJvcmRlci1yYWRpdXMpIC0gKHZhcigtLWJzLWJvcmRlci13aWR0aCkpKTtcbiAgLS1icy1jYXJkLWNhcC1wYWRkaW5nLXk6IDAuNXJlbTtcbiAgLS1icy1jYXJkLWNhcC1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtY2FyZC1jYXAtYmc6IHJnYmEodmFyKC0tYnMtYm9keS1jb2xvci1yZ2IpLCAwLjAzKTtcbiAgLS1icy1jYXJkLWNhcC1jb2xvcjogO1xuICAtLWJzLWNhcmQtaGVpZ2h0OiA7XG4gIC0tYnMtY2FyZC1jb2xvcjogO1xuICAtLWJzLWNhcmQtYmc6IHZhcigtLWJzLWJvZHktYmcpO1xuICAtLWJzLWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogMXJlbTtcbiAgLS1icy1jYXJkLWdyb3VwLW1hcmdpbjogMC43NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7XG4gIGhlaWdodDogdmFyKC0tYnMtY2FyZC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtY2FyZC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiB2YXIoLS1icy1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtY2FyZC1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1jYXJkLWJvcmRlci1yYWRpdXMpO1xufVxuLmNhcmQgPiBociB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uY2FyZCA+IC5saXN0LWdyb3VwIHtcbiAgYm9yZGVyLXRvcDogaW5oZXJpdDtcbiAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcbn1cbi5jYXJkID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cbi5jYXJkID4gLmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuLmNhcmQgPiAuY2FyZC1oZWFkZXIgKyAubGlzdC1ncm91cCxcbi5jYXJkID4gLmxpc3QtZ3JvdXAgKyAuY2FyZC1mb290ZXIge1xuICBib3JkZXItdG9wOiAwO1xufVxuXG4uY2FyZC1ib2R5IHtcbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLWJzLWNhcmQtc3BhY2VyLXkpIHZhcigtLWJzLWNhcmQtc3BhY2VyLXgpO1xuICBjb2xvcjogdmFyKC0tYnMtY2FyZC1jb2xvcik7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYnMtY2FyZC10aXRsZS1zcGFjZXIteSk7XG4gIGNvbG9yOiB2YXIoLS1icy1jYXJkLXRpdGxlLWNvbG9yKTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiBjYWxjKC0wLjUgKiB2YXIoLS1icy1jYXJkLXRpdGxlLXNwYWNlci15KSk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiB2YXIoLS1icy1jYXJkLXN1YnRpdGxlLWNvbG9yKTtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayArIC5jYXJkLWxpbmsge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tYnMtY2FyZC1zcGFjZXIteCk7XG59XG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLWJzLWNhcmQtY2FwLXBhZGRpbmcteSkgdmFyKC0tYnMtY2FyZC1jYXAtcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6IHZhcigtLWJzLWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtY2FyZC1jYXAtYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1icy1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtY2FyZC1ib3JkZXItY29sb3IpO1xufVxuLmNhcmQtaGVhZGVyOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIDAgMDtcbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogdmFyKC0tYnMtY2FyZC1jYXAtcGFkZGluZy15KSB2YXIoLS1icy1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tYnMtY2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1jYXJkLWNhcC1iZyk7XG4gIGJvcmRlci10b3A6IHZhcigtLWJzLWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1jYXJkLWJvcmRlci1jb2xvcik7XG59XG4uY2FyZC1mb290ZXI6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0wLjUgKiB2YXIoLS1icy1jYXJkLWNhcC1wYWRkaW5nLXgpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLWJzLWNhcmQtY2FwLXBhZGRpbmcteSkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygtMC41ICogdmFyKC0tYnMtY2FyZC1jYXAtcGFkZGluZy14KSk7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG4uY2FyZC1oZWFkZXItdGFicyAubmF2LWxpbmsuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtY2FyZC1iZyk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJzLWNhcmQtYmcpO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTAuNSAqIHZhcigtLWJzLWNhcmQtY2FwLXBhZGRpbmcteCkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygtMC41ICogdmFyKC0tYnMtY2FyZC1jYXAtcGFkZGluZy14KSk7XG59XG5cbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IHZhcigtLWJzLWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3AsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1ncm91cCA+IC5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYnMtY2FyZC1ncm91cC1tYXJnaW4pO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jYXJkLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZCB7XG4gICAgZmxleDogMSAwIDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZCArIC5jYXJkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1pbWctdG9wLFxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaGVhZGVyIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaW1nLWJvdHRvbSxcbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIC5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkgLmNhcmQtaW1nLXRvcCxcbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKSAuY2FyZC1oZWFkZXIge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKSAuY2FyZC1pbWctYm90dG9tLFxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxufVxuXG4uYWNjb3JkaW9uIHtcbiAgLS1icy1hY2NvcmRpb24tY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICAtLWJzLWFjY29yZGlvbi1iZzogdmFyKC0tYnMtYm9keS1iZyk7XG4gIC0tYnMtYWNjb3JkaW9uLXRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1yYWRpdXMgMC4xNXMgZWFzZTtcbiAgLS1icy1hY2NvcmRpb24tYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICAtLWJzLWFjY29yZGlvbi1ib3JkZXItd2lkdGg6IHZhcigtLWJzLWJvcmRlci13aWR0aCk7XG4gIC0tYnMtYWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xuICAtLWJzLWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJzLWJvcmRlci1yYWRpdXMpIC0gKHZhcigtLWJzLWJvcmRlci13aWR0aCkpKTtcbiAgLS1icy1hY2NvcmRpb24tYnRuLXBhZGRpbmcteDogMS4yNXJlbTtcbiAgLS1icy1hY2NvcmRpb24tYnRuLXBhZGRpbmcteTogMXJlbTtcbiAgLS1icy1hY2NvcmRpb24tYnRuLWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgLS1icy1hY2NvcmRpb24tYnRuLWJnOiB2YXIoLS1icy1hY2NvcmRpb24tYmcpO1xuICAtLWJzLWFjY29yZGlvbi1idG4taWNvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMyMTI1MjknIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM2UlM2NwYXRoIGQ9J00yIDVMOCAxMUwxNCA1Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAtLWJzLWFjY29yZGlvbi1idG4taWNvbi13aWR0aDogMS4yNXJlbTtcbiAgLS1icy1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gIC0tYnMtYWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xuICAtLWJzLWFjY29yZGlvbi1idG4tYWN0aXZlLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDUyYzY1JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNlJTNjcGF0aCBkPSdNMiA1TDggMTFMMTQgNScvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgLS1icy1hY2NvcmRpb24tYnRuLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSgxMywgMTEwLCAyNTMsIDAuMjUpO1xuICAtLWJzLWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogMS4yNXJlbTtcbiAgLS1icy1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6IDFyZW07XG4gIC0tYnMtYWNjb3JkaW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1hY2NvcmRpb24tYWN0aXZlLWJnOiB2YXIoLS1icy1wcmltYXJ5LWJnLXN1YnRsZSk7XG59XG5cbi5hY2NvcmRpb24tYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tYnMtYWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXkpIHZhcigtLWJzLWFjY29yZGlvbi1idG4tcGFkZGluZy14KTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogdmFyKC0tYnMtYWNjb3JkaW9uLWJ0bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWFjY29yZGlvbi1idG4tYmcpO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tYnMtYWNjb3JkaW9uLXRyYW5zaXRpb24pO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5hY2NvcmRpb24tYnV0dG9uOm5vdCguY29sbGFwc2VkKSB7XG4gIGNvbG9yOiB2YXIoLS1icy1hY2NvcmRpb24tYWN0aXZlLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYWNjb3JkaW9uLWFjdGl2ZS1iZyk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgY2FsYygtMSAqIHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItd2lkdGgpKSAwIHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItY29sb3IpO1xufVxuLmFjY29yZGlvbi1idXR0b246bm90KC5jb2xsYXBzZWQpOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWJzLWFjY29yZGlvbi1idG4tYWN0aXZlLWljb24pO1xuICB0cmFuc2Zvcm06IHZhcigtLWJzLWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm0pO1xufVxuLmFjY29yZGlvbi1idXR0b246OmFmdGVyIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLWJzLWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWljb24pO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLWJzLWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gIHRyYW5zaXRpb246IHZhcigtLWJzLWFjY29yZGlvbi1idG4taWNvbi10cmFuc2l0aW9uKTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5hY2NvcmRpb24tYnV0dG9uOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmFjY29yZGlvbi1idXR0b246aG92ZXIge1xuICB6LWluZGV4OiAyO1xufVxuLmFjY29yZGlvbi1idXR0b246Zm9jdXMge1xuICB6LWluZGV4OiAzO1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWZvY3VzLWJveC1zaGFkb3cpO1xufVxuXG4uYWNjb3JkaW9uLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hY2NvcmRpb24taXRlbSB7XG4gIGNvbG9yOiB2YXIoLS1icy1hY2NvcmRpb24tY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1hY2NvcmRpb24tYmcpO1xuICBib3JkZXI6IHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItY29sb3IpO1xufVxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LW9mLXR5cGUge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cyk7XG59XG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3Qtb2YtdHlwZSA+IC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuLmFjY29yZGlvbi1pdGVtOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICBib3JkZXItdG9wOiAwO1xufVxuLmFjY29yZGlvbi1pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKTtcbn1cbi5hY2NvcmRpb24taXRlbTpsYXN0LW9mLXR5cGUgPiAuYWNjb3JkaW9uLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbi5jb2xsYXBzZWQge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1vZi10eXBlID4gLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmFjY29yZGlvbi1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tYnMtYWNjb3JkaW9uLWJvZHktcGFkZGluZy15KSB2YXIoLS1icy1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXgpO1xufVxuXG4uYWNjb3JkaW9uLWZsdXNoID4gLmFjY29yZGlvbi1pdGVtIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5hY2NvcmRpb24tZmx1c2ggPiAuYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiAwO1xufVxuLmFjY29yZGlvbi1mbHVzaCA+IC5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5hY2NvcmRpb24tZmx1c2ggPiAuYWNjb3JkaW9uLWl0ZW0gPiAuYWNjb3JkaW9uLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbiwgLmFjY29yZGlvbi1mbHVzaCA+IC5hY2NvcmRpb24taXRlbSA+IC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uLmNvbGxhcHNlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYWNjb3JkaW9uLWZsdXNoID4gLmFjY29yZGlvbi1pdGVtID4gLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbltkYXRhLWJzLXRoZW1lPWRhcmtdIC5hY2NvcmRpb24tYnV0dG9uOjphZnRlciB7XG4gIC0tYnMtYWNjb3JkaW9uLWJ0bi1pY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSclMjM2ZWE4ZmUnJTNlJTNjcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xLjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDEwLjI5M2w1LjY0Ni01LjY0N2EuNS41IDAgMCAxIC43MDguNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4IDBsLTYtNmEuNS41IDAgMCAxIDAtLjcwOHonLyUzZSUzYy9zdmclM2VcIik7XG4gIC0tYnMtYWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nJTIzNmVhOGZlJyUzZSUzY3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMS42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCAxMC4yOTNsNS42NDYtNS42NDdhLjUuNSAwIDAgMSAuNzA4LjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOCAwbC02LTZhLjUuNSAwIDAgMSAwLS43MDh6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG4uYnJlYWRjcnVtYiB7XG4gIC0tYnMtYnJlYWRjcnVtYi1wYWRkaW5nLXg6IDA7XG4gIC0tYnMtYnJlYWRjcnVtYi1wYWRkaW5nLXk6IDA7XG4gIC0tYnMtYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAxcmVtO1xuICAtLWJzLWJyZWFkY3J1bWItYmc6IDtcbiAgLS1icy1icmVhZGNydW1iLWJvcmRlci1yYWRpdXM6IDtcbiAgLS1icy1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XG4gIC0tYnMtYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogMC41cmVtO1xuICAtLWJzLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogdmFyKC0tYnMtYnJlYWRjcnVtYi1wYWRkaW5nLXkpIHZhcigtLWJzLWJyZWFkY3J1bWItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYnMtYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tKTtcbiAgZm9udC1zaXplOiB2YXIoLS1icy1icmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJyZWFkY3J1bWItYmcpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1icmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tYnMtYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG59XG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWJzLWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tYnMtYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yKTtcbiAgY29udGVudDogdmFyKC0tYnMtYnJlYWRjcnVtYi1kaXZpZGVyLCBcIi9cIikgLyogcnRsOiB2YXIoLS1icy1icmVhZGNydW1iLWRpdmlkZXIsIFwiL1wiKSAqLztcbn1cbi5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWJzLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3IpO1xufVxuXG4ucGFnaW5hdGlvbiB7XG4gIC0tYnMtcGFnaW5hdGlvbi1wYWRkaW5nLXg6IDAuNzVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1wYWRkaW5nLXk6IDAuMzc1cmVtO1xuICAtLWJzLXBhZ2luYXRpb24tZm9udC1zaXplOiAxcmVtO1xuICAtLWJzLXBhZ2luYXRpb24tY29sb3I6IHZhcigtLWJzLWxpbmstY29sb3IpO1xuICAtLWJzLXBhZ2luYXRpb24tYmc6IHZhcigtLWJzLWJvZHktYmcpO1xuICAtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICAtLWJzLXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICAtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIC0tYnMtcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tYnMtbGluay1ob3Zlci1jb2xvcik7XG4gIC0tYnMtcGFnaW5hdGlvbi1ob3Zlci1iZzogdmFyKC0tYnMtdGVydGlhcnktYmcpO1xuICAtLWJzLXBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICAtLWJzLXBhZ2luYXRpb24tZm9jdXMtY29sb3I6IHZhcigtLWJzLWxpbmstaG92ZXItY29sb3IpO1xuICAtLWJzLXBhZ2luYXRpb24tZm9jdXMtYmc6IHZhcigtLWJzLXNlY29uZGFyeS1iZyk7XG4gIC0tYnMtcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEoMTMsIDExMCwgMjUzLCAwLjI1KTtcbiAgLS1icy1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogI2ZmZjtcbiAgLS1icy1wYWdpbmF0aW9uLWFjdGl2ZS1iZzogIzBkNmVmZDtcbiAgLS1icy1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICMwZDZlZmQ7XG4gIC0tYnMtcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWNvbG9yKTtcbiAgLS1icy1wYWdpbmF0aW9uLWRpc2FibGVkLWJnOiB2YXIoLS1icy1zZWNvbmRhcnktYmcpO1xuICAtLWJzLXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS1icy1wYWdpbmF0aW9uLXBhZGRpbmcteSkgdmFyKC0tYnMtcGFnaW5hdGlvbi1wYWRkaW5nLXgpO1xuICBmb250LXNpemU6IHZhcigtLWJzLXBhZ2luYXRpb24tZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tYmcpO1xuICBib3JkZXI6IHZhcigtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcik7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucGFnZS1saW5rIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4ucGFnZS1saW5rOmhvdmVyIHtcbiAgei1pbmRleDogMjtcbiAgY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24taG92ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWhvdmVyLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcik7XG59XG4ucGFnZS1saW5rOmZvY3VzIHtcbiAgei1pbmRleDogMztcbiAgY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tZm9jdXMtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWZvY3VzLWJnKTtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93KTtcbn1cbi5wYWdlLWxpbmsuYWN0aXZlLCAuYWN0aXZlID4gLnBhZ2UtbGluayB7XG4gIHotaW5kZXg6IDM7XG4gIGNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tYWN0aXZlLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xufVxuLnBhZ2UtbGluay5kaXNhYmxlZCwgLmRpc2FibGVkID4gLnBhZ2UtbGluayB7XG4gIGNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tZGlzYWJsZWQtYmcpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbn1cblxuLnBhZ2UtaXRlbTpub3QoOmZpcnN0LWNoaWxkKSAucGFnZS1saW5rIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIC0xKTtcbn1cbi5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cyk7XG59XG4ucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKTtcbn1cblxuLnBhZ2luYXRpb24tbGcge1xuICAtLWJzLXBhZ2luYXRpb24tcGFkZGluZy14OiAxLjVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1wYWRkaW5nLXk6IDAuNzVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1mb250LXNpemU6IDEuMjVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICAtLWJzLXBhZ2luYXRpb24tcGFkZGluZy14OiAwLjVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1wYWRkaW5nLXk6IDAuMjVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1mb250LXNpemU6IDAuODc1cmVtO1xuICAtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5iYWRnZSB7XG4gIC0tYnMtYmFkZ2UtcGFkZGluZy14OiAwLjY1ZW07XG4gIC0tYnMtYmFkZ2UtcGFkZGluZy15OiAwLjM1ZW07XG4gIC0tYnMtYmFkZ2UtZm9udC1zaXplOiAwLjc1ZW07XG4gIC0tYnMtYmFkZ2UtZm9udC13ZWlnaHQ6IDcwMDtcbiAgLS1icy1iYWRnZS1jb2xvcjogI2ZmZjtcbiAgLS1icy1iYWRnZS1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS1icy1iYWRnZS1wYWRkaW5nLXkpIHZhcigtLWJzLWJhZGdlLXBhZGRpbmcteCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtYmFkZ2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWJzLWJhZGdlLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS1icy1iYWRnZS1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1iYWRnZS1ib3JkZXItcmFkaXVzKTtcbn1cbi5iYWRnZTplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi5hbGVydCB7XG4gIC0tYnMtYWxlcnQtYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLWFsZXJ0LXBhZGRpbmcteDogMXJlbTtcbiAgLS1icy1hbGVydC1wYWRkaW5nLXk6IDFyZW07XG4gIC0tYnMtYWxlcnQtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLS1icy1hbGVydC1jb2xvcjogaW5oZXJpdDtcbiAgLS1icy1hbGVydC1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLWJzLWFsZXJ0LWJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1hbGVydC1ib3JkZXItY29sb3IpO1xuICAtLWJzLWFsZXJ0LWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xuICAtLWJzLWFsZXJ0LWxpbmstY29sb3I6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tYnMtYWxlcnQtcGFkZGluZy15KSB2YXIoLS1icy1hbGVydC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1icy1hbGVydC1tYXJnaW4tYm90dG9tKTtcbiAgY29sb3I6IHZhcigtLWJzLWFsZXJ0LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYWxlcnQtYmcpO1xuICBib3JkZXI6IHZhcigtLWJzLWFsZXJ0LWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYWxlcnQtaGVhZGluZyB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiB2YXIoLS1icy1hbGVydC1saW5rLWNvbG9yKTtcbn1cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcbn1cbi5hbGVydC1kaXNtaXNzaWJsZSAuYnRuLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG59XG5cbi5hbGVydC1wcmltYXJ5IHtcbiAgLS1icy1hbGVydC1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1hbGVydC1iZzogdmFyKC0tYnMtcHJpbWFyeS1iZy1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5LXRleHQtZW1waGFzaXMpO1xufVxuXG4uYWxlcnQtc2Vjb25kYXJ5IHtcbiAgLS1icy1hbGVydC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWFsZXJ0LWJnOiB2YXIoLS1icy1zZWNvbmRhcnktYmctc3VidGxlKTtcbiAgLS1icy1hbGVydC1ib3JkZXItY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktdGV4dC1lbXBoYXNpcyk7XG59XG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgLS1icy1hbGVydC1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1hbGVydC1iZzogdmFyKC0tYnMtc3VjY2Vzcy1iZy1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS1icy1zdWNjZXNzLXRleHQtZW1waGFzaXMpO1xufVxuXG4uYWxlcnQtaW5mbyB7XG4gIC0tYnMtYWxlcnQtY29sb3I6IHZhcigtLWJzLWluZm8tdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtYWxlcnQtYmc6IHZhcigtLWJzLWluZm8tYmctc3VidGxlKTtcbiAgLS1icy1hbGVydC1ib3JkZXItY29sb3I6IHZhcigtLWJzLWluZm8tYm9yZGVyLXN1YnRsZSk7XG4gIC0tYnMtYWxlcnQtbGluay1jb2xvcjogdmFyKC0tYnMtaW5mby10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmFsZXJ0LXdhcm5pbmcge1xuICAtLWJzLWFsZXJ0LWNvbG9yOiB2YXIoLS1icy13YXJuaW5nLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWFsZXJ0LWJnOiB2YXIoLS1icy13YXJuaW5nLWJnLXN1YnRsZSk7XG4gIC0tYnMtYWxlcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy13YXJuaW5nLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWxpbmstY29sb3I6IHZhcigtLWJzLXdhcm5pbmctdGV4dC1lbXBoYXNpcyk7XG59XG5cbi5hbGVydC1kYW5nZXIge1xuICAtLWJzLWFsZXJ0LWNvbG9yOiB2YXIoLS1icy1kYW5nZXItdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtYWxlcnQtYmc6IHZhcigtLWJzLWRhbmdlci1iZy1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tYnMtZGFuZ2VyLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWxpbmstY29sb3I6IHZhcigtLWJzLWRhbmdlci10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmFsZXJ0LWxpZ2h0IHtcbiAgLS1icy1hbGVydC1jb2xvcjogdmFyKC0tYnMtbGlnaHQtdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtYWxlcnQtYmc6IHZhcigtLWJzLWxpZ2h0LWJnLXN1YnRsZSk7XG4gIC0tYnMtYWxlcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1saWdodC1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS1icy1saWdodC10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmFsZXJ0LWRhcmsge1xuICAtLWJzLWFsZXJ0LWNvbG9yOiB2YXIoLS1icy1kYXJrLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWFsZXJ0LWJnOiB2YXIoLS1icy1kYXJrLWJnLXN1YnRsZSk7XG4gIC0tYnMtYWxlcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1kYXJrLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWxpbmstY29sb3I6IHZhcigtLWJzLWRhcmstdGV4dC1lbXBoYXNpcyk7XG59XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAxcmVtO1xuICB9XG59XG4ucHJvZ3Jlc3MsXG4ucHJvZ3Jlc3Mtc3RhY2tlZCB7XG4gIC0tYnMtcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuICAtLWJzLXByb2dyZXNzLWZvbnQtc2l6ZTogMC43NXJlbTtcbiAgLS1icy1wcm9ncmVzcy1iZzogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTtcbiAgLS1icy1wcm9ncmVzcy1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgLS1icy1wcm9ncmVzcy1ib3gtc2hhZG93OiB2YXIoLS1icy1ib3gtc2hhZG93LWluc2V0KTtcbiAgLS1icy1wcm9ncmVzcy1iYXItY29sb3I6ICNmZmY7XG4gIC0tYnMtcHJvZ3Jlc3MtYmFyLWJnOiAjMGQ2ZWZkO1xuICAtLWJzLXByb2dyZXNzLWJhci10cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogdmFyKC0tYnMtcHJvZ3Jlc3MtaGVpZ2h0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiB2YXIoLS1icy1wcm9ncmVzcy1mb250LXNpemUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wcm9ncmVzcy1iZyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLXByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiB2YXIoLS1icy1wcm9ncmVzcy1iYXItY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXByb2dyZXNzLWJhci1iZyk7XG4gIHRyYW5zaXRpb246IHZhcigtLWJzLXByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5wcm9ncmVzcy1iYXIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tYnMtcHJvZ3Jlc3MtaGVpZ2h0KSB2YXIoLS1icy1wcm9ncmVzcy1oZWlnaHQpO1xufVxuXG4ucHJvZ3Jlc3Mtc3RhY2tlZCA+IC5wcm9ncmVzcyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucHJvZ3Jlc3Mtc3RhY2tlZCA+IC5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gIGFuaW1hdGlvbjogMXMgbGluZWFyIGluZmluaXRlIHByb2dyZXNzLWJhci1zdHJpcGVzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG5cbi5saXN0LWdyb3VwIHtcbiAgLS1icy1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgLS1icy1saXN0LWdyb3VwLWJnOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6IHZhcigtLWJzLXRlcnRpYXJ5LWJnKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTtcbiAgLS1icy1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6IHZhcigtLWJzLWJvZHktYmcpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAjMGQ2ZWZkO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogIzBkNmVmZDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ubGlzdC1ncm91cC1udW1iZXJlZCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogc2VjdGlvbjtcbn1cbi5saXN0LWdyb3VwLW51bWJlcmVkID4gLmxpc3QtZ3JvdXAtaXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpIFwiLiBcIjtcbiAgY291bnRlci1pbmNyZW1lbnQ6IHNlY3Rpb247XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICB6LWluZGV4OiAxO1xuICBjb2xvcjogdmFyKC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnKTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmcpO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tYnMtbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSkgdmFyKC0tYnMtbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItY29sb3IpO1xufVxuLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xufVxuLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG59XG4ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkLCAubGlzdC1ncm91cC1pdGVtOmRpc2FibGVkIHtcbiAgY29sb3I6IHZhcigtLWJzLWxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtbGlzdC1ncm91cC1kaXNhYmxlZC1iZyk7XG59XG4ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gIHotaW5kZXg6IDI7XG4gIGNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xufVxuLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7XG4gIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbn1cblxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG4ubGlzdC1ncm91cC1ob3Jpem9udGFsID4gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4ubGlzdC1ncm91cC1ob3Jpem9udGFsID4gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4ubGlzdC1ncm91cC1ob3Jpem9udGFsID4gLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbn1cbi5saXN0LWdyb3VwLWhvcml6b250YWwgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtc20gPiAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSA+IC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtID4gLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgPiAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCA+IC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kID4gLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgPiAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZyA+IC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnID4gLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZyA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZyA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsID4gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgPiAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteHhsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteHhsID4gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteHhsID4gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteHhsID4gLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14eGwgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteHhsID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgfVxufVxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmxpc3QtZ3JvdXAtZmx1c2ggPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xufVxuLmxpc3QtZ3JvdXAtZmx1c2ggPiAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLXByaW1hcnkge1xuICAtLWJzLWxpc3QtZ3JvdXAtY29sb3I6IHZhcigtLWJzLXByaW1hcnktdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtbGlzdC1ncm91cC1iZzogdmFyKC0tYnMtcHJpbWFyeS1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5LWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6IHZhcigtLWJzLXByaW1hcnktYm9yZGVyLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiB2YXIoLS1icy1wcmltYXJ5LWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5LWJnLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLWJzLXByaW1hcnktdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5LXRleHQtZW1waGFzaXMpO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeSB7XG4gIC0tYnMtbGlzdC1ncm91cC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYmc6IHZhcigtLWJzLXNlY29uZGFyeS1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktYm9yZGVyLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogdmFyKC0tYnMtc2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtc2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1iZzogdmFyKC0tYnMtc2Vjb25kYXJ5LXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LXRleHQtZW1waGFzaXMpO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3Mge1xuICAtLWJzLWxpc3QtZ3JvdXAtY29sb3I6IHZhcigtLWJzLXN1Y2Nlc3MtdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtbGlzdC1ncm91cC1iZzogdmFyKC0tYnMtc3VjY2Vzcy1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1zdWNjZXNzLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6IHZhcigtLWJzLXN1Y2Nlc3MtYm9yZGVyLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiB2YXIoLS1icy1zdWNjZXNzLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1zdWNjZXNzLWJnLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLWJzLXN1Y2Nlc3MtdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1zdWNjZXNzLXRleHQtZW1waGFzaXMpO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWluZm8ge1xuICAtLWJzLWxpc3QtZ3JvdXAtY29sb3I6IHZhcigtLWJzLWluZm8tdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtbGlzdC1ncm91cC1iZzogdmFyKC0tYnMtaW5mby1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1pbmZvLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6IHZhcigtLWJzLWluZm8tYm9yZGVyLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiB2YXIoLS1icy1pbmZvLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1pbmZvLWJnLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLWJzLWluZm8tdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1pbmZvLXRleHQtZW1waGFzaXMpO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcge1xuICAtLWJzLWxpc3QtZ3JvdXAtY29sb3I6IHZhcigtLWJzLXdhcm5pbmctdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtbGlzdC1ncm91cC1iZzogdmFyKC0tYnMtd2FybmluZy1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy13YXJuaW5nLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6IHZhcigtLWJzLXdhcm5pbmctYm9yZGVyLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiB2YXIoLS1icy13YXJuaW5nLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiB2YXIoLS1icy13YXJuaW5nLWJnLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLWJzLXdhcm5pbmctdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy13YXJuaW5nLXRleHQtZW1waGFzaXMpO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWRhbmdlciB7XG4gIC0tYnMtbGlzdC1ncm91cC1jb2xvcjogdmFyKC0tYnMtZGFuZ2VyLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYmc6IHZhcigtLWJzLWRhbmdlci1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1kYW5nZXItYm9yZGVyLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogdmFyKC0tYnMtZGFuZ2VyLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtZGFuZ2VyLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1kYW5nZXItYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1iZzogdmFyKC0tYnMtZGFuZ2VyLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtZGFuZ2VyLXRleHQtZW1waGFzaXMpO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWxpZ2h0IHtcbiAgLS1icy1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS1icy1saWdodC10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1saXN0LWdyb3VwLWJnOiB2YXIoLS1icy1saWdodC1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1saWdodC1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiB2YXIoLS1icy1saWdodC1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6IHZhcigtLWJzLWxpZ2h0LWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1saWdodC1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiB2YXIoLS1icy1saWdodC10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLWJzLWxpZ2h0LXRleHQtZW1waGFzaXMpO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWRhcmsge1xuICAtLWJzLWxpc3QtZ3JvdXAtY29sb3I6IHZhcigtLWJzLWRhcmstdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtbGlzdC1ncm91cC1iZzogdmFyKC0tYnMtZGFyay1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1kYXJrLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6IHZhcigtLWJzLWRhcmstYm9yZGVyLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiB2YXIoLS1icy1kYXJrLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1kYXJrLWJnLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLWJzLWRhcmstdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1kYXJrLXRleHQtZW1waGFzaXMpO1xufVxuXG4uYnRuLWNsb3NlIHtcbiAgLS1icy1idG4tY2xvc2UtY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWNsb3NlLWJnOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSclMjMwMDAnJTNlJTNjcGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0eicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgLS1icy1idG4tY2xvc2Utb3BhY2l0eTogMC41O1xuICAtLWJzLWJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5OiAwLjc1O1xuICAtLWJzLWJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSgxMywgMTEwLCAyNTMsIDAuMjUpO1xuICAtLWJzLWJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAxO1xuICAtLWJzLWJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAwLjI1O1xuICAtLWJzLWJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI6IGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBwYWRkaW5nOiAwLjI1ZW0gMC4yNWVtO1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWNsb3NlLWNvbG9yKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdmFyKC0tYnMtYnRuLWNsb3NlLWJnKSBjZW50ZXIvMWVtIGF1dG8gbm8tcmVwZWF0O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICBvcGFjaXR5OiB2YXIoLS1icy1idG4tY2xvc2Utb3BhY2l0eSk7XG59XG4uYnRuLWNsb3NlOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWJzLWJ0bi1jbG9zZS1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3BhY2l0eTogdmFyKC0tYnMtYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHkpO1xufVxuLmJ0bi1jbG9zZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJzLWJ0bi1jbG9zZS1mb2N1cy1zaGFkb3cpO1xuICBvcGFjaXR5OiB2YXIoLS1icy1idG4tY2xvc2UtZm9jdXMtb3BhY2l0eSk7XG59XG4uYnRuLWNsb3NlOmRpc2FibGVkLCAuYnRuLWNsb3NlLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBvcGFjaXR5OiB2YXIoLS1icy1idG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eSk7XG59XG5cbi5idG4tY2xvc2Utd2hpdGUge1xuICBmaWx0ZXI6IHZhcigtLWJzLWJ0bi1jbG9zZS13aGl0ZS1maWx0ZXIpO1xufVxuXG5bZGF0YS1icy10aGVtZT1kYXJrXSAuYnRuLWNsb3NlIHtcbiAgZmlsdGVyOiB2YXIoLS1icy1idG4tY2xvc2Utd2hpdGUtZmlsdGVyKTtcbn1cblxuLnRvYXN0IHtcbiAgLS1icy10b2FzdC16aW5kZXg6IDEwOTA7XG4gIC0tYnMtdG9hc3QtcGFkZGluZy14OiAwLjc1cmVtO1xuICAtLWJzLXRvYXN0LXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLXRvYXN0LXNwYWNpbmc6IDEuNXJlbTtcbiAgLS1icy10b2FzdC1tYXgtd2lkdGg6IDM1MHB4O1xuICAtLWJzLXRvYXN0LWZvbnQtc2l6ZTogMC44NzVyZW07XG4gIC0tYnMtdG9hc3QtY29sb3I6IDtcbiAgLS1icy10b2FzdC1iZzogcmdiYSh2YXIoLS1icy1ib2R5LWJnLXJnYiksIDAuODUpO1xuICAtLWJzLXRvYXN0LWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy10b2FzdC1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7XG4gIC0tYnMtdG9hc3QtYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIC0tYnMtdG9hc3QtYm94LXNoYWRvdzogdmFyKC0tYnMtYm94LXNoYWRvdyk7XG4gIC0tYnMtdG9hc3QtaGVhZGVyLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xuICAtLWJzLXRvYXN0LWhlYWRlci1iZzogcmdiYSh2YXIoLS1icy1ib2R5LWJnLXJnYiksIDAuODUpO1xuICAtLWJzLXRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7XG4gIHdpZHRoOiB2YXIoLS1icy10b2FzdC1tYXgtd2lkdGgpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLWJzLXRvYXN0LWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXRvYXN0LWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS1icy10b2FzdC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLXRvYXN0LWJvcmRlci1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJzLXRvYXN0LWJveC1zaGFkb3cpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy10b2FzdC1ib3JkZXItcmFkaXVzKTtcbn1cbi50b2FzdC5zaG93aW5nIHtcbiAgb3BhY2l0eTogMDtcbn1cbi50b2FzdDpub3QoLnNob3cpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvYXN0LWNvbnRhaW5lciB7XG4gIC0tYnMtdG9hc3QtemluZGV4OiAxMDkwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHZhcigtLWJzLXRvYXN0LXppbmRleCk7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi50b2FzdC1jb250YWluZXIgPiA6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWJzLXRvYXN0LXNwYWNpbmcpO1xufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tYnMtdG9hc3QtcGFkZGluZy15KSB2YXIoLS1icy10b2FzdC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tYnMtdG9hc3QtaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtdG9hc3QtaGVhZGVyLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYnMtdG9hc3QtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy10b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYyh2YXIoLS1icy10b2FzdC1ib3JkZXItcmFkaXVzKSAtIHZhcigtLWJzLXRvYXN0LWJvcmRlci13aWR0aCkpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYyh2YXIoLS1icy10b2FzdC1ib3JkZXItcmFkaXVzKSAtIHZhcigtLWJzLXRvYXN0LWJvcmRlci13aWR0aCkpO1xufVxuLnRvYXN0LWhlYWRlciAuYnRuLWNsb3NlIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0wLjUgKiB2YXIoLS1icy10b2FzdC1wYWRkaW5nLXgpKTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWJzLXRvYXN0LXBhZGRpbmcteCk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tYnMtdG9hc3QtcGFkZGluZy14KTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4ubW9kYWwge1xuICAtLWJzLW1vZGFsLXppbmRleDogMTA1NTtcbiAgLS1icy1tb2RhbC13aWR0aDogNTAwcHg7XG4gIC0tYnMtbW9kYWwtcGFkZGluZzogMXJlbTtcbiAgLS1icy1tb2RhbC1tYXJnaW46IDAuNXJlbTtcbiAgLS1icy1tb2RhbC1jb2xvcjogO1xuICAtLWJzLW1vZGFsLWJnOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgLS1icy1tb2RhbC1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7XG4gIC0tYnMtbW9kYWwtYm9yZGVyLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICAtLWJzLW1vZGFsLWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpO1xuICAtLWJzLW1vZGFsLWJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3ctc20pO1xuICAtLWJzLW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZykgLSAodmFyKC0tYnMtYm9yZGVyLXdpZHRoKSkpO1xuICAtLWJzLW1vZGFsLWhlYWRlci1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogMXJlbTtcbiAgLS1icy1tb2RhbC1oZWFkZXItcGFkZGluZzogMXJlbSAxcmVtO1xuICAtLWJzLW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIC0tYnMtbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy1tb2RhbC10aXRsZS1saW5lLWhlaWdodDogMS41O1xuICAtLWJzLW1vZGFsLWZvb3Rlci1nYXA6IDAuNXJlbTtcbiAgLS1icy1tb2RhbC1mb290ZXItYmc6IDtcbiAgLS1icy1tb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICAtLWJzLW1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6IHZhcigtLWJzLWJvcmRlci13aWR0aCk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiB2YXIoLS1icy1tb2RhbC16aW5kZXgpO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG91dGxpbmU6IDA7XG59XG5cbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IHZhcigtLWJzLW1vZGFsLW1hcmdpbik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTBweCk7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4ubW9kYWwuc2hvdyAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLm1vZGFsLm1vZGFsLXN0YXRpYyAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1icy1tb2RhbC1tYXJnaW4pICogMik7XG59XG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1ib2R5IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWJzLW1vZGFsLW1hcmdpbikgKiAyKTtcbn1cblxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogdmFyKC0tYnMtbW9kYWwtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtbW9kYWwtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLWJzLW1vZGFsLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtbW9kYWwtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtbW9kYWwtYm9yZGVyLXJhZGl1cyk7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5tb2RhbC1iYWNrZHJvcCB7XG4gIC0tYnMtYmFja2Ryb3AtemluZGV4OiAxMDUwO1xuICAtLWJzLWJhY2tkcm9wLWJnOiAjMDAwO1xuICAtLWJzLWJhY2tkcm9wLW9wYWNpdHk6IDAuNTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IHZhcigtLWJzLWJhY2tkcm9wLXppbmRleCk7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYmFja2Ryb3AtYmcpO1xufVxuLm1vZGFsLWJhY2tkcm9wLmZhZGUge1xuICBvcGFjaXR5OiAwO1xufVxuLm1vZGFsLWJhY2tkcm9wLnNob3cge1xuICBvcGFjaXR5OiB2YXIoLS1icy1iYWNrZHJvcC1vcGFjaXR5KTtcbn1cblxuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1icy1tb2RhbC1oZWFkZXItcGFkZGluZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IpO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuLm1vZGFsLWhlYWRlciAuYnRuLWNsb3NlIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1icy1tb2RhbC1oZWFkZXItcGFkZGluZy15KSAqIDAuNSkgY2FsYyh2YXIoLS1icy1tb2RhbC1oZWFkZXItcGFkZGluZy14KSAqIDAuNSk7XG4gIG1hcmdpbjogY2FsYygtMC41ICogdmFyKC0tYnMtbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkpIGNhbGMoLTAuNSAqIHZhcigtLWJzLW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpKSBjYWxjKC0wLjUgKiB2YXIoLS1icy1tb2RhbC1oZWFkZXItcGFkZGluZy15KSkgYXV0bztcbn1cblxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWJzLW1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS1icy1tb2RhbC1wYWRkaW5nKTtcbn1cblxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tYnMtbW9kYWwtcGFkZGluZykgLSB2YXIoLS1icy1tb2RhbC1mb290ZXItZ2FwKSAqIDAuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLW1vZGFsLWZvb3Rlci1iZyk7XG4gIGJvcmRlci10b3A6IHZhcigtLWJzLW1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3IpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtbW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuLm1vZGFsLWZvb3RlciA+ICoge1xuICBtYXJnaW46IGNhbGModmFyKC0tYnMtbW9kYWwtZm9vdGVyLWdhcCkgKiAwLjUpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1vZGFsIHtcbiAgICAtLWJzLW1vZGFsLW1hcmdpbjogMS43NXJlbTtcbiAgICAtLWJzLW1vZGFsLWJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3cpO1xuICB9XG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogdmFyKC0tYnMtbW9kYWwtd2lkdGgpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICAubW9kYWwtc20ge1xuICAgIC0tYnMtbW9kYWwtd2lkdGg6IDMwMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1vZGFsLWxnLFxuICAubW9kYWwteGwge1xuICAgIC0tYnMtbW9kYWwtd2lkdGg6IDgwMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tb2RhbC14bCB7XG4gICAgLS1icy1tb2RhbC13aWR0aDogMTE0MHB4O1xuICB9XG59XG4ubW9kYWwtZnVsbHNjcmVlbiB7XG4gIHdpZHRoOiAxMDB2dztcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cbi5tb2RhbC1mdWxsc2NyZWVuIC5tb2RhbC1jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4ubW9kYWwtZnVsbHNjcmVlbiAubW9kYWwtaGVhZGVyLFxuLm1vZGFsLWZ1bGxzY3JlZW4gLm1vZGFsLWZvb3RlciB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4ubW9kYWwtZnVsbHNjcmVlbiAubW9kYWwtYm9keSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAubW9kYWwtZnVsbHNjcmVlbi1zbS1kb3duIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tc20tZG93biAubW9kYWwtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXNtLWRvd24gLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZ1bGxzY3JlZW4tc20tZG93biAubW9kYWwtZm9vdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXNtLWRvd24gLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAubW9kYWwtZnVsbHNjcmVlbi1tZC1kb3duIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tbWQtZG93biAubW9kYWwtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLW1kLWRvd24gLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZ1bGxzY3JlZW4tbWQtZG93biAubW9kYWwtZm9vdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLW1kLWRvd24gLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAubW9kYWwtZnVsbHNjcmVlbi1sZy1kb3duIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tbGctZG93biAubW9kYWwtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLWxnLWRvd24gLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZ1bGxzY3JlZW4tbGctZG93biAubW9kYWwtZm9vdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLWxnLWRvd24gLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLm1vZGFsLWZ1bGxzY3JlZW4teGwtZG93biB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXhsLWRvd24gLm1vZGFsLWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi14bC1kb3duIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mdWxsc2NyZWVuLXhsLWRvd24gLm1vZGFsLWZvb3RlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi14bC1kb3duIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTM5OS45OHB4KSB7XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXh4bC1kb3duIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4teHhsLWRvd24gLm1vZGFsLWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi14eGwtZG93biAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZnVsbHNjcmVlbi14eGwtZG93biAubW9kYWwtZm9vdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXh4bC1kb3duIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG4udG9vbHRpcCB7XG4gIC0tYnMtdG9vbHRpcC16aW5kZXg6IDEwODA7XG4gIC0tYnMtdG9vbHRpcC1tYXgtd2lkdGg6IDIwMHB4O1xuICAtLWJzLXRvb2x0aXAtcGFkZGluZy14OiAwLjVyZW07XG4gIC0tYnMtdG9vbHRpcC1wYWRkaW5nLXk6IDAuMjVyZW07XG4gIC0tYnMtdG9vbHRpcC1tYXJnaW46IDtcbiAgLS1icy10b29sdGlwLWZvbnQtc2l6ZTogMC44NzVyZW07XG4gIC0tYnMtdG9vbHRpcC1jb2xvcjogdmFyKC0tYnMtYm9keS1iZyk7XG4gIC0tYnMtdG9vbHRpcC1iZzogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIC0tYnMtdG9vbHRpcC1vcGFjaXR5OiAwLjk7XG4gIC0tYnMtdG9vbHRpcC1hcnJvdy13aWR0aDogMC44cmVtO1xuICAtLWJzLXRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAwLjRyZW07XG4gIHotaW5kZXg6IHZhcigtLWJzLXRvb2x0aXAtemluZGV4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogdmFyKC0tYnMtdG9vbHRpcC1tYXJnaW4pO1xuICBmb250LWZhbWlseTogdmFyKC0tYnMtZm9udC1zYW5zLXNlcmlmKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtdG9vbHRpcC1mb250LXNpemUpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG59XG4udG9vbHRpcC5zaG93IHtcbiAgb3BhY2l0eTogdmFyKC0tYnMtdG9vbHRpcC1vcGFjaXR5KTtcbn1cbi50b29sdGlwIC50b29sdGlwLWFycm93IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiB2YXIoLS1icy10b29sdGlwLWFycm93LXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1icy10b29sdGlwLWFycm93LWhlaWdodCk7XG59XG4udG9vbHRpcCAudG9vbHRpcC1hcnJvdzo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4uYnMtdG9vbHRpcC10b3AgLnRvb2x0aXAtYXJyb3csIC5icy10b29sdGlwLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj10b3BdIC50b29sdGlwLWFycm93IHtcbiAgYm90dG9tOiBjYWxjKC0xICogdmFyKC0tYnMtdG9vbHRpcC1hcnJvdy1oZWlnaHQpKTtcbn1cbi5icy10b29sdGlwLXRvcCAudG9vbHRpcC1hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49dG9wXSAudG9vbHRpcC1hcnJvdzo6YmVmb3JlIHtcbiAgdG9wOiAtMXB4O1xuICBib3JkZXItd2lkdGg6IHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctd2lkdGgpICogMC41KSAwO1xuICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1icy10b29sdGlwLWJnKTtcbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtZW5kIC50b29sdGlwLWFycm93LCAuYnMtdG9vbHRpcC1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49cmlnaHRdIC50b29sdGlwLWFycm93IHtcbiAgbGVmdDogY2FsYygtMSAqIHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSk7XG4gIHdpZHRoOiB2YXIoLS1icy10b29sdGlwLWFycm93LWhlaWdodCk7XG4gIGhlaWdodDogdmFyKC0tYnMtdG9vbHRpcC1hcnJvdy13aWR0aCk7XG59XG4uYnMtdG9vbHRpcC1lbmQgLnRvb2x0aXAtYXJyb3c6OmJlZm9yZSwgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXJpZ2h0XSAudG9vbHRpcC1hcnJvdzo6YmVmb3JlIHtcbiAgcmlnaHQ6IC0xcHg7XG4gIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS1icy10b29sdGlwLWFycm93LXdpZHRoKSAqIDAuNSkgdmFyKC0tYnMtdG9vbHRpcC1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tYnMtdG9vbHRpcC1hcnJvdy13aWR0aCkgKiAwLjUpIDA7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tYnMtdG9vbHRpcC1iZyk7XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG4uYnMtdG9vbHRpcC1ib3R0b20gLnRvb2x0aXAtYXJyb3csIC5icy10b29sdGlwLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1ib3R0b21dIC50b29sdGlwLWFycm93IHtcbiAgdG9wOiBjYWxjKC0xICogdmFyKC0tYnMtdG9vbHRpcC1hcnJvdy1oZWlnaHQpKTtcbn1cbi5icy10b29sdGlwLWJvdHRvbSAudG9vbHRpcC1hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49Ym90dG9tXSAudG9vbHRpcC1hcnJvdzo6YmVmb3JlIHtcbiAgYm90dG9tOiAtMXB4O1xuICBib3JkZXItd2lkdGg6IDAgY2FsYyh2YXIoLS1icy10b29sdGlwLWFycm93LXdpZHRoKSAqIDAuNSkgdmFyKC0tYnMtdG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1icy10b29sdGlwLWJnKTtcbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtc3RhcnQgLnRvb2x0aXAtYXJyb3csIC5icy10b29sdGlwLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1sZWZ0XSAudG9vbHRpcC1hcnJvdyB7XG4gIHJpZ2h0OiBjYWxjKC0xICogdmFyKC0tYnMtdG9vbHRpcC1hcnJvdy1oZWlnaHQpKTtcbiAgd2lkdGg6IHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS1icy10b29sdGlwLWFycm93LXdpZHRoKTtcbn1cbi5icy10b29sdGlwLXN0YXJ0IC50b29sdGlwLWFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1sZWZ0XSAudG9vbHRpcC1hcnJvdzo6YmVmb3JlIHtcbiAgbGVmdDogLTFweDtcbiAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctd2lkdGgpICogMC41KSAwIGNhbGModmFyKC0tYnMtdG9vbHRpcC1hcnJvdy13aWR0aCkgKiAwLjUpIHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWJzLXRvb2x0aXAtYmcpO1xufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IHZhcigtLWJzLXRvb2x0aXAtbWF4LXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tYnMtdG9vbHRpcC1wYWRkaW5nLXkpIHZhcigtLWJzLXRvb2x0aXAtcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLWJzLXRvb2x0aXAtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXRvb2x0aXAtYmcpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ucG9wb3ZlciB7XG4gIC0tYnMtcG9wb3Zlci16aW5kZXg6IDEwNzA7XG4gIC0tYnMtcG9wb3Zlci1tYXgtd2lkdGg6IDI3NnB4O1xuICAtLWJzLXBvcG92ZXItZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgLS1icy1wb3BvdmVyLWJnOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy1wb3BvdmVyLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KTtcbiAgLS1icy1wb3BvdmVyLWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpO1xuICAtLWJzLXBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKSAtIHZhcigtLWJzLWJvcmRlci13aWR0aCkpO1xuICAtLWJzLXBvcG92ZXItYm94LXNoYWRvdzogdmFyKC0tYnMtYm94LXNoYWRvdyk7XG4gIC0tYnMtcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAxcmVtO1xuICAtLWJzLXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLXBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZTogMXJlbTtcbiAgLS1icy1wb3BvdmVyLWhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiAgLS1icy1wb3BvdmVyLWhlYWRlci1iZzogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTtcbiAgLS1icy1wb3BvdmVyLWJvZHktcGFkZGluZy14OiAxcmVtO1xuICAtLWJzLXBvcG92ZXItYm9keS1wYWRkaW5nLXk6IDFyZW07XG4gIC0tYnMtcG9wb3Zlci1ib2R5LWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgLS1icy1wb3BvdmVyLWFycm93LXdpZHRoOiAxcmVtO1xuICAtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0OiAwLjVyZW07XG4gIC0tYnMtcG9wb3Zlci1hcnJvdy1ib3JkZXI6IHZhcigtLWJzLXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgei1pbmRleDogdmFyKC0tYnMtcG9wb3Zlci16aW5kZXgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiB2YXIoLS1icy1wb3BvdmVyLW1heC13aWR0aCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1icy1mb250LXNhbnMtc2VyaWYpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgZm9udC1zaXplOiB2YXIoLS1icy1wb3BvdmVyLWZvbnQtc2l6ZSk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtcG9wb3Zlci1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItcmFkaXVzKTtcbn1cbi5wb3BvdmVyIC5wb3BvdmVyLWFycm93IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiB2YXIoLS1icy1wb3BvdmVyLWFycm93LXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1icy1wb3BvdmVyLWFycm93LWhlaWdodCk7XG59XG4ucG9wb3ZlciAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAucG9wb3ZlciAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG59XG5cbi5icy1wb3BvdmVyLXRvcCA+IC5wb3BvdmVyLWFycm93LCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49dG9wXSA+IC5wb3BvdmVyLWFycm93IHtcbiAgYm90dG9tOiBjYWxjKC0xICogKHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aCkpO1xufVxuLmJzLXBvcG92ZXItdG9wID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci10b3AgPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj10b3BdID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1icy1wb3BvdmVyLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS1icy1wb3BvdmVyLWFycm93LXdpZHRoKSAqIDAuNSkgMDtcbn1cbi5icy1wb3BvdmVyLXRvcCA+IC5wb3BvdmVyLWFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj10b3BdID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tYnMtcG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xufVxuLmJzLXBvcG92ZXItdG9wID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49dG9wXSA+IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIGJvdHRvbTogdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1icy1wb3BvdmVyLWJnKTtcbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXBvcG92ZXItZW5kID4gLnBvcG92ZXItYXJyb3csIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1yaWdodF0gPiAucG9wb3Zlci1hcnJvdyB7XG4gIGxlZnQ6IGNhbGMoLTEgKiAodmFyKC0tYnMtcG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLWJzLXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7XG4gIHdpZHRoOiB2YXIoLS1icy1wb3BvdmVyLWFycm93LWhlaWdodCk7XG4gIGhlaWdodDogdmFyKC0tYnMtcG9wb3Zlci1hcnJvdy13aWR0aCk7XG59XG4uYnMtcG9wb3Zlci1lbmQgPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49cmlnaHRdID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItZW5kID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49cmlnaHRdID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpICogMC41KSB2YXIoLS1icy1wb3BvdmVyLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS1icy1wb3BvdmVyLWFycm93LXdpZHRoKSAqIDAuNSkgMDtcbn1cbi5icy1wb3BvdmVyLWVuZCA+IC5wb3BvdmVyLWFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1yaWdodF0gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS1icy1wb3BvdmVyLWFycm93LWJvcmRlcik7XG59XG4uYnMtcG9wb3Zlci1lbmQgPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1yaWdodF0gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICBsZWZ0OiB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tYnMtcG9wb3Zlci1iZyk7XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG4uYnMtcG9wb3Zlci1ib3R0b20gPiAucG9wb3Zlci1hcnJvdywgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWJvdHRvbV0gPiAucG9wb3Zlci1hcnJvdyB7XG4gIHRvcDogY2FsYygtMSAqICh2YXIoLS1icy1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItd2lkdGgpKTtcbn1cbi5icy1wb3BvdmVyLWJvdHRvbSA+IC5wb3BvdmVyLWFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1ib3R0b21dID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYm90dG9tID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49Ym90dG9tXSA+IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIGJvcmRlci13aWR0aDogMCBjYWxjKHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpICogMC41KSB2YXIoLS1icy1wb3BvdmVyLWFycm93LWhlaWdodCk7XG59XG4uYnMtcG9wb3Zlci1ib3R0b20gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49Ym90dG9tXSA+IC5wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbn1cbi5icy1wb3BvdmVyLWJvdHRvbSA+IC5wb3BvdmVyLWFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWJvdHRvbV0gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLWJzLXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYnMtcG9wb3Zlci1iZyk7XG59XG4uYnMtcG9wb3Zlci1ib3R0b20gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1ib3R0b21dIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiB2YXIoLS1icy1wb3BvdmVyLWFycm93LXdpZHRoKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLTAuNSAqIHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpKTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLXBvcG92ZXItaGVhZGVyLWJnKTtcbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXBvcG92ZXItc3RhcnQgPiAucG9wb3Zlci1hcnJvdywgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdID4gLnBvcG92ZXItYXJyb3cge1xuICByaWdodDogY2FsYygtMSAqICh2YXIoLS1icy1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItd2lkdGgpKTtcbiAgd2lkdGg6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS1icy1wb3BvdmVyLWFycm93LXdpZHRoKTtcbn1cbi5icy1wb3BvdmVyLXN0YXJ0ID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItc3RhcnQgPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1sZWZ0XSA+IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS1icy1wb3BvdmVyLWFycm93LXdpZHRoKSAqIDAuNSkgMCBjYWxjKHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpICogMC41KSB2YXIoLS1icy1wb3BvdmVyLWFycm93LWhlaWdodCk7XG59XG4uYnMtcG9wb3Zlci1zdGFydCA+IC5wb3BvdmVyLWFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1sZWZ0XSA+IC5wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuICByaWdodDogMDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbn1cbi5icy1wb3BvdmVyLXN0YXJ0ID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49bGVmdF0gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICByaWdodDogdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tYnMtcG9wb3Zlci1iZyk7XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiB2YXIoLS1icy1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkpIHZhcigtLWJzLXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtcG9wb3Zlci1oZWFkZXItZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLWJzLXBvcG92ZXItaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtcG9wb3Zlci1oZWFkZXItYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1wb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cbi5wb3BvdmVyLWhlYWRlcjplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS1icy1wb3BvdmVyLWJvZHktcGFkZGluZy15KSB2YXIoLS1icy1wb3BvdmVyLWJvZHktcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLWJzLXBvcG92ZXItYm9keS1jb2xvcik7XG59XG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmNhcm91c2VsLWlubmVyOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLXN0YXJ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLWVuZCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1zdGFydCxcbi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAxO1xufVxuLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gIHotaW5kZXg6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgMC42cztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCxcbiAgLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTUlO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbiAgLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldjpob3ZlciwgLmNhcm91c2VsLWNvbnRyb2wtcHJldjpmb2N1cyxcbi5jYXJvdXNlbC1jb250cm9sLW5leHQ6aG92ZXIsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0OmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3V0bGluZTogMDtcbiAgb3BhY2l0eTogMC45O1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyUyM2ZmZiclM2UlM2NwYXRoIGQ9J00xMS4zNTQgMS42NDZhLjUuNSAwIDAgMSAwIC43MDhMNS43MDcgOGw1LjY0NyA1LjY0NmEuNS41IDAgMCAxLS43MDguNzA4bC02LTZhLjUuNSAwIDAgMSAwLS43MDhsNi02YS41LjUgMCAwIDEgLjcwOCAweicvJTNlJTNjL3N2ZyUzZVwiKSAvKnJ0bDp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSclMjNmZmYnJTNlJTNjcGF0aCBkPSdNNC42NDYgMS42NDZhLjUuNSAwIDAgMSAuNzA4IDBsNiA2YS41LjUgMCAwIDEgMCAuNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4LS43MDhMMTAuMjkzIDggNC42NDYgMi4zNTRhLjUuNSAwIDAgMSAwLS43MDh6Jy8lM2UlM2Mvc3ZnJTNlXCIpKi87XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyUyM2ZmZiclM2UlM2NwYXRoIGQ9J000LjY0NiAxLjY0NmEuNS41IDAgMCAxIC43MDggMGw2IDZhLjUuNSAwIDAgMSAwIC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDgtLjcwOEwxMC4yOTMgOCA0LjY0NiAyLjM1NGEuNS41IDAgMCAxIDAtLjcwOHonLyUzZSUzYy9zdmclM2VcIikgLypydGw6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nJTIzZmZmJyUzZSUzY3BhdGggZD0nTTExLjM1NCAxLjY0NmEuNS41IDAgMCAxIDAgLjcwOEw1LjcwNyA4bDUuNjQ3IDUuNjQ2YS41LjUgMCAwIDEtLjcwOC43MDhsLTYtNmEuNS41IDAgMCAxIDAtLjcwOGw2LTZhLjUuNSAwIDAgMSAuNzA4IDB6Jy8lM2UlM2Mvc3ZnJTNlXCIpKi87XG59XG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNSU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAxNSU7XG59XG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyBbZGF0YS1icy10YXJnZXRdIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1yaWdodDogM3B4O1xuICBtYXJnaW4tbGVmdDogM3B4O1xuICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIC5hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE1JTtcbiAgYm90dG9tOiAxLjI1cmVtO1xuICBsZWZ0OiAxNSU7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNhcm91c2VsLWRhcmsgLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWRhcmsgLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZmlsdGVyOiBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCk7XG59XG4uY2Fyb3VzZWwtZGFyayAuY2Fyb3VzZWwtaW5kaWNhdG9ycyBbZGF0YS1icy10YXJnZXRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cbi5jYXJvdXNlbC1kYXJrIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgY29sb3I6ICMwMDA7XG59XG5cbltkYXRhLWJzLXRoZW1lPWRhcmtdIC5jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG5bZGF0YS1icy10aGVtZT1kYXJrXSAuY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLCBbZGF0YS1icy10aGVtZT1kYXJrXS5jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG5bZGF0YS1icy10aGVtZT1kYXJrXS5jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBmaWx0ZXI6IGludmVydCgxKSBncmF5c2NhbGUoMTAwKTtcbn1cbltkYXRhLWJzLXRoZW1lPWRhcmtdIC5jYXJvdXNlbCAuY2Fyb3VzZWwtaW5kaWNhdG9ycyBbZGF0YS1icy10YXJnZXRdLCBbZGF0YS1icy10aGVtZT1kYXJrXS5jYXJvdXNlbCAuY2Fyb3VzZWwtaW5kaWNhdG9ycyBbZGF0YS1icy10YXJnZXRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cbltkYXRhLWJzLXRoZW1lPWRhcmtdIC5jYXJvdXNlbCAuY2Fyb3VzZWwtY2FwdGlvbiwgW2RhdGEtYnMtdGhlbWU9ZGFya10uY2Fyb3VzZWwgLmNhcm91c2VsLWNhcHRpb24ge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnNwaW5uZXItZ3Jvdyxcbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IHZhcigtLWJzLXNwaW5uZXItd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLWJzLXNwaW5uZXItaGVpZ2h0KTtcbiAgdmVydGljYWwtYWxpZ246IHZhcigtLWJzLXNwaW5uZXItdmVydGljYWwtYWxpZ24pO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogdmFyKC0tYnMtc3Bpbm5lci1hbmltYXRpb24tc3BlZWQpIGxpbmVhciBpbmZpbml0ZSB2YXIoLS1icy1zcGlubmVyLWFuaW1hdGlvbi1uYW1lKTtcbn1cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIC8qIHJ0bDppZ25vcmUgKi87XG4gIH1cbn1cbi5zcGlubmVyLWJvcmRlciB7XG4gIC0tYnMtc3Bpbm5lci13aWR0aDogMnJlbTtcbiAgLS1icy1zcGlubmVyLWhlaWdodDogMnJlbTtcbiAgLS1icy1zcGlubmVyLXZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTtcbiAgLS1icy1zcGlubmVyLWJvcmRlci13aWR0aDogMC4yNWVtO1xuICAtLWJzLXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAwLjc1cztcbiAgLS1icy1zcGlubmVyLWFuaW1hdGlvbi1uYW1lOiBzcGlubmVyLWJvcmRlcjtcbiAgYm9yZGVyOiB2YXIoLS1icy1zcGlubmVyLWJvcmRlci13aWR0aCkgc29saWQgY3VycmVudGNvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc3Bpbm5lci1ib3JkZXItc20ge1xuICAtLWJzLXNwaW5uZXItd2lkdGg6IDFyZW07XG4gIC0tYnMtc3Bpbm5lci1oZWlnaHQ6IDFyZW07XG4gIC0tYnMtc3Bpbm5lci1ib3JkZXItd2lkdGg6IDAuMmVtO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5zcGlubmVyLWdyb3cge1xuICAtLWJzLXNwaW5uZXItd2lkdGg6IDJyZW07XG4gIC0tYnMtc3Bpbm5lci1oZWlnaHQ6IDJyZW07XG4gIC0tYnMtc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07XG4gIC0tYnMtc3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6IDAuNzVzO1xuICAtLWJzLXNwaW5uZXItYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItZ3JvdztcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgLS1icy1zcGlubmVyLXdpZHRoOiAxcmVtO1xuICAtLWJzLXNwaW5uZXItaGVpZ2h0OiAxcmVtO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuc3Bpbm5lci1ib3JkZXIsXG4gIC5zcGlubmVyLWdyb3cge1xuICAgIC0tYnMtc3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6IDEuNXM7XG4gIH1cbn1cbi5vZmZjYW52YXMsIC5vZmZjYW52YXMteHhsLCAub2ZmY2FudmFzLXhsLCAub2ZmY2FudmFzLWxnLCAub2ZmY2FudmFzLW1kLCAub2ZmY2FudmFzLXNtIHtcbiAgLS1icy1vZmZjYW52YXMtemluZGV4OiAxMDQ1O1xuICAtLWJzLW9mZmNhbnZhcy13aWR0aDogNDAwcHg7XG4gIC0tYnMtb2ZmY2FudmFzLWhlaWdodDogMzB2aDtcbiAgLS1icy1vZmZjYW52YXMtcGFkZGluZy14OiAxcmVtO1xuICAtLWJzLW9mZmNhbnZhcy1wYWRkaW5nLXk6IDFyZW07XG4gIC0tYnMtb2ZmY2FudmFzLWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgLS1icy1vZmZjYW52YXMtYmc6IHZhcigtLWJzLWJvZHktYmcpO1xuICAtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGg6IHZhcigtLWJzLWJvcmRlci13aWR0aCk7XG4gIC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KTtcbiAgLS1icy1vZmZjYW52YXMtYm94LXNoYWRvdzogdmFyKC0tYnMtYm94LXNoYWRvdy1zbSk7XG4gIC0tYnMtb2ZmY2FudmFzLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICAtLWJzLW9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogMS41O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgLm9mZmNhbnZhcy1zbSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiB2YXIoLS1icy1vZmZjYW52YXMtemluZGV4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiB2YXIoLS1icy1vZmZjYW52YXMtY29sb3IpO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1vZmZjYW52YXMtYmcpO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgb3V0bGluZTogMDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS1icy1vZmZjYW52YXMtdHJhbnNpdGlvbik7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkgYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm9mZmNhbnZhcy1zbSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC5vZmZjYW52YXMtc20ub2ZmY2FudmFzLXN0YXJ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgICBib3JkZXItcmlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy1zbS5vZmZjYW52YXMtZW5kIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IHZhcigtLWJzLW9mZmNhbnZhcy13aWR0aCk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxuICAub2ZmY2FudmFzLXNtLm9mZmNhbnZhcy10b3Age1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMtc20ub2ZmY2FudmFzLWJvdHRvbSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMtc20uc2hvd2luZywgLm9mZmNhbnZhcy1zbS5zaG93Om5vdCguaGlkaW5nKSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmZjYW52YXMtc20uc2hvd2luZywgLm9mZmNhbnZhcy1zbS5oaWRpbmcsIC5vZmZjYW52YXMtc20uc2hvdyB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5vZmZjYW52YXMtc20ge1xuICAgIC0tYnMtb2ZmY2FudmFzLWhlaWdodDogYXV0bztcbiAgICAtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGg6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxuICAub2ZmY2FudmFzLXNtIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmZjYW52YXMtc20gLm9mZmNhbnZhcy1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLm9mZmNhbnZhcy1tZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiB2YXIoLS1icy1vZmZjYW52YXMtemluZGV4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiB2YXIoLS1icy1vZmZjYW52YXMtY29sb3IpO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1vZmZjYW52YXMtYmcpO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgb3V0bGluZTogMDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS1icy1vZmZjYW52YXMtdHJhbnNpdGlvbik7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkgYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm9mZmNhbnZhcy1tZCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5vZmZjYW52YXMtbWQub2ZmY2FudmFzLXN0YXJ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgICBib3JkZXItcmlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy1tZC5vZmZjYW52YXMtZW5kIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IHZhcigtLWJzLW9mZmNhbnZhcy13aWR0aCk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxuICAub2ZmY2FudmFzLW1kLm9mZmNhbnZhcy10b3Age1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMtbWQub2ZmY2FudmFzLWJvdHRvbSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMtbWQuc2hvd2luZywgLm9mZmNhbnZhcy1tZC5zaG93Om5vdCguaGlkaW5nKSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmZjYW52YXMtbWQuc2hvd2luZywgLm9mZmNhbnZhcy1tZC5oaWRpbmcsIC5vZmZjYW52YXMtbWQuc2hvdyB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5vZmZjYW52YXMtbWQge1xuICAgIC0tYnMtb2ZmY2FudmFzLWhlaWdodDogYXV0bztcbiAgICAtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGg6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxuICAub2ZmY2FudmFzLW1kIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmZjYW52YXMtbWQgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLm9mZmNhbnZhcy1sZyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiB2YXIoLS1icy1vZmZjYW52YXMtemluZGV4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiB2YXIoLS1icy1vZmZjYW52YXMtY29sb3IpO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1vZmZjYW52YXMtYmcpO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgb3V0bGluZTogMDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS1icy1vZmZjYW52YXMtdHJhbnNpdGlvbik7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkgYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm9mZmNhbnZhcy1sZyB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC5vZmZjYW52YXMtbGcub2ZmY2FudmFzLXN0YXJ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgICBib3JkZXItcmlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy1sZy5vZmZjYW52YXMtZW5kIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IHZhcigtLWJzLW9mZmNhbnZhcy13aWR0aCk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxuICAub2ZmY2FudmFzLWxnLm9mZmNhbnZhcy10b3Age1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMtbGcub2ZmY2FudmFzLWJvdHRvbSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMtbGcuc2hvd2luZywgLm9mZmNhbnZhcy1sZy5zaG93Om5vdCguaGlkaW5nKSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmZjYW52YXMtbGcuc2hvd2luZywgLm9mZmNhbnZhcy1sZy5oaWRpbmcsIC5vZmZjYW52YXMtbGcuc2hvdyB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5vZmZjYW52YXMtbGcge1xuICAgIC0tYnMtb2ZmY2FudmFzLWhlaWdodDogYXV0bztcbiAgICAtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGg6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxuICAub2ZmY2FudmFzLWxnIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmZjYW52YXMtbGcgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gIC5vZmZjYW52YXMteGwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogdmFyKC0tYnMtb2ZmY2FudmFzLXppbmRleCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBjb2xvcjogdmFyKC0tYnMtb2ZmY2FudmFzLWNvbG9yKTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtb2ZmY2FudmFzLWJnKTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIG91dGxpbmU6IDA7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tYnMtb2ZmY2FudmFzLXRyYW5zaXRpb24pO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAub2ZmY2FudmFzLXhsIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gIC5vZmZjYW52YXMteGwub2ZmY2FudmFzLXN0YXJ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgICBib3JkZXItcmlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy14bC5vZmZjYW52YXMtZW5kIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IHZhcigtLWJzLW9mZmNhbnZhcy13aWR0aCk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxuICAub2ZmY2FudmFzLXhsLm9mZmNhbnZhcy10b3Age1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMteGwub2ZmY2FudmFzLWJvdHRvbSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMteGwuc2hvd2luZywgLm9mZmNhbnZhcy14bC5zaG93Om5vdCguaGlkaW5nKSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmZjYW52YXMteGwuc2hvd2luZywgLm9mZmNhbnZhcy14bC5oaWRpbmcsIC5vZmZjYW52YXMteGwuc2hvdyB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAub2ZmY2FudmFzLXhsIHtcbiAgICAtLWJzLW9mZmNhbnZhcy1oZWlnaHQ6IGF1dG87XG4gICAgLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9mZmNhbnZhcy14bCAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmY2FudmFzLXhsIC5vZmZjYW52YXMtYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEzOTkuOThweCkge1xuICAub2ZmY2FudmFzLXh4bCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiB2YXIoLS1icy1vZmZjYW52YXMtemluZGV4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiB2YXIoLS1icy1vZmZjYW52YXMtY29sb3IpO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1vZmZjYW52YXMtYmcpO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgb3V0bGluZTogMDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS1icy1vZmZjYW52YXMtdHJhbnNpdGlvbik7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzk5Ljk4cHgpIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5vZmZjYW52YXMteHhsIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTM5OS45OHB4KSB7XG4gIC5vZmZjYW52YXMteHhsLm9mZmNhbnZhcy1zdGFydCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IHZhcigtLWJzLW9mZmNhbnZhcy13aWR0aCk7XG4gICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMteHhsLm9mZmNhbnZhcy1lbmQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMteHhsLm9mZmNhbnZhcy10b3Age1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMteHhsLm9mZmNhbnZhcy1ib3R0b20ge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1icy1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgfVxuICAub2ZmY2FudmFzLXh4bC5zaG93aW5nLCAub2ZmY2FudmFzLXh4bC5zaG93Om5vdCguaGlkaW5nKSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmZjYW52YXMteHhsLnNob3dpbmcsIC5vZmZjYW52YXMteHhsLmhpZGluZywgLm9mZmNhbnZhcy14eGwuc2hvdyB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAub2ZmY2FudmFzLXh4bCB7XG4gICAgLS1icy1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgIC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG4gIC5vZmZjYW52YXMteHhsIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmZjYW52YXMteHhsIC5vZmZjYW52YXMtYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm9mZmNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiB2YXIoLS1icy1vZmZjYW52YXMtemluZGV4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBjb2xvcjogdmFyKC0tYnMtb2ZmY2FudmFzLWNvbG9yKTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1vZmZjYW52YXMtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBvdXRsaW5lOiAwO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1icy1vZmZjYW52YXMtdHJhbnNpdGlvbik7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAub2ZmY2FudmFzIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4ub2ZmY2FudmFzLm9mZmNhbnZhcy1zdGFydCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IHZhcigtLWJzLW9mZmNhbnZhcy13aWR0aCk7XG4gIGJvcmRlci1yaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG4ub2ZmY2FudmFzLm9mZmNhbnZhcy1lbmQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgYm9yZGVyLWxlZnQ6IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG4ub2ZmY2FudmFzLm9mZmNhbnZhcy10b3Age1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy1oZWlnaHQpO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbn1cbi5vZmZjYW52YXMub2ZmY2FudmFzLWJvdHRvbSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy1oZWlnaHQpO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItdG9wOiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xufVxuLm9mZmNhbnZhcy5zaG93aW5nLCAub2ZmY2FudmFzLnNob3c6bm90KC5oaWRpbmcpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLm9mZmNhbnZhcy5zaG93aW5nLCAub2ZmY2FudmFzLmhpZGluZywgLm9mZmNhbnZhcy5zaG93IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLm9mZmNhbnZhcy1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDQwO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG4ub2ZmY2FudmFzLWJhY2tkcm9wLmZhZGUge1xuICBvcGFjaXR5OiAwO1xufVxuLm9mZmNhbnZhcy1iYWNrZHJvcC5zaG93IHtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4ub2ZmY2FudmFzLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLWJzLW9mZmNhbnZhcy1wYWRkaW5nLXkpIHZhcigtLWJzLW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xufVxuLm9mZmNhbnZhcy1oZWFkZXIgLmJ0bi1jbG9zZSB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tYnMtb2ZmY2FudmFzLXBhZGRpbmcteSkgKiAwLjUpIGNhbGModmFyKC0tYnMtb2ZmY2FudmFzLXBhZGRpbmcteCkgKiAwLjUpO1xuICBtYXJnaW46IGNhbGMoLTAuNSAqIHZhcigtLWJzLW9mZmNhbnZhcy1wYWRkaW5nLXkpKSBjYWxjKC0wLjUgKiB2YXIoLS1icy1vZmZjYW52YXMtcGFkZGluZy14KSkgY2FsYygtMC41ICogdmFyKC0tYnMtb2ZmY2FudmFzLXBhZGRpbmcteSkpIGF1dG87XG59XG5cbi5vZmZjYW52YXMtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLm9mZmNhbnZhcy1ib2R5IHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiB2YXIoLS1icy1vZmZjYW52YXMtcGFkZGluZy15KSB2YXIoLS1icy1vZmZjYW52YXMtcGFkZGluZy14KTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogd2FpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAwLjU7XG59XG4ucGxhY2Vob2xkZXIuYnRuOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5wbGFjZWhvbGRlci14cyB7XG4gIG1pbi1oZWlnaHQ6IDAuNmVtO1xufVxuXG4ucGxhY2Vob2xkZXItc20ge1xuICBtaW4taGVpZ2h0OiAwLjhlbTtcbn1cblxuLnBsYWNlaG9sZGVyLWxnIHtcbiAgbWluLWhlaWdodDogMS4yZW07XG59XG5cbi5wbGFjZWhvbGRlci1nbG93IC5wbGFjZWhvbGRlciB7XG4gIGFuaW1hdGlvbjogcGxhY2Vob2xkZXItZ2xvdyAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBwbGFjZWhvbGRlci1nbG93IHtcbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjI7XG4gIH1cbn1cbi5wbGFjZWhvbGRlci13YXZlIHtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzMGRlZywgIzAwMCA1NSUsIHJnYmEoMCwgMCwgMCwgMC44KSA3NSUsICMwMDAgOTUlKTtcbiAgbWFzay1zaXplOiAyMDAlIDEwMCU7XG4gIGFuaW1hdGlvbjogcGxhY2Vob2xkZXItd2F2ZSAycyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItd2F2ZSB7XG4gIDEwMCUge1xuICAgIG1hc2stcG9zaXRpb246IC0yMDAlIDAlO1xuICB9XG59XG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4udGV4dC1iZy1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSh2YXIoLS1icy1wcmltYXJ5LXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1iZy1zZWNvbmRhcnkge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKHZhcigtLWJzLXNlY29uZGFyeS1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYmctc3VjY2VzcyB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IFJHQkEodmFyKC0tYnMtc3VjY2Vzcy1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYmctaW5mbyB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IFJHQkEodmFyKC0tYnMtaW5mby1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYmctd2FybmluZyB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IFJHQkEodmFyKC0tYnMtd2FybmluZy1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYmctZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSh2YXIoLS1icy1kYW5nZXItcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJnLWxpZ2h0IHtcbiAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSh2YXIoLS1icy1saWdodC1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYmctZGFyayB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IFJHQkEodmFyKC0tYnMtZGFyay1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLmxpbmstcHJpbWFyeSB7XG4gIGNvbG9yOiBSR0JBKHZhcigtLWJzLXByaW1hcnktcmdiKSwgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLWJzLXByaW1hcnktcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG4ubGluay1wcmltYXJ5OmhvdmVyLCAubGluay1wcmltYXJ5OmZvY3VzIHtcbiAgY29sb3I6IFJHQkEoMTAsIDg4LCAyMDIsIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSgxMCwgODgsIDIwMiwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXNlY29uZGFyeSB7XG4gIGNvbG9yOiBSR0JBKHZhcigtLWJzLXNlY29uZGFyeS1yZ2IpLCB2YXIoLS1icy1saW5rLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tYnMtc2Vjb25kYXJ5LXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstc2Vjb25kYXJ5OmhvdmVyLCAubGluay1zZWNvbmRhcnk6Zm9jdXMge1xuICBjb2xvcjogUkdCQSg4NiwgOTQsIDEwMCwgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKDg2LCA5NCwgMTAwLCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLmxpbmstc3VjY2VzcyB7XG4gIGNvbG9yOiBSR0JBKHZhcigtLWJzLXN1Y2Nlc3MtcmdiKSwgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLWJzLXN1Y2Nlc3MtcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG4ubGluay1zdWNjZXNzOmhvdmVyLCAubGluay1zdWNjZXNzOmZvY3VzIHtcbiAgY29sb3I6IFJHQkEoMjAsIDEwOCwgNjcsIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSgyMCwgMTA4LCA2NywgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLWluZm8ge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1pbmZvLXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy1pbmZvLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstaW5mbzpob3ZlciwgLmxpbmstaW5mbzpmb2N1cyB7XG4gIGNvbG9yOiBSR0JBKDYxLCAyMTMsIDI0MywgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKDYxLCAyMTMsIDI0MywgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXdhcm5pbmcge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy13YXJuaW5nLXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy13YXJuaW5nLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstd2FybmluZzpob3ZlciwgLmxpbmstd2FybmluZzpmb2N1cyB7XG4gIGNvbG9yOiBSR0JBKDI1NSwgMjA1LCA1NywgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKDI1NSwgMjA1LCA1NywgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLWRhbmdlciB7XG4gIGNvbG9yOiBSR0JBKHZhcigtLWJzLWRhbmdlci1yZ2IpLCB2YXIoLS1icy1saW5rLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstZGFuZ2VyOmhvdmVyLCAubGluay1kYW5nZXI6Zm9jdXMge1xuICBjb2xvcjogUkdCQSgxNzYsIDQyLCA1NSwgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKDE3NiwgNDIsIDU1LCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLmxpbmstbGlnaHQge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1saWdodC1yZ2IpLCB2YXIoLS1icy1saW5rLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tYnMtbGlnaHQtcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG4ubGluay1saWdodDpob3ZlciwgLmxpbmstbGlnaHQ6Zm9jdXMge1xuICBjb2xvcjogUkdCQSgyNDksIDI1MCwgMjUxLCB2YXIoLS1icy1saW5rLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEoMjQ5LCAyNTAsIDI1MSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLWRhcmsge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1kYXJrLXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy1kYXJrLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstZGFyazpob3ZlciwgLmxpbmstZGFyazpmb2N1cyB7XG4gIGNvbG9yOiBSR0JBKDI2LCAzMCwgMzMsIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSgyNiwgMzAsIDMzLCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLmxpbmstYm9keS1lbXBoYXNpcyB7XG4gIGNvbG9yOiBSR0JBKHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cbi5saW5rLWJvZHktZW1waGFzaXM6aG92ZXIsIC5saW5rLWJvZHktZW1waGFzaXM6Zm9jdXMge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS1icy1saW5rLW9wYWNpdHksIDAuNzUpKSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tYnMtZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMC43NSkpICFpbXBvcnRhbnQ7XG59XG5cbi5mb2N1cy1yaW5nOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtZm9jdXMtcmluZy14LCAwKSB2YXIoLS1icy1mb2N1cy1yaW5nLXksIDApIHZhcigtLWJzLWZvY3VzLXJpbmctYmx1ciwgMCkgdmFyKC0tYnMtZm9jdXMtcmluZy13aWR0aCkgdmFyKC0tYnMtZm9jdXMtcmluZy1jb2xvcik7XG59XG5cbi5pY29uLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiAwLjM3NXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLWJzLWxpbmstY29sb3ItcmdiKSwgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAwLjUpKTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjI1ZW07XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5pY29uLWxpbmsgPiAuYmkge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dCB0cmFuc2Zvcm07XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuaWNvbi1saW5rID4gLmJpIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5pY29uLWxpbmstaG92ZXI6aG92ZXIgPiAuYmksIC5pY29uLWxpbmstaG92ZXI6Zm9jdXMtdmlzaWJsZSA+IC5iaSB7XG4gIHRyYW5zZm9ybTogdmFyKC0tYnMtaWNvbi1saW5rLXRyYW5zZm9ybSwgdHJhbnNsYXRlM2QoMC4yNWVtLCAwLCAwKSk7XG59XG5cbi5yYXRpbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucmF0aW86OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tYnMtYXNwZWN0LXJhdGlvKTtcbiAgY29udGVudDogXCJcIjtcbn1cbi5yYXRpbyA+ICoge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnJhdGlvLTF4MSB7XG4gIC0tYnMtYXNwZWN0LXJhdGlvOiAxMDAlO1xufVxuXG4ucmF0aW8tNHgzIHtcbiAgLS1icy1hc3BlY3QtcmF0aW86IDc1JTtcbn1cblxuLnJhdGlvLTE2eDkge1xuICAtLWJzLWFzcGVjdC1yYXRpbzogNTYuMjUlO1xufVxuXG4ucmF0aW8tMjF4OSB7XG4gIC0tYnMtYXNwZWN0LXJhdGlvOiA0Mi44NTcxNDI4NTcxJTtcbn1cblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDtcbn1cblxuLnN0aWNreS10b3Age1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMjA7XG59XG5cbi5zdGlja3ktYm90dG9tIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDIwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnN0aWNreS1zbS10b3Age1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDEwMjA7XG4gIH1cbiAgLnN0aWNreS1zbS1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDEwMjA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc3RpY2t5LW1kLXRvcCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAyMDtcbiAgfVxuICAuc3RpY2t5LW1kLWJvdHRvbSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTAyMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zdGlja3ktbGctdG9wIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG4gIC5zdGlja3ktbGctYm90dG9tIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5zdGlja3kteGwtdG9wIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG4gIC5zdGlja3kteGwtYm90dG9tIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5zdGlja3kteHhsLXRvcCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAyMDtcbiAgfVxuICAuc3RpY2t5LXh4bC1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDEwMjA7XG4gIH1cbn1cbi5oc3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4udnN0YWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIGF1dG87XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi52aXN1YWxseS1oaWRkZW4sXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuLnZpc3VhbGx5LWhpZGRlbjpub3QoY2FwdGlvbiksXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbik6bm90KGNhcHRpb24pIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG59XG5cbi5zdHJldGNoZWQtbGluazo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnRleHQtdHJ1bmNhdGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnZyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB3aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgbWluLWhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6IDAuMjU7XG59XG5cbi5hbGlnbi1iYXNlbGluZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tdG9wIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tdGV4dC1ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXRleHQtdG9wIHtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1zdGFydCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1lbmQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LW5vbmUge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ub2JqZWN0LWZpdC1jb250YWluIHtcbiAgb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50O1xufVxuXG4ub2JqZWN0LWZpdC1jb3ZlciB7XG4gIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi5vYmplY3QtZml0LWZpbGwge1xuICBvYmplY3QtZml0OiBmaWxsICFpbXBvcnRhbnQ7XG59XG5cbi5vYmplY3QtZml0LXNjYWxlIHtcbiAgb2JqZWN0LWZpdDogc2NhbGUtZG93biAhaW1wb3J0YW50O1xufVxuXG4ub2JqZWN0LWZpdC1ub25lIHtcbiAgb2JqZWN0LWZpdDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ub3BhY2l0eS0wIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuXG4ub3BhY2l0eS0yNSB7XG4gIG9wYWNpdHk6IDAuMjUgIWltcG9ydGFudDtcbn1cblxuLm9wYWNpdHktNTAge1xuICBvcGFjaXR5OiAwLjUgIWltcG9ydGFudDtcbn1cblxuLm9wYWNpdHktNzUge1xuICBvcGFjaXR5OiAwLjc1ICFpbXBvcnRhbnQ7XG59XG5cbi5vcGFjaXR5LTEwMCB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LWF1dG8ge1xuICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3ctaGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3ctdmlzaWJsZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy1zY3JvbGwge1xuICBvdmVyZmxvdzogc2Nyb2xsICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy14LWF1dG8ge1xuICBvdmVyZmxvdy14OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy14LWhpZGRlbiB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3cteC12aXNpYmxlIHtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3cteC1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBzY3JvbGwgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXktYXV0byB7XG4gIG92ZXJmbG93LXk6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXktaGlkZGVuIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy15LXZpc2libGUge1xuICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy15LXNjcm9sbCB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbCAhaW1wb3J0YW50O1xufVxuXG4uZC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbn1cblxuLmQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5kLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmQtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbn1cblxuLmQtaW5saW5lLWdyaWQge1xuICBkaXNwbGF5OiBpbmxpbmUtZ3JpZCAhaW1wb3J0YW50O1xufVxuXG4uZC10YWJsZSB7XG4gIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5kLXRhYmxlLXJvdyB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xufVxuXG4uZC10YWJsZS1jZWxsIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xufVxuXG4uZC1mbGV4IHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuXG4uZC1pbmxpbmUtZmxleCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG59XG5cbi5kLW5vbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5zaGFkb3cge1xuICBib3gtc2hhZG93OiB2YXIoLS1icy1ib3gtc2hhZG93KSAhaW1wb3J0YW50O1xufVxuXG4uc2hhZG93LXNtIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtYm94LXNoYWRvdy1zbSkgIWltcG9ydGFudDtcbn1cblxuLnNoYWRvdy1sZyB7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3ctbGcpICFpbXBvcnRhbnQ7XG59XG5cbi5zaGFkb3ctbm9uZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmZvY3VzLXJpbmctcHJpbWFyeSB7XG4gIC0tYnMtZm9jdXMtcmluZy1jb2xvcjogcmdiYSh2YXIoLS1icy1wcmltYXJ5LXJnYiksIHZhcigtLWJzLWZvY3VzLXJpbmctb3BhY2l0eSkpO1xufVxuXG4uZm9jdXMtcmluZy1zZWNvbmRhcnkge1xuICAtLWJzLWZvY3VzLXJpbmctY29sb3I6IHJnYmEodmFyKC0tYnMtc2Vjb25kYXJ5LXJnYiksIHZhcigtLWJzLWZvY3VzLXJpbmctb3BhY2l0eSkpO1xufVxuXG4uZm9jdXMtcmluZy1zdWNjZXNzIHtcbiAgLS1icy1mb2N1cy1yaW5nLWNvbG9yOiByZ2JhKHZhcigtLWJzLXN1Y2Nlc3MtcmdiKSwgdmFyKC0tYnMtZm9jdXMtcmluZy1vcGFjaXR5KSk7XG59XG5cbi5mb2N1cy1yaW5nLWluZm8ge1xuICAtLWJzLWZvY3VzLXJpbmctY29sb3I6IHJnYmEodmFyKC0tYnMtaW5mby1yZ2IpLCB2YXIoLS1icy1mb2N1cy1yaW5nLW9wYWNpdHkpKTtcbn1cblxuLmZvY3VzLXJpbmctd2FybmluZyB7XG4gIC0tYnMtZm9jdXMtcmluZy1jb2xvcjogcmdiYSh2YXIoLS1icy13YXJuaW5nLXJnYiksIHZhcigtLWJzLWZvY3VzLXJpbmctb3BhY2l0eSkpO1xufVxuXG4uZm9jdXMtcmluZy1kYW5nZXIge1xuICAtLWJzLWZvY3VzLXJpbmctY29sb3I6IHJnYmEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIHZhcigtLWJzLWZvY3VzLXJpbmctb3BhY2l0eSkpO1xufVxuXG4uZm9jdXMtcmluZy1saWdodCB7XG4gIC0tYnMtZm9jdXMtcmluZy1jb2xvcjogcmdiYSh2YXIoLS1icy1saWdodC1yZ2IpLCB2YXIoLS1icy1mb2N1cy1yaW5nLW9wYWNpdHkpKTtcbn1cblxuLmZvY3VzLXJpbmctZGFyayB7XG4gIC0tYnMtZm9jdXMtcmluZy1jb2xvcjogcmdiYSh2YXIoLS1icy1kYXJrLXJnYiksIHZhcigtLWJzLWZvY3VzLXJpbmctb3BhY2l0eSkpO1xufVxuXG4ucG9zaXRpb24tc3RhdGljIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tc3RpY2t5IHtcbiAgcG9zaXRpb246IHN0aWNreSAhaW1wb3J0YW50O1xufVxuXG4udG9wLTAge1xuICB0b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnRvcC01MCB7XG4gIHRvcDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi50b3AtMTAwIHtcbiAgdG9wOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5ib3R0b20tMCB7XG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uYm90dG9tLTUwIHtcbiAgYm90dG9tOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLmJvdHRvbS0xMDAge1xuICBib3R0b206IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnN0YXJ0LTAge1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5zdGFydC01MCB7XG4gIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4uc3RhcnQtMTAwIHtcbiAgbGVmdDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uZW5kLTAge1xuICByaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4uZW5kLTUwIHtcbiAgcmlnaHQ6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4uZW5kLTEwMCB7XG4gIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi50cmFuc2xhdGUtbWlkZGxlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgIWltcG9ydGFudDtcbn1cblxuLnRyYW5zbGF0ZS1taWRkbGUteCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSAhaW1wb3J0YW50O1xufVxuXG4udHJhbnNsYXRlLW1pZGRsZS15IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXIge1xuICBib3JkZXI6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgdmFyKC0tYnMtYm9yZGVyLXN0eWxlKSB2YXIoLS1icy1ib3JkZXItY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItMCB7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXRvcCB7XG4gIGJvcmRlci10b3A6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgdmFyKC0tYnMtYm9yZGVyLXN0eWxlKSB2YXIoLS1icy1ib3JkZXItY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItdG9wLTAge1xuICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItZW5kIHtcbiAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHZhcigtLWJzLWJvcmRlci1zdHlsZSkgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWVuZC0wIHtcbiAgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1ib3R0b20tMCB7XG4gIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1zdGFydCB7XG4gIGJvcmRlci1sZWZ0OiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHZhcigtLWJzLWJvcmRlci1zdHlsZSkgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXN0YXJ0LTAge1xuICBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXByaW1hcnkge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAxO1xuICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tYnMtcHJpbWFyeS1yZ2IpLCB2YXIoLS1icy1ib3JkZXItb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItc2Vjb25kYXJ5IHtcbiAgLS1icy1ib3JkZXItb3BhY2l0eTogMTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLWJzLXNlY29uZGFyeS1yZ2IpLCB2YXIoLS1icy1ib3JkZXItb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItc3VjY2VzcyB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1icy1zdWNjZXNzLXJnYiksIHZhcigtLWJzLWJvcmRlci1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1pbmZvIHtcbiAgLS1icy1ib3JkZXItb3BhY2l0eTogMTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLWJzLWluZm8tcmdiKSwgdmFyKC0tYnMtYm9yZGVyLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXdhcm5pbmcge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAxO1xuICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tYnMtd2FybmluZy1yZ2IpLCB2YXIoLS1icy1ib3JkZXItb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItZGFuZ2VyIHtcbiAgLS1icy1ib3JkZXItb3BhY2l0eTogMTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLWJzLWRhbmdlci1yZ2IpLCB2YXIoLS1icy1ib3JkZXItb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItbGlnaHQge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAxO1xuICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tYnMtbGlnaHQtcmdiKSwgdmFyKC0tYnMtYm9yZGVyLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWRhcmsge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAxO1xuICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tYnMtZGFyay1yZ2IpLCB2YXIoLS1icy1ib3JkZXItb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItYmxhY2sge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAxO1xuICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tYnMtYmxhY2stcmdiKSwgdmFyKC0tYnMtYm9yZGVyLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgLS1icy1ib3JkZXItb3BhY2l0eTogMTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLWJzLXdoaXRlLXJnYiksIHZhcigtLWJzLWJvcmRlci1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1wcmltYXJ5LXN1YnRsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS1ib3JkZXItc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXNlY29uZGFyeS1zdWJ0bGUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1ib3JkZXItc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXN1Y2Nlc3Mtc3VidGxlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1zdWNjZXNzLWJvcmRlci1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItaW5mby1zdWJ0bGUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWluZm8tYm9yZGVyLXN1YnRsZSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci13YXJuaW5nLXN1YnRsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtd2FybmluZy1ib3JkZXItc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWRhbmdlci1zdWJ0bGUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWRhbmdlci1ib3JkZXItc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWxpZ2h0LXN1YnRsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtbGlnaHQtYm9yZGVyLXN1YnRsZSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1kYXJrLXN1YnRsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZGFyay1ib3JkZXItc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLTEge1xuICBib3JkZXItd2lkdGg6IDFweCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLTIge1xuICBib3JkZXItd2lkdGg6IDJweCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLTMge1xuICBib3JkZXItd2lkdGg6IDNweCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLTQge1xuICBib3JkZXItd2lkdGg6IDRweCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLTUge1xuICBib3JkZXItd2lkdGg6IDVweCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLW9wYWNpdHktMTAge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAwLjE7XG59XG5cbi5ib3JkZXItb3BhY2l0eS0yNSB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDAuMjU7XG59XG5cbi5ib3JkZXItb3BhY2l0eS01MCB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDAuNTtcbn1cblxuLmJvcmRlci1vcGFjaXR5LTc1IHtcbiAgLS1icy1ib3JkZXItb3BhY2l0eTogMC43NTtcbn1cblxuLmJvcmRlci1vcGFjaXR5LTEwMCB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDE7XG59XG5cbi53LTI1IHtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xufVxuXG4udy01MCB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnctNzUge1xuICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG59XG5cbi53LTEwMCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi53LWF1dG8ge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubXctMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi52dy0xMDAge1xuICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcbn1cblxuLm1pbi12dy0xMDAge1xuICBtaW4td2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG59XG5cbi5oLTI1IHtcbiAgaGVpZ2h0OiAyNSUgIWltcG9ydGFudDtcbn1cblxuLmgtNTAge1xuICBoZWlnaHQ6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4uaC03NSB7XG4gIGhlaWdodDogNzUlICFpbXBvcnRhbnQ7XG59XG5cbi5oLTEwMCB7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uaC1hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5taC0xMDAge1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi52aC0xMDAge1xuICBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG59XG5cbi5taW4tdmgtMTAwIHtcbiAgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbn1cblxuLmZsZXgtZmlsbCB7XG4gIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1ncm93LTAge1xuICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtZ3Jvdy0xIHtcbiAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LXNocmluay0wIHtcbiAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtc2hyaW5rLTEge1xuICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xufVxuXG4uZmxleC13cmFwIHtcbiAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LW5vd3JhcCB7XG4gIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LXdyYXAtcmV2ZXJzZSB7XG4gIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1lbmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1ldmVubHkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1pdGVtcy1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1pdGVtcy1iYXNlbGluZSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LXN0YXJ0IHtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1lbmQge1xuICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1jZW50ZXIge1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtYmV0d2VlbiB7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtYXJvdW5kIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LXN0cmV0Y2gge1xuICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLWF1dG8ge1xuICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLXN0YXJ0IHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1lbmQge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1jZW50ZXIge1xuICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXNlbGYtYmFzZWxpbmUge1xuICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItZmlyc3Qge1xuICBvcmRlcjogLTEgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTAge1xuICBvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMSB7XG4gIG9yZGVyOiAxICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0yIHtcbiAgb3JkZXI6IDIgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTMge1xuICBvcmRlcjogMyAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItNCB7XG4gIG9yZGVyOiA0ICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci01IHtcbiAgb3JkZXI6IDUgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLWxhc3Qge1xuICBvcmRlcjogNiAhaW1wb3J0YW50O1xufVxuXG4ubS0wIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tLTEge1xuICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tMiB7XG4gIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLTMge1xuICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tNCB7XG4gIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLTUge1xuICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tYXV0byB7XG4gIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubXgtMCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4ubXgtMSB7XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXgtMiB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm14LTMge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm14LTQge1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teC01IHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teC1hdXRvIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5teS0wIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5teS0xIHtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teS0yIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXktMyB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXktNCB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm15LTUge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm15LWF1dG8ge1xuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm10LTAge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0xIHtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtMiB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtMyB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LTQge1xuICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LTUge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC1hdXRvIHtcbiAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubWUtMCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4ubWUtMSB7XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWUtMiB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tZS0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tZS00IHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lLTUge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lLWF1dG8ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm1iLTAge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItMiB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItMyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLTQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLTUge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi1hdXRvIHtcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubXMtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tcy0xIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1zLTIge1xuICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tcy0zIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1zLTQge1xuICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tcy01IHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1zLWF1dG8ge1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ucC0wIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ucC0xIHtcbiAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucC0yIHtcbiAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wLTMge1xuICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wLTQge1xuICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnAtNSB7XG4gIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnB4LTAge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4ucHgtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5weC0yIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5weC0zIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnB4LTQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB4LTUge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucHktMCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5weS0xIHtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB5LTIge1xuICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB5LTMge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHktNCB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHktNSB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wdC0wIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnB0LTEge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHQtMiB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB0LTMge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHQtNCB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB0LTUge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucGUtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnBlLTEge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wZS0yIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wZS0zIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGUtNCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGUtNSB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBiLTAge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ucGItMSB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0yIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGItMyB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYi00IHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGItNSB7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wcy0wIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wcy0xIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wcy0yIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBzLTMge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBzLTQge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHMtNSB7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4uZ2FwLTAge1xuICBnYXA6IDAgIWltcG9ydGFudDtcbn1cblxuLmdhcC0xIHtcbiAgZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5nYXAtMiB7XG4gIGdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5nYXAtMyB7XG4gIGdhcDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZ2FwLTQge1xuICBnYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZ2FwLTUge1xuICBnYXA6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdy1nYXAtMCB7XG4gIHJvdy1nYXA6IDAgIWltcG9ydGFudDtcbn1cblxuLnJvdy1nYXAtMSB7XG4gIHJvdy1nYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdy1nYXAtMiB7XG4gIHJvdy1nYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm93LWdhcC0zIHtcbiAgcm93LWdhcDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm93LWdhcC00IHtcbiAgcm93LWdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3ctZ2FwLTUge1xuICByb3ctZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5jb2x1bW4tZ2FwLTAge1xuICBjb2x1bW4tZ2FwOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5jb2x1bW4tZ2FwLTEge1xuICBjb2x1bW4tZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5jb2x1bW4tZ2FwLTIge1xuICBjb2x1bW4tZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLmNvbHVtbi1nYXAtMyB7XG4gIGNvbHVtbi1nYXA6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLmNvbHVtbi1nYXAtNCB7XG4gIGNvbHVtbi1nYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uY29sdW1uLWdhcC01IHtcbiAgY29sdW1uLWdhcDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4uZm9udC1tb25vc3BhY2Uge1xuICBmb250LWZhbWlseTogdmFyKC0tYnMtZm9udC1tb25vc3BhY2UpICFpbXBvcnRhbnQ7XG59XG5cbi5mcy0xIHtcbiAgZm9udC1zaXplOiBjYWxjKDEuMzc1cmVtICsgMS41dncpICFpbXBvcnRhbnQ7XG59XG5cbi5mcy0yIHtcbiAgZm9udC1zaXplOiBjYWxjKDEuMzI1cmVtICsgMC45dncpICFpbXBvcnRhbnQ7XG59XG5cbi5mcy0zIHtcbiAgZm9udC1zaXplOiBjYWxjKDEuM3JlbSArIDAuNnZ3KSAhaW1wb3J0YW50O1xufVxuXG4uZnMtNCB7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjI3NXJlbSArIDAuM3Z3KSAhaW1wb3J0YW50O1xufVxuXG4uZnMtNSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZnMtNiB7XG4gIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZnN0LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50O1xufVxuXG4uZnN0LW5vcm1hbCB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uZnctbGlnaHRlciB7XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyICFpbXBvcnRhbnQ7XG59XG5cbi5mdy1saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbn1cblxuLmZ3LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbn1cblxuLmZ3LW1lZGl1bSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbn1cblxuLmZ3LXNlbWlib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbn1cblxuLmZ3LWJvbGRlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXIgIWltcG9ydGFudDtcbn1cblxuLmxoLTEge1xuICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xufVxuXG4ubGgtc20ge1xuICBsaW5lLWhlaWdodDogMS4yNSAhaW1wb3J0YW50O1xufVxuXG4ubGgtYmFzZSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbn1cblxuLmxoLWxnIHtcbiAgbGluZS1oZWlnaHQ6IDIgIWltcG9ydGFudDtcbn1cblxuLnRleHQtc3RhcnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWVuZCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLWxpbmUtdGhyb3VnaCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDtcbn1cblxuLnRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vKiBydGw6YmVnaW46cmVtb3ZlICovXG4udGV4dC1icmVhayB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbi8qIHJ0bDplbmQ6cmVtb3ZlICovXG4udGV4dC1wcmltYXJ5IHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLXByaW1hcnktcmdiKSwgdmFyKC0tYnMtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtc2Vjb25kYXJ5IHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLXNlY29uZGFyeS1yZ2IpLCB2YXIoLS1icy10ZXh0LW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdWNjZXNzIHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLXN1Y2Nlc3MtcmdiKSwgdmFyKC0tYnMtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtaW5mbyB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSh2YXIoLS1icy1pbmZvLXJnYiksIHZhcigtLWJzLXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdhcm5pbmcge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtd2FybmluZy1yZ2IpLCB2YXIoLS1icy10ZXh0LW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kYW5nZXIge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIHZhcigtLWJzLXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWxpZ2h0IHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLWxpZ2h0LXJnYiksIHZhcigtLWJzLXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRhcmsge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtZGFyay1yZ2IpLCB2YXIoLS1icy10ZXh0LW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ibGFjayB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSh2YXIoLS1icy1ibGFjay1yZ2IpLCB2YXIoLS1icy10ZXh0LW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC13aGl0ZSB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSh2YXIoLS1icy13aGl0ZS1yZ2IpLCB2YXIoLS1icy10ZXh0LW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ib2R5IHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLWJvZHktY29sb3ItcmdiKSwgdmFyKC0tYnMtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbXV0ZWQge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYmxhY2stNTAge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC13aGl0ZS01MCB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJvZHktc2Vjb25kYXJ5IHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJvZHktdGVydGlhcnkge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHZhcigtLWJzLXRlcnRpYXJ5LWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ib2R5LWVtcGhhc2lzIHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuLnRleHQtcmVzZXQge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtb3BhY2l0eS0yNSB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAwLjI1O1xufVxuXG4udGV4dC1vcGFjaXR5LTUwIHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDAuNTtcbn1cblxuLnRleHQtb3BhY2l0eS03NSB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAwLjc1O1xufVxuXG4udGV4dC1vcGFjaXR5LTEwMCB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xufVxuXG4udGV4dC1wcmltYXJ5LWVtcGhhc2lzIHtcbiAgY29sb3I6IHZhcigtLWJzLXByaW1hcnktdGV4dC1lbXBoYXNpcykgIWltcG9ydGFudDtcbn1cblxuLnRleHQtc2Vjb25kYXJ5LWVtcGhhc2lzIHtcbiAgY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS10ZXh0LWVtcGhhc2lzKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdWNjZXNzLWVtcGhhc2lzIHtcbiAgY29sb3I6IHZhcigtLWJzLXN1Y2Nlc3MtdGV4dC1lbXBoYXNpcykgIWltcG9ydGFudDtcbn1cblxuLnRleHQtaW5mby1lbXBoYXNpcyB7XG4gIGNvbG9yOiB2YXIoLS1icy1pbmZvLXRleHQtZW1waGFzaXMpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdhcm5pbmctZW1waGFzaXMge1xuICBjb2xvcjogdmFyKC0tYnMtd2FybmluZy10ZXh0LWVtcGhhc2lzKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kYW5nZXItZW1waGFzaXMge1xuICBjb2xvcjogdmFyKC0tYnMtZGFuZ2VyLXRleHQtZW1waGFzaXMpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWxpZ2h0LWVtcGhhc2lzIHtcbiAgY29sb3I6IHZhcigtLWJzLWxpZ2h0LXRleHQtZW1waGFzaXMpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRhcmstZW1waGFzaXMge1xuICBjb2xvcjogdmFyKC0tYnMtZGFyay10ZXh0LWVtcGhhc2lzKSAhaW1wb3J0YW50O1xufVxuXG4ubGluay1vcGFjaXR5LTEwIHtcbiAgLS1icy1saW5rLW9wYWNpdHk6IDAuMTtcbn1cblxuLmxpbmstb3BhY2l0eS0xMC1ob3Zlcjpob3ZlciB7XG4gIC0tYnMtbGluay1vcGFjaXR5OiAwLjE7XG59XG5cbi5saW5rLW9wYWNpdHktMjUge1xuICAtLWJzLWxpbmstb3BhY2l0eTogMC4yNTtcbn1cblxuLmxpbmstb3BhY2l0eS0yNS1ob3Zlcjpob3ZlciB7XG4gIC0tYnMtbGluay1vcGFjaXR5OiAwLjI1O1xufVxuXG4ubGluay1vcGFjaXR5LTUwIHtcbiAgLS1icy1saW5rLW9wYWNpdHk6IDAuNTtcbn1cblxuLmxpbmstb3BhY2l0eS01MC1ob3Zlcjpob3ZlciB7XG4gIC0tYnMtbGluay1vcGFjaXR5OiAwLjU7XG59XG5cbi5saW5rLW9wYWNpdHktNzUge1xuICAtLWJzLWxpbmstb3BhY2l0eTogMC43NTtcbn1cblxuLmxpbmstb3BhY2l0eS03NS1ob3Zlcjpob3ZlciB7XG4gIC0tYnMtbGluay1vcGFjaXR5OiAwLjc1O1xufVxuXG4ubGluay1vcGFjaXR5LTEwMCB7XG4gIC0tYnMtbGluay1vcGFjaXR5OiAxO1xufVxuXG4ubGluay1vcGFjaXR5LTEwMC1ob3Zlcjpob3ZlciB7XG4gIC0tYnMtbGluay1vcGFjaXR5OiAxO1xufVxuXG4ubGluay1vZmZzZXQtMSB7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xMjVlbSAhaW1wb3J0YW50O1xufVxuXG4ubGluay1vZmZzZXQtMS1ob3Zlcjpob3ZlciB7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xMjVlbSAhaW1wb3J0YW50O1xufVxuXG4ubGluay1vZmZzZXQtMiB7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4yNWVtICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLW9mZnNldC0yLWhvdmVyOmhvdmVyIHtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjI1ZW0gIWltcG9ydGFudDtcbn1cblxuLmxpbmstb2Zmc2V0LTMge1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMzc1ZW0gIWltcG9ydGFudDtcbn1cblxuLmxpbmstb2Zmc2V0LTMtaG92ZXI6aG92ZXIge1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMzc1ZW0gIWltcG9ydGFudDtcbn1cblxuLmxpbmstdW5kZXJsaW5lLXByaW1hcnkge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDE7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS1icy1wcmltYXJ5LXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4ubGluay11bmRlcmxpbmUtc2Vjb25kYXJ5IHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAxO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJnYmEodmFyKC0tYnMtc2Vjb25kYXJ5LXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4ubGluay11bmRlcmxpbmUtc3VjY2VzcyB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLWJzLXN1Y2Nlc3MtcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXVuZGVybGluZS1pbmZvIHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAxO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJnYmEodmFyKC0tYnMtaW5mby1yZ2IpLCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmxpbmstdW5kZXJsaW5lLXdhcm5pbmcge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDE7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS1icy13YXJuaW5nLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4ubGluay11bmRlcmxpbmUtZGFuZ2VyIHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAxO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJnYmEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4ubGluay11bmRlcmxpbmUtbGlnaHQge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDE7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS1icy1saWdodC1yZ2IpLCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmxpbmstdW5kZXJsaW5lLWRhcmsge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDE7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS1icy1kYXJrLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4ubGluay11bmRlcmxpbmUge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDE7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS1icy1saW5rLWNvbG9yLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuXG4ubGluay11bmRlcmxpbmUtb3BhY2l0eS0wIHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAwO1xufVxuXG4ubGluay11bmRlcmxpbmUtb3BhY2l0eS0wLWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAwO1xufVxuXG4ubGluay11bmRlcmxpbmUtb3BhY2l0eS0xMCB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMC4xO1xufVxuXG4ubGluay11bmRlcmxpbmUtb3BhY2l0eS0xMC1ob3Zlcjpob3ZlciB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMC4xO1xufVxuXG4ubGluay11bmRlcmxpbmUtb3BhY2l0eS0yNSB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMC4yNTtcbn1cblxuLmxpbmstdW5kZXJsaW5lLW9wYWNpdHktMjUtaG92ZXI6aG92ZXIge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDAuMjU7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTUwIHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAwLjU7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTUwLWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAwLjU7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTc1IHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAwLjc1O1xufVxuXG4ubGluay11bmRlcmxpbmUtb3BhY2l0eS03NS1ob3Zlcjpob3ZlciB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMC43NTtcbn1cblxuLmxpbmstdW5kZXJsaW5lLW9wYWNpdHktMTAwIHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAxO1xufVxuXG4ubGluay11bmRlcmxpbmUtb3BhY2l0eS0xMDAtaG92ZXI6aG92ZXIge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDE7XG59XG5cbi5iZy1wcmltYXJ5IHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLXByaW1hcnktcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1zZWNvbmRhcnkge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tYnMtc2Vjb25kYXJ5LXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctc3VjY2VzcyB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy1zdWNjZXNzLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctaW5mbyB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy1pbmZvLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctd2FybmluZyB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy13YXJuaW5nLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctZGFuZ2VyIHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLWRhbmdlci1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJnLWxpZ2h0IHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLWxpZ2h0LXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctZGFyayB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy1kYXJrLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctYmxhY2sge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tYnMtYmxhY2stcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy13aGl0ZSB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy13aGl0ZS1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJnLWJvZHkge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tYnMtYm9keS1iZy1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJnLXRyYW5zcGFyZW50IHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4uYmctYm9keS1zZWNvbmRhcnkge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tYnMtc2Vjb25kYXJ5LWJnLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctYm9keS10ZXJ0aWFyeSB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy10ZXJ0aWFyeS1iZy1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJnLW9wYWNpdHktMTAge1xuICAtLWJzLWJnLW9wYWNpdHk6IDAuMTtcbn1cblxuLmJnLW9wYWNpdHktMjUge1xuICAtLWJzLWJnLW9wYWNpdHk6IDAuMjU7XG59XG5cbi5iZy1vcGFjaXR5LTUwIHtcbiAgLS1icy1iZy1vcGFjaXR5OiAwLjU7XG59XG5cbi5iZy1vcGFjaXR5LTc1IHtcbiAgLS1icy1iZy1vcGFjaXR5OiAwLjc1O1xufVxuXG4uYmctb3BhY2l0eS0xMDAge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG59XG5cbi5iZy1wcmltYXJ5LXN1YnRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXByaW1hcnktYmctc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYmctc2Vjb25kYXJ5LXN1YnRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1iZy1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1zdWNjZXNzLXN1YnRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXN1Y2Nlc3MtYmctc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYmctaW5mby1zdWJ0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1pbmZvLWJnLXN1YnRsZSkgIWltcG9ydGFudDtcbn1cblxuLmJnLXdhcm5pbmctc3VidGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtd2FybmluZy1iZy1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1kYW5nZXItc3VidGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtZGFuZ2VyLWJnLXN1YnRsZSkgIWltcG9ydGFudDtcbn1cblxuLmJnLWxpZ2h0LXN1YnRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWxpZ2h0LWJnLXN1YnRsZSkgIWltcG9ydGFudDtcbn1cblxuLmJnLWRhcmstc3VidGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtZGFyay1iZy1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ncmFkaWVudCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWJzLWdyYWRpZW50KSAhaW1wb3J0YW50O1xufVxuXG4udXNlci1zZWxlY3QtYWxsIHtcbiAgdXNlci1zZWxlY3Q6IGFsbCAhaW1wb3J0YW50O1xufVxuXG4udXNlci1zZWxlY3QtYXV0byB7XG4gIHVzZXItc2VsZWN0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51c2VyLXNlbGVjdC1ub25lIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnBlLW5vbmUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucGUtYXV0byB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMSB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtc20pICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTIge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0zIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZykgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtNCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteGwpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTUge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXh4bCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXBpbGwge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXBpbGwpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3AtMCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wLTEge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wLTIge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wLTMge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZykgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wLTQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXhsKSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14bCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wLTUge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXh4bCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteHhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3AtY2lyY2xlIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wLXBpbGwge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXBpbGwpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXBpbGwpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWVuZCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtZW5kLTAge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1lbmQtMSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtZW5kLTIge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWVuZC0zIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1lbmQtNCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXhsKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14bCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtZW5kLTUge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14eGwpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXh4bCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtZW5kLWNpcmNsZSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1lbmQtcGlsbCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXBpbGwpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXBpbGwpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20tMCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tLTEge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tLTIge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tLTMge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZykgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZykgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tLTQge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14bCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14bCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tLTUge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14eGwpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteHhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20tY2lyY2xlIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tLXBpbGwge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1waWxsKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXBpbGwpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXN0YXJ0IHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtc3RhcnQtMCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1zdGFydC0xIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtc3RhcnQtMiB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXN0YXJ0LTMge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1zdGFydC00IHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14bCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14bCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtc3RhcnQtNSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteHhsKSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXh4bCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtc3RhcnQtY2lyY2xlIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1zdGFydC1waWxsIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1waWxsKSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXBpbGwpICFpbXBvcnRhbnQ7XG59XG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi56LW4xIHtcbiAgei1pbmRleDogLTEgIWltcG9ydGFudDtcbn1cblxuLnotMCB7XG4gIHotaW5kZXg6IDAgIWltcG9ydGFudDtcbn1cblxuLnotMSB7XG4gIHotaW5kZXg6IDEgIWltcG9ydGFudDtcbn1cblxuLnotMiB7XG4gIHotaW5kZXg6IDIgIWltcG9ydGFudDtcbn1cblxuLnotMyB7XG4gIHotaW5kZXg6IDMgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5mbG9hdC1zbS1zdGFydCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQtc20tZW5kIHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQtc20tbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC1zbS1jb250YWluIHtcbiAgICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQtc20tY292ZXIge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQtc20tZmlsbCB7XG4gICAgb2JqZWN0LWZpdDogZmlsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LXNtLXNjYWxlIHtcbiAgICBvYmplY3QtZml0OiBzY2FsZS1kb3duICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQtc20tbm9uZSB7XG4gICAgb2JqZWN0LWZpdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXNtLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20taW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20taW5saW5lLWdyaWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20tdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20tdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS10YWJsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20tZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXNtLWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXNtLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1zbS1maWxsIHtcbiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1zbS1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tZ3Jvdy0wIHtcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1zbS1ncm93LTEge1xuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLXNocmluay0xIHtcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1zbS13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1zbS1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1zbS1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXNtLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXNtLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tZXZlbmx5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1zbS1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtc20tZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtc20tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXNtLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtc20tc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1zbS1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXNtLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1zbS1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXNtLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1zbS1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXNtLXN0cmV0Y2gge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1zbS1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtc20tc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1zbS1lbmQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtc20tY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1zbS1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1zbS1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXNtLWZpcnN0IHtcbiAgICBvcmRlcjogLTEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItc20tMCB7XG4gICAgb3JkZXI6IDAgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItc20tMSB7XG4gICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItc20tMiB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItc20tMyB7XG4gICAgb3JkZXI6IDMgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItc20tNCB7XG4gICAgb3JkZXI6IDQgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItc20tNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItc20tbGFzdCB7XG4gICAgb3JkZXI6IDYgIWltcG9ydGFudDtcbiAgfVxuICAubS1zbS0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAubS1zbS0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1zbS0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXNtLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXNtLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tc20tNSB7XG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tc20tYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXNtLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXNtLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXNtLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1zbS0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1zbS00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgtc20tNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgtc20tYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXktc20tMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXktc20tMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXktc20tMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXNtLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXNtLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1zbS01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1zbS1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1zbS0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXNtLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXNtLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXNtLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1zbS0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWUtc20tMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXNtLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXNtLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1zbS00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1zbS01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUtc20tYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXNtLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWItc20tMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItc20tMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItc20tNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXNtLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXNtLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXNtLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMtc20tMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMtc20tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1zbS01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1zbS1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXNtLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucC1zbS0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtc20tMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtc20tMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXNtLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXNtLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgtc20tMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1zbS0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LXNtLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LXNtLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgtc20tNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgtc20tNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1zbS0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXNtLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHktc20tMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHktc20tMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1zbS00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1zbS01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXNtLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXNtLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXNtLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtc20tMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtc20tNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1zbS01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1zbS0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXNtLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUtc20tMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXNtLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUtc20tNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXNtLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItc20tMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAucGItc20tMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItc20tMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1zbS0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1zbS00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXNtLTUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXNtLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1zbS0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMtc20tMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMtc20tMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXNtLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXNtLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtc20tMCB7XG4gICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1zbS0xIHtcbiAgICBnYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXNtLTIge1xuICAgIGdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1zbS0zIHtcbiAgICBnYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXNtLTQge1xuICAgIGdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1zbS01IHtcbiAgICBnYXA6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1zbS0wIHtcbiAgICByb3ctZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtc20tMSB7XG4gICAgcm93LWdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXNtLTIge1xuICAgIHJvdy1nYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXNtLTMge1xuICAgIHJvdy1nYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1zbS00IHtcbiAgICByb3ctZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1zbS01IHtcbiAgICByb3ctZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtc20tMCB7XG4gICAgY29sdW1uLWdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXNtLTEge1xuICAgIGNvbHVtbi1nYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1zbS0yIHtcbiAgICBjb2x1bW4tZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1zbS0zIHtcbiAgICBjb2x1bW4tZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtc20tNCB7XG4gICAgY29sdW1uLWdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtc20tNSB7XG4gICAgY29sdW1uLWdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LXNtLXN0YXJ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQtc20tZW5kIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LXNtLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvYXQtbWQtc3RhcnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsb2F0LW1kLWVuZCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsb2F0LW1kLW5vbmUge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQtbWQtY29udGFpbiB7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LW1kLWNvdmVyIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LW1kLWZpbGwge1xuICAgIG9iamVjdC1maXQ6IGZpbGwgIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC1tZC1zY2FsZSB7XG4gICAgb2JqZWN0LWZpdDogc2NhbGUtZG93biAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LW1kLW5vbmUge1xuICAgIG9iamVjdC1maXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1tZC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLW1kLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLW1kLWlubGluZS1ncmlkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLW1kLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLW1kLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLW1kLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC1tZC1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC1tZC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbWQtZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbWQtY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLWdyb3ctMCB7XG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbWQtZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1zaHJpbmstMCB7XG4gICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1zaHJpbmstMSB7XG4gICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1ub3dyYXAge1xuICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbWQtd3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1tZC1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1tZC1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LW1kLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LW1kLWV2ZW5seSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHkgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbWQtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLW1kLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLW1kLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1tZC1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLW1kLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtbWQtc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1tZC1lbmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1tZC1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtbWQtYXJvdW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1tZC1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbWQtYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLW1kLXN0YXJ0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbWQtZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLW1kLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbWQtYmFzZWxpbmUge1xuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbWQtc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1tZC1maXJzdCB7XG4gICAgb3JkZXI6IC0xICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLW1kLTAge1xuICAgIG9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLW1kLTEge1xuICAgIG9yZGVyOiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLW1kLTIge1xuICAgIG9yZGVyOiAyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLW1kLTMge1xuICAgIG9yZGVyOiAzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLW1kLTQge1xuICAgIG9yZGVyOiA0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLW1kLTUge1xuICAgIG9yZGVyOiA1ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLW1kLWxhc3Qge1xuICAgIG9yZGVyOiA2ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbWQtMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbWQtMSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbWQtMiB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1tZC0zIHtcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1tZC00IHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLW1kLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLW1kLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1tZC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1tZC0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1tZC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgtbWQtMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgtbWQtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LW1kLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LW1kLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LW1kLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LW1kLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LW1kLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1tZC0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1tZC00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXktbWQtNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXktbWQtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbWQtMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1tZC0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LW1kLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1tZC0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LW1kLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1tZC01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LW1kLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWUtbWQtMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLW1kLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1tZC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1tZC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUtbWQtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUtbWQtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLW1kLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1tZC0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLW1kLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbWQtMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLW1kLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbWQtNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLW1kLTUge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbWQtYXV0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1tZC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1tZC0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1tZC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLW1kLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLW1kLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMtbWQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMtbWQtYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAucC1tZC0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbWQtMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLW1kLTIge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLW1kLTMge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1tZC00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1tZC01IHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LW1kLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHgtbWQtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1tZC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1tZC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LW1kLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LW1kLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHktbWQtMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1tZC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LW1kLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LW1kLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHktbWQtNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHktbWQtNSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1tZC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1tZC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1tZC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LW1kLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LW1kLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbWQtNSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUtbWQtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1tZC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLW1kLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1tZC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLW1kLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1tZC01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLW1kLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLW1kLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLW1kLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbWQtMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbWQtNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1tZC01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1tZC0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHMtbWQtMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLW1kLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLW1kLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1tZC00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1tZC01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLW1kLTAge1xuICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtbWQtMSB7XG4gICAgZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1tZC0yIHtcbiAgICBnYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtbWQtMyB7XG4gICAgZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1tZC00IHtcbiAgICBnYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtbWQtNSB7XG4gICAgZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtbWQtMCB7XG4gICAgcm93LWdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLW1kLTEge1xuICAgIHJvdy1nYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1tZC0yIHtcbiAgICByb3ctZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1tZC0zIHtcbiAgICByb3ctZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtbWQtNCB7XG4gICAgcm93LWdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtbWQtNSB7XG4gICAgcm93LWdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLW1kLTAge1xuICAgIGNvbHVtbi1nYXA6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1tZC0xIHtcbiAgICBjb2x1bW4tZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtbWQtMiB7XG4gICAgY29sdW1uLWdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtbWQtMyB7XG4gICAgY29sdW1uLWdhcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLW1kLTQge1xuICAgIGNvbHVtbi1nYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLW1kLTUge1xuICAgIGNvbHVtbi1nYXA6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC1tZC1zdGFydCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LW1kLWVuZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC1tZC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZsb2F0LWxnLXN0YXJ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbG9hdC1sZy1lbmQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbG9hdC1sZy1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LWxnLWNvbnRhaW4ge1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC1sZy1jb3ZlciB7XG4gICAgb2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC1sZy1maWxsIHtcbiAgICBvYmplY3QtZml0OiBmaWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQtbGctc2NhbGUge1xuICAgIG9iamVjdC1maXQ6IHNjYWxlLWRvd24gIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC1sZy1ub25lIHtcbiAgICBvYmplY3QtZml0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbGctaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1sZy1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgfVxuICAuZC1sZy1pbmxpbmUtZ3JpZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQgIWltcG9ydGFudDtcbiAgfVxuICAuZC1sZy10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1sZy10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICAuZC1sZy1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbGctaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbGctbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LWxnLWZpbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LWxnLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1ncm93LTAge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LWxnLWdyb3ctMSB7XG4gICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctc2hyaW5rLTAge1xuICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctc2hyaW5rLTEge1xuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctd3JhcCB7XG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctbm93cmFwIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LWxnLXdyYXAtcmV2ZXJzZSB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LWxnLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LWxnLWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1sZy1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1sZy1ldmVubHkge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLWxnLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1sZy1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1sZy1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbGctYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1sZy1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LWxnLXN0YXJ0IHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtbGctZW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LWxnLWNlbnRlciB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtbGctYmV0d2VlbiB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LWxnLWFyb3VuZCB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtbGctc3RyZXRjaCB7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLWxnLWF1dG8ge1xuICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1sZy1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLWxnLWVuZCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1sZy1jZW50ZXIge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLWxnLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLWxnLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctZmlyc3Qge1xuICAgIG9yZGVyOiAtMSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0wIHtcbiAgICBvcmRlcjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0xIHtcbiAgICBvcmRlcjogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0yIHtcbiAgICBvcmRlcjogMiAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0zIHtcbiAgICBvcmRlcjogMyAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy00IHtcbiAgICBvcmRlcjogNCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy01IHtcbiAgICBvcmRlcjogNSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy1sYXN0IHtcbiAgICBvcmRlcjogNiAhaW1wb3J0YW50O1xuICB9XG4gIC5tLWxnLTAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tLWxnLTEge1xuICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLWxnLTIge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbGctMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbGctNCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1sZy01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1sZy1hdXRvIHtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXgtbGctMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXgtbGctMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgtbGctMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LWxnLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LWxnLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1sZy01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1sZy1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1sZy0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1sZy0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1sZy0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXktbGctMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXktbGctNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LWxnLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LWxnLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LWxnLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXQtbGctMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1sZy0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbGctMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1sZy00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbGctNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1sZy1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLWxnLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1sZy0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUtbGctMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUtbGctMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLWxnLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLWxnLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1sZy1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWItbGctMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1sZy0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLWxnLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1sZy0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLWxnLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1sZy01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLWxnLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXMtbGctMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXMtbGctMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMtbGctMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1sZy0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1sZy00IHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLWxnLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLWxnLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbGctMCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wLWxnLTEge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1sZy0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1sZy0zIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbGctNCB7XG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbGctNSB7XG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1sZy0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LWxnLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgtbGctMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgtbGctMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1sZy00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1sZy01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LWxnLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHktbGctMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1sZy0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1sZy0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LWxnLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LWxnLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbGctMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHQtbGctMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbGctMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1sZy0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1sZy00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LWxnLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLWxnLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucGUtbGctMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1sZy0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUtbGctMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1sZy00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUtbGctNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1sZy0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1sZy0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1sZy0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLWxnLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLWxnLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbGctNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMtbGctMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLWxnLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1sZy0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1sZy0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMtbGctNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMtbGctNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1sZy0wIHtcbiAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLWxnLTEge1xuICAgIGdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtbGctMiB7XG4gICAgZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLWxnLTMge1xuICAgIGdhcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtbGctNCB7XG4gICAgZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLWxnLTUge1xuICAgIGdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLWxnLTAge1xuICAgIHJvdy1nYXA6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1sZy0xIHtcbiAgICByb3ctZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtbGctMiB7XG4gICAgcm93LWdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtbGctMyB7XG4gICAgcm93LWdhcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLWxnLTQge1xuICAgIHJvdy1nYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLWxnLTUge1xuICAgIHJvdy1nYXA6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1sZy0wIHtcbiAgICBjb2x1bW4tZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtbGctMSB7XG4gICAgY29sdW1uLWdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLWxnLTIge1xuICAgIGNvbHVtbi1nYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLWxnLTMge1xuICAgIGNvbHVtbi1nYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1sZy00IHtcbiAgICBjb2x1bW4tZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1sZy01IHtcbiAgICBjb2x1bW4tZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQtbGctc3RhcnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC1sZy1lbmQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQtbGctY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZmxvYXQteGwtc3RhcnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsb2F0LXhsLWVuZCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsb2F0LXhsLW5vbmUge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQteGwtY29udGFpbiB7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LXhsLWNvdmVyIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LXhsLWZpbGwge1xuICAgIG9iamVjdC1maXQ6IGZpbGwgIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC14bC1zY2FsZSB7XG4gICAgb2JqZWN0LWZpdDogc2NhbGUtZG93biAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LXhsLW5vbmUge1xuICAgIG9iamVjdC1maXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC14bC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLWlubGluZS1ncmlkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC14bC1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC14bC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteGwtZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteGwtY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLWdyb3ctMCB7XG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteGwtZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1zaHJpbmstMCB7XG4gICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1zaHJpbmstMSB7XG4gICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1ub3dyYXAge1xuICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteGwtd3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC14bC1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC14bC1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXhsLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXhsLWV2ZW5seSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHkgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMteGwtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXhsLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXhsLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy14bC1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXhsLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQteGwtc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14bC1lbmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQteGwtY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14bC1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQteGwtYXJvdW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14bC1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteGwtYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXhsLXN0YXJ0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteGwtZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXhsLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteGwtYmFzZWxpbmUge1xuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteGwtc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci14bC1maXJzdCB7XG4gICAgb3JkZXI6IC0xICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXhsLTAge1xuICAgIG9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXhsLTEge1xuICAgIG9yZGVyOiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXhsLTIge1xuICAgIG9yZGVyOiAyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXhsLTMge1xuICAgIG9yZGVyOiAzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXhsLTQge1xuICAgIG9yZGVyOiA0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXhsLTUge1xuICAgIG9yZGVyOiA1ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXhsLWxhc3Qge1xuICAgIG9yZGVyOiA2ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teGwtMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teGwtMSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teGwtMiB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS14bC0zIHtcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS14bC00IHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXhsLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXhsLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14bC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14bC0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14bC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgteGwtMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgteGwtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXhsLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXhsLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXhsLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXhsLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXhsLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS14bC0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS14bC00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXkteGwtNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXkteGwtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXQteGwtMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14bC0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14bC0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14bC01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWUteGwtMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXhsLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS14bC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS14bC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUteGwtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUteGwtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXhsLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14bC0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXhsLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXhsLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXhsLTUge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtYXV0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy14bC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy14bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy14bC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXhsLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMteGwtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMteGwtYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAucC14bC0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAteGwtMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXhsLTIge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXhsLTMge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC14bC00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC14bC01IHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LXhsLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHgteGwtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC14bC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC14bC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LXhsLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LXhsLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHkteGwtMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5weS14bC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXhsLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXhsLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHkteGwtNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHkteGwtNSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC14bC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC14bC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC14bC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXhsLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXhsLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteGwtNSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUteGwtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS14bC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXhsLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS14bC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXhsLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS14bC01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXhsLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXhsLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXhsLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGIteGwtMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGIteGwtNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14bC01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy14bC0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHMteGwtMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXhsLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXhsLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy14bC00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy14bC01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXhsLTAge1xuICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAteGwtMSB7XG4gICAgZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14bC0yIHtcbiAgICBnYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAteGwtMyB7XG4gICAgZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14bC00IHtcbiAgICBnYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAteGwtNSB7XG4gICAgZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAteGwtMCB7XG4gICAgcm93LWdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXhsLTEge1xuICAgIHJvdy1nYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC14bC0yIHtcbiAgICByb3ctZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC14bC0zIHtcbiAgICByb3ctZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAteGwtNCB7XG4gICAgcm93LWdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAteGwtNSB7XG4gICAgcm93LWdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXhsLTAge1xuICAgIGNvbHVtbi1nYXA6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC14bC0xIHtcbiAgICBjb2x1bW4tZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAteGwtMiB7XG4gICAgY29sdW1uLWdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAteGwtMyB7XG4gICAgY29sdW1uLWdhcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXhsLTQge1xuICAgIGNvbHVtbi1nYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXhsLTUge1xuICAgIGNvbHVtbi1nYXA6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC14bC1zdGFydCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LXhsLWVuZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC14bC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5mbG9hdC14eGwtc3RhcnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsb2F0LXh4bC1lbmQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbG9hdC14eGwtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC14eGwtY29udGFpbiB7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LXh4bC1jb3ZlciB7XG4gICAgb2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC14eGwtZmlsbCB7XG4gICAgb2JqZWN0LWZpdDogZmlsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LXh4bC1zY2FsZSB7XG4gICAgb2JqZWN0LWZpdDogc2NhbGUtZG93biAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LXh4bC1ub25lIHtcbiAgICBvYmplY3QtZml0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteHhsLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteHhsLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteHhsLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXh4bC1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteHhsLWlubGluZS1ncmlkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXh4bC10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICAuZC14eGwtdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZC14eGwtdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXh4bC1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteHhsLWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXh4bC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteHhsLWZpbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteHhsLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXh4bC1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14eGwtcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXh4bC1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteHhsLWdyb3ctMCB7XG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteHhsLWdyb3ctMSB7XG4gICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteHhsLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXh4bC1zaHJpbmstMSB7XG4gICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14eGwtd3JhcCB7XG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteHhsLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14eGwtd3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteHhsLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXh4bC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXh4bC1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC14eGwtYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC14eGwtYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteHhsLWV2ZW5seSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHkgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMteHhsLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy14eGwtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMteHhsLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy14eGwtYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy14eGwtc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14eGwtc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14eGwtZW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXh4bC1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXh4bC1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQteHhsLWFyb3VuZCB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQteHhsLXN0cmV0Y2gge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi14eGwtYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXh4bC1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXh4bC1lbmQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteHhsLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteHhsLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXh4bC1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXh4bC1maXJzdCB7XG4gICAgb3JkZXI6IC0xICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXh4bC0wIHtcbiAgICBvcmRlcjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci14eGwtMSB7XG4gICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteHhsLTIge1xuICAgIG9yZGVyOiAyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXh4bC0zIHtcbiAgICBvcmRlcjogMyAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci14eGwtNCB7XG4gICAgb3JkZXI6IDQgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteHhsLTUge1xuICAgIG9yZGVyOiA1ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXh4bC1sYXN0IHtcbiAgICBvcmRlcjogNiAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXh4bC0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAubS14eGwtMSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teHhsLTIge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teHhsLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXh4bC00IHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXh4bC01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS14eGwtYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXh4bC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14eGwtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgteHhsLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14eGwtMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgteHhsLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14eGwtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgteHhsLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXh4bC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5teS14eGwtMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXkteHhsLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS14eGwtMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXkteHhsLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS14eGwtNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXkteHhsLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXh4bC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXh4bC0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXh4bC0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQteHhsLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQteHhsLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14eGwtNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14eGwtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS14eGwtMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXh4bC0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUteHhsLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXh4bC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUteHhsLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXh4bC01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUteHhsLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14eGwtMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14eGwtMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14eGwtMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXh4bC0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXh4bC00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteHhsLTUge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteHhsLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXMteHhsLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXh4bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy14eGwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy14eGwtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMteHhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMteHhsLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXh4bC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXh4bC0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAteHhsLTEge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC14eGwtMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAteHhsLTMge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC14eGwtNCB7XG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAteHhsLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgteHhsLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHgteHhsLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgteHhsLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LXh4bC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LXh4bC00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC14eGwtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS14eGwtMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5weS14eGwtMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS14eGwtMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHkteHhsLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHkteHhsLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXh4bC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXh4bC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC14eGwtMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteHhsLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteHhsLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXh4bC00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXh4bC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS14eGwtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS14eGwtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS14eGwtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXh4bC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXh4bC00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUteHhsLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGIteHhsLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXh4bC0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14eGwtMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14eGwtMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGIteHhsLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGIteHhsLTUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXh4bC0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHMteHhsLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy14eGwtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMteHhsLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy14eGwtNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMteHhsLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAteHhsLTAge1xuICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAteHhsLTEge1xuICAgIGdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAteHhsLTIge1xuICAgIGdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14eGwtMyB7XG4gICAgZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14eGwtNCB7XG4gICAgZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXh4bC01IHtcbiAgICBnYXA6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC14eGwtMCB7XG4gICAgcm93LWdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXh4bC0xIHtcbiAgICByb3ctZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAteHhsLTIge1xuICAgIHJvdy1nYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXh4bC0zIHtcbiAgICByb3ctZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAteHhsLTQge1xuICAgIHJvdy1nYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXh4bC01IHtcbiAgICByb3ctZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAteHhsLTAge1xuICAgIGNvbHVtbi1nYXA6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC14eGwtMSB7XG4gICAgY29sdW1uLWdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXh4bC0yIHtcbiAgICBjb2x1bW4tZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC14eGwtMyB7XG4gICAgY29sdW1uLWdhcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXh4bC00IHtcbiAgICBjb2x1bW4tZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC14eGwtNSB7XG4gICAgY29sdW1uLWdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LXh4bC1zdGFydCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LXh4bC1lbmQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQteHhsLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZzLTEge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZzLTIge1xuICAgIGZvbnQtc2l6ZTogMnJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5mcy0zIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZnMtNCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50IHtcbiAgLmQtcHJpbnQtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1wcmludC1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgfVxuICAuZC1wcmludC1pbmxpbmUtZ3JpZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQgIWltcG9ydGFudDtcbiAgfVxuICAuZC1wcmludC10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1wcmludC10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICAuZC1wcmludC1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtcHJpbnQtaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtcHJpbnQtbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWJvb3RzdHJhcC5jc3MubWFwICovXG4iLCJAbWl4aW4gYnNCYW5uZXIoJGZpbGUpIHtcbiAgLyohXG4gICAqIEJvb3RzdHJhcCAjeyRmaWxlfSB2NS4zLjMgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pXG4gICAqIENvcHlyaWdodCAyMDExLTIwMjQgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gICAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICAgKi9cbn1cbiIsIjpyb290LFxuW2RhdGEtYnMtdGhlbWU9XCJsaWdodFwiXSB7XG4gIC8vIE5vdGU6IEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuXG4gIC8vIENvbG9yc1xuICAvL1xuICAvLyBHZW5lcmF0ZSBwYWxldHRlcyBmb3IgZnVsbCBjb2xvcnMsIGdyYXlzLCBhbmQgdGhlbWUgY29sb3JzLlxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdyYXlzIHtcbiAgICAtLSN7JHByZWZpeH1ncmF5LSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXJnYiB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYjogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy10ZXh0IHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tdGV4dC1lbXBoYXNpczogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1iZy1zdWJ0bGUge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1iZy1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZSB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJvcmRlci1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fXdoaXRlLXJnYjogI3t0by1yZ2IoJHdoaXRlKX07XG4gIC0tI3skcHJlZml4fWJsYWNrLXJnYjogI3t0by1yZ2IoJGJsYWNrKX07XG5cbiAgLy8gRm9udHNcblxuICAvLyBOb3RlOiBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS0jeyRwcmVmaXh9Zm9udC1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG4gIC0tI3skcHJlZml4fWdyYWRpZW50OiAjeyRncmFkaWVudH07XG5cbiAgLy8gUm9vdCBhbmQgYm9keVxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1ib2R5LXZhcmlhYmxlc1xuICBAaWYgJGZvbnQtc2l6ZS1yb290ICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fXJvb3QtZm9udC1zaXplOiAjeyRmb250LXNpemUtcm9vdH07XG4gIH1cbiAgLS0jeyRwcmVmaXh9Ym9keS1mb250LWZhbWlseTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1iYXNlKX07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLWJhc2UsIC0tI3skcHJlZml4fWJvZHktZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1mb250LXdlaWdodDogI3skZm9udC13ZWlnaHQtYmFzZX07XG4gIC0tI3skcHJlZml4fWJvZHktbGluZS1oZWlnaHQ6ICN7JGxpbmUtaGVpZ2h0LWJhc2V9O1xuICBAaWYgJGJvZHktdGV4dC1hbGlnbiAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1ib2R5LXRleHQtYWxpZ246ICN7JGJvZHktdGV4dC1hbGlnbn07XG4gIH1cblxuICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yOiAjeyRib2R5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fWJvZHktYmc6ICN7JGJvZHktYmd9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktYmcpfTtcblxuICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcjogI3skYm9keS1lbXBoYXNpcy1jb2xvcn07XG4gIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktZW1waGFzaXMtY29sb3IpfTtcblxuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3I6ICN7JGJvZHktc2Vjb25kYXJ5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZzogI3skYm9keS1zZWNvbmRhcnktYmd9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktYmcpfTtcblxuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcjogI3skYm9keS10ZXJ0aWFyeS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmc6ICN7JGJvZHktdGVydGlhcnktYmd9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWJnKX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1ib2R5LXZhcmlhYmxlc1xuXG4gIC0tI3skcHJlZml4fWhlYWRpbmctY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yfTtcblxuICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWNvbG9yKX07XG4gIC0tI3skcHJlZml4fWxpbmstZGVjb3JhdGlvbjogI3skbGluay1kZWNvcmF0aW9ufTtcblxuICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yOiAjeyRsaW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWhvdmVyLWNvbG9yKX07XG5cbiAgQGlmICRsaW5rLWhvdmVyLWRlY29yYXRpb24gIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1kZWNvcmF0aW9uOiAjeyRsaW5rLWhvdmVyLWRlY29yYXRpb259O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9Y29kZS1jb2xvcjogI3skY29kZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhpZ2hsaWdodC1jb2xvcjogI3skbWFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZzogI3skbWFyay1iZ307XG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9yZGVyLXZhclxuICAtLSN7JHByZWZpeH1ib3JkZXItd2lkdGg6ICN7JGJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1zdHlsZTogI3skYm9yZGVyLXN0eWxlfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci1jb2xvci10cmFuc2x1Y2VudH07XG5cbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc206ICN7JGJvcmRlci1yYWRpdXMtc219O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnOiAjeyRib3JkZXItcmFkaXVzLWxnfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14bDogI3skYm9yZGVyLXJhZGl1cy14bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteHhsOiAjeyRib3JkZXItcmFkaXVzLXh4bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtMnhsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14eGwpOyAvLyBEZXByZWNhdGVkIGluIHY1LjMuMCBmb3IgY29uc2lzdGVuY3lcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1waWxsOiAjeyRib3JkZXItcmFkaXVzLXBpbGx9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtYm9yZGVyLXZhclxuXG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3c6ICN7JGJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LXNtOiAjeyRib3gtc2hhZG93LXNtfTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1sZzogI3skYm94LXNoYWRvdy1sZ307XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQ6ICN7JGJveC1zaGFkb3ctaW5zZXR9O1xuXG4gIC8vIEZvY3VzIHN0eWxlc1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1mb2N1cy12YXJpYWJsZXNcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy13aWR0aDogI3skZm9jdXMtcmluZy13aWR0aH07XG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctb3BhY2l0eTogI3skZm9jdXMtcmluZy1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1jb2xvcjogI3skZm9jdXMtcmluZy1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1mb2N1cy12YXJpYWJsZXNcblxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1mb3JtLXZhbGlkYXRpb24tdmFyaWFibGVzXG4gIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3I6ICN7JGZvcm0tdmFsaWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS12YWxpZC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3I6ICN7JGZvcm0taW52YWxpZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0taW52YWxpZC1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZm9ybS12YWxpZGF0aW9uLXZhcmlhYmxlc1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICBjb2xvci1zY2hlbWU6IGRhcms7XG5cbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1kYXJrLW1vZGUtdmFyc1xuICAgIC0tI3skcHJlZml4fWJvZHktY29sb3I6ICN7JGJvZHktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvZHktYmctcmdiOiAje3RvLXJnYigkYm9keS1iZy1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcjogI3skYm9keS1lbXBoYXNpcy1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWVtcGhhc2lzLWNvbG9yLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcjogI3skYm9keS1zZWNvbmRhcnktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmc6ICN7JGJvZHktc2Vjb25kYXJ5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1iZy1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcjogI3skYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZzogI3skYm9keS10ZXJ0aWFyeS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWJnLWRhcmspfTtcblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtdGV4dC1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS10ZXh0LWVtcGhhc2lzOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1iZy1zdWJ0bGUtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYmctc3VidGxlOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1ib3JkZXItc3VidGxlLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJvcmRlci1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICAtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yOiAjeyRoZWFkaW5ncy1jb2xvci1kYXJrfTtcblxuICAgIC0tI3skcHJlZml4fWxpbmstY29sb3I6ICN7JGxpbmstY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcjogI3skbGluay1ob3Zlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1ob3Zlci1jb2xvci1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1jb2RlLWNvbG9yOiAjeyRjb2RlLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWhpZ2hsaWdodC1jb2xvcjogI3skbWFyay1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1oaWdobGlnaHQtYmc6ICN7JG1hcmstYmctZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3I6ICN7JGJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci1jb2xvci10cmFuc2x1Y2VudC1kYXJrfTtcblxuICAgIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3I6ICN7JGZvcm0tdmFsaWQtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0taW52YWxpZC1ib3JkZXItY29sb3ItZGFya307XG4gICAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWRhcmstbW9kZS12YXJzXG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZGltZW5zaW9uLW5vLW5vbi1udW1lcmljLXZhbHVlc1xuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFpbi9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHB4IHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsIGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSByZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWVkaWEgcXVlcnkgdmFsdWVcbiRyZnMtbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuJHJmcy1tcS1wcm9wZXJ0eS13aWR0aDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LXdpZHRoLCBtaW4td2lkdGgpO1xuJHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHQ6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIGFuZCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1ydWxlIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBwcm9wZXJ0eVxuICAgICYsXG4gICAgLmRpc2FibGUtcmZzICYsXG4gICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgIC5lbmFibGUtcmZzICYsXG4gICAgJi5lbmFibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcblxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgLmVuYWJsZS1yZnMgJixcbiAgICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgZm9ybWF0dGVkIG5vbi1yZXNwb25zaXZlIHZhbHVlXG5AZnVuY3Rpb24gcmZzLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIEBpZiAkdW5pdCA9PSBweCB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcmVtIGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHB4LCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSByZXNwb25zaXZlIHZhbHVlIGNhbGN1bGF0ZWQgYnkgUkZTXG5AZnVuY3Rpb24gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgIEBpZiBub3QgJHVuaXQgb3IgJHVuaXQgIT0gcHggYW5kICR1bml0ICE9IHJlbSB7XG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArICR2YWx1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICR2YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG4gICAgICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIGlmKCR1bml0ID09IHB4LCAxLCBkaXZpZGUoMSwgJHJmcy1yZW0tdmFsdWUpKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyBkaXZpZGUoYWJzKCR2YWx1ZSkgLSAkcmZzLWJhc2UtdmFsdWUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJHZhbHVlIGFuZCB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1kaWZmOiBhYnMoJHZhbHVlKSAtICR2YWx1ZS1taW47XG5cbiAgICAgICAgICAvLyBCYXNlIHZhbHVlIGZvcm1hdHRpbmdcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCR2YWx1ZS1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAgICAgLy8gUmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlXG4gICAgICAgICAgJHZhbDogJHZhbCArIFwiIGNhbGMoXCIgKyAkbWluLXdpZHRoICsgaWYoJHZhbHVlIDwgMCwgXCIgLSBcIiwgXCIgKyBcIikgKyAkdmFyaWFibGUtd2lkdGggKyBcIilcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gUkZTIG1peGluXG5AbWl4aW4gcmZzKCR2YWx1ZXMsICRwcm9wZXJ0eTogZm9udC1zaXplKSB7XG4gIEBpZiAkdmFsdWVzICE9IG51bGwge1xuICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWVzKTtcbiAgICAkZmx1aWQtdmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG5cbiAgICAvLyBEbyBub3QgcHJpbnQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHJlc3BvbnNpdmUgJiBub24tcmVzcG9uc2l2ZSB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgQGlmICR2YWwgPT0gJGZsdWlkLXZhbCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIF9yZnMtcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJHZhbCwgJGZsdWlkLXZhbCk7XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICRmbHVpZC12YWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaG9ydGhhbmQgaGVscGVyIG1peGluc1xuQG1peGluIGZvbnQtc2l6ZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nKTtcbn1cblxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXJpZ2h0KTtcbn1cblxuQG1peGluIHBhZGRpbmctYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbik7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tdG9wKTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1ib3R0b20pO1xufVxuXG5AbWl4aW4gbWFyZ2luLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1sZWZ0KTtcbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci1tb2RlLW1peGluXG5AbWl4aW4gY29sb3ItbW9kZSgkbW9kZTogbGlnaHQsICRyb290OiBmYWxzZSkge1xuICBAaWYgJGNvbG9yLW1vZGUtdHlwZSA9PSBcIm1lZGlhLXF1ZXJ5XCIge1xuICAgIEBpZiAkcm9vdCA9PSB0cnVlIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ICRtb2RlKSB7XG4gICAgICAgIDpyb290IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogJG1vZGUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBbZGF0YS1icy10aGVtZT1cIiN7JG1vZGV9XCJdIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci1tb2RlLW1peGluXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuLy8gUm9vdFxuLy9cbi8vIEFiaWxpdHkgdG8gdGhlIHZhbHVlIG9mIHRoZSByb290IGZvbnQgc2l6ZXMsIGFmZmVjdGluZyB0aGUgdmFsdWUgb2YgYHJlbWAuXG4vLyBudWxsIGJ5IGRlZmF1bHQsIHRodXMgbm90aGluZyBpcyBnZW5lcmF0ZWQuXG5cbjpyb290IHtcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXJvb3QtZm9udC1zaXplKSk7XG4gIH1cblxuICBAaWYgJGVuYWJsZS1zbW9vdGgtc2Nyb2xsIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbi8vIDQuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcmVib290LWJvZHktcnVsZXNcbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6IHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtZmFtaWx5KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fWJvZHktbGluZS1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICB0ZXh0LWFsaWduOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS10ZXh0LWFsaWduKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktYmcpOyAvLyAyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gM1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNFxufVxuLy8gc2Nzcy1kb2NzLWVuZCByZWJvb3QtYm9keS1ydWxlc1xuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBSZXNldCBGaXJlZm94J3MgZ3JheSBjb2xvclxuXG5ociB7XG4gIG1hcmdpbjogJGhyLW1hcmdpbi15IDA7XG4gIGNvbG9yOiAkaHItY29sb3I7IC8vIDFcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG4gIG9wYWNpdHk6ICRoci1vcGFjaXR5O1xufVxuXG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyAxLiBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuLy8gICAgQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vICAgIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cblxuJWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwOyAvLyAxXG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXN0eWxlOiAkaGVhZGluZ3MtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKTtcbn1cblxuaDEge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG59XG5cbmgyIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xufVxuXG5oMyB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbn1cblxuaDQge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG59XG5cbmg1IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xufVxuXG5oNiB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbn1cblxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDIuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDMuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMVxuICBjdXJzb3I6IGhlbHA7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyAzXG59XG5cblxuLy8gQWRkcmVzc1xuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuXG4vLyBMaXN0c1xuXG5vbCxcbnVsIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuLy8gMS4gVW5kbyBicm93c2VyIGRlZmF1bHRcblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIDFcbn1cblxuXG4vLyBCbG9ja3F1b3RlXG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vIFN0cm9uZ1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyO1xufVxuXG5cbi8vIFNtYWxsXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG59XG5cblxuLy8gTWFya1xuXG5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnKTtcbn1cblxuXG4vLyBTdWIgYW5kIFN1cFxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc3ViLXN1cC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG5cbi8vIExpbmtzXG5cbmEge1xuICBjb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSk7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiKTtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSkge1xuICAmLFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBDb2RlXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1jb2RlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG4vLyAxLiBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbi8vIDIuIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4vLyAzLiBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7IC8vIDFcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgLy8gMlxuICBvdmVyZmxvdzogYXV0bzsgLy8gM1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG5jb2RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y29kZS1jb2xvcik7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbmtiZCB7XG4gIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGtiZC1mb250LXNpemUpO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG5cbmltZyxcbnN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xuXG50YWJsZSB7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vLyAxLiBSZW1vdmVzIGZvbnQtd2VpZ2h0IGJvbGQgYnkgaW5oZXJpdGluZ1xuLy8gMi4gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBgdGV4dC1hbGlnbmAuXG4vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcblxudGgge1xuICBmb250LXdlaWdodDogJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OyAvLyAxXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7IC8vIDNcbn1cblxudGhlYWQsXG50Ym9keSxcbnRmb290LFxudHIsXG50ZCxcbnRoIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG59XG5cblxuLy8gRm9ybXNcbi8vXG4vLyAxLiBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnNlbGVjdCB7XG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbiAgd29yZC13cmFwOiBub3JtYWw7XG5cbiAgLy8gVW5kbyB0aGUgb3BhY2l0eSBjaGFuZ2UgZnJvbSBDaHJvbWVcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdGhlIGRyb3Bkb3duIGFycm93IG9ubHkgZnJvbSB0ZXh0IHR5cGUgaW5wdXRzIGJ1aWx0IHdpdGggZGF0YWxpc3RzIGluIENocm9tZS5cbi8vIFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNTQ5OTcxMThcblxuW2xpc3RdOm5vdChbdHlwZT1cImRhdGVcIl0pOm5vdChbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdKTpub3QoW3R5cGU9XCJtb250aFwiXSk6bm90KFt0eXBlPVwid2Vla1wiXSk6bm90KFt0eXBlPVwidGltZVwiXSk6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMy4gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG5cbiAgQGlmICRlbmFibGUtYnV0dG9uLXBvaW50ZXJzIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy8gMS4gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IC8vIDFcbn1cblxuLy8gMS4gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbi8vICAgIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuLy8gICAgU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbi8vICAgIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbi8vIDIuIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gMlxuICBib3JkZXI6IDA7IC8vIDJcbn1cblxuLy8gMS4gQnkgdXNpbmcgYGZsb2F0OiBsZWZ0YCwgdGhlIGxlZ2VuZCB3aWxsIGJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudC5cbi8vICAgIFRoaXMgd2F5IHRoZSBib3JkZXIgb2YgYSBmaWVsZHNldCB3cmFwcyBhcm91bmQgdGhlIGxlZ2VuZCBpZiBwcmVzZW50LlxuLy8gMi4gRml4IHdyYXBwaW5nIGJ1Zy5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5NzEyXG5cbmxlZ2VuZCB7XG4gIGZsb2F0OiBsZWZ0OyAvLyAxXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbGVnZW5kLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVnZW5kLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVnZW5kLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICArICoge1xuICAgIGNsZWFyOiBsZWZ0OyAvLyAyXG4gIH1cbn1cblxuLy8gRml4IGhlaWdodCBvZiBpbnB1dHMgd2l0aCBhIHR5cGUgb2YgZGF0ZXRpbWUtbG9jYWwsIGRhdGUsIG1vbnRoLCB3ZWVrLCBvciB0aW1lXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODg0MlxuXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcixcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXRleHQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkIHtcbiAgcGFkZGluZzogMDtcbn1cblxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyAxLiBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4vLyAgICBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbi8vICAgIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbi8vICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4vLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxufVxuXG4vLyAxLiBBIGZldyBpbnB1dCB0eXBlcyBzaG91bGQgc3RheSBMVFJcbi8vIFNlZSBodHRwczovL3J0bHN0eWxpbmcuY29tL3Bvc3RzL3J0bC1zdHlsaW5nI2Zvcm0taW5wdXRzXG4vLyAyLiBSVEwgb25seSBvdXRwdXRcbi8vIFNlZSBodHRwczovL3J0bGNzcy5jb20vbGVhcm4vdXNhZ2UtZ3VpZGUvY29udHJvbC1kaXJlY3RpdmVzLyNyYXdcblxuLyogcnRsOnJhdzpcblt0eXBlPVwidGVsXCJdLFxuW3R5cGU9XCJ1cmxcIl0sXG5bdHlwZT1cImVtYWlsXCJdLFxuW3R5cGU9XCJudW1iZXJcIl0ge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbiovXG5cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBSZW1vdmUgcGFkZGluZyBhcm91bmQgY29sb3IgcGlja2VycyBpbiB3ZWJraXQgYnJvd3NlcnNcblxuOjotd2Via2l0LWNvbG9yLXN3YXRjaC13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbn1cblxuXG4vLyAxLiBJbmhlcml0IGZvbnQgZmFtaWx5IGFuZCBsaW5lIGhlaWdodCBmb3IgZmlsZSBpbnB1dCBidXR0b25zXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG46OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBSZW1vdmUgYm9yZGVyIGZyb20gaWZyYW1lXG5cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gU3VtbWFyeVxuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyAxXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vLyBQcm9ncmVzc1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5cbi8vIEhpZGRlbiBhdHRyaWJ1dGVcbi8vXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlLlxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvci12YXJpYWJsZXNcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvcnMtbWFwXG4kZ3JheXM6IChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmx1ZTogICAgIzBkNmVmZCAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2Q2MzM4NCAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMTk4NzU0ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzBkY2FmMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvcnMtbWFwXG4kY29sb3JzOiAoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICBcImJsYWNrXCI6ICAgICAgJGJsYWNrLFxuICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvcnMtbWFwXG5cbi8vIFRoZSBjb250cmFzdCByYXRpbyB0byByZWFjaCBhZ2FpbnN0IHdoaXRlLCB0byBkZXRlcm1pbmUgaWYgY29sb3IgY2hhbmdlcyBmcm9tIFwibGlnaHRcIiB0byBcImRhcmtcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4wIGFyZSAzLCA0LjUgYW5kIDcuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC8jdmlzdWFsLWF1ZGlvLWNvbnRyYXN0LWNvbnRyYXN0XG4kbWluLWNvbnRyYXN0LXJhdGlvOiAgIDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1saWdodDogICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kYmx1ZS0xMDA6IHRpbnQtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0yMDA6IHRpbnQtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0zMDA6IHRpbnQtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS00MDA6IHRpbnQtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS01MDA6ICRibHVlICFkZWZhdWx0O1xuJGJsdWUtNjAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTcwMDogc2hhZGUtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS04MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtOTAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcblxuJGluZGlnby0xMDA6IHRpbnQtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMjAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTMwMDogdGludC1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby00MDA6IHRpbnQtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNTAwOiAkaW5kaWdvICFkZWZhdWx0O1xuJGluZGlnby02MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTcwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tODAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby05MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG5cbiRwdXJwbGUtMTAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTIwMDogdGludC1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0zMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNDAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTUwMDogJHB1cnBsZSAhZGVmYXVsdDtcbiRwdXJwbGUtNjAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS03MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTgwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtOTAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuXG4kcGluay0xMDA6IHRpbnQtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG4kcGluay0yMDA6IHRpbnQtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay0zMDA6IHRpbnQtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay00MDA6IHRpbnQtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay01MDA6ICRwaW5rICFkZWZhdWx0O1xuJHBpbmstNjAwOiBzaGFkZS1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTcwMDogc2hhZGUtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay04MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstOTAwOiBzaGFkZS1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcblxuJHJlZC0xMDA6IHRpbnQtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcbiRyZWQtMjAwOiB0aW50LWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTMwMDogdGludC1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC00MDA6IHRpbnQtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNTAwOiAkcmVkICFkZWZhdWx0O1xuJHJlZC02MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTcwMDogc2hhZGUtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtODAwOiBzaGFkZS1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC05MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UtMTAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTIwMDogdGludC1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0zMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNDAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTUwMDogJG9yYW5nZSAhZGVmYXVsdDtcbiRvcmFuZ2UtNjAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS03MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTgwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtOTAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuXG4keWVsbG93LTEwMDogdGludC1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuJHllbGxvdy0yMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMzAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTQwMDogdGludC1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy01MDA6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4keWVsbG93LTYwMDogc2hhZGUtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNzAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy04MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTkwMDogc2hhZGUtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcblxuJGdyZWVuLTEwMDogdGludC1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMjAwOiB0aW50LWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi0zMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTQwMDogdGludC1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNTAwOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kZ3JlZW4tNjAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNzAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tODAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tOTAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiR0ZWFsLTEwMDogdGludC1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcbiR0ZWFsLTIwMDogdGludC1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTMwMDogdGludC1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTQwMDogdGludC1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTUwMDogJHRlYWwgIWRlZmF1bHQ7XG4kdGVhbC02MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNzAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTgwMDogc2hhZGUtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC05MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuXG4kY3lhbi0xMDA6IHRpbnQtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG4kY3lhbi0yMDA6IHRpbnQtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi0zMDA6IHRpbnQtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi00MDA6IHRpbnQtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi01MDA6ICRjeWFuICFkZWZhdWx0O1xuJGN5YW4tNjAwOiBzaGFkZS1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTcwMDogc2hhZGUtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi04MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tOTAwOiBzaGFkZS1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcblxuJGJsdWVzOiAoXG4gIFwiYmx1ZS0xMDBcIjogJGJsdWUtMTAwLFxuICBcImJsdWUtMjAwXCI6ICRibHVlLTIwMCxcbiAgXCJibHVlLTMwMFwiOiAkYmx1ZS0zMDAsXG4gIFwiYmx1ZS00MDBcIjogJGJsdWUtNDAwLFxuICBcImJsdWUtNTAwXCI6ICRibHVlLTUwMCxcbiAgXCJibHVlLTYwMFwiOiAkYmx1ZS02MDAsXG4gIFwiYmx1ZS03MDBcIjogJGJsdWUtNzAwLFxuICBcImJsdWUtODAwXCI6ICRibHVlLTgwMCxcbiAgXCJibHVlLTkwMFwiOiAkYmx1ZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRpbmRpZ29zOiAoXG4gIFwiaW5kaWdvLTEwMFwiOiAkaW5kaWdvLTEwMCxcbiAgXCJpbmRpZ28tMjAwXCI6ICRpbmRpZ28tMjAwLFxuICBcImluZGlnby0zMDBcIjogJGluZGlnby0zMDAsXG4gIFwiaW5kaWdvLTQwMFwiOiAkaW5kaWdvLTQwMCxcbiAgXCJpbmRpZ28tNTAwXCI6ICRpbmRpZ28tNTAwLFxuICBcImluZGlnby02MDBcIjogJGluZGlnby02MDAsXG4gIFwiaW5kaWdvLTcwMFwiOiAkaW5kaWdvLTcwMCxcbiAgXCJpbmRpZ28tODAwXCI6ICRpbmRpZ28tODAwLFxuICBcImluZGlnby05MDBcIjogJGluZGlnby05MDBcbikgIWRlZmF1bHQ7XG5cbiRwdXJwbGVzOiAoXG4gIFwicHVycGxlLTEwMFwiOiAkcHVycGxlLTEwMCxcbiAgXCJwdXJwbGUtMjAwXCI6ICRwdXJwbGUtMjAwLFxuICBcInB1cnBsZS0zMDBcIjogJHB1cnBsZS0zMDAsXG4gIFwicHVycGxlLTQwMFwiOiAkcHVycGxlLTQwMCxcbiAgXCJwdXJwbGUtNTAwXCI6ICRwdXJwbGUtNTAwLFxuICBcInB1cnBsZS02MDBcIjogJHB1cnBsZS02MDAsXG4gIFwicHVycGxlLTcwMFwiOiAkcHVycGxlLTcwMCxcbiAgXCJwdXJwbGUtODAwXCI6ICRwdXJwbGUtODAwLFxuICBcInB1cnBsZS05MDBcIjogJHB1cnBsZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRwaW5rczogKFxuICBcInBpbmstMTAwXCI6ICRwaW5rLTEwMCxcbiAgXCJwaW5rLTIwMFwiOiAkcGluay0yMDAsXG4gIFwicGluay0zMDBcIjogJHBpbmstMzAwLFxuICBcInBpbmstNDAwXCI6ICRwaW5rLTQwMCxcbiAgXCJwaW5rLTUwMFwiOiAkcGluay01MDAsXG4gIFwicGluay02MDBcIjogJHBpbmstNjAwLFxuICBcInBpbmstNzAwXCI6ICRwaW5rLTcwMCxcbiAgXCJwaW5rLTgwMFwiOiAkcGluay04MDAsXG4gIFwicGluay05MDBcIjogJHBpbmstOTAwXG4pICFkZWZhdWx0O1xuXG4kcmVkczogKFxuICBcInJlZC0xMDBcIjogJHJlZC0xMDAsXG4gIFwicmVkLTIwMFwiOiAkcmVkLTIwMCxcbiAgXCJyZWQtMzAwXCI6ICRyZWQtMzAwLFxuICBcInJlZC00MDBcIjogJHJlZC00MDAsXG4gIFwicmVkLTUwMFwiOiAkcmVkLTUwMCxcbiAgXCJyZWQtNjAwXCI6ICRyZWQtNjAwLFxuICBcInJlZC03MDBcIjogJHJlZC03MDAsXG4gIFwicmVkLTgwMFwiOiAkcmVkLTgwMCxcbiAgXCJyZWQtOTAwXCI6ICRyZWQtOTAwXG4pICFkZWZhdWx0O1xuXG4kb3JhbmdlczogKFxuICBcIm9yYW5nZS0xMDBcIjogJG9yYW5nZS0xMDAsXG4gIFwib3JhbmdlLTIwMFwiOiAkb3JhbmdlLTIwMCxcbiAgXCJvcmFuZ2UtMzAwXCI6ICRvcmFuZ2UtMzAwLFxuICBcIm9yYW5nZS00MDBcIjogJG9yYW5nZS00MDAsXG4gIFwib3JhbmdlLTUwMFwiOiAkb3JhbmdlLTUwMCxcbiAgXCJvcmFuZ2UtNjAwXCI6ICRvcmFuZ2UtNjAwLFxuICBcIm9yYW5nZS03MDBcIjogJG9yYW5nZS03MDAsXG4gIFwib3JhbmdlLTgwMFwiOiAkb3JhbmdlLTgwMCxcbiAgXCJvcmFuZ2UtOTAwXCI6ICRvcmFuZ2UtOTAwXG4pICFkZWZhdWx0O1xuXG4keWVsbG93czogKFxuICBcInllbGxvdy0xMDBcIjogJHllbGxvdy0xMDAsXG4gIFwieWVsbG93LTIwMFwiOiAkeWVsbG93LTIwMCxcbiAgXCJ5ZWxsb3ctMzAwXCI6ICR5ZWxsb3ctMzAwLFxuICBcInllbGxvdy00MDBcIjogJHllbGxvdy00MDAsXG4gIFwieWVsbG93LTUwMFwiOiAkeWVsbG93LTUwMCxcbiAgXCJ5ZWxsb3ctNjAwXCI6ICR5ZWxsb3ctNjAwLFxuICBcInllbGxvdy03MDBcIjogJHllbGxvdy03MDAsXG4gIFwieWVsbG93LTgwMFwiOiAkeWVsbG93LTgwMCxcbiAgXCJ5ZWxsb3ctOTAwXCI6ICR5ZWxsb3ctOTAwXG4pICFkZWZhdWx0O1xuXG4kZ3JlZW5zOiAoXG4gIFwiZ3JlZW4tMTAwXCI6ICRncmVlbi0xMDAsXG4gIFwiZ3JlZW4tMjAwXCI6ICRncmVlbi0yMDAsXG4gIFwiZ3JlZW4tMzAwXCI6ICRncmVlbi0zMDAsXG4gIFwiZ3JlZW4tNDAwXCI6ICRncmVlbi00MDAsXG4gIFwiZ3JlZW4tNTAwXCI6ICRncmVlbi01MDAsXG4gIFwiZ3JlZW4tNjAwXCI6ICRncmVlbi02MDAsXG4gIFwiZ3JlZW4tNzAwXCI6ICRncmVlbi03MDAsXG4gIFwiZ3JlZW4tODAwXCI6ICRncmVlbi04MDAsXG4gIFwiZ3JlZW4tOTAwXCI6ICRncmVlbi05MDBcbikgIWRlZmF1bHQ7XG5cbiR0ZWFsczogKFxuICBcInRlYWwtMTAwXCI6ICR0ZWFsLTEwMCxcbiAgXCJ0ZWFsLTIwMFwiOiAkdGVhbC0yMDAsXG4gIFwidGVhbC0zMDBcIjogJHRlYWwtMzAwLFxuICBcInRlYWwtNDAwXCI6ICR0ZWFsLTQwMCxcbiAgXCJ0ZWFsLTUwMFwiOiAkdGVhbC01MDAsXG4gIFwidGVhbC02MDBcIjogJHRlYWwtNjAwLFxuICBcInRlYWwtNzAwXCI6ICR0ZWFsLTcwMCxcbiAgXCJ0ZWFsLTgwMFwiOiAkdGVhbC04MDAsXG4gIFwidGVhbC05MDBcIjogJHRlYWwtOTAwXG4pICFkZWZhdWx0O1xuXG4kY3lhbnM6IChcbiAgXCJjeWFuLTEwMFwiOiAkY3lhbi0xMDAsXG4gIFwiY3lhbi0yMDBcIjogJGN5YW4tMjAwLFxuICBcImN5YW4tMzAwXCI6ICRjeWFuLTMwMCxcbiAgXCJjeWFuLTQwMFwiOiAkY3lhbi00MDAsXG4gIFwiY3lhbi01MDBcIjogJGN5YW4tNTAwLFxuICBcImN5YW4tNjAwXCI6ICRjeWFuLTYwMCxcbiAgXCJjeWFuLTcwMFwiOiAkY3lhbi03MDAsXG4gIFwiY3lhbi04MDBcIjogJGN5YW4tODAwLFxuICBcImN5YW4tOTAwXCI6ICRjeWFuLTkwMFxuKSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1tYXBcbiR0aGVtZS1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLW1hcFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtdGV4dC12YXJpYWJsZXNcbiRwcmltYXJ5LXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHByaW1hcnksIDYwJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LXRleHQtZW1waGFzaXM6IHNoYWRlLWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCRzdWNjZXNzLCA2MCUpICFkZWZhdWx0O1xuJGluZm8tdGV4dC1lbXBoYXNpczogICAgICBzaGFkZS1jb2xvcigkaW5mbywgNjAlKSAhZGVmYXVsdDtcbiR3YXJuaW5nLXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLXRleHQtZW1waGFzaXM6ICAgIHNoYWRlLWNvbG9yKCRkYW5nZXIsIDYwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtdGV4dC1lbXBoYXNpczogICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRkYXJrLXRleHQtZW1waGFzaXM6ICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCRwcmltYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1iZy1zdWJ0bGU6ICAgICB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDgwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDgwJSkgIWRlZmF1bHQ7XG4kaW5mby1iZy1zdWJ0bGU6ICAgICAgICAgIHRpbnQtY29sb3IoJGluZm8sIDgwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDgwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJnLXN1YnRsZTogICAgICAgIHRpbnQtY29sb3IoJGRhbmdlciwgODAlKSAhZGVmYXVsdDtcbiRsaWdodC1iZy1zdWJ0bGU6ICAgICAgICAgbWl4KCRncmF5LTEwMCwgJHdoaXRlKSAhZGVmYXVsdDtcbiRkYXJrLWJnLXN1YnRsZTogICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1iZy1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1ib3JkZXItc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCRwcmltYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1ib3JkZXItc3VidGxlOiB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDYwJSkgIWRlZmF1bHQ7XG4kaW5mby1ib3JkZXItc3VidGxlOiAgICAgIHRpbnQtY29sb3IoJGluZm8sIDYwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJvcmRlci1zdWJ0bGU6ICAgIHRpbnQtY29sb3IoJGRhbmdlciwgNjAlKSAhZGVmYXVsdDtcbiRsaWdodC1ib3JkZXItc3VidGxlOiAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRhcmstYm9yZGVyLXN1YnRsZTogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJvcmRlci1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlZHVjZWQtbW90aW9uOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zbW9vdGgtc2Nyb2xsOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzOiAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jc3NncmlkOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWJ1dHRvbi1wb2ludGVyczogICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZnM6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnM6ICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6IHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXM6ICB0cnVlICFkZWZhdWx0O1xuXG4kZW5hYmxlLWRhcmstbW9kZTogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGNvbG9yLW1vZGUtdHlwZTogICAgICAgICAgICAgZGF0YSAhZGVmYXVsdDsgLy8gYGRhdGFgIG9yIGBtZWRpYS1xdWVyeWBcblxuLy8gUHJlZml4IGZvciA6cm9vdCBDU1MgdmFyaWFibGVzXG5cbiR2YXJpYWJsZS1wcmVmaXg6ICAgICAgICAgICAgIGJzLSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAgZm9yIHRoZSBzaG9ydGVyIGAkcHJlZml4YFxuJHByZWZpeDogICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlLXByZWZpeCAhZGVmYXVsdDtcblxuLy8gR3JhZGllbnRcbi8vXG4vLyBUaGUgZ3JhZGllbnQgd2hpY2ggaXMgYWRkZWQgdG8gY29tcG9uZW50cyBpZiBgJGVuYWJsZS1ncmFkaWVudHNgIGlzIGB0cnVlYFxuLy8gVGhpcyBncmFkaWVudCBpcyBhbHNvIGFkZGVkIHRvIGVsZW1lbnRzIHdpdGggYC5iZy1ncmFkaWVudGBcbi8vIHNjc3MtZG9jcy1zdGFydCB2YXJpYWJsZS1ncmFkaWVudFxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwgLjE1KSwgcmdiYSgkd2hpdGUsIDApKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdmFyaWFibGUtZ3JhZGllbnRcblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGFjZXItdmFyaWFibGVzLW1hcHNcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LFxuICAyOiAkc3BhY2VyICogLjUsXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICRzcGFjZXIgKiAxLjUsXG4gIDU6ICRzcGFjZXIgKiAzLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG5cbi8vIFBvc2l0aW9uXG4vL1xuLy8gRGVmaW5lIHRoZSBlZGdlIHBvc2l0aW9uaW5nIGFuY2hvcnMgb2YgdGhlIHBvc2l0aW9uIHV0aWxpdGllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvc2l0aW9uLW1hcFxuJHBvc2l0aW9uLXZhbHVlczogKFxuICAwOiAwLFxuICA1MDogNTAlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvc2l0aW9uLW1hcFxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS10ZXh0LWFsaWduOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kYm9keS1zZWNvbmRhcnktY29sb3I6ICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRib2R5LXNlY29uZGFyeS1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRib2R5LXRlcnRpYXJ5LWNvbG9yOiAgICAgICByZ2JhKCRib2R5LWNvbG9yLCAuNSkgIWRlZmF1bHQ7XG4kYm9keS10ZXJ0aWFyeS1iZzogICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kYm9keS1lbXBoYXNpcy1jb2xvcjogICAgICAgJGJsYWNrICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAgICAgICAgICAgICAgICAgICAyMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnQ6ICAgICAgICAgICBhZnRlciAhZGVmYXVsdDtcbiRzdHJldGNoZWQtbGluay16LWluZGV4OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbi8vIEljb24gbGlua3Ncbi8vIHNjc3MtZG9jcy1zdGFydCBpY29uLWxpbmstdmFyaWFibGVzXG4kaWNvbi1saW5rLWdhcDogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0OiAgLjI1ZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tc2l6ZTogICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbjogICAuMnMgZWFzZS1pbi1vdXQgdHJhbnNmb3JtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zZm9ybTogICAgdHJhbnNsYXRlM2QoLjI1ZW0sIDAsIDApICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpY29uLWxpbmstdmFyaWFibGVzXG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyaWQtYnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JpZC1icmVha3BvaW50c1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbnRhaW5lci1tYXgtd2lkdGhzXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHBhZGRpbmdcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aHM6IChcbiAgMTogMXB4LFxuICAyOiAycHgsXG4gIDM6IDNweCxcbiAgNDogNHB4LFxuICA1OiA1cHhcbikgIWRlZmF1bHQ7XG4kYm9yZGVyLXN0eWxlOiAgICAgICAgICAgICAgICBzb2xpZCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICAgIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14eGw6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtcGlsbDogICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4vLyBmdXN2LWRpc2FibGVcbiRib3JkZXItcmFkaXVzLTJ4bDogICAgICAgICAgICRib3JkZXItcmFkaXVzLXh4bCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3gtc2hhZG93LXZhcmlhYmxlc1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1pbnNldDogICAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3gtc2hhZG93LXZhcmlhYmxlc1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvY3VzLXJpbmctdmFyaWFibGVzXG4kZm9jdXMtcmluZy13aWR0aDogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1vcGFjaXR5OiAgICAuMjUgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1jb2xvcjogICAgICByZ2JhKCRwcmltYXJ5LCAkZm9jdXMtcmluZy1vcGFjaXR5KSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWJsdXI6ICAgICAgIDAgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ib3gtc2hhZG93OiAwIDAgJGZvY3VzLXJpbmctYmx1ciAkZm9jdXMtcmluZy13aWR0aCAkZm9jdXMtcmluZy1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9jdXMtcmluZy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LXZhcmlhYmxlc1xuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZXQtdmFyaWFibGVzXG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLXRyYW5zaXRpb25cbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aDogICB3aWR0aCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLXRyYW5zaXRpb25cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4vLyBzY3NzLWRvY3Mtc3RhcnQgYXNwZWN0LXJhdGlvc1xuJGFzcGVjdC1yYXRpb3M6IChcbiAgXCIxeDFcIjogMTAwJSxcbiAgXCI0eDNcIjogY2FsYygzIC8gNCAqIDEwMCUpLFxuICBcIjE2eDlcIjogY2FsYyg5IC8gMTYgKiAxMDAlKSxcbiAgXCIyMXg5XCI6IGNhbGMoOSAvIDIxICogMTAwJSlcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFzcGVjdC1yYXRpb3Ncbi8vIHN0eWxlbGludC1lbmFibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtdmFyaWFibGVzXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZikgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktY29kZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2UpICFkZWZhdWx0O1xuXG4vLyAkZm9udC1zaXplLXJvb3QgYWZmZWN0cyB0aGUgdmFsdWUgb2YgYHJlbWAsIHdoaWNoIGlzIHVzZWQgZm9yIGFzIHdlbGwgZm9udCBzaXplcywgcGFkZGluZ3MsIGFuZCBtYXJnaW5zXG4vLyAkZm9udC1zaXplLWJhc2UgYWZmZWN0cyB0aGUgZm9udCBzaXplIG9mIHRoZSBib2R5IHRleHRcbiRmb250LXNpemUtcm9vdDogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTogICAgICAgICAgNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgICAgICAgNjAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMiAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC1zaXplc1xuJGZvbnQtc2l6ZXM6IChcbiAgMTogJGgxLWZvbnQtc2l6ZSxcbiAgMjogJGgyLWZvbnQtc2l6ZSxcbiAgMzogJGgzLWZvbnQtc2l6ZSxcbiAgNDogJGg0LWZvbnQtc2l6ZSxcbiAgNTogJGg1LWZvbnQtc2l6ZSxcbiAgNjogJGg2LWZvbnQtc2l6ZVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC1zaXplc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGluZ3MtdmFyaWFibGVzXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtc3R5bGU6ICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGhlYWRpbmdzLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZGlzcGxheS1oZWFkaW5nc1xuJGRpc3BsYXktZm9udC1zaXplczogKFxuICAxOiA1cmVtLFxuICAyOiA0LjVyZW0sXG4gIDM6IDRyZW0sXG4gIDQ6IDMuNXJlbSxcbiAgNTogM3JlbSxcbiAgNjogMi41cmVtXG4pICFkZWZhdWx0O1xuXG4kZGlzcGxheS1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtc3R5bGU6ICBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRpc3BsYXktaGVhZGluZ3NcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHR5cGUtdmFyaWFibGVzXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAuODc1ZW0gIWRlZmF1bHQ7XG5cbiRzdWItc3VwLWZvbnQtc2l6ZTogICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kaW5pdGlhbGlzbS1mb250LXNpemU6ICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kaHItY29sb3I6ICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRoci1iZy1jb2xvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4kaHItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gQWxsb3dzIGZvciBpbmhlcml0ZWQgY29sb3JzXG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRoci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgIC4yNSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHZyLXZhcmlhYmxlc1xuJHZyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZyLXZhcmlhYmxlc1xuXG4kbGVnZW5kLW1hcmdpbi1ib3R0b206ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC1zaXplOiAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC13ZWlnaHQ6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjE4NzVlbSAhZGVmYXVsdDtcbiRtYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgJHllbGxvdy0xMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHR5cGUtdmFyaWFibGVzXG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFibGVzXG4kdGFibGUtY2VsbC1wYWRkaW5nLXk6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteDogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjogICB0b3AgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtY29sb3I6ICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yOiAgICAgLjA1ICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmc6ICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3I6ICAgICAgLjEgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZy1mYWN0b3I6ICAgICAgIC4wNzUgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtaG92ZXItYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1mYWN0b3I6ICAgICAgICAgLjIgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1jb2x1bW5zLW9yZGVyOiBldmVuICFkZWZhdWx0O1xuXG4kdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOiBjdXJyZW50Y29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYmctc2NhbGU6ICAgICAgICAgICAgICAtODAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLWxvb3BcbiR0YWJsZS12YXJpYW50czogKFxuICBcInByaW1hcnlcIjogICAgc2hpZnQtY29sb3IoJHByaW1hcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic2Vjb25kYXJ5XCI6ICBzaGlmdC1jb2xvcigkc2Vjb25kYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInN1Y2Nlc3NcIjogICAgc2hpZnQtY29sb3IoJHN1Y2Nlc3MsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiaW5mb1wiOiAgICAgICBzaGlmdC1jb2xvcigkaW5mbywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJ3YXJuaW5nXCI6ICAgIHNoaWZ0LWNvbG9yKCR3YXJuaW5nLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImRhbmdlclwiOiAgICAgc2hpZnQtY29sb3IoJGRhbmdlciwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtbG9vcFxuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgICAkZm9jdXMtcmluZy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eTogJGZvY3VzLXJpbmctb3BhY2l0eSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgICAgJGZvY3VzLXJpbmctY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJsdXI6ICAgICAgICAgICRmb2N1cy1yaW5nLWJsdXIgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWJ0bi12YXJpYWJsZXNcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFibGVzXG4kYnRuLWNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstaG92ZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZm9jdXMtc2hhZG93LXJnYjogICB0by1yZ2IobWl4KGNvbG9yLWNvbnRyYXN0KCRsaW5rLWNvbG9yKSwgJGxpbmstY29sb3IsIDE1JSkpICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQ6ICAgICAgIDE1JSAhZGVmYXVsdDtcbiRidG4taG92ZXItYmctdGludC1hbW91bnQ6ICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQ6ICAgIDEwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudDogICAgICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudDogICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudDogIDI1JSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudDogICAxMCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYWJsZXNcblxuXG4vLyBGb3Jtc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1sYWJlbC12YXJpYWJsZXNcbiRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1pbnB1dC12YXJpYWJsZXNcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA1MCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIDIpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLWNvbG9yLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1jaGVjay12YXJpYWJsZXNcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAgICAgICAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDogICAgICAgICAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjogICAgICAgICAgYnJpZ2h0bmVzcyg5MCUpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyOiAgICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J202IDEwIDMgMyA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPScyJyBmaWxsPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGg4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWJ0bi1jaGVjay1kaXNhYmxlZC1vcGFjaXR5OiAgICAkYnRuLWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kOiAgICAxcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG4kZm9ybS1zd2l0Y2gtY29sb3I6ICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgMmVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYmctaW1hZ2U6ICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXM6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC10cmFuc2l0aW9uOiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcjogICAgICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2U6ICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb246IHJpZ2h0IGNlbnRlciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1ncm91cC12YXJpYWJsZXNcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgICAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMyAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyBmb3IgYmFja2dyb3VuZC1pbWFnZVxuJGZvcm0tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctcG9zaXRpb246ICAgICAgICAgICByaWdodCAkZm9ybS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgIDE2cHggMTJweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKiAyLjUgKyAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgY2VudGVyIHJpZ2h0ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tcmFuZ2UtdmFyaWFibGVzXG4kZm9ybS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkZm9ybS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gRWRnZVxuJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDcwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1maWxlLXZhcmlhYmxlc1xuJGZvcm0tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZpbGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuJGZvcm0tZmxvYXRpbmctaGVpZ2h0OiAgICAgICAgICAgICAgICAgIGFkZCgzLjVyZW0sICRpbnB1dC1oZWlnaHQtYm9yZGVyKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDogICAgICAgICAxLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjogICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0OiAgICAgICAgICAgIDEuNWVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eTogICAgICAgICAgIC42NSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTogICAgICAgICBzY2FsZSguODUpIHRyYW5zbGF0ZVkoLS41cmVtKSB0cmFuc2xhdGVYKC4xNXJlbSkgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbjogICAgICAgICAgICAgIG9wYWNpdHkgLjFzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjFzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU6ICAgICAgICAgICRmb3JtLXRleHQtZm9udC1zdHlsZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgICRzdWNjZXNzICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgJGRhbmdlciAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfSc+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mZWVkYmFjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1jb2xvcnNcbiRmb3JtLXZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLWNvbG9yc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IChcbiAgXCJ2YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvciksXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQsXG4gICAgXCJ0b29sdGlwLWNvbG9yXCI6ICNmZmYsXG4gICAgXCJ0b29sdGlwLWJnLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1zdWNjZXNzKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9c3VjY2Vzcy1yZ2IpLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvciksXG4gICksXG4gIFwiaW52YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yKSxcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLFxuICAgIFwidG9vbHRpcC1jb2xvclwiOiAjZmZmLFxuICAgIFwidG9vbHRpcC1iZy1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyLXJnYiksICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICAgXCJib3JkZXItY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpLFxuICApXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHppbmRleC1zdGFja1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3A6ICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzOiAgICAgICAgICAgICAgICAgIDEwNDUgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1NSAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDgwICFkZWZhdWx0O1xuJHppbmRleC10b2FzdDogICAgICAgICAgICAgICAgICAgICAgMTA5MCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LXN0YWNrXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtbGV2ZWxzLW1hcFxuJHppbmRleC1sZXZlbHM6IChcbiAgbjE6IC0xLFxuICAwOiAwLFxuICAxOiAxLFxuICAyOiAyLFxuICAzOiAzXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB6aW5kZXgtbGV2ZWxzLW1hcFxuXG5cbi8vIE5hdnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi12YXJpYWJsZXNcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXVuZGVybGluZS1nYXA6ICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdi12YXJpYWJsZXNcblxuXG4vLyBOYXZiYXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci12YXJpYWJsZXNcbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAgICAgICAgJGJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAgICAgICAgIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjY1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIDEpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1pY29uLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuMTUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaWNvbi1jb2xvcjogICAgICAgICAgICAkbmF2YmFyLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLXZhcmlhYmxlc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIGNhbGMoI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c30gLSAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuJGRyb3Bkb3duLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1kaXZpZGVyLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm94LXNoYWRvdzogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstY29sb3I6ICAgICAgICAgICRkcm9wZG93bi1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZzogICAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcjogICAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZzogICAgICAkZHJvcGRvd24tbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3I6ICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG5cblxuLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi12YXJpYWJsZXNcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgIGNhbGMoI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9ICogLTEpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDsgLy8gVG9kbyBpbiB2NjogcmVtb3ZlIHRoaXM/XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tdmFyaWFibGVzXG5cblxuLy8gUGxhY2Vob2xkZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwbGFjZWhvbGRlcnNcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluOiAgICAgICAgICAgLjIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBsYWNlaG9sZGVyc1xuXG4vLyBDYXJkc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC12YXJpYWJsZXNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAqIC41ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmQtdmFyaWFibGVzXG5cbi8vIEFjY29yZGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuJGFjY29yZGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgc3VidHJhY3QoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteTogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiwgYm9yZGVyLXJhZGl1cyAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktdGV4dC1lbXBoYXNpcykgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjNcbi8vIGZ1c3YtZW5hYmxlXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICRwcmltYXJ5LXRleHQtZW1waGFzaXMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMiA1TDggMTFMMTQgNScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMiA1TDggMTFMMTQgNScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuXG4vLyBUb29sdGlwc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC12YXJpYWJsZXNcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBUT0RPOiByZW1vdmUgdGhpcyBpbiB2NlxuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC12YXJpYWJsZXNcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG5cblxuLy8gUG9wb3ZlcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItdmFyaWFibGVzXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgY2FsYygjeyRwb3BvdmVyLWJvcmRlci1yYWRpdXN9IC0gI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG5cbi8vIFRvYXN0c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtdmFyaWFibGVzXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuJHRvYXN0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJHRvYXN0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtdmFyaWFibGVzXG5cblxuLy8gQmFkZ2VzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS12YXJpYWJsZXNcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC42NWVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBiYWRnZS12YXJpYWJsZXNcblxuXG4vLyBNb2RhbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLXZhcmlhYmxlc1xuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LXNtKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC1mb290ZXItYmc6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC12YXJpYWJsZXNcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LXZhcmlhYmxlc1xuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhbGVydC1kaXNtaXNzaWJsZS1wYWRkaW5nLXI6ICAgJGFsZXJ0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIDN4IGNvdmVycyB3aWR0aCBvZiB4IHBsdXMgZGVmYXVsdCBwYWRkaW5nIG9uIGVpdGhlciBzaWRlXG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbiRhbGVydC1iZy1zY2FsZTogICAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1ib3JkZXItc2NhbGU6ICAgICAgICAgICAgLTcwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1jb2xvci1zY2FsZTogICAgICAgICAgICAgNDAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgdG8gYmUgcmVtb3ZlZCBpbiB2NlxuLy8gZnVzdi1lbmFibGVcblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtdmFyaWFibGVzXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy12YXJpYWJsZXNcblxuXG4vLyBMaXN0IGdyb3VwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZTogICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbiRsaXN0LWdyb3VwLWl0ZW0tY29sb3Itc2NhbGU6ICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRodW1ibmFpbC12YXJpYWJsZXNcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRodW1ibmFpbC12YXJpYWJsZXNcblxuXG4vLyBGaWd1cmVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmaWd1cmUtdmFyaWFibGVzXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZpZ3VyZS12YXJpYWJsZXNcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi12YXJpYWJsZXNcbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkOiAgICAgICAgJGJyZWFkY3J1bWItZGl2aWRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItdmFyaWFibGVzXG5cbi8vIENhcm91c2VsXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbC12YXJpYWJsZXNcbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTogIDEgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMnJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTExLjM1NCAxLjY0NmEuNS41IDAgMCAxIDAgLjcwOEw1LjcwNyA4bDUuNjQ3IDUuNjQ2YS41LjUgMCAwIDEtLjcwOC43MDhsLTYtNmEuNS41IDAgMCAxIDAtLjcwOGw2LTZhLjUuNSAwIDAgMSAuNzA4IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTQuNjQ2IDEuNjQ2YS41LjUgMCAwIDEgLjcwOCAwbDYgNmEuNS41IDAgMCAxIDAgLjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOC0uNzA4TDEwLjI5MyA4IDQuNjQ2IDIuMzU0YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcbiRjYXJvdXNlbC1kYXJrLWluZGljYXRvci1hY3RpdmUtYmc6ICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtZGFyay1jYXB0aW9uLWNvbG9yOiAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY29udHJvbC1pY29uLWZpbHRlcjogIGludmVydCgxKSBncmF5c2NhbGUoMTAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcblxuXG4vLyBTcGlubmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci12YXJpYWJsZXNcbiRzcGlubmVyLXdpZHRoOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogIC0uMTI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAgIC4yNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAuNzVzICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLXZhcmlhYmxlc1xuXG5cbi8vIENsb3NlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjbG9zZS12YXJpYWJsZXNcbiRidG4tY2xvc2Utd2lkdGg6ICAgICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1oZWlnaHQ6ICAgICAgICAgICAkYnRuLWNsb3NlLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1wYWRkaW5nLXg6ICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy15OiAgICAgICAgJGJ0bi1jbG9zZS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWNvbG9yOiAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRidG4tY2xvc2UtYmc6ICAgICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGJ0bi1jbG9zZS1jb2xvcn0nPjxwYXRoIGQ9J00uMjkzLjI5M2ExIDEgMCAwIDEgMS40MTQgMEw4IDYuNTg2IDE0LjI5My4yOTNhMSAxIDAgMSAxIDEuNDE0IDEuNDE0TDkuNDE0IDhsNi4yOTMgNi4yOTNhMSAxIDAgMCAxLTEuNDE0IDEuNDE0TDggOS40MTRsLTYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNC0xLjQxNEw2LjU4NiA4IC4yOTMgMS43MDdhMSAxIDAgMCAxIDAtMS40MTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtdmFyaWFibGVzXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgcmVtb3ZpbmcgaW4gdjZcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuQGltcG9ydCBcInZhcmlhYmxlcy1kYXJrXCI7IC8vIFRPRE86IGNhbiBiZSByZW1vdmVkIHNhZmVseSBpbiB2Niwgb25seSBoZXJlIHRvIGF2b2lkIGJyZWFraW5nIGNoYW5nZXMgaW4gdjUuM1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLW1peGluc1xuIiwiLy9cbi8vIEhlYWRpbmdzXG4vL1xuLmgxIHtcbiAgQGV4dGVuZCBoMTtcbn1cblxuLmgyIHtcbiAgQGV4dGVuZCBoMjtcbn1cblxuLmgzIHtcbiAgQGV4dGVuZCBoMztcbn1cblxuLmg0IHtcbiAgQGV4dGVuZCBoNDtcbn1cblxuLmg1IHtcbiAgQGV4dGVuZCBoNTtcbn1cblxuLmg2IHtcbiAgQGV4dGVuZCBoNjtcbn1cblxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG5AZWFjaCAkZGlzcGxheSwgJGZvbnQtc2l6ZSBpbiAkZGlzcGxheS1mb250LXNpemVzIHtcbiAgLmRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgICBmb250LWZhbWlseTogJGRpc3BsYXktZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGRpc3BsYXktZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGRpc3BsYXktZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xuICB9XG59XG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cbi5zbWFsbCB7XG4gIEBleHRlbmQgc21hbGw7XG59XG5cbi5tYXJrIHtcbiAgQGV4dGVuZCBtYXJrO1xufVxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbml0aWFsaXNtLWZvbnQtc2l6ZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRibG9ja3F1b3RlLW1hcmdpbi15O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IC0kYmxvY2txdW90ZS1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGJsb2NrcXVvdGUtbWFyZ2luLXk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIC41O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtY29udGFpbmVyLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIsXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZW5kIGVhY2ggYnJlYWtwb2ludCB3aGljaCBpcyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGV4dGVuZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmdcbiAgICAgICAgICBAaWYgKCRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29udGFpbmVyIG1peGluc1xuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGNvbnRhaW5lci1wYWRkaW5nLXgpIHtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JGd1dHRlcn07XG4gIC0tI3skcHJlZml4fWd1dHRlci15OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG46cm9vdCB7XG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgIC0tI3skcHJlZml4fWJyZWFrcG9pbnQtI3skbmFtZX06ICN7JHZhbHVlfTtcbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuXG4gICAgPiAqIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sLXJlYWR5KCk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWNzc2dyaWQge1xuICAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS0jeyRwcmVmaXh9cm93cywgMSksIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tI3skcHJlZml4fWNvbHVtbnMsICN7JGdyaWQtY29sdW1uc30pLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tI3skcHJlZml4fWdhcCwgI3skZ3JpZC1ndXR0ZXItd2lkdGh9KTtcblxuICAgIEBpbmNsdWRlIG1ha2UtY3NzZ3JpZCgpO1xuICB9XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvLyBUT0RPOiBSZXZpc2l0IGNhbGMgb3JkZXIgYWZ0ZXIgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LWJvb3RzdHJhcC9yZWFjdC1ib290c3RyYXAvaXNzdWVzLzYwMzkgaXMgZml4ZWRcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWd1dHRlci14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XG4gIC8vIEFkZCBib3ggc2l6aW5nIGlmIG9ubHkgdGhlIGdyaWQgaXMgbG9hZGVkXG4gIGJveC1zaXppbmc6IGlmKHZhcmlhYmxlLWV4aXN0cyhpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nKSBhbmQgJGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcsIGJvcmRlci1ib3gsIG51bGwpO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2Ugc2V0IHRoZSB3aWR0aFxuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQcmV2ZW50IGAuY29sLWF1dG9gLCBgLmNvbGAgKCYgcmVzcG9uc2l2ZSB2YXJpYW50cykgZnJvbSBicmVha2luZyBvdXQgdGhlIGdyaWRcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fWd1dHRlci15KTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplOiBmYWxzZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmICRzaXplIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG5cbiAgfSBAZWxzZSB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06IGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlciBvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRjb3VudCkpO1xuICB9XG59XG5cbi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4OiAxIDAgMCU7IC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgfVxuXG4gICAgICAucm93LWNvbHMjeyRpbmZpeH0tYXV0byA+ICoge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIC8vXG4gICAgICAvLyBNYWtlIHVzZSBvZiBgLmctKmAsIGAuZ3gtKmAgb3IgYC5neS0qYCB1dGlsaXRpZXMgdG8gY2hhbmdlIHNwYWNpbmcgYmV0d2VlbiB0aGUgY29sdW1ucy5cbiAgICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZ3V0dGVycyB7XG4gICAgICAgIC5nI3skaW5maXh9LSN7JGtleX0sXG4gICAgICAgIC5neCN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skdmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd5I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci15OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY3NzZ3JpZCgkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuZy1jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuICRpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN0YXJ0IHdpdGggYDFgIGJlY2F1c2UgYDBgIGlzIGFuIGludmFsaWQgdmFsdWUuXG4gICAgICAgIC8vIEVuZHMgd2l0aCBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGUuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIC5nLXN0YXJ0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIC8vIFJlc2V0IG5lZWRlZCBmb3IgbmVzdGluZyB0YWJsZXNcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlOiBpbml0aWFsO1xuICAvLyBFbmQgb2YgcmVzZXRcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JHRhYmxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmc6ICN7JHRhYmxlLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmc6ICN7JHRhYmxlLWFjY2VudC1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7JHRhYmxlLXN0cmlwZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnOiAjeyR0YWJsZS1zdHJpcGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yOiAjeyR0YWJsZS1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmc6ICN7JHRhYmxlLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yOiAjeyR0YWJsZS1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyR0YWJsZS1ob3Zlci1iZ307XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIHZlcnRpY2FsLWFsaWduOiAkdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcblxuICAvLyBUYXJnZXQgdGggJiB0ZFxuICAvLyBXZSBuZWVkIHRoZSBjaGlsZCBjb21iaW5hdG9yIHRvIHByZXZlbnQgc3R5bGVzIGxlYWtpbmcgdG8gbmVzdGVkIHRhYmxlcyB3aGljaCBkb2Vzbid0IGhhdmUgYSBgLnRhYmxlYCBjbGFzcy5cbiAgLy8gV2UgdXNlIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3JzIGhlcmUgdG8gc2ltcGxpZnkgdGhlIHNlbGVjdG9yIChlbHNlIHdlIHdvdWxkIG5lZWQgNiBkaWZmZXJlbnQgc2VsZWN0b3JzKS5cbiAgLy8gQW5vdGhlciBhZHZhbnRhZ2UgaXMgdGhhdCB0aGlzIGdlbmVyYXRlcyBsZXNzIGNvZGUgYW5kIG1ha2VzIHRoZSBzZWxlY3RvciBsZXNzIHNwZWNpZmljIG1ha2luZyBpdCBlYXNpZXIgdG8gb3ZlcnJpZGUuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXkgJHRhYmxlLWNlbGwtcGFkZGluZy14O1xuICAgIC8vIEZvbGxvd2luZyB0aGUgcHJlY2VwdCBvZiBjYXNjYWRlczogaHR0cHM6Ly9jb2RlcGVuLmlvL21pcmlhbXN1emFubmUvZnVsbC92WU5nb2RiXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcikpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmcpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgOTk5OXB4IHZhcigtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmcpKSk7XG4gIH1cblxuICA+IHRib2R5IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgfVxuXG4gID4gdGhlYWQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbn1cblxuLnRhYmxlLWdyb3VwLWRpdmlkZXIge1xuICBib3JkZXItdG9wOiBjYWxjKCN7JHRhYmxlLWJvcmRlci13aWR0aH0gKiAyKSBzb2xpZCAkdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG4vL1xuLy8gQ2hhbmdlIHBsYWNlbWVudCBvZiBjYXB0aW9ucyB3aXRoIGEgY2xhc3Ncbi8vXG5cbi5jYXB0aW9uLXRvcCB7XG4gIGNhcHRpb24tc2lkZTogdG9wO1xufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtICR0YWJsZS1jZWxsLXBhZGRpbmcteC1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG4vL1xuLy8gV2hlbiBib3JkZXJzIGFyZSBhZGRlZCBvbiBhbGwgc2lkZXMgb2YgdGhlIGNlbGxzLCB0aGUgY29ybmVycyBjYW4gcmVuZGVyIG9kZCB3aGVuXG4vLyB0aGVzZSBib3JkZXJzIGRvIG5vdCBoYXZlIHRoZSBzYW1lIGNvbG9yIG9yIGlmIHRoZXkgYXJlIHNlbWktdHJhbnNwYXJlbnQuXG4vLyBUaGVyZWZvcmUgd2UgYWRkIHRvcCBhbmQgYm9yZGVyIGJvdHRvbXMgdG8gdGhlIGB0cmBzIGFuZCBsZWZ0IGFuZCByaWdodCBib3JkZXJzXG4vLyB0byB0aGUgYHRkYHMgb3IgYHRoYHNcblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgPiA6bm90KGNhcHRpb24pID4gKiB7XG4gICAgYm9yZGVyLXdpZHRoOiAkdGFibGUtYm9yZGVyLXdpZHRoIDA7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICAgID4gKiB7XG4gICAgICBib3JkZXItd2lkdGg6IDAgJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgfVxuXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLy8gRm9yIHJvd3Ncbi50YWJsZS1zdHJpcGVkIHtcbiAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSA+ICoge1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZy10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZyk7XG4gIH1cbn1cblxuLy8gRm9yIGNvbHVtbnNcbi50YWJsZS1zdHJpcGVkLWNvbHVtbnMge1xuICA+IDpub3QoY2FwdGlvbikgPiB0ciA+IDpudGgtY2hpbGQoI3skdGFibGUtc3RyaXBlZC1jb2x1bW5zLW9yZGVyfSkge1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZy10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZyk7XG4gIH1cbn1cblxuLy8gQWN0aXZlIHRhYmxlXG4vL1xuLy8gVGhlIGAudGFibGUtYWN0aXZlYCBjbGFzcyBjYW4gYmUgYWRkZWQgdG8gaGlnaGxpZ2h0IHJvd3Mgb3IgY2VsbHNcblxuLnRhYmxlLWFjdGl2ZSB7XG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXN0YXRlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmcpO1xufVxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gID4gdGJvZHkgPiB0cjpob3ZlciA+ICoge1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXN0YXRlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItYmcpO1xuICB9XG59XG5cblxuLy8gVGFibGUgdmFyaWFudHNcbi8vXG4vLyBUYWJsZSB2YXJpYW50cyBzZXQgdGhlIHRhYmxlIGNlbGwgYmFja2dyb3VuZHMsIGJvcmRlciBjb2xvcnNcbi8vIGFuZCB0aGUgY29sb3JzIG9mIHRoZSBzdHJpcGVkLCBob3ZlcmVkICYgYWN0aXZlIHRhYmxlc1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGFibGUtdmFyaWFudHMge1xuICBAaW5jbHVkZSB0YWJsZS12YXJpYW50KCRjb2xvciwgJHZhbHVlKTtcbn1cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cbi8vIHNpemUgb2Ygd2hlcmUgeW91ciB0YWJsZSB3aWxsIG92ZXJmbG93LlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAudGFibGUtcmVzcG9uc2l2ZSN7JGluZml4fSB7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLXZhcmlhbnRcbkBtaXhpbiB0YWJsZS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJGNvbG9yOiBjb2xvci1jb250cmFzdChvcGFxdWUoJGJvZHktYmcsICRiYWNrZ3JvdW5kKSk7XG4gICAgJGhvdmVyLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtaG92ZXItYmctZmFjdG9yKSk7XG4gICAgJHN0cmlwZWQtYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikpO1xuICAgICRhY3RpdmUtYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSk7XG4gICAgJHRhYmxlLWJvcmRlci1jb2xvcjogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWJvcmRlci1mYWN0b3IpKTtcblxuICAgIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yOiAjeyRjb2xvcn07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmc6ICN7JGJhY2tncm91bmR9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogI3skdGFibGUtYm9yZGVyLWNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnOiAjeyRzdHJpcGVkLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRzdHJpcGVkLWJnKX07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkYWN0aXZlLWJnKX07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItYmc6ICN7JGhvdmVyLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkaG92ZXItYmcpfTtcblxuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3IpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcik7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtdmFyaWFudFxuIiwiLy9cbi8vIExhYmVsc1xuLy9cblxuLmZvcm0tbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tbGFiZWwtZm9udC1zaXplKTtcbiAgZm9udC1zdHlsZTogJGZvcm0tbGFiZWwtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIChvciBsZWdlbmQpXG4vLyB0ZXh0IHRvIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBmb250LXN0eWxlOiAkZm9ybS1sYWJlbC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG59XG4iLCIvL1xuLy8gRm9ybSB0ZXh0XG4vL1xuXG4uZm9ybS10ZXh0IHtcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tdGV4dC1mb250LXNpemUpO1xuICBmb250LXN0eWxlOiAkZm9ybS10ZXh0LWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS10ZXh0LWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbn1cbiIsIi8vXG4vLyBHZW5lcmFsIGZvcm0gY29udHJvbHMgKHBsdXMgYSBmZXcgc3BlY2lmaWMgaGlnaC1sZXZlbCBpbnRlcnZlbnRpb25zKVxuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpeCBhcHBlYXJhbmNlIGZvciBkYXRlIGlucHV0cyBpbiBTYWZhcmlcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAmW3R5cGU9XCJmaWxlXCJdIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyBwcmV2ZW50IHBzZXVkbyBlbGVtZW50IGJ1dHRvbiBvdmVybGFwXG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZSB7XG4gICAgLy8gT24gQW5kcm9pZCBDaHJvbWUsIGZvcm0tY29udHJvbCdzIFwid2lkdGg6IDEwMCVcIiBtYWtlcyB0aGUgaW5wdXQgd2lkdGggdG9vIHNtYWxsXG4gICAgLy8gVGVzdGVkIHVuZGVyIEFuZHJvaWQgMTEgLyBDaHJvbWUgODksIEFuZHJvaWQgMTIgLyBDaHJvbWUgMTAwLCBBbmRyb2lkIDEzIC8gQ2hyb21lIDEwOVxuICAgIC8vXG4gICAgLy8gT24gaU9TIFNhZmFyaSwgZm9ybS1jb250cm9sJ3MgXCJhcHBlYXJhbmNlOiBub25lXCIgKyBcIndpZHRoOiAxMDAlXCIgbWFrZXMgdGhlIGlucHV0IHdpZHRoIHRvbyBzbWFsbFxuICAgIC8vIFRlc3RlZCB1bmRlciBpT1MgMTYuMiAvIFNhZmFyaSAxNi4yXG4gICAgbWluLXdpZHRoOiA4NXB4OyAvLyBTZWVtcyB0byBiZSBhIGdvb2QgbWluaW11bSBzYWZlIHdpZHRoXG5cbiAgICAvLyBBZGQgc29tZSBoZWlnaHQgdG8gZGF0ZSBpbnB1dHMgb24gaU9TXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yMzMwN1xuICAgIC8vIFRPRE86IHdlIGNhbiByZW1vdmUgdGhpcyB3b3JrYXJvdW5kIG9uY2UgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODk1OSBpcyByZXNvbHZlZFxuICAgIC8vIE11bHRpcGx5IGxpbmUtaGVpZ2h0IGJ5IDFlbSBpZiBpdCBoYXMgbm8gdW5pdFxuICAgIGhlaWdodDogaWYodW5pdCgkaW5wdXQtbGluZS1oZWlnaHQpID09IFwiXCIsICRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LWxpbmUtaGVpZ2h0KTtcblxuICAgIC8vIEFuZHJvaWQgQ2hyb21lIHR5cGU9XCJkYXRlXCIgaXMgdGFsbGVyIHRoYW4gdGhlIG90aGVyIGlucHV0c1xuICAgIC8vIGJlY2F1c2Ugb2YgXCJtYXJnaW46IDFweCAyNHB4IDFweCA0cHhcIiBpbnNpZGUgdGhlIHNoYWRvdyBET01cbiAgICAvLyBUZXN0ZWQgdW5kZXIgQW5kcm9pZCAxMSAvIENocm9tZSA4OSwgQW5kcm9pZCAxMiAvIENocm9tZSAxMDAsIEFuZHJvaWQgMTMgLyBDaHJvbWUgMTA5XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gUHJldmVudCBleGNlc3NpdmUgZGF0ZSBpbnB1dCBoZWlnaHQgaW4gV2Via2l0XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMzQ0MzNcbiAgJjo6LXdlYmtpdC1kYXRldGltZS1lZGl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBGaWxlIGlucHV0IGJ1dHRvbnMgdGhlbWluZ1xuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15KSAoLSRpbnB1dC1wYWRkaW5nLXgpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14O1xuICAgIGNvbG9yOiAkZm9ybS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSk6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1maWxlLWJ1dHRvbi1ob3Zlci1iZztcbiAgfVxufVxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteS1zbSkgKC0kaW5wdXQtcGFkZGluZy14LXNtKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgfVxufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xuXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXktbGcpICgtJGlucHV0LXBhZGRpbmcteC1sZyk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIH1cbn1cblxuLy8gTWFrZSBzdXJlIHRleHRhcmVhcyBkb24ndCBzaHJpbmsgdG9vIG11Y2ggd2hlbiByZXNpemVkXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yOTEyNFxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG50ZXh0YXJlYSB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20ge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgfVxufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLmZvcm0tY29udHJvbC1jb2xvciB7XG4gIHdpZHRoOiAkZm9ybS1jb2xvci13aWR0aDtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15O1xuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOjotbW96LWNvbG9yLXN3YXRjaCB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotd2Via2l0LWNvbG9yLXN3YXRjaCB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSB7IGhlaWdodDogJGlucHV0LWhlaWdodC1zbTsgfVxuICAmLmZvcm0tY29udHJvbC1sZyB7IGhlaWdodDogJGlucHV0LWhlaWdodC1sZzsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcmVkdWNlZC1tb3Rpb24gYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LWJnLW1peGluXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yOiBudWxsKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtYmctbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LW1peGluc1xuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IG51bGwsICRlbmQtcGVyY2VudDogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBncmFkaWVudC1taXhpbnNcbiIsIi8vIFNlbGVjdFxuLy9cbi8vIFJlcGxhY2VzIHRoZSBicm93c2VyIGRlZmF1bHQgc2VsZWN0IHdpdGggYSBjdXN0b20gb25lLCBtb3N0bHkgcHVsbGVkIGZyb21cbi8vIGh0dHBzOi8vcHJpbWVyLmdpdGh1Yi5pby8uXG5cbi5mb3JtLXNlbGVjdCB7XG4gIC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWltZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXNlbGVjdC1pbmRpY2F0b3IpfTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXkgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICRmb3JtLXNlbGVjdC1wYWRkaW5nLXkgJGZvcm0tc2VsZWN0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRmb3JtLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXNlbGVjdC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvcm0tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tc2VsZWN0LWNvbG9yO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtYmc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pbWcpLCB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaWNvbiwgbm9uZSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbjtcbiAgYmFja2dyb3VuZC1zaXplOiAkZm9ybS1zZWxlY3QtYmctc2l6ZTtcbiAgYm9yZGVyOiAkZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLXNlbGVjdC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMsIDApO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1zZWxlY3QtdHJhbnNpdGlvbik7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXNlbGVjdC1ib3gtc2hhZG93LCAkZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGZvcm0tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5mb3JtLXNlbGVjdC1zbSB7XG4gIHBhZGRpbmctdG9wOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1zZWxlY3QtbGcge1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXNlbGVjdC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWltZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItZGFyayl9O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENoZWNrL3JhZGlvXG4vL1xuXG4uZm9ybS1jaGVjayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9ybS1jaGVjay1taW4taGVpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b207XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stcmV2ZXJzZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmc6ICN7JGZvcm0tY2hlY2staW5wdXQtYmd9O1xuXG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogJGZvcm0tY2hlY2staW5wdXQtd2lkdGg7XG4gIGhlaWdodDogJGZvcm0tY2hlY2staW5wdXQtd2lkdGg7XG4gIG1hcmdpbi10b3A6ICgkbGluZS1oZWlnaHQtYmFzZSAtICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoKSAqIC41OyAvLyBsaW5lLWhlaWdodCBtaW51cyBjaGVjayBoZWlnaHRcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBib3JkZXI6ICRmb3JtLWNoZWNrLWlucHV0LWJvcmRlcjtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgLy8gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1jaGVjay10cmFuc2l0aW9uKTtcblxuICAmW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICZbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBmaWx0ZXI6ICRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJvcmRlcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAmOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjtcblxuICAgICZbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2UpfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlKX07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJlt0eXBlPVwiY2hlY2tib3hcIl06aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZSl9O1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGZpbHRlcjogbm9uZTtcbiAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5O1xuICB9XG5cbiAgLy8gVXNlIGRpc2FibGVkIGF0dHJpYnV0ZSBpbiBhZGRpdGlvbiBvZiA6ZGlzYWJsZWQgcHNldWRvLWNsYXNzXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIGNvbG9yOiAkZm9ybS1jaGVjay1sYWJlbC1jb2xvcjtcbiAgY3Vyc29yOiAkZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I7XG59XG5cbi8vXG4vLyBTd2l0Y2hcbi8vXG5cbi5mb3JtLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWJnLWltYWdlKX07XG5cbiAgICB3aWR0aDogJGZvcm0tc3dpdGNoLXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydCAqIC0xO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zd2l0Y2gtYm9yZGVyLXJhZGl1cywgMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbik7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlKX07XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uO1xuXG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kO1xufVxuXG4uYnRuLWNoZWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgKyAuYnRuIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgZmlsdGVyOiBub25lO1xuICAgICAgb3BhY2l0eTogJGZvcm0tY2hlY2stYnRuLWNoZWNrLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dDpub3QoOmNoZWNrZWQpOm5vdCg6Zm9jdXMpIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWJnLWltYWdlLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJhbmdlXG4vL1xuLy8gU3R5bGUgcmFuZ2UgaW5wdXRzIHRoZSBzYW1lIGFjcm9zcyBicm93c2Vycy4gVmVuZG9yLXNwZWNpZmljIHJ1bGVzIGZvciBwc2V1ZG9cbi8vIGVsZW1lbnRzIGNhbm5vdCBiZSBtaXhlZC4gQXMgc3VjaCwgdGhlcmUgYXJlIG5vIHNoYXJlZCBzdHlsZXMgZm9yIGZvY3VzIG9yXG4vLyBhY3RpdmUgc3RhdGVzIG9uIHByZWZpeGVkIHNlbGVjdG9ycy5cblxuLmZvcm0tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhZGQoJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoICogMik7XG4gIHBhZGRpbmc6IDA7IC8vIE5lZWQgdG8gcmVzZXQgcGFkZGluZ1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuXG4gICAgLy8gUHNldWRvLWVsZW1lbnRzIG11c3QgYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIHJ1bGVzZXRzIHRvIGhhdmUgYW4gZWZmZWN0LlxuICAgIC8vIE5vIGJveC1zaGFkb3coKSBtaXhpbiBmb3IgZm9jdXMgYWNjZXNzaWJpbGl0eS5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGJveC1zaGFkb3c6ICRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbW96LXJhbmdlLXRodW1iICAgICB7IGJveC1zaGFkb3c6ICRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodCAtICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCkgKiAuNTsgLy8gV2Via2l0IHNwZWNpZmljXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbik7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyAvLyBXaHk/XG4gICAgY3Vyc29yOiAkZm9ybS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbik7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkZm9ybS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG4iLCIuZm9ybS1mbG9hdGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICBoZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWhlaWdodDtcbiAgICBtaW4taGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgPiBsYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiAxMDAlOyAvLyBhbGxvdyB0ZXh0YXJlYXNcbiAgICBwYWRkaW5nOiAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXkgJGZvcm0tZmxvYXRpbmctcGFkZGluZy14O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIFJlcXVpcmVkIGZvciBhbGlnbmluZyBsYWJlbCdzIHRleHQgd2l0aCB0aGUgaW5wdXQgYXMgaXQgYWZmZWN0cyBpbm5lciBib3ggbW9kZWxcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1mbG9hdGluZy10cmFuc2l0aW9uKTtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgcGFkZGluZzogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6bm90KDpwbGFjZWhvbGRlci1zaG93bikge1xuICAgICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI7XG4gICAgfVxuICAgIC8vIER1cGxpY2F0ZWQgYmVjYXVzZSBgOi13ZWJraXQtYXV0b2ZpbGxgIGludmFsaWRhdGVzIG90aGVyIHNlbGVjdG9ycyB3aGVuIGdyb3VwZWRcbiAgICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI7XG4gICAgfVxuICB9XG5cbiAgPiAuZm9ybS1zZWxlY3Qge1xuICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICBjb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2IpLCAjeyRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHl9KTtcbiAgICAgIHRyYW5zZm9ybTogJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAoJGZvcm0tZmxvYXRpbmctcGFkZGluZy14ICogLjUpO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1sYWJlbC1oZWlnaHQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIER1cGxpY2F0ZWQgYmVjYXVzZSBgOi13ZWJraXQtYXV0b2ZpbGxgIGludmFsaWRhdGVzIG90aGVyIHNlbGVjdG9ycyB3aGVuIGdyb3VwZWRcbiAgPiAuZm9ybS1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIH4gbGFiZWwge1xuICAgICAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiKSwgI3skZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5fSk7XG4gICAgICB0cmFuc2Zvcm06ICRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTtcbiAgICB9XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwOyAvLyBSZXF1aXJlZCB0byBwcm9wZXJseSBwb3NpdGlvbiBsYWJlbCB0ZXh0IC0gYXMgZXhwbGFpbmVkIGFib3ZlXG4gICAgfVxuICB9XG5cbiAgPiA6ZGlzYWJsZWQgfiBsYWJlbCxcbiAgPiAuZm9ybS1jb250cm9sOmRpc2FibGVkIH4gbGFiZWwgeyAvLyBSZXF1aXJlZCBmb3IgYC5mb3JtLWNvbnRyb2xgcyBiZWNhdXNlIG9mIHNwZWNpZmljaXR5XG4gICAgY29sb3I6ICRmb3JtLWZsb2F0aW5nLWxhYmVsLWRpc2FibGVkLWNvbG9yO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLXNlbGVjdCxcbiAgPiAuZm9ybS1mbG9hdGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDElO1xuICAgIG1pbi13aWR0aDogMDsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzYyNDcxNDAvd2h5LWRvbnQtZmxleC1pdGVtcy1zaHJpbmstcGFzdC1jb250ZW50LXNpemVcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgdG9wIG9mIHN1cnJvdW5kaW5nIGVsZW1lbnRzXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuZm9ybS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmZvcm0tZmxvYXRpbmc6Zm9jdXMtd2l0aGluIHtcbiAgICB6LWluZGV4OiA1O1xuICB9XG5cbiAgLy8gRW5zdXJlIGJ1dHRvbnMgYXJlIGFsd2F5cyBhYm92ZSBpbnB1dHMgZm9yIG1vcmUgdmlzdWFsbHkgcGxlYXNpbmcgYm9yZGVycy5cbiAgLy8gVGhpcyBpc24ndCBuZWVkZWQgZm9yIGAuaW5wdXQtZ3JvdXAtdGV4dGAgc2luY2UgaXQgc2hhcmVzIHRoZSBzYW1lIGJvcmRlci1jb2xvclxuICAvLyBhcyBvdXIgaW5wdXRzLlxuICAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogNTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUZXh0dWFsIGFkZG9uc1xuLy9cbi8vIFNlcnZlcyBhcyBhIGNhdGNoLWFsbCBlbGVtZW50IGZvciBhbnkgdGV4dCBvciByYWRpby9jaGVja2JveCBpbnB1dCB5b3Ugd2lzaFxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteSAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteCArICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBSb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uaW5wdXQtZ3JvdXAge1xuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTpub3QoLmRyb3Bkb3duLW1lbnUpOm5vdCguZm9ybS1mbG9hdGluZyksXG4gICAgPiAuZHJvcGRvd24tdG9nZ2xlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6bGFzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAmLmhhcy12YWxpZGF0aW9uIHtcbiAgICA+IDpudGgtbGFzdC1jaGlsZChuICsgMyk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDQpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tY29udHJvbCxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAkdmFsaWRhdGlvbi1tZXNzYWdlczogXCJcIjtcbiAgQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCRmb3JtLXZhbGlkYXRpb24tc3RhdGVzKSB7XG4gICAgJHZhbGlkYXRpb24tbWVzc2FnZXM6ICR2YWxpZGF0aW9uLW1lc3NhZ2VzICsgXCI6bm90KC5cIiArIHVucXVvdGUoJHN0YXRlKSArIFwiLXRvb2x0aXApXCIgKyBcIjpub3QoLlwiICsgdW5xdW90ZSgkc3RhdGUpICsgXCItZmVlZGJhY2spXCI7XG4gIH1cblxuICA+IDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLW1lbnUpI3skdmFsaWRhdGlvbi1tZXNzYWdlc30ge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCN7JGlucHV0LWJvcmRlci13aWR0aH0gKiAtMSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmaXJzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG59XG4iLCIvLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1taXhpbnNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKFxuICAkc3RhdGUsXG4gICRjb2xvcixcbiAgJGljb24sXG4gICR0b29sdGlwLWNvbG9yOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkdG9vbHRpcC1iZy1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSksXG4gICRmb2N1cy1ib3gtc2hhZG93OiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgJGJvcmRlci1jb2xvcjogJGNvbG9yXG4pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGZvbnQtc3R5bGU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmctY29sb3I7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICAmOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSxcbiAgICAgICAgJjpub3QoW211bHRpcGxlXSlbc2l6ZT1cIjFcIl0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWljb246ICN7ZXNjYXBlLXN2ZygkaWNvbil9O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbiwgJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb247XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkZm9ybS1zZWxlY3QtYmctc2l6ZSwgJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXNlbGVjdC1ib3gtc2hhZG93LCAkZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICB3aWR0aDogYWRkKCRmb3JtLWNvbG9yLXdpZHRoLCAkaW5wdXQtaGVpZ2h0LWlubmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIH1cblxuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtLWNoZWNrLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zm9jdXMpLFxuICAgID4gLmZvcm0tc2VsZWN0Om5vdCg6Zm9jdXMpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgICAgQGlmICRzdGF0ZSA9PSBcInZhbGlkXCIge1xuICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH0gQGVsc2UgaWYgJHN0YXRlID09IFwiaW52YWxpZFwiIHtcbiAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1taXhpbnNcbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBidG4tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteDogI3skYnRuLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXk6ICN7JGJ0bi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1idG4tZm9udC1mYW1pbHk6ICN7JGJ0bi1mb250LWZhbWlseX07XG4gIEBpbmNsdWRlIHJmcygkYnRuLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodDogI3skYnRuLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWxpbmUtaGVpZ2h0OiAjeyRidG4tbGluZS1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGJ0bi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItd2lkdGg6ICN7JGJ0bi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXM6ICN7JGJ0bi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93OiAjeyRidG4tYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAjeyRidG4tZGlzYWJsZWQtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAjeyRidG4tZm9jdXMtd2lkdGh9IHJnYmEodmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiKSwgLjUpO1xuICAvLyBzY3NzLWRvY3MtZW5kIGJ0bi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1idG4tcGFkZGluZy14KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLSN7JHByZWZpeH1idG4tZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1idG4tZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fWJ0bi1saW5lLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiAkYnRuLXdoaXRlLXNwYWNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IGlmKCRlbmFibGUtYnV0dG9uLXBvaW50ZXJzLCBwb2ludGVyLCBudWxsKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWJ0bi1iZykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdykpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLmJ0bi1jaGVjayArICY6aG92ZXIge1xuICAgIC8vIG92ZXJyaWRlIGZvciB0aGUgY2hlY2tib3gvcmFkaW8gYnV0dG9uc1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYmcpKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Zm9jdXMtdmlzaWJsZSArICYge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1jaGVjazpjaGVja2VkICsgJixcbiAgOm5vdCguYnRuLWNoZWNrKSArICY6YWN0aXZlLFxuICAmOmZpcnN0LWNoaWxkOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gICYuc2hvdyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZyk7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdykpO1xuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1jaGVjazpjaGVja2VkOmZvY3VzLXZpc2libGUgKyAmIHtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldDpkaXNhYmxlZCAmIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LWxvb3BzXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpZiAkY29sb3IgPT0gXCJsaWdodFwiIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJGhvdmVyLWJhY2tncm91bmQ6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkaG92ZXItYm9yZGVyOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJvcmRlcjogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KVxuICAgICAgKTtcbiAgICB9IEBlbHNlIGlmICRjb2xvciA9PSBcImRhcmtcIiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCksXG4gICAgICAgICRob3Zlci1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogdGludC1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpXG4gICAgICApO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYW50LWxvb3BzXG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodDogI3skZm9udC13ZWlnaHQtbm9ybWFsfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRidG4tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93OiAwIDAgMCAjMDAwOyAvLyBDYW4ndCB1c2UgYG5vbmVgIGFzIGtleXdvcmQgbmVnYXRlcyBhbGwgdmFsdWVzIHdoZW4gdXNlZCB3aXRoIG11bHRpcGxlIHNoYWRvd3NcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7JGJ0bi1saW5rLWZvY3VzLXNoYWRvdy1yZ2J9O1xuXG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi12YXJpYW50KFxuICAkYmFja2dyb3VuZCxcbiAgJGJvcmRlcixcbiAgJGNvbG9yOiBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCksXG4gICRob3Zlci1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50KSksXG4gICRob3Zlci1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWNvbG9yOiBjb2xvci1jb250cmFzdCgkaG92ZXItYmFja2dyb3VuZCksXG4gICRhY3RpdmUtYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSksXG4gICRhY3RpdmUtYm9yZGVyOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKSxcbiAgJGRpc2FibGVkLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLFxuICAkZGlzYWJsZWQtYm9yZGVyOiAkYm9yZGVyLFxuICAkZGlzYWJsZWQtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRkaXNhYmxlZC1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6ICN7JGJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRob3Zlci1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skaG92ZXItYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKG1peCgkY29sb3IsICRib3JkZXIsIDE1JSkpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiAjeyRkaXNhYmxlZC1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skZGlzYWJsZWQtYm9yZGVyfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KFxuICAkY29sb3IsXG4gICRjb2xvci1ob3ZlcjogY29sb3ItY29udHJhc3QoJGNvbG9yKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsXG4gICRhY3RpdmUtYm9yZGVyOiAkY29sb3IsXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZClcbikge1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGNvbG9yLWhvdmVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IoJGNvbG9yKX07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogI3skYnRuLWFjdGl2ZS1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Z3JhZGllbnQ6IG5vbmU7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1zaXplLW1peGluXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteTogI3skcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteDogI3skcGFkZGluZy14fTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUsIC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1zaXplLW1peGluXG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS1jbGFzc2VzXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xuXG4gICYuY29sbGFwc2UtaG9yaXpvbnRhbCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGgpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLWNsYXNzZXNcbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wZW5kLFxuLmRyb3Bkb3duLFxuLmRyb3BzdGFydCxcbi5kcm9wdXAtY2VudGVyLFxuLmRyb3Bkb3duLWNlbnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXppbmRleDogI3skemluZGV4LWRyb3Bkb3dufTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbWluLXdpZHRoOiAjeyRkcm9wZG93bi1taW4td2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteTogI3skZHJvcGRvd24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyOiAjeyRkcm9wZG93bi1zcGFjZXJ9O1xuICBAaW5jbHVkZSByZnMoJGRyb3Bkb3duLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3I6ICN7JGRyb3Bkb3duLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmc6ICN7JGRyb3Bkb3duLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZzogI3skZHJvcGRvd24tZGl2aWRlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICN7JGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiAjeyRkcm9wZG93bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcjogI3skZHJvcGRvd24tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjeyRkcm9wZG93bi1saW5rLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogI3skZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcjogI3skZHJvcGRvd24taGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogI3skZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24temluZGV4KTtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgbWluLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbWluLXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteCk7XG4gIG1hcmdpbjogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBtYXJnaW4gb2YgdWxcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93KSk7XG5cbiAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgPiAuZHJvcGRvd24taXRlbTpmaXJzdC1jaGlsZCxcbiAgICA+IGxpOmZpcnN0LWNoaWxkIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICAgID4gLmRyb3Bkb3duLWl0ZW06bGFzdC1jaGlsZCxcbiAgICA+IGxpOmxhc3QtY2hpbGQgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG5cbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcmVzcG9uc2l2ZS1icmVha3BvaW50c1xuLy8gV2UgZGVsaWJlcmF0ZWx5IGhhcmRjb2RlIHRoZSBgYnMtYCBwcmVmaXggYmVjYXVzZSB3ZSBjaGVja1xuLy8gdGhpcyBjdXN0b20gcHJvcGVydHkgaW4gSlMgdG8gZGV0ZXJtaW5lIFBvcHBlcidzIHBvc2l0aW9uaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXN0YXJ0IHtcbiAgICAgIC0tYnMtcG9zaXRpb246IHN0YXJ0O1xuXG4gICAgICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWVuZCB7XG4gICAgICAtLWJzLXBvc2l0aW9uOiBlbmQ7XG5cbiAgICAgICZbZGF0YS1icy1wb3BwZXJdIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHJlc3BvbnNpdmUtYnJlYWtwb2ludHNcblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3BlbmQge1xuICAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQoZW5kKTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BzdGFydCB7XG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQoc3RhcnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXkpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZyk7XG4gIG9wYWNpdHk6IDE7IC8vIFJldmlzaXQgaW4gdjYgdG8gZGUtZHVwZSBzdHlsZXMgdGhhdCBjb25mbGljdCB3aXRoIDxocj4gZWxlbWVudFxufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXgpO1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tYm9yZGVyLXJhZGl1cywgMCkpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItYmcpKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZykpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcik7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcik7XG59XG5cbi8vIERhcmsgZHJvcGRvd25zXG4uZHJvcGRvd24tbWVudS1kYXJrIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWRhcmstY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1iZzogI3skZHJvcGRvd24tZGFyay1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiAjeyRkcm9wZG93bi1kYXJrLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnOiAjeyRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWhlYWRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tZGFyay1jc3MtdmFyc1xufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LW1peGluc1xuQG1peGluIGNhcmV0LWRvd24oJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1lbmQoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LXN0YXJ0KCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KFxuICAkZGlyZWN0aW9uOiBkb3duLFxuICAkd2lkdGg6ICRjYXJldC13aWR0aCxcbiAgJHNwYWNpbmc6ICRjYXJldC1zcGFjaW5nLFxuICAkdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnblxuKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCR3aWR0aCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgkd2lkdGgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGVuZCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWVuZCgkd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHN0YXJ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1zdGFydCgkd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC1taXhpbnNcbiIsIi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGhvdmVyLCBmb2N1c2VkLCBhbmQgXCJhY3RpdmVcIiBidXR0b25zIHRvIHRoZSBmcm9udCB0byBvdmVybGF5XG4gIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gID4gLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bixcbiAgPiAuYnRuLWNoZWNrOmZvY3VzICsgLmJ0bixcbiAgPiAuYnRuOmhvdmVyLFxuICA+IC5idG46Zm9jdXMsXG4gID4gLmJ0bjphY3RpdmUsXG4gID4gLmJ0bi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnRuLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiA6bm90KC5idG4tY2hlY2s6Zmlyc3QtY2hpbGQpICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygjeyRidG4tYm9yZGVyLXdpZHRofSAqIC0xKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6Zmlyc3QtY2hpbGQsXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG4gIH1cblxuICAvLyBUaGUgbGVmdCByYWRpdXMgc2hvdWxkIGJlIDAgaWYgdGhlIGJ1dHRvbiBpczpcbiAgLy8gLSB0aGUgXCJ0aGlyZCBvciBtb3JlXCIgY2hpbGRcbiAgLy8gLSB0aGUgc2Vjb25kIGNoaWxkIGFuZCB0aGUgcHJldmlvdXMgZWxlbWVudCBpc24ndCBgLmJ0bi1jaGVja2AgKG1ha2luZyBpdCB0aGUgZmlyc3QgY2hpbGQgdmlzdWFsbHkpXG4gIC8vIC0gcGFydCBvZiBhIGJ0bi1ncm91cCB3aGljaCBpc24ndCB0aGUgZmlyc3QgY2hpbGRcbiAgPiAuYnRuOm50aC1jaGlsZChuICsgMyksXG4gID4gOm5vdCguYnRuLWNoZWNrKSArIC5idG4sXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wZW5kICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wc3RhcnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygjeyRidG4tYm9yZGVyLXdpZHRofSAqIC0xKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG4gfiAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzLCBgPHVsPmBzIG9yIGA8b2w+YHMuXG5cbi5uYXYge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteDogI3skbmF2LWxpbmstcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15OiAjeyRuYXYtbGluay1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJG5hdi1saW5rLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQ6ICN7JG5hdi1saW5rLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3I6ICN7JG5hdi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3I6ICN7JG5hdi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JG5hdi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRuYXYtbGluay10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkbmF2LWxpbmstZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXRhYnMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAjeyRuYXYtdGFicy1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICN7JG5hdi10YWJzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXRhYnMtY3NzLXZhcnNcblxuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLWNvbG9yKTtcblxuICAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIFByZXZlbnRzIGFjdGl2ZSAubmF2LWxpbmsgdGFiIG92ZXJsYXBwaW5nIGZvY3VzIG91dGxpbmUgb2YgcHJldmlvdXMvbmV4dCAubmF2LWxpbmtcbiAgICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gUGlsbHNcbi8vXG5cbi5uYXYtcGlsbHMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXBpbGxzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAjeyRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAjeyRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmd9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi1waWxscy1jc3MtdmFyc1xuXG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpKTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZykpO1xuICB9XG59XG5cblxuLy9cbi8vIFVuZGVybGluZVxuLy9cblxuLm5hdi11bmRlcmxpbmUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXVuZGVybGluZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWdhcDogI3skbmF2LXVuZGVybGluZS1nYXB9O1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aDogI3skbmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdW5kZXJsaW5lLWNzcy12YXJzXG5cbiAgZ2FwOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1nYXApO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWZpbGwsXG4ubmF2LWp1c3RpZmllZCB7XG4gIC5uYXYtaXRlbSAubmF2LWxpbmsge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBNYWtlIHN1cmUgYnV0dG9uIHdpbGwgZ3Jvd1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXg6ICN7aWYoJG5hdmJhci1wYWRkaW5nLXggPT0gbnVsbCwgMCwgJG5hdmJhci1wYWRkaW5nLXgpfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteTogI3skbmF2YmFyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3I6ICN7JG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3I6ICN7JG5hdmJhci1saWdodC1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15OiAjeyRuYXZiYXItYnJhbmQtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICN7JG5hdmJhci1icmFuZC1tYXJnaW4tZW5kfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogI3skbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAjeyRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAjeyRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICN7JG5hdmJhci10b2dnbGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogI3skbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogI3skbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAjeyRuYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXRyYW5zaXRpb246ICN7JG5hdmJhci10b2dnbGVyLXRyYW5zaXRpb259O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XG4gIC8vIGZldyBwcm9wZXJ0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgLy8gVGhlIGBmbGV4LXdyYXBgIHByb3BlcnR5IGlzIGluaGVyaXRlZCB0byBzaW1wbGlmeSB0aGUgZXhwYW5kZWQgbmF2YmFyc1xuICAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IGluaGVyaXQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICA+IC5jb250YWluZXIsXG4gID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteSk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1tYXJnaW4tZW5kKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLW5hdi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXg6IDA7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteTogI3skbmF2LWxpbmstcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRuYXYtbGluay1mb250LXNpemUsIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0OiAjeyRuYXYtbGluay1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcik7XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLW5hdi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICAmLmFjdGl2ZSxcbiAgICAmLnNob3cge1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG5cbiAgYSxcbiAgYTpob3ZlcixcbiAgYTpmb2N1cyAge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVudGF0aW9uLiBSZXF1aXJlcyB0aGUgdXNlIG9mIGBmbGV4LXdyYXA6IHdyYXBgXG4vLyBvbiB0aGUgYC5uYXZiYXJgIHBhcmVudC5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIC8vIEZvciBhbHdheXMgZXhwYW5kZWQgb3IgZXh0cmEgZnVsbCBuYXZiYXJzLCBlbnN1cmUgY29udGVudCBhbGlnbnMgaXRzZWxmXG4gIC8vIHByb3Blcmx5IHZlcnRpY2FsbHkuIENhbiBiZSBlYXNpbHkgb3ZlcnJpZGRlbiB3aXRoIGZsZXggdXRpbGl0aWVzLlxuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb250LXNpemUpKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3IpOyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uKSk7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoKTtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG5cbi5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1zY3JvbGwtaGVpZ2h0LCA3NXZoKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1leHBhbmQtbG9vcFxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3Mvc2VsZWN0b3Itbm8tdW5pb24tY2xhc3MtbmFtZVxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAub2ZmY2FudmFzIHtcbiAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG5vbmUpO1xuICAgICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5vZmZjYW52YXMtYm9keSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1leHBhbmQtbG9vcFxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4ubmF2YmFyLWxpZ2h0IHtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYC5uYXZiYXItbGlnaHRgXCIsIFwidjUuMi4wXCIsIFwidjYuMC4wXCIsIHRydWUpO1xufVxuXG4ubmF2YmFyLWRhcmssXG4ubmF2YmFyW2RhdGEtYnMtdGhlbWU9XCJkYXJrXCJdIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1kYXJrLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdmJhci1jb2xvcjogI3skbmF2YmFyLWRhcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWRpc2FibGVkLWNvbG9yOiAjeyRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3I6ICN7JG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcjogI3skbmF2YmFyLWRhcmstYnJhbmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAjeyRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmc6ICN7ZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWRhcmstY3NzLXZhcnNcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgICAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpfTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci15OiAjeyRjYXJkLXNwYWNlci15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteDogI3skY2FyZC1zcGFjZXIteH07XG4gIC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXk6ICN7JGNhcmQtdGl0bGUtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLXRpdGxlLWNvbG9yOiAjeyRjYXJkLXRpdGxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zdWJ0aXRsZS1jb2xvcjogI3skY2FyZC1zdWJ0aXRsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoOiAjeyRjYXJkLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yOiAjeyRjYXJkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXJhZGl1czogI3skY2FyZC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3gtc2hhZG93OiAjeyRjYXJkLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteTogI3skY2FyZC1jYXAtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1iZzogI3skY2FyZC1jYXAtYmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcjogI3skY2FyZC1jYXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWhlaWdodDogI3skY2FyZC1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNvbG9yOiAjeyRjYXJkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1iZzogI3skY2FyZC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogI3skY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ncm91cC1tYXJnaW46ICN7JGNhcmQtZ3JvdXAtbWFyZ2lufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBjYXJkLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3cpKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwIHtcbiAgICBib3JkZXItdG9wOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jb2xvcik7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLXN1YnRpdGxlLWNvbG9yKTtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXgpO1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1iZyk7XG4gIGJvcmRlci10b3A6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgfVxufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWltZy1vdmVybGF5LXBhZGRpbmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWltZy1ib3R0b20ge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1jYXJkLWdyb3VwLW1hcmdpbik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFjY29yZGlvbiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhY2NvcmRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWNvbG9yOiAjeyRhY2NvcmRpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYmc6ICN7JGFjY29yZGlvbi1iZ307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi10cmFuc2l0aW9uOiAjeyRhY2NvcmRpb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3I6ICN7JGFjY29yZGlvbi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAjeyRhY2NvcmRpb24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXg6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXk6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYmd9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1pY29uKX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aDogI3skYWNjb3JkaW9uLWljb24td2lkdGh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtOiAjeyRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm19O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbjogI3skYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbil9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJveC1zaGFkb3c6ICN7JGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogI3skYWNjb3JkaW9uLWJvZHktcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAjeyRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBhY2NvcmRpb24tY3NzLXZhcnNcbn1cblxuLmFjY29yZGlvbi1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBSZXNldCBidXR0b24gc3R5bGVcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmcpO1xuICBib3JkZXI6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLXRyYW5zaXRpb24pKTtcblxuICAmOm5vdCguY29sbGFwc2VkKSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1iZyk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGgpKSAwIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uKTtcbiAgICAgIHRyYW5zZm9ybTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjY29yZGlvbiBpY29uXG4gICY6OmFmdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24pO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbikpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgfVxufVxuXG4uYWNjb3JkaW9uLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hY2NvcmRpb24taXRlbSB7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgPiAuYWNjb3JkaW9uLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICAvLyBPbmx5IHNldCBhIGJvcmRlci1yYWRpdXMgb24gdGhlIGxhc3QgaXRlbSBpZiB0aGUgYWNjb3JkaW9uIGlzIGNvbGxhcHNlZFxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICA+IC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxufVxuXG4uYWNjb3JkaW9uLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy14KTtcbn1cblxuXG4vLyBGbHVzaCBhY2NvcmRpb24gaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGFjY29yZGlvbiBpdGVtcyBlZGdlLXRvLWVkZ2UuXG5cbi5hY2NvcmRpb24tZmx1c2gge1xuICA+IC5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHsgYm9yZGVyLXRvcDogMDsgfVxuICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDA7IH1cblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC1jbGFzc1xuICAgID4gLmFjY29yZGlvbi1oZWFkZXIgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgJixcbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1tYXgtY2xhc3NcblxuICAgID4gLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuYWNjb3JkaW9uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24taWNvbi1kYXJrKX07XG4gICAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb24tZGFyayl9O1xuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteDogI3skYnJlYWRjcnVtYi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteTogI3skYnJlYWRjcnVtYi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICN7JGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbX07XG4gIEBpbmNsdWRlIHJmcygkYnJlYWRjcnVtYi1mb250LXNpemUsIC0tI3skcHJlZml4fWJyZWFkY3J1bWItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1iZzogI3skYnJlYWRjcnVtYi1iZ307XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogI3skYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAjeyRicmVhZGNydW1iLWRpdmlkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAjeyRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogI3skYnJlYWRjcnVtYi1hY3RpdmUtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1mb250LXNpemUpKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItYmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBmbG9hdDogbGVmdDsgLy8gU3VwcHJlc3MgaW5saW5lIHNwYWNpbmdzIGFuZCB1bmRlcmxpbmluZyBvZiB0aGUgc2VwYXJhdG9yXG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcik7XG4gICAgICBjb250ZW50OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLCBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpKSAje1wiLyogcnRsOlwifSB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLCBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZCkpICN7XCIqL1wifTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yKTtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteDogI3skcGFnaW5hdGlvbi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteTogI3skcGFnaW5hdGlvbi1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJHBhZ2luYXRpb24tZm9udC1zaXplLCAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tY29sb3I6ICN7JHBhZ2luYXRpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJnOiAjeyRwYWdpbmF0aW9uLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAjeyRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1iZzogI3skcGFnaW5hdGlvbi1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtY29sb3I6ICN7JHBhZ2luYXRpb24tZm9jdXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJnOiAjeyRwYWdpbmF0aW9uLWZvY3VzLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAjeyRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogI3skcGFnaW5hdGlvbi1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1iZzogI3skcGFnaW5hdGlvbi1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICN7JHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkcGFnaW5hdGlvbi10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1iZyk7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAuYWN0aXZlID4gJiB7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYmcpKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgLmRpc2FibGVkID4gJiB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5wYWdlLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQ7XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0ID09IGNhbGMoI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9ICogLTEpIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEFkZCBib3JkZXItcmFkaXVzIHRvIGFsbCBwYWdlTGlua3MgaW4gY2FzZSB0aGV5IGhhdmUgbGVmdCBtYXJnaW5cbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi1taXhpblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteDogI3skcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXk6ICN7JHBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLCAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG59XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tbWl4aW5cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXg6ICN7JGJhZGdlLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteTogI3skYmFkZ2UtcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRiYWRnZS1mb250LXNpemUsIC0tI3skcHJlZml4fWJhZGdlLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJhZGdlLWZvbnQtd2VpZ2h0OiAjeyRiYWRnZS1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fWJhZGdlLWNvbG9yOiAjeyRiYWRnZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJhZGdlLWJvcmRlci1yYWRpdXM6ICN7JGJhZGdlLWJvcmRlci1yYWRpdXN9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGJhZGdlLWNzcy12YXJzXG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1iYWRnZS1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJhZGdlLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWJhZGdlLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoKTtcblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1hbGVydC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteDogI3skYWxlcnQtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy15OiAjeyRhbGVydC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hbGVydC1tYXJnaW4tYm90dG9tOiAjeyRhbGVydC1tYXJnaW4tYm90dG9tfTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtY29sb3I6IGluaGVyaXQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlcjogI3skYWxlcnQtYm9yZGVyLXdpZHRofSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLXJhZGl1czogI3skYWxlcnQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWFsZXJ0LWxpbmstY29sb3I6IGluaGVyaXQ7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtbWFyZ2luLWJvdHRvbSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXIpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yKTtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogJGFsZXJ0LWRpc21pc3NpYmxlLXBhZGRpbmctcjtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuYnRuLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6ICRzdHJldGNoZWQtbGluay16LWluZGV4ICsgMTtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICogMS4yNSAkYWxlcnQtcGFkZGluZy14O1xuICB9XG59XG5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LW1vZGlmaWVyc1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydFxuQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCR0aGVtZS1jb2xvcnMpIHtcbiAgLmFsZXJ0LSN7JHN0YXRlfSB7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYm9yZGVyLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtbGluay1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC1tb2RpZmllcnNcbiIsIi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3Mta2V5ZnJhbWVzXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAkcHJvZ3Jlc3MtaGVpZ2h0OyB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3Mta2V5ZnJhbWVzXG5cbi5wcm9ncmVzcyxcbi5wcm9ncmVzcy1zdGFja2VkIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodDogI3skcHJvZ3Jlc3MtaGVpZ2h0fTtcbiAgQGluY2x1ZGUgcmZzKCRwcm9ncmVzcy1mb250LXNpemUsIC0tI3skcHJlZml4fXByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJnOiAjeyRwcm9ncmVzcy1iZ307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICN7JHByb2dyZXNzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3gtc2hhZG93OiAjeyRwcm9ncmVzcy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWNvbG9yOiAjeyRwcm9ncmVzcy1iYXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItYmc6ICN7JHByb2dyZXNzLWJhci1iZ307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAjeyRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3MtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpO1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3JjZSByb3VuZGVkIGNvcm5lcnMgYnkgY3JvcHBpbmcgaXRcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1mb250LXNpemUpKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3gtc2hhZG93KSk7XG59XG5cbi5wcm9ncmVzcy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItYmcpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItdHJhbnNpdGlvbikpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodCkgdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodCk7XG59XG5cbi5wcm9ncmVzcy1zdGFja2VkID4gLnByb2dyZXNzIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5wcm9ncmVzcy1zdGFja2VkID4gLnByb2dyZXNzID4gLnByb2dyZXNzLWJhciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIC5wcm9ncmVzcy1iYXItYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbjogJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nIHByb2dyZXNzLWJhci1zdHJpcGVzO1xuXG4gICAgQGlmICRlbmFibGUtcmVkdWNlZC1tb3Rpb24ge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1jb2xvcjogI3skbGlzdC1ncm91cC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYmc6ICN7JGxpc3QtZ3JvdXAtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogI3skbGlzdC1ncm91cC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aDogI3skbGlzdC1ncm91cC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICN7JGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICN7JGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAjeyRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6ICN7JGxpc3QtZ3JvdXAtaG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogI3skbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogI3skbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICN7JGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogI3skbGlzdC1ncm91cC1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1iZzogI3skbGlzdC1ncm91cC1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5saXN0LWdyb3VwLW51bWJlcmVkIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBzZWN0aW9uO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbTo6YmVmb3JlIHtcbiAgICAvLyBJbmNyZW1lbnRzIG9ubHkgdGhpcyBpbnN0YW5jZSBvZiB0aGUgc2VjdGlvbiBjb3VudGVyXG4gICAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpIFwiLiBcIjtcbiAgICBjb3VudGVyLWluY3JlbWVudDogc2VjdGlvbjtcbiAgfVxufVxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZyk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmcpO1xuICB9XG59XG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yKTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWJnKTtcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL3NlbGVjdG9yLW5vLXJlZHVuZGFudC1uZXN0aW5nLXNlbGVjdG9yXG4gICYgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbFxuLy9cbi8vIENoYW5nZSB0aGUgbGF5b3V0IG9mIGxpc3QgZ3JvdXAgaXRlbXMgZnJvbSB2ZXJ0aWNhbCAoZGVmYXVsdCkgdG8gaG9yaXpvbnRhbC5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCN7JGluZml4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLWVuZC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtZW5kLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGbHVzaCBsaXN0IGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBsaXN0IGdyb3VwIGl0ZW1zIGVkZ2UtdG8tZWRnZS4gTW9zdFxuLy8gdXNlZnVsIHdpdGhpbiBvdGhlciBjb21wb25lbnRzIChlLmcuLCBjYXJkcykuXG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci13aWR0aDogMCAwIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC1tb2RpZmllcnNcbi8vIExpc3QgZ3JvdXAgY29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJnLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYm9yZGVyLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYm9yZGVyLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuIiwiLy8gVHJhbnNwYXJlbnQgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHByb3BlcnRpZXMgaW5jbHVkZWQgZm9yIGJ1dHRvbiB2ZXJzaW9uLlxuLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4vLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG4uYnRuLWNsb3NlIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGNsb3NlLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1jb2xvcjogI3skYnRuLWNsb3NlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWJnOiAjeyBlc2NhcGUtc3ZnKCRidG4tY2xvc2UtYmcpIH07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1vcGFjaXR5OiAjeyRidG4tY2xvc2Utb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5OiAjeyRidG4tY2xvc2UtaG92ZXItb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICN7JGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtb3BhY2l0eTogI3skYnRuLWNsb3NlLWZvY3VzLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eTogI3skYnRuLWNsb3NlLWRpc2FibGVkLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2Utd2hpdGUtZmlsdGVyOiAjeyRidG4tY2xvc2Utd2hpdGUtZmlsdGVyfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBjbG9zZS1jc3MtdmFyc1xuXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB3aWR0aDogJGJ0bi1jbG9zZS13aWR0aDtcbiAgaGVpZ2h0OiAkYnRuLWNsb3NlLWhlaWdodDtcbiAgcGFkZGluZzogJGJ0bi1jbG9zZS1wYWRkaW5nLXkgJGJ0bi1jbG9zZS1wYWRkaW5nLXg7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWNvbG9yKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1iZykgY2VudGVyIC8gJGJ0bi1jbG9zZS13aWR0aCBhdXRvIG5vLXJlcGVhdDsgLy8gaW5jbHVkZSB0cmFuc3BhcmVudCBmb3IgYnV0dG9uIGVsZW1lbnRzXG4gIGJvcmRlcjogMDsgLy8gZm9yIGJ1dHRvbiBlbGVtZW50c1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG4gIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2Utb3BhY2l0eSk7XG5cbiAgLy8gT3ZlcnJpZGUgPGE+J3MgaG92ZXIgc3R5bGVcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWhvdmVyLW9wYWNpdHkpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLXNoYWRvdyk7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eSk7XG4gIH1cbn1cblxuQG1peGluIGJ0bi1jbG9zZS13aGl0ZSgpIHtcbiAgZmlsdGVyOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLXdoaXRlLWZpbHRlcik7XG59XG5cbi5idG4tY2xvc2Utd2hpdGUge1xuICBAaW5jbHVkZSBidG4tY2xvc2Utd2hpdGUoKTtcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmJ0bi1jbG9zZSB7XG4gICAgICBAaW5jbHVkZSBidG4tY2xvc2Utd2hpdGUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIi50b2FzdCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH10b2FzdC16aW5kZXg6ICN7JHppbmRleC10b2FzdH07XG4gIC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteDogI3skdG9hc3QtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy15OiAjeyR0b2FzdC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH10b2FzdC1zcGFjaW5nOiAjeyR0b2FzdC1zcGFjaW5nfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtbWF4LXdpZHRoOiAjeyR0b2FzdC1tYXgtd2lkdGh9O1xuICBAaW5jbHVkZSByZnMoJHRvYXN0LWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9dG9hc3QtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtY29sb3I6ICN7JHRvYXN0LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYmc6ICN7JHRvYXN0LWJhY2tncm91bmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGg6ICN7JHRvYXN0LWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1jb2xvcjogI3skdG9hc3QtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1czogI3skdG9hc3QtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXRvYXN0LWJveC1zaGFkb3c6ICN7JHRvYXN0LWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItY29sb3I6ICN7JHRvYXN0LWhlYWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1iZzogI3skdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAjeyR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdC1jc3MtdmFyc1xuXG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtbWF4LXdpZHRoKTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXRvYXN0LWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1cykpO1xuXG4gICYuc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9hc3QtY29udGFpbmVyIHtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtemluZGV4OiAjeyR6aW5kZXgtdG9hc3R9O1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXRvYXN0LXppbmRleCk7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICA+IDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3Qtc3BhY2luZyk7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGNhbGModmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aCkpKTtcblxuICAuYnRuLWNsb3NlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KTtcbiAgfVxufVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bW9kYWwtemluZGV4OiAjeyR6aW5kZXgtbW9kYWx9O1xuICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwtbWR9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nOiAjeyRtb2RhbC1pbm5lci1wYWRkaW5nfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luOiAjeyRtb2RhbC1kaWFsb2ctbWFyZ2lufTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtY29sb3I6ICN7JG1vZGFsLWNvbnRlbnQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1iZzogI3skbW9kYWwtY29udGVudC1iZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1jb2xvcjogI3skbW9kYWwtY29udGVudC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXJhZGl1czogI3skbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm94LXNoYWRvdzogI3skbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1czogI3skbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteDogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZzogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmd9OyAvLyBUb2RvIGluIHY2OiBTcGxpdCB0aGlzIHBhZGRpbmcgaW50byB4IGFuZCB5XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICN7JG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcDogI3skbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVufTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJnOiAjeyRtb2RhbC1mb290ZXItYmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogI3skbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXppbmRleCk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbik7XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIFdoZW4gdHJ5aW5nIHRvIGNsb3NlLCBhbmltYXRlIGZvY3VzIHRvIHNjYWxlXG4gIC5tb2RhbC5tb2RhbC1zdGF0aWMgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2NhbGUtdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbikgKiAyKTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pICogMik7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm94LXNoYWRvdykpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtYmFja2Ryb3AtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3AtemluZGV4OiAjeyR6aW5kZXgtbW9kYWwtYmFja2Ryb3B9O1xuICAtLSN7JHByZWZpeH1iYWNrZHJvcC1iZzogI3skbW9kYWwtYmFja2Ryb3AtYmd9O1xuICAtLSN7JHByZWZpeH1iYWNrZHJvcC1vcGFjaXR5OiAjeyRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1iYWNrZHJvcC1jc3MtdmFyc1xuXG4gIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AodmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLXppbmRleCksIHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC1iZyksIHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC1vcGFjaXR5KSk7XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG5cbiAgLmJ0bi1jbG9zZSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgKiAuNSkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteCkgKiAuNSk7XG4gICAgbWFyZ2luOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSkgY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteCkpIGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpKSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1tb2RhbC10aXRsZS1saW5lLWhlaWdodCk7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmcpO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nKSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItZ2FwKSAqIC41KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1iZyk7XG4gIGJvcmRlci10b3A6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG5cbiAgLy8gUGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gIC8vIFRoaXMgc29sdXRpb24gaXMgZmFyIGZyb20gaWRlYWwgYmVjYXVzZSBvZiB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yIHVzYWdlLFxuICAvLyBidXQgaXMgbmVlZGVkIHRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0ODAwXG4gID4gKiB7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItZ2FwKSAqIC41KTsgLy8gVG9kbyBpbiB2NjogcmVwbGFjZSB3aXRoIGdhcCBvbiBwYXJlbnQgY2xhc3NcbiAgfVxufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLm1vZGFsIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW46ICN7JG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cH07XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtYm94LXNoYWRvdzogI3skbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwfTtcbiAgfVxuXG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGgpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1zbSB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLXNtfTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwtbGd9O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm1vZGFsLXhsIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwteGx9O1xuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1mdWxsc2NyZWVuLWxvb3BcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkcG9zdGZpeDogaWYoJGluZml4ICE9IFwiXCIsICRpbmZpeCArIFwiLWRvd25cIiwgXCJcIik7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgLm1vZGFsLWZ1bGxzY3JlZW4jeyRwb3N0Zml4fSB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1oZWFkZXIsXG4gICAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cblxuICAgICAgLm1vZGFsLWJvZHkge1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1mdWxsc2NyZWVuLWxvb3BcbiIsIi8vIFNoYXJlZCBiZXR3ZWVuIG1vZGFscyBhbmQgb2ZmY2FudmFzZXNcbkBtaXhpbiBvdmVybGF5LWJhY2tkcm9wKCR6aW5kZXgsICRiYWNrZHJvcC1iZywgJGJhY2tkcm9wLW9wYWNpdHkpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5zaG93IHsgb3BhY2l0eTogJGJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC16aW5kZXg6ICN7JHppbmRleC10b29sdGlwfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXgtd2lkdGg6ICN7JHRvb2x0aXAtbWF4LXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXg6ICN7JHRvb2x0aXAtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXk6ICN7JHRvb2x0aXAtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXJnaW46ICN7JHRvb2x0aXAtbWFyZ2lufTtcbiAgQGluY2x1ZGUgcmZzKCR0b29sdGlwLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9dG9vbHRpcC1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH10b29sdGlwLWNvbG9yOiAjeyR0b29sdGlwLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1iZzogI3skdG9vbHRpcC1iZ307XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYm9yZGVyLXJhZGl1czogI3skdG9vbHRpcC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1vcGFjaXR5OiAjeyR0b29sdGlwLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoOiAjeyR0b29sdGlwLWFycm93LXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICN7JHRvb2x0aXAtYXJyb3ctaGVpZ2h0fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLWNzcy12YXJzXG5cbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtemluZGV4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtbWFyZ2luKTtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYCR0b29sdGlwLW1hcmdpbmBcIiwgXCJ2NVwiLCBcInY1LnhcIiwgdHJ1ZSk7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXRvb2x0aXAtZm9udC1zaXplKSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1vcGFjaXR5KTsgfVxuXG4gIC50b29sdGlwLWFycm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXRvcCAudG9vbHRpcC1hcnJvdyB7XG4gIGJvdHRvbTogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICY6OmJlZm9yZSB7XG4gICAgdG9wOiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtdG9vbHRpcC1lbmQgLnRvb2x0aXAtYXJyb3cge1xuICBsZWZ0OiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcblxuICAmOjpiZWZvcmUge1xuICAgIHJpZ2h0OiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy10b29sdGlwLWJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gIHRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICY6OmJlZm9yZSB7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogMCBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtdG9vbHRpcC1zdGFydCAudG9vbHRpcC1hcnJvdyB7XG4gIHJpZ2h0OiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcblxuICAmOjpiZWZvcmUge1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSAwIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtdG9vbHRpcC1hdXRvIHtcbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1lbmQ7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXN0YXJ0O1xuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXgtd2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJvcmRlci1yYWRpdXMpKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciBvdmVyZmxvdy13cmFwIC8gd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLnBvcG92ZXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcG9wb3Zlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLXppbmRleDogI3skemluZGV4LXBvcG92ZXJ9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLW1heC13aWR0aDogI3skcG9wb3Zlci1tYXgtd2lkdGh9O1xuICBAaW5jbHVkZSByZnMoJHBvcG92ZXItZm9udC1zaXplLCAtLSN7JHByZWZpeH1wb3BvdmVyLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYmc6ICN7JHBvcG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aDogI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcjogI3skcG9wb3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1yYWRpdXM6ICN7JHBvcG92ZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogI3skcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3gtc2hhZG93OiAjeyRwb3BvdmVyLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICN7JHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogI3skcG9wb3Zlci1oZWFkZXItcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRwb3BvdmVyLWhlYWRlci1mb250LXNpemUsIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWNvbG9yOiAjeyRwb3BvdmVyLWhlYWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnOiAjeyRwb3BvdmVyLWhlYWRlci1iZ307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICN7JHBvcG92ZXItYm9keS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy15OiAjeyRwb3BvdmVyLWJvZHktcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LWNvbG9yOiAjeyRwb3BvdmVyLWJvZHktY29sb3J9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoOiAjeyRwb3BvdmVyLWFycm93LXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICN7JHBvcG92ZXItYXJyb3ctaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXI6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIC8vIHNjc3MtZG9jcy1lbmQgcG9wb3Zlci1jc3MtdmFyc1xuXG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLXppbmRleCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLW1heC13aWR0aCk7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXBvcG92ZXItZm9udC1zaXplKSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSBwb3BvdmVyJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm94LXNoYWRvdykpO1xuXG4gIC5wb3BvdmVyLWFycm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgYm90dG9tOiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtcG9wb3Zlci1lbmQge1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICBsZWZ0OiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICB0b3A6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtcG9wb3Zlci1zdGFydCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIHJpZ2h0OiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtcG9wb3Zlci1hdXRvIHtcbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXRvcDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1lbmQ7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXN0YXJ0O1xuICB9XG59XG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gUmVib290XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1jb2xvcik7XG59XG4iLCIvLyBOb3RlcyBvbiB0aGUgY2xhc3Nlczpcbi8vXG4vLyAxLiAuY2Fyb3VzZWwucG9pbnRlci1ldmVudCBzaG91bGQgaWRlYWxseSBiZSBwYW4teSAodG8gYWxsb3cgZm9yIHVzZXJzIHRvIHNjcm9sbCB2ZXJ0aWNhbGx5KVxuLy8gICAgZXZlbiB3aGVuIHRoZWlyIHNjcm9sbCBhY3Rpb24gc3RhcnRlZCBvbiBhIGNhcm91c2VsLCBidXQgZm9yIGNvbXBhdGliaWxpdHkgKHdpdGggRmlyZWZveClcbi8vICAgIHdlJ3JlIHByZXZlbnRpbmcgYWxsIGFjdGlvbnMgaW5zdGVhZFxuLy8gMi4gVGhlIC5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1lbmQgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGVyZVxuLy8gICAgdGhlIGFjdGl2ZSBzbGlkZSBpcyBoZWFkaW5nLlxuLy8gMy4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIGlzIHRoZSBjdXJyZW50IHNsaWRlLlxuLy8gNC4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1zdGFydCBhbmQgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLWVuZFxuLy8gICAgaXMgdGhlIHVwY29taW5nIHNsaWRlIGluIHRyYW5zaXRpb24uXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1zdGFydCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1lbmQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tc3RhcnQsXG4gIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwcyAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIC8vIFVzZSBmbGV4IGZvciBhbGlnbm1lbnQgKDEtMylcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb24pO1xuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSksIG51bGwpO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSksIG51bGwpO1xufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKSAje1wiLypydGw6XCIgKyBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZykgKyBcIiovXCJ9O1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmcpICN7XCIvKnJ0bDpcIiArIGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKSArIFwiKi9cIn07XG59XG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzL2NvbnRyb2xzXG4vL1xuLy8gQWRkIGEgY29udGFpbmVyIChzdWNoIGFzIGEgbGlzdCkgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYW4gaXRlbSAoaWRlYWxseSBhIGZvY3VzYWJsZSBjb250cm9sLFxuLy8gbGlrZSBhIGJ1dHRvbikgd2l0aCBkYXRhLWJzLXRhcmdldCBmb3IgZWFjaCBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG5cbiAgW2RhdGEtYnMtdGFyZ2V0XSB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAwO1xuICAgIC8vIFVzZSB0cmFuc3BhcmVudCBib3JkZXJzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgIGJvcmRlci10b3A6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1pbmRpY2F0b3Itb3BhY2l0eTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1vcGFjaXR5O1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIGJvdHRvbTogJGNhcm91c2VsLWNhcHRpb24tc3BhY2VyO1xuICBsZWZ0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBwYWRkaW5nLXRvcDogJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8gRGFyayBtb2RlIGNhcm91c2VsXG5cbkBtaXhpbiBjYXJvdXNlbC1kYXJrKCkge1xuICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4gIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gICAgZmlsdGVyOiAkY2Fyb3VzZWwtZGFyay1jb250cm9sLWljb24tZmlsdGVyO1xuICB9XG5cbiAgLmNhcm91c2VsLWluZGljYXRvcnMgW2RhdGEtYnMtdGFyZ2V0XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWRhcmstaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgfVxuXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWRhcmstY2FwdGlvbi1jb2xvcjtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtZGFyayB7XG4gIEBpbmNsdWRlIGNhcm91c2VsLWRhcmsoKTtcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgQGlmICRjb2xvci1tb2RlLXR5cGUgPT0gXCJtZWRpYS1xdWVyeVwiIHtcbiAgICAgIC5jYXJvdXNlbCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcm91c2VsLWRhcmsoKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIC5jYXJvdXNlbCxcbiAgICAgICYuY2Fyb3VzZWwge1xuICAgICAgICBAaW5jbHVkZSBjYXJvdXNlbC1kYXJrKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY2xlYXJmaXhcbiIsIi8vXG4vLyBSb3RhdGluZyBib3JkZXJcbi8vXG5cbi5zcGlubmVyLWdyb3csXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0KTtcbiAgdmVydGljYWwtYWxpZ246IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduKTtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkKSBsaW5lYXIgaW5maW5pdGUgdmFyKC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWUpO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ib3JkZXIta2V5ZnJhbWVzXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpICN7XCIvKiBydGw6aWdub3JlICovXCJ9OyB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLWtleWZyYW1lc1xuXG4uc3Bpbm5lci1ib3JkZXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ib3JkZXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ246ICN7JHNwaW5uZXItdmVydGljYWwtYWxpZ259O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aDogI3skc3Bpbm5lci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogI3skc3Bpbm5lci1hbmltYXRpb24tc3BlZWR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1uYW1lOiBzcGlubmVyLWJvcmRlcjtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWJvcmRlci1jc3MtdmFyc1xuXG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoKSBzb2xpZCBjdXJyZW50Y29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1zbS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRoLXNtfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0LXNtfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGg6ICN7JHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWJvcmRlci1zbS1jc3MtdmFyc1xufVxuXG4vL1xuLy8gR3Jvd2luZyBjaXJjbGVcbi8vXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWdyb3cta2V5ZnJhbWVzXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ncm93LWtleWZyYW1lc1xuXG4uc3Bpbm5lci1ncm93IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItZ3Jvdy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogI3skc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbn07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItZ3JvdztcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWdyb3ctY3NzLXZhcnNcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRoLXNtfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0LXNtfTtcbn1cblxuQGlmICRlbmFibGUtcmVkdWNlZC1tb3Rpb24ge1xuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5zcGlubmVyLWJvcmRlcixcbiAgICAuc3Bpbm5lci1ncm93IHtcbiAgICAgIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZCAqIDJ9O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiVvZmZjYW52YXMtY3NzLXZhcnMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgb2ZmY2FudmFzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy16aW5kZXg6ICN7JHppbmRleC1vZmZjYW52YXN9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGg6ICN7JG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodDogI3skb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXg6ICN7JG9mZmNhbnZhcy1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15OiAjeyRvZmZjYW52YXMtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWNvbG9yOiAjeyRvZmZjYW52YXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYmc6ICN7JG9mZmNhbnZhcy1iZy1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICN7JG9mZmNhbnZhcy1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yOiAjeyRvZmZjYW52YXMtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJveC1zaGFkb3c6ICN7JG9mZmNhbnZhcy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRyYW5zaXRpb246ICN7dHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogI3skb2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtY3NzLXZhcnNcbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAub2ZmY2FudmFzI3skaW5maXh9IHtcbiAgICBAZXh0ZW5kICVvZmZjYW52YXMtY3NzLXZhcnM7XG4gIH1cbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAub2ZmY2FudmFzI3skaW5maXh9IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQpIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtemluZGV4KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtY29sb3IpO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1iZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3gtc2hhZG93KSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtdHJhbnNpdGlvbikpO1xuXG4gICAgICAmLm9mZmNhbnZhcy1zdGFydCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGgpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYub2ZmY2FudmFzLWVuZCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXdpZHRoKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtdG9wIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYub2ZmY2FudmFzLWJvdHRvbSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLnNob3dpbmcsXG4gICAgICAmLnNob3c6bm90KC5oaWRpbmcpIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmLnNob3dpbmcsXG4gICAgICAmLmhpZGluZyxcbiAgICAgICYuc2hvdyB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIpIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodDogYXV0bztcbiAgICAgICAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vZmZjYW52YXMtYm9keSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICAgIC8vIFJlc2V0IGBiYWNrZ3JvdW5kLWNvbG9yYCBpbiBjYXNlIGAuYmctKmAgY2xhc3NlcyBhcmUgdXNlZCBpbiBvZmZjYW52YXNcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5vZmZjYW52YXMtYmFja2Ryb3Age1xuICBAaW5jbHVkZSBvdmVybGF5LWJhY2tkcm9wKCR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wLCAkb2ZmY2FudmFzLWJhY2tkcm9wLWJnLCAkb2ZmY2FudmFzLWJhY2tkcm9wLW9wYWNpdHkpO1xufVxuXG4ub2ZmY2FudmFzLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCk7XG5cbiAgLmJ0bi1jbG9zZSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgKiAuNSkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCkgKiAuNSk7XG4gICAgbWFyZ2luOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSkgY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCkpIGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpKSBhdXRvO1xuICB9XG59XG5cbi5vZmZjYW52YXMtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodCk7XG59XG5cbi5vZmZjYW52YXMtYm9keSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy14KTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbiIsIi5wbGFjZWhvbGRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHdhaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogJHBsYWNlaG9sZGVyLW9wYWNpdHktbWF4O1xuXG4gICYuYnRuOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG5cbi8vIFNpemluZ1xuLnBsYWNlaG9sZGVyLXhzIHtcbiAgbWluLWhlaWdodDogLjZlbTtcbn1cblxuLnBsYWNlaG9sZGVyLXNtIHtcbiAgbWluLWhlaWdodDogLjhlbTtcbn1cblxuLnBsYWNlaG9sZGVyLWxnIHtcbiAgbWluLWhlaWdodDogMS4yZW07XG59XG5cbi8vIEFuaW1hdGlvblxuLnBsYWNlaG9sZGVyLWdsb3cge1xuICAucGxhY2Vob2xkZXIge1xuICAgIGFuaW1hdGlvbjogcGxhY2Vob2xkZXItZ2xvdyAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyLWdsb3cge1xuICA1MCUge1xuICAgIG9wYWNpdHk6ICRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbjtcbiAgfVxufVxuXG4ucGxhY2Vob2xkZXItd2F2ZSB7XG4gIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxMzBkZWcsICRibGFjayA1NSUsIHJnYmEoMCwgMCwgMCwgKDEgLSAkcGxhY2Vob2xkZXItb3BhY2l0eS1taW4pKSA3NSUsICRibGFjayA5NSUpO1xuICBtYXNrLXNpemU6IDIwMCUgMTAwJTtcbiAgYW5pbWF0aW9uOiBwbGFjZWhvbGRlci13YXZlIDJzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBwbGFjZWhvbGRlci13YXZlIHtcbiAgMTAwJSB7XG4gICAgbWFzay1wb3NpdGlvbjogLTIwMCUgMCU7XG4gIH1cbn1cbiIsIi8vIEFsbC1jYXBzIGBSR0JBKClgIGZ1bmN0aW9uIHVzZWQgYmVjYXVzZSBvZiB0aGlzIFNhc3MgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9ub2RlLXNhc3MvaXNzdWVzLzIyNTFcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAudGV4dC1iZy0jeyRjb2xvcn0ge1xuICAgIGNvbG9yOiBjb2xvci1jb250cmFzdCgkdmFsdWUpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYiksIHZhcigtLSN7JHByZWZpeH1iZy1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgfVxufVxuIiwiLy8gQWxsLWNhcHMgYFJHQkEoKWAgZnVuY3Rpb24gdXNlZCBiZWNhdXNlIG9mIHRoaXMgU2FzcyBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL25vZGUtc2Fzcy9pc3N1ZXMvMjI1MVxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5saW5rLSN7JGNvbG9yfSB7XG4gICAgY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgICBAaWYgJGxpbmstc2hhZGUtcGVyY2VudGFnZSAhPSAwIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgJGhvdmVyLWNvbG9yOiBpZihjb2xvci1jb250cmFzdCgkdmFsdWUpID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJHZhbHVlLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSwgdGludC1jb2xvcigkdmFsdWUsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpKTtcbiAgICAgICAgY29sb3I6IFJHQkEoI3t0by1yZ2IoJGhvdmVyLWNvbG9yKX0sIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodG8tcmdiKCRob3Zlci1jb2xvciksIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT25lLW9mZiBzcGVjaWFsIGxpbmsgaGVscGVyIGFzIGEgYnJpZGdlIHVudGlsIHY2XG4ubGluay1ib2R5LWVtcGhhc2lzIHtcbiAgY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcblxuICBAaWYgJGxpbmstc2hhZGUtcGVyY2VudGFnZSAhPSAwIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIC43NSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAuNzUpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvY3VzLXJpbmc6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICAvLyBCeSBkZWZhdWx0LCB0aGVyZSBpcyBubyBgLS1icy1mb2N1cy1yaW5nLXhgLCBgLS1icy1mb2N1cy1yaW5nLXlgLCBvciBgLS1icy1mb2N1cy1yaW5nLWJsdXJgLCBidXQgd2UgcHJvdmlkZSBDU1MgdmFyaWFibGVzIHdpdGggZmFsbGJhY2tzIHRvIGluaXRpYWwgYDBgIHZhbHVlc1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy14LCAwKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy15LCAwKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1ibHVyLCAwKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy13aWR0aCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmctY29sb3IpO1xufVxuIiwiLmljb24tbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBnYXA6ICRpY29uLWxpbmstZ2FwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgLjUpKTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAkaWNvbi1saW5rLXVuZGVybGluZS1vZmZzZXQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICA+IC5iaSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6ICRpY29uLWxpbmstaWNvbi1zaXplO1xuICAgIGhlaWdodDogJGljb24tbGluay1pY29uLXNpemU7XG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGljb24tbGluay1pY29uLXRyYW5zaXRpb24pO1xuICB9XG59XG5cbi5pY29uLWxpbmstaG92ZXIge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgID4gLmJpIHtcbiAgICAgIHRyYW5zZm9ybTogdmFyKC0tI3skcHJlZml4fWljb24tbGluay10cmFuc2Zvcm0sICRpY29uLWxpbmstaWNvbi10cmFuc2Zvcm0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5yYXRpbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tI3skcHJlZml4fWFzcGVjdC1yYXRpbyk7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AZWFjaCAka2V5LCAkcmF0aW8gaW4gJGFzcGVjdC1yYXRpb3Mge1xuICAucmF0aW8tI3ska2V5fSB7XG4gICAgLS0jeyRwcmVmaXh9YXNwZWN0LXJhdGlvOiAjeyRyYXRpb307XG4gIH1cbn1cbiIsIi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4vLyBSZXNwb25zaXZlIHN0aWNreSB0b3AgYW5kIGJvdHRvbVxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnN0aWNreSN7JGluZml4fS10b3Age1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICAgIH1cblxuICAgIC5zdGlja3kjeyRpbmZpeH0tYm90dG9tIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBzdGFja3Ncbi5oc3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4udnN0YWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIGF1dG87XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG4vLyBzY3NzLWRvY3MtZW5kIHN0YWNrc1xuIiwiLy9cbi8vIFZpc3VhbGx5IGhpZGRlblxuLy9cblxuLnZpc3VhbGx5LWhpZGRlbixcbi52aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlOm5vdCg6Zm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIEhpZGUgY29udGVudCB2aXN1YWxseSB3aGlsZSBrZWVwaW5nIGl0IGFjY2Vzc2libGUgdG8gYXNzaXN0aXZlIHRlY2hub2xvZ2llc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9raXR0eWdpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuKCkge1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7IC8vIEZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTY4NlxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcblxuICAvLyBGaXggZm9yIHBvc2l0aW9uZWQgdGFibGUgY2FwdGlvbiB0aGF0IGNvdWxkIGJlY29tZSBhbm9ueW1vdXMgY2VsbHNcbiAgJjpub3QoY2FwdGlvbikge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFVzZSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZCwgb3Igb25lIG9mIGl0cyBjaGlsZCBlbGVtZW50cyBpcyBmb2N1c2VkXG4vLyAoaS5lLiB3aGVuIGZvY3VzIGlzIHdpdGhpbiB0aGUgZWxlbWVudC9jb250YWluZXIgdGhhdCB0aGUgY2xhc3Mgd2FzIGFwcGxpZWQgdG8pXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSgpIHtcbiAgJjpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICB9XG59XG4iLCIvL1xuLy8gU3RyZXRjaGVkIGxpbmtcbi8vXG5cbi5zdHJldGNoZWQtbGluayB7XG4gICY6OiN7JHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50fSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkc3RyZXRjaGVkLWxpbmstei1pbmRleDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvL1xuLy8gVGV4dCB0cnVuY2F0aW9uXG4vL1xuXG4udGV4dC10cnVuY2F0ZSB7XG4gIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLnZyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB3aWR0aDogJHZyLWJvcmRlci13aWR0aDtcbiAgbWluLWhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6ICRoci1vcGFjaXR5O1xufVxuIiwiLy8gVXRpbGl0eSBnZW5lcmF0b3Jcbi8vIFVzZWQgdG8gZ2VuZXJhdGUgdXRpbGl0aWVzICYgcHJpbnQgdXRpbGl0aWVzXG5AbWl4aW4gZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4OiBcIlwiLCAkaXMtcmZzLW1lZGlhLXF1ZXJ5OiBmYWxzZSkge1xuICAkdmFsdWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCB2YWx1ZXMpO1xuXG4gIC8vIElmIHRoZSB2YWx1ZXMgYXJlIGEgbGlzdCBvciBzdHJpbmcsIGNvbnZlcnQgaXQgaW50byBhIG1hcFxuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSBcInN0cmluZ1wiIG9yIHR5cGUtb2YobnRoKCR2YWx1ZXMsIDEpKSAhPSBcImxpc3RcIiB7XG4gICAgJHZhbHVlczogemlwKCR2YWx1ZXMsICR2YWx1ZXMpO1xuICB9XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICRwcm9wZXJ0aWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCBwcm9wZXJ0eSk7XG5cbiAgICAvLyBNdWx0aXBsZSBwcm9wZXJ0aWVzIGFyZSBwb3NzaWJsZSwgZm9yIGV4YW1wbGUgd2l0aCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsIG1hcmdpbnMgb3IgcGFkZGluZ3NcbiAgICBAaWYgdHlwZS1vZigkcHJvcGVydGllcykgPT0gXCJzdHJpbmdcIiB7XG4gICAgICAkcHJvcGVydGllczogYXBwZW5kKCgpLCAkcHJvcGVydGllcyk7XG4gICAgfVxuXG4gICAgLy8gVXNlIGN1c3RvbSBjbGFzcyBpZiBwcmVzZW50XG4gICAgJHByb3BlcnR5LWNsYXNzOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY2xhc3MpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjbGFzcyksIG50aCgkcHJvcGVydGllcywgMSkpO1xuICAgICRwcm9wZXJ0eS1jbGFzczogaWYoJHByb3BlcnR5LWNsYXNzID09IG51bGwsIFwiXCIsICRwcm9wZXJ0eS1jbGFzcyk7XG5cbiAgICAvLyBVc2UgY3VzdG9tIENTUyB2YXJpYWJsZSBuYW1lIGlmIHByZXNlbnQsIG90aGVyd2lzZSBkZWZhdWx0IHRvIGBjbGFzc2BcbiAgICAkY3NzLXZhcmlhYmxlLW5hbWU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXJpYWJsZS1uYW1lKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpKTtcblxuICAgIC8vIFN0YXRlIHBhcmFtcyB0byBnZW5lcmF0ZSBwc2V1ZG8tY2xhc3Nlc1xuICAgICRzdGF0ZTogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIHN0YXRlKSwgbWFwLWdldCgkdXRpbGl0eSwgc3RhdGUpLCAoKSk7XG5cbiAgICAkaW5maXg6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCBzdHItc2xpY2UoJGluZml4LCAxLCAxKSA9PSBcIi1cIiwgc3RyLXNsaWNlKCRpbmZpeCwgMiksICRpbmZpeCk7XG5cbiAgICAvLyBEb24ndCBwcmVmaXggaWYgdmFsdWUga2V5IGlzIG51bGwgKGUuZy4gd2l0aCBzaGFkb3cgY2xhc3MpXG4gICAgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyOiBpZigka2V5LCBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgJGluZml4ID09IFwiXCIsIFwiXCIsIFwiLVwiKSArICRrZXksIFwiXCIpO1xuXG4gICAgQGlmIG1hcC1nZXQoJHV0aWxpdHksIHJmcykge1xuICAgICAgLy8gSW5zaWRlIHRoZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmICRpcy1yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlKTtcblxuICAgICAgICAvLyBEbyBub3QgcmVuZGVyIGFueXRoaW5nIGlmIGZsdWlkIGFuZCBub24gZmx1aWQgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgICAgICAkdmFsdWU6IGlmKCR2YWwgPT0gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSksIG51bGwsICR2YWwpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkdmFsdWU6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICRpcy1jc3MtdmFyOiBtYXAtZ2V0KCR1dGlsaXR5LCBjc3MtdmFyKTtcbiAgICAkaXMtbG9jYWwtdmFyczogbWFwLWdldCgkdXRpbGl0eSwgbG9jYWwtdmFycyk7XG4gICAgJGlzLXJ0bDogbWFwLWdldCgkdXRpbGl0eSwgcnRsKTtcblxuICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDpiZWdpbjpyZW1vdmUgKi9cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1jc3MtdmFyIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgIEBpZiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmVuZDpyZW1vdmUgKi9cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExvb3Agb3ZlciBlYWNoIGJyZWFrcG9pbnRcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG5cbiAgLy8gR2VuZXJhdGUgbWVkaWEgcXVlcnkgaWYgbmVlZGVkXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC8vIExvb3Agb3ZlciBlYWNoIHV0aWxpdHkgcHJvcGVydHlcbiAgICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAgIC8vIE9ubHkgcHJvY2VlZCBpZiByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgYXJlIGVuYWJsZWQgb3IgaWYgaXQncyB0aGUgYmFzZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIChtYXAtZ2V0KCR1dGlsaXR5LCByZXNwb25zaXZlKSBvciAkaW5maXggPT0gXCJcIikge1xuICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBSRlMgcmVzY2FsaW5nXG5AbWVkaWEgKG1pbi13aWR0aDogJHJmcy1tcS12YWx1ZSkge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmIChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkgPCAkcmZzLWJyZWFrcG9pbnQpIHtcbiAgICAgIC8vIExvb3Agb3ZlciBlYWNoIHV0aWxpdHkgcHJvcGVydHlcbiAgICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgICAgIC8vIE9ubHkgcHJvY2VlZCBpZiByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgYXJlIGVuYWJsZWQgb3IgaWYgaXQncyB0aGUgYmFzZSBtZWRpYSBxdWVyeVxuICAgICAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLWdldCgkdXRpbGl0eSwgcmZzKSBhbmQgKG1hcC1nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4LCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByaW50IHV0aWxpdGllc1xuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgIC8vIFRoZW4gY2hlY2sgaWYgdGhlIHV0aWxpdHkgbmVlZHMgcHJpbnQgc3R5bGVzXG4gICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIG1hcC1nZXQoJHV0aWxpdHksIHByaW50KSA9PSB0cnVlIHtcbiAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksIFwiLXByaW50XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLyohXG4gKiBEYXRlcGlja2VyIGZvciBCb290c3RyYXAgdjEuMTAuMCAoaHR0cHM6Ly9naXRodWIuY29tL3V4c29sdXRpb25zL2Jvb3RzdHJhcC1kYXRlcGlja2VyKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSB2Mi4wIChodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wKVxuICovXG5cbi5kYXRlcGlja2Vye3BhZGRpbmc6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3JkZXItcmFkaXVzOjRweDtkaXJlY3Rpb246bHRyfS5kYXRlcGlja2VyLWlubGluZXt3aWR0aDoyMjBweH0uZGF0ZXBpY2tlci1ydGx7ZGlyZWN0aW9uOnJ0bH0uZGF0ZXBpY2tlci1ydGwuZHJvcGRvd24tbWVudXtsZWZ0OmF1dG99LmRhdGVwaWNrZXItcnRsIHRhYmxlIHRyIHRkIHNwYW57ZmxvYXQ6cmlnaHR9LmRhdGVwaWNrZXItZHJvcGRvd257dG9wOjA7bGVmdDowfS5kYXRlcGlja2VyLWRyb3Bkb3duOmJlZm9yZXtjb250ZW50OicnO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlci1sZWZ0OjdweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206N3B4IHNvbGlkICM5OTk7Ym9yZGVyLXRvcDowO2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwuMik7cG9zaXRpb246YWJzb2x1dGV9LmRhdGVwaWNrZXItZHJvcGRvd246YWZ0ZXJ7Y29udGVudDonJztkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXItbGVmdDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjZweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6MDtwb3NpdGlvbjphYnNvbHV0ZX0uZGF0ZXBpY2tlci1kcm9wZG93bi5kYXRlcGlja2VyLW9yaWVudC1sZWZ0OmJlZm9yZXtsZWZ0OjZweH0uZGF0ZXBpY2tlci1kcm9wZG93bi5kYXRlcGlja2VyLW9yaWVudC1sZWZ0OmFmdGVye2xlZnQ6N3B4fS5kYXRlcGlja2VyLWRyb3Bkb3duLmRhdGVwaWNrZXItb3JpZW50LXJpZ2h0OmJlZm9yZXtyaWdodDo2cHh9LmRhdGVwaWNrZXItZHJvcGRvd24uZGF0ZXBpY2tlci1vcmllbnQtcmlnaHQ6YWZ0ZXJ7cmlnaHQ6N3B4fS5kYXRlcGlja2VyLWRyb3Bkb3duLmRhdGVwaWNrZXItb3JpZW50LWJvdHRvbTpiZWZvcmV7dG9wOi03cHh9LmRhdGVwaWNrZXItZHJvcGRvd24uZGF0ZXBpY2tlci1vcmllbnQtYm90dG9tOmFmdGVye3RvcDotNnB4fS5kYXRlcGlja2VyLWRyb3Bkb3duLmRhdGVwaWNrZXItb3JpZW50LXRvcDpiZWZvcmV7Ym90dG9tOi03cHg7Ym9yZGVyLWJvdHRvbTowO2JvcmRlci10b3A6N3B4IHNvbGlkICM5OTl9LmRhdGVwaWNrZXItZHJvcGRvd24uZGF0ZXBpY2tlci1vcmllbnQtdG9wOmFmdGVye2JvdHRvbTotNnB4O2JvcmRlci1ib3R0b206MDtib3JkZXItdG9wOjZweCBzb2xpZCAjZmZmfS5kYXRlcGlja2VyIHRhYmxle21hcmdpbjowOy13ZWJraXQtdG91Y2gtY2FsbG91dDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTsta2h0bWwtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uZGF0ZXBpY2tlciB0ZCwuZGF0ZXBpY2tlciB0aHt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoyMHB4O2hlaWdodDoyMHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3JkZXItcmFkaXVzOjRweDtib3JkZXI6bm9uZX0udGFibGUtc3RyaXBlZCAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCwudGFibGUtc3RyaXBlZCAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0aHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmRheS5mb2N1c2VkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmRheTpob3ZlcntiYWNrZ3JvdW5kOiNlZWU7Y3Vyc29yOnBvaW50ZXJ9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQubmV3LC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLm9sZHtjb2xvcjojOTk5fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmRpc2FibGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmRpc2FibGVkOmhvdmVye2JhY2tncm91bmQ6MCAwO2NvbG9yOiM5OTk7Y3Vyc29yOmRlZmF1bHR9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuaGlnaGxpZ2h0ZWR7YmFja2dyb3VuZDojZDllZGY3O2JvcmRlci1yYWRpdXM6MH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZGUxOWE7YmFja2dyb3VuZC1pbWFnZTotbW96LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2ZkZDQ5YSwjZmRmNTlhKTtiYWNrZ3JvdW5kLWltYWdlOi1tcy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmZGQ0OWEsI2ZkZjU5YSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhciwwIDAsMCAxMDAlLGZyb20oI2ZkZDQ5YSksdG8oI2ZkZjU5YSkpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmZGQ0OWEsI2ZkZjU5YSk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmZGQ0OWEsI2ZkZjU5YSk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmZGQ0OWEsI2ZkZjU5YSk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZmRkNDlhJywgZW5kQ29sb3JzdHI9JyNmZGY1OWEnLCBHcmFkaWVudFR5cGU9MCk7Ym9yZGVyLWNvbG9yOiNmZGY1OWEgI2ZkZjU5YSAjZmJlZDUwO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xKSByZ2JhKDAsMCwwLC4xKSByZ2JhKDAsMCwwLC4yNSk7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKTtjb2xvcjojMDAwfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZC5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQuZGlzYWJsZWQsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3Zlci5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXI6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXJbZGlzYWJsZWRdLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkW2Rpc2FibGVkXSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTphY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXIuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyLmRpc2FibGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyOmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlcjpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3ZlcltkaXNhYmxlZF0sLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXlbZGlzYWJsZWRde2JhY2tncm91bmQtY29sb3I6I2ZkZjU5YX0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3Zlci5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlci5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2ZiZjA2OVxcOX0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlcjpob3Zlcntjb2xvcjojMDAwfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmFjdGl2ZTpob3Zlcntjb2xvcjojZmZmfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmRpc2FibGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlOmhvdmVye2JhY2tncm91bmQ6I2VlZTstd2Via2l0LWJvcmRlci1yYWRpdXM6MDstbW96LWJvcmRlci1yYWRpdXM6MDtib3JkZXItcmFkaXVzOjB9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXksLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjNkMTdhO2JhY2tncm91bmQtaW1hZ2U6LW1vei1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmM2MxN2EsI2YzZTk3YSk7YmFja2dyb3VuZC1pbWFnZTotbXMtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZjNjMTdhLCNmM2U5N2EpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsMCAwLDAgMTAwJSxmcm9tKCNmM2MxN2EpLHRvKCNmM2U5N2EpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZjNjMTdhLCNmM2U5N2EpO2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZjNjMTdhLCNmM2U5N2EpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZjNjMTdhLCNmM2U5N2EpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI2YzYzE3YScsIGVuZENvbG9yc3RyPScjZjNlOTdhJywgR3JhZGllbnRUeXBlPTApO2JvcmRlci1jb2xvcjojZjNlOTdhICNmM2U5N2EgI2VkZGUzNDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMjUpO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSk7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjA7LW1vei1ib3JkZXItcmFkaXVzOjA7Ym9yZGVyLXJhZGl1czowfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5kaXNhYmxlZC5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQuZGlzYWJsZWQsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkOmhvdmVyLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5kaXNhYmxlZDpob3Zlci5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6aG92ZXI6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6aG92ZXJbZGlzYWJsZWRdLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkW2Rpc2FibGVkXSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheTphY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6aG92ZXIuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmhvdmVyLmRpc2FibGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmhvdmVyOmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheTpob3Zlcjpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheTpob3ZlcltkaXNhYmxlZF0sLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXlbZGlzYWJsZWRde2JhY2tncm91bmQtY29sb3I6I2YzZTk3YX0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkOmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5kaXNhYmxlZDpob3Zlci5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheTpob3Zlci5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6aG92ZXI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2VmZTI0YlxcOX0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZDpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM5ZTllOWU7YmFja2dyb3VuZC1pbWFnZTotbW96LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2IzYjNiMyxncmV5KTtiYWNrZ3JvdW5kLWltYWdlOi1tcy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNiM2IzYjMsZ3JleSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhciwwIDAsMCAxMDAlLGZyb20oI2IzYjNiMyksdG8oZ3JleSkpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNiM2IzYjMsZ3JleSk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNiM2IzYjMsZ3JleSk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNiM2IzYjMsZ3JleSk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjYjNiM2IzJywgZW5kQ29sb3JzdHI9JyM4MDgwODAnLCBHcmFkaWVudFR5cGU9MCk7Ym9yZGVyLWNvbG9yOmdyZXkgZ3JleSAjNTk1OTU5O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xKSByZ2JhKDAsMCwwLC4xKSByZ2JhKDAsMCwwLC4yNSk7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKTtjb2xvcjojZmZmO3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KX0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmRpc2FibGVkLmRpc2FibGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmRpc2FibGVkOmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZDpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZDpob3Zlci5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQ6aG92ZXIuZGlzYWJsZWQsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmRpc2FibGVkOmhvdmVyOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmRpc2FibGVkOmhvdmVyW2Rpc2FibGVkXSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZFtkaXNhYmxlZF0sLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkOmhvdmVyLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDpob3Zlci5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDpob3ZlcjphY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6aG92ZXI6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6aG92ZXJbZGlzYWJsZWRdLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkW2Rpc2FibGVkXXtiYWNrZ3JvdW5kLWNvbG9yOmdyZXl9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmRpc2FibGVkLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZDphY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmRpc2FibGVkOmhvdmVyOmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDphY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6aG92ZXIuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkOmhvdmVyOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiM2NjZcXDl9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwNmRjYztiYWNrZ3JvdW5kLWltYWdlOi1tb3otbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjMDhjLCMwNGMpO2JhY2tncm91bmQtaW1hZ2U6LW1zLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIzA4YywjMDRjKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLDAgMCwwIDEwMCUsZnJvbSgjMDhjKSx0bygjMDRjKSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIzA4YywjMDRjKTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIzA4YywjMDRjKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIzA4YywjMDRjKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyMwOGMnLCBlbmRDb2xvcnN0cj0nIzAwNDRjYycsIEdyYWRpZW50VHlwZT0wKTtib3JkZXItY29sb3I6IzA0YyAjMDRjICMwMDJhODA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjI1KTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLmRpc2FibGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDphY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLmRpc2FibGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcltkaXNhYmxlZF0sLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkW2Rpc2FibGVkXSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXIuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3Zlci5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXI6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3Zlcjpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXJbZGlzYWJsZWRdLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZVtkaXNhYmxlZF17YmFja2dyb3VuZC1jb2xvcjojMDRjfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyOmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3Zlci5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMzlcXDl9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3BhbntkaXNwbGF5OmJsb2NrO3dpZHRoOjIzJTtoZWlnaHQ6NTRweDtsaW5lLWhlaWdodDo1NHB4O2Zsb2F0OmxlZnQ7bWFyZ2luOjElO2N1cnNvcjpwb2ludGVyOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3JkZXItcmFkaXVzOjRweH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmZvY3VzZWQsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbjpob3ZlcntiYWNrZ3JvdW5kOiNlZWV9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmRpc2FibGVkOmhvdmVye2JhY2tncm91bmQ6MCAwO2NvbG9yOiM5OTk7Y3Vyc29yOmRlZmF1bHR9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDA2ZGNjO2JhY2tncm91bmQtaW1hZ2U6LW1vei1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCMwOGMsIzA0Yyk7YmFja2dyb3VuZC1pbWFnZTotbXMtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjMDhjLCMwNGMpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsMCAwLDAgMTAwJSxmcm9tKCMwOGMpLHRvKCMwNGMpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjMDhjLCMwNGMpO2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjMDhjLCMwNGMpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjMDhjLCMwNGMpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzA4YycsIGVuZENvbG9yc3RyPScjMDA0NGNjJywgR3JhZGllbnRUeXBlPTApO2JvcmRlci1jb2xvcjojMDRjICMwNGMgIzAwMmE4MDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMjUpO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSk7Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzowIC0xcHggMCByZ2JhKDAsMCwwLC4yNSl9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZC5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDphY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLmRpc2FibGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyOmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlcjpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcltkaXNhYmxlZF0sLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWRbZGlzYWJsZWRdLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlci5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIuZGlzYWJsZWQsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyW2Rpc2FibGVkXSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZVtkaXNhYmxlZF17YmFja2dyb3VuZC1jb2xvcjojMDRjfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlcjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojMDM5XFw5fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4ubmV3LC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4ub2xke2NvbG9yOiM5OTl9LmRhdGVwaWNrZXIgLmRhdGVwaWNrZXItc3dpdGNoe3dpZHRoOjE0NXB4fS5kYXRlcGlja2VyIC5kYXRlcGlja2VyLXN3aXRjaCwuZGF0ZXBpY2tlciAubmV4dCwuZGF0ZXBpY2tlciAucHJldiwuZGF0ZXBpY2tlciB0Zm9vdCB0ciB0aHtjdXJzb3I6cG9pbnRlcn0uZGF0ZXBpY2tlciAuZGF0ZXBpY2tlci1zd2l0Y2g6aG92ZXIsLmRhdGVwaWNrZXIgLm5leHQ6aG92ZXIsLmRhdGVwaWNrZXIgLnByZXY6aG92ZXIsLmRhdGVwaWNrZXIgdGZvb3QgdHIgdGg6aG92ZXJ7YmFja2dyb3VuZDojZWVlfS5kYXRlcGlja2VyIC5uZXh0LmRpc2FibGVkLC5kYXRlcGlja2VyIC5wcmV2LmRpc2FibGVke3Zpc2liaWxpdHk6aGlkZGVufS5kYXRlcGlja2VyIC5jd3tmb250LXNpemU6MTBweDt3aWR0aDoxMnB4O3BhZGRpbmc6MCAycHggMCA1cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5pbnB1dC1hcHBlbmQuZGF0ZSAuYWRkLW9uLC5pbnB1dC1wcmVwZW5kLmRhdGUgLmFkZC1vbntjdXJzb3I6cG9pbnRlcn0uaW5wdXQtYXBwZW5kLmRhdGUgLmFkZC1vbiBpLC5pbnB1dC1wcmVwZW5kLmRhdGUgLmFkZC1vbiBpe21hcmdpbi10b3A6M3B4fS5pbnB1dC1kYXRlcmFuZ2UgaW5wdXR7dGV4dC1hbGlnbjpjZW50ZXJ9LmlucHV0LWRhdGVyYW5nZSBpbnB1dDpmaXJzdC1jaGlsZHstd2Via2l0LWJvcmRlci1yYWRpdXM6M3B4IDAgMCAzcHg7LW1vei1ib3JkZXItcmFkaXVzOjNweCAwIDAgM3B4O2JvcmRlci1yYWRpdXM6M3B4IDAgMCAzcHh9LmlucHV0LWRhdGVyYW5nZSBpbnB1dDpsYXN0LWNoaWxkey13ZWJraXQtYm9yZGVyLXJhZGl1czowIDNweCAzcHggMDstbW96LWJvcmRlci1yYWRpdXM6MCAzcHggM3B4IDA7Ym9yZGVyLXJhZGl1czowIDNweCAzcHggMH0uaW5wdXQtZGF0ZXJhbmdlIC5hZGQtb257ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6YXV0bzttaW4td2lkdGg6MTZweDtoZWlnaHQ6MThweDtwYWRkaW5nOjRweCA1cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE4cHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO21hcmdpbi1sZWZ0Oi01cHg7bWFyZ2luLXJpZ2h0Oi01cHh9IiwiLnN3YWwyLXBvcHVwIHtcbiAgJi5zd2FsMi10b2FzdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBncmlkLWNvbHVtbjogMS80ICFpbXBvcnRhbnQ7XG4gICAgZ3JpZC1yb3c6IDEvNCAhaW1wb3J0YW50O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDk5ZnIgMWZyO1xuICAgIHBhZGRpbmc6ICRzd2FsMi10b2FzdC1wYWRkaW5nO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAkc3dhbDItdG9hc3QtYmFja2dyb3VuZDtcbiAgICBib3gtc2hhZG93OiAkc3dhbDItdG9hc3QtYm94LXNoYWRvdztcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuXG4gICAgPiAqIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIH1cblxuICAgIC5zd2FsMi10aXRsZSB7XG4gICAgICBtYXJnaW46ICRzd2FsMi10b2FzdC10aXRsZS1tYXJnaW47XG4gICAgICBwYWRkaW5nOiAkc3dhbDItdG9hc3QtdGl0bGUtcGFkZGluZztcbiAgICAgIGZvbnQtc2l6ZTogJHN3YWwyLXRvYXN0LXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLnN3YWwyLWxvYWRpbmcge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnN3YWwyLWlucHV0IHtcbiAgICAgIGhlaWdodDogJHN3YWwyLXRvYXN0LWlucHV0LWhlaWdodDtcbiAgICAgIG1hcmdpbjogJHN3YWwyLXRvYXN0LWlucHV0LW1hcmdpbjtcbiAgICAgIGZvbnQtc2l6ZTogJHN3YWwyLXRvYXN0LWlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAuc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIGZvbnQtc2l6ZTogJHN3YWwyLXRvYXN0LXZhbGlkYXRpb24tZm9udC1zaXplO1xuICAgIH1cblxuICAgIC5zd2FsMi1mb290ZXIge1xuICAgICAgbWFyZ2luOiAkc3dhbDItdG9hc3QtZm9vdGVyLW1hcmdpbjtcbiAgICAgIHBhZGRpbmc6ICRzd2FsMi10b2FzdC1mb290ZXItbWFyZ2luO1xuICAgICAgZm9udC1zaXplOiAkc3dhbDItdG9hc3QtZm9vdGVyLWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAuc3dhbDItY2xvc2Uge1xuICAgICAgZ3JpZC1jb2x1bW46IDMvMztcbiAgICAgIGdyaWQtcm93OiAxLzk5O1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgd2lkdGg6ICRzd2FsMi10b2FzdC1jbG9zZS1idXR0b24td2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzd2FsMi10b2FzdC1jbG9zZS1idXR0b24taGVpZ2h0O1xuICAgICAgbWFyZ2luOiAkc3dhbDItdG9hc3QtY2xvc2UtYnV0dG9uLW1hcmdpbjtcbiAgICAgIGZvbnQtc2l6ZTogJHN3YWwyLXRvYXN0LWNsb3NlLWJ1dHRvbi1mb250LXNpemU7XG4gICAgfVxuXG4gICAgLnN3YWwyLWh0bWwtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogJHN3YWwyLXRvYXN0LWh0bWwtY29udGFpbmVyLW1hcmdpbjtcbiAgICAgIHBhZGRpbmc6ICRzd2FsMi10b2FzdC1odG1sLWNvbnRhaW5lci1wYWRkaW5nO1xuICAgICAgZm9udC1zaXplOiAkc3dhbDItdG9hc3QtaHRtbC1jb250YWluZXItZm9udC1zaXplO1xuICAgICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcblxuICAgICAgJjplbXB0eSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN3YWwyLWxvYWRlciB7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGdyaWQtcm93OiAxLzk5O1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIGhlaWdodDogMmVtO1xuICAgICAgbWFyZ2luOiAuMjVlbTtcbiAgICB9XG5cbiAgICAuc3dhbDItaWNvbiB7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGdyaWQtcm93OiAxLzk5O1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIG1pbi13aWR0aDogMmVtO1xuICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICBtYXJnaW46IDAgLjVlbSAwIDA7XG5cbiAgICAgIC5zd2FsMi1pY29uLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6ICRzd2FsMi10b2FzdC1pY29uLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG5cbiAgICAgICYuc3dhbDItc3VjY2VzcyB7XG4gICAgICAgIC5zd2FsMi1zdWNjZXNzLXJpbmcge1xuICAgICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi1lcnJvciB7XG4gICAgICAgIFtjbGFzc149J3N3YWwyLXgtbWFyay1saW5lJ10ge1xuICAgICAgICAgIHRvcDogLjg3NWVtO1xuICAgICAgICAgIHdpZHRoOiAxLjM3NWVtO1xuXG4gICAgICAgICAgJltjbGFzcyQ9J2xlZnQnXSB7XG4gICAgICAgICAgICBsZWZ0OiAuMzEyNWVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICZbY2xhc3MkPSdyaWdodCddIHtcbiAgICAgICAgICAgIHJpZ2h0OiAuMzEyNWVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zd2FsMi1hY3Rpb25zIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1hcmdpbi10b3A6IC41ZW07XG4gICAgICBwYWRkaW5nOiAwIC41ZW07XG4gICAgfVxuXG4gICAgLnN3YWwyLXN0eWxlZCB7XG4gICAgICBtYXJnaW46IC4yNWVtIC41ZW07XG4gICAgICBwYWRkaW5nOiAuNGVtIC42ZW07XG4gICAgICBmb250LXNpemU6ICRzd2FsMi10b2FzdC1idXR0b25zLWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAuc3dhbDItc3VjY2VzcyB7XG4gICAgICBib3JkZXItY29sb3I6ICRzd2FsMi1zdWNjZXNzO1xuXG4gICAgICBbY2xhc3NePSdzd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmUnXSB7IC8vIEVtdWxhdGUgbW92aW5nIGNpcmN1bGFyIGxpbmVcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMS42ZW07XG4gICAgICAgIGhlaWdodDogM2VtO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgICAmW2NsYXNzJD0nbGVmdCddIHtcbiAgICAgICAgICB0b3A6IC0uOGVtO1xuICAgICAgICAgIGxlZnQ6IC0uNWVtO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMmVtIDJlbTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0ZW0gMCAwIDRlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZbY2xhc3MkPSdyaWdodCddIHtcbiAgICAgICAgICB0b3A6IC0uMjVlbTtcbiAgICAgICAgICBsZWZ0OiAuOTM3NWVtO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMS41ZW07XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCA0ZW0gNGVtIDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnN3YWwyLXN1Y2Nlc3MtcmluZyB7XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgfVxuXG4gICAgICAuc3dhbDItc3VjY2Vzcy1maXgge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IC40Mzc1ZW07XG4gICAgICAgIHdpZHRoOiAuNDM3NWVtO1xuICAgICAgICBoZWlnaHQ6IDIuNjg3NWVtO1xuICAgICAgfVxuXG4gICAgICBbY2xhc3NePSdzd2FsMi1zdWNjZXNzLWxpbmUnXSB7XG4gICAgICAgIGhlaWdodDogLjMxMjVlbTtcblxuICAgICAgICAmW2NsYXNzJD0ndGlwJ10ge1xuICAgICAgICAgIHRvcDogMS4xMjVlbTtcbiAgICAgICAgICBsZWZ0OiAuMTg3NWVtO1xuICAgICAgICAgIHdpZHRoOiAuNzVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZbY2xhc3MkPSdsb25nJ10ge1xuICAgICAgICAgIHRvcDogLjkzNzVlbTtcbiAgICAgICAgICByaWdodDogLjE4NzVlbTtcbiAgICAgICAgICB3aWR0aDogMS4zNzVlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnN3YWwyLWljb24tc2hvdyB7XG4gICAgICAgIEBpZiAkc3dhbDItaWNvbi1hbmltYXRpb25zIHtcbiAgICAgICAgICAuc3dhbDItc3VjY2Vzcy1saW5lLXRpcCB7XG4gICAgICAgICAgICBhbmltYXRpb246IHN3YWwyLXRvYXN0LWFuaW1hdGUtc3VjY2Vzcy1saW5lLXRpcCAuNzVzO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zd2FsMi1zdWNjZXNzLWxpbmUtbG9uZyB7XG4gICAgICAgICAgICBhbmltYXRpb246IHN3YWwyLXRvYXN0LWFuaW1hdGUtc3VjY2Vzcy1saW5lLWxvbmcgLjc1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN3YWwyLXNob3cge1xuICAgICAgYW5pbWF0aW9uOiAkc3dhbDItdG9hc3Qtc2hvdy1hbmltYXRpb247XG4gICAgfVxuXG4gICAgJi5zd2FsMi1oaWRlIHtcbiAgICAgIGFuaW1hdGlvbjogJHN3YWwyLXRvYXN0LWhpZGUtYW5pbWF0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiJHN3YWwyLXdoaXRlOiAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kc3dhbDItYmxhY2s6ICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRzd2FsMi1vdXRsaW5lLWNvbG9yOiByZ2JhKDEwMCwgMTUwLCAyMDAsIC41KSAhZGVmYXVsdDtcblxuLy8gQ09OVEFJTkVSXG4kc3dhbDItY29udGFpbmVyLXBhZGRpbmc6IC42MjVlbSAhZGVmYXVsdDtcblxuLy8gUE9QVVBcbiRzd2FsMi13aWR0aDogMzJlbSAhZGVmYXVsdDtcbiRzd2FsMi1wYWRkaW5nOiAwIDAgMS4yNWVtICFkZWZhdWx0O1xuJHN3YWwyLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRzd2FsMi1jb2xvcjogbGlnaHRlbigkc3dhbDItYmxhY2ssIDMzKSAhZGVmYXVsdDtcbiRzd2FsMi1ib3JkZXItcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG4kc3dhbDItYm94LXNoYWRvdzogI2Q5ZDlkOSAhZGVmYXVsdDtcblxuLy8gQU5JTUFUSU9OU1xuJHN3YWwyLXNob3ctYW5pbWF0aW9uOiBzd2FsMi1zaG93IC4zcyAhZGVmYXVsdDtcbiRzd2FsMi1oaWRlLWFuaW1hdGlvbjogc3dhbDItaGlkZSAuMTVzIGZvcndhcmRzICFkZWZhdWx0O1xuXG4vLyBCQUNLR1JPVU5EXG4kc3dhbDItYmFja2dyb3VuZDogJHN3YWwyLXdoaXRlICFkZWZhdWx0O1xuXG4vLyBUWVBPR1JBUEhZXG4kc3dhbDItZm9udDogaW5oZXJpdCAhZGVmYXVsdDtcbiRzd2FsMi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vIEJBQ0tEUk9QXG4kc3dhbDItYmFja2Ryb3A6IHJnYmEoJHN3YWwyLWJsYWNrLCAuNCkgIWRlZmF1bHQ7XG4kc3dhbDItYmFja2Ryb3AtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMXMgIWRlZmF1bHQ7XG5cbi8vIElDT05TXG4kc3dhbDItaWNvbi1zaXplOiA1ZW0gIWRlZmF1bHQ7XG4kc3dhbDItaWNvbi1hbmltYXRpb25zOiB0cnVlICFkZWZhdWx0O1xuJHN3YWwyLWljb24tbWFyZ2luOiAyLjVlbSBhdXRvIC42ZW0gIWRlZmF1bHQ7XG4kc3dhbDItaWNvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiRzd2FsMi1pY29uLWZvbnQtc2l6ZTogMy43NWVtICFkZWZhdWx0O1xuJHN3YWwyLWljb24tYm9yZGVyLWNvbG9yOiAjMDAwICFkZWZhdWx0O1xuJHN3YWwyLWljb24tem9vbTogbnVsbCAhZGVmYXVsdDtcbiRzd2FsMi1zdWNjZXNzOiAjYTVkYzg2ICFkZWZhdWx0O1xuJHN3YWwyLXN1Y2Nlc3MtYm9yZGVyOiByZ2JhKCRzd2FsMi1zdWNjZXNzLCAuMykgIWRlZmF1bHQ7XG4kc3dhbDItZXJyb3I6ICNmMjc0NzQgIWRlZmF1bHQ7XG4kc3dhbDItd2FybmluZzogI2Y4YmI4NiAhZGVmYXVsdDtcbiRzd2FsMi1pbmZvOiAjM2ZjM2VlICFkZWZhdWx0O1xuJHN3YWwyLXF1ZXN0aW9uOiAjODdhZGJkICFkZWZhdWx0O1xuXG4vLyBJTUFHRVxuJHN3YWwyLWltYWdlLW1hcmdpbjogMmVtIGF1dG8gMWVtICFkZWZhdWx0O1xuXG4vLyBUSVRMRVxuJHN3YWwyLXRpdGxlLXBvc2l0aW9uOiByZWxhdGl2ZSAhZGVmYXVsdDtcbiRzd2FsMi10aXRsZS1tYXgtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4kc3dhbDItdGl0bGUtbWFyZ2luOiAwICFkZWZhdWx0O1xuJHN3YWwyLXRpdGxlLXBhZGRpbmc6IC44ZW0gMWVtIDAgIWRlZmF1bHQ7XG4kc3dhbDItdGl0bGUtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG4kc3dhbDItdGl0bGUtZm9udC1zaXplOiAxLjg3NWVtICFkZWZhdWx0O1xuJHN3YWwyLXRpdGxlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG4kc3dhbDItdGl0bGUtdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLyBIVE1MIENPTlRBSU5FUlxuJHN3YWwyLWh0bWwtY29udGFpbmVyLWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xuJHN3YWwyLWh0bWwtY29udGFpbmVyLW1hcmdpbjogMWVtIDEuNmVtIC4zZW0gIWRlZmF1bHQ7XG4kc3dhbDItaHRtbC1jb250YWluZXItcGFkZGluZzogMCAhZGVmYXVsdDtcbiRzd2FsMi1odG1sLWNvbnRhaW5lci1vdmVyZmxvdzogYXV0byAhZGVmYXVsdDtcbiRzd2FsMi1odG1sLWNvbnRhaW5lci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcbiRzd2FsMi1odG1sLWNvbnRhaW5lci1mb250LXNpemU6IDEuMTI1ZW0gIWRlZmF1bHQ7XG4kc3dhbDItaHRtbC1jb250YWluZXItZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRzd2FsMi1odG1sLWNvbnRhaW5lci1saW5lLWhlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJHN3YWwyLWh0bWwtY29udGFpbmVyLXRleHQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRzd2FsMi1odG1sLWNvbnRhaW5lci13b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWRlZmF1bHQ7XG4kc3dhbDItaHRtbC1jb250YWluZXItd29yZC1icmVhazogYnJlYWstd29yZCAhZGVmYXVsdDtcblxuLy8gSU5QVVRcbiRzd2FsMi1pbnB1dC1tYXJnaW46IDFlbSAyZW0gM3B4ICFkZWZhdWx0O1xuJHN3YWwyLWlucHV0LXdpZHRoOiBhdXRvICFkZWZhdWx0O1xuJHN3YWwyLWlucHV0LWhlaWdodDogMi42MjVlbSAhZGVmYXVsdDtcbiRzd2FsMi1pbnB1dC1wYWRkaW5nOiAwIC43NWVtICFkZWZhdWx0O1xuJHN3YWwyLWlucHV0LWJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0ZW4oJHN3YWwyLWJsYWNrLCA4NSkgIWRlZmF1bHQ7XG4kc3dhbDItaW5wdXQtYm9yZGVyLXJhZGl1czogLjE4NzVlbSAhZGVmYXVsdDtcbiRzd2FsMi1pbnB1dC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgkc3dhbDItYmxhY2ssIC4wNiksIDAgMCAwIDNweCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzd2FsMi1pbnB1dC1mb250LXNpemU6IDEuMTI1ZW0gIWRlZmF1bHQ7XG4kc3dhbDItaW5wdXQtYmFja2dyb3VuZDogaW5oZXJpdCAhZGVmYXVsdDtcbiRzd2FsMi1pbnB1dC1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcbiRzd2FsMi1pbnB1dC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjFzLCBib3gtc2hhZG93IC4xcyAhZGVmYXVsdDtcblxuLy8gSU5QVVQ6Rk9DVVNcbiRzd2FsMi1pbnB1dC1mb2N1cy1ib3JkZXI6IDFweCBzb2xpZCAjYjRkYmVkICFkZWZhdWx0O1xuJHN3YWwyLWlucHV0LWZvY3VzLW91dGxpbmU6IG5vbmUgIWRlZmF1bHQ7XG4kc3dhbDItaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoJHN3YWwyLWJsYWNrLCAuMDYpLCAwIDAgMCAzcHggJHN3YWwyLW91dGxpbmUtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIFRFWFRBUkVBIFNQRUNJRklDIFZBUklBQkxFU1xuJHN3YWwyLXRleHRhcmVhLWhlaWdodDogNi43NWVtICFkZWZhdWx0O1xuJHN3YWwyLXRleHRhcmVhLXBhZGRpbmc6IC43NWVtICFkZWZhdWx0O1xuXG4vLyBJTlBVVCBMQUJFTFxuJHN3YWwyLWlucHV0LWxhYmVsLW1hcmdpbjogMWVtIGF1dG8gMCAhZGVmYXVsdDtcbiRzd2FsMi1pbnB1dC1sYWJlbC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhZGVmYXVsdDtcblxuLy8gVkFMSURBVElPTiBNRVNTQUdFXG4kc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlLWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG4kc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlLWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xuJHN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZS1tYXJnaW46IDFlbSAwIDAgIWRlZmF1bHQ7XG4kc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlLXBhZGRpbmc6IC42MjVlbSAhZGVmYXVsdDtcbiRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDogbGlnaHRlbigkc3dhbDItYmxhY2ssIDk0KSAhZGVmYXVsdDtcbiRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtY29sb3I6IGxpZ2h0ZW4oJHN3YWwyLWJsYWNrLCA0MCkgIWRlZmF1bHQ7XG4kc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogMWVtICFkZWZhdWx0O1xuJHN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZS1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xuJHN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZS1pY29uLWJhY2tncm91bmQ6ICRzd2FsMi1lcnJvciAhZGVmYXVsdDtcbiRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtaWNvbi1jb2xvcjogJHN3YWwyLXdoaXRlICFkZWZhdWx0O1xuJHN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZS1pY29uLXpvb206IG51bGwgIWRlZmF1bHQ7XG5cbi8vIFBST0dSRVNTIFNURVBTXG4kc3dhbDItcHJvZ3Jlc3Mtc3RlcHMtZmxleC13cmFwOiB3cmFwICFkZWZhdWx0O1xuJHN3YWwyLXByb2dyZXNzLXN0ZXBzLWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG4kc3dhbDItcHJvZ3Jlc3Mtc3RlcHMtbWF4LXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJHN3YWwyLXByb2dyZXNzLXN0ZXBzLWJhY2tncm91bmQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4kc3dhbDItcHJvZ3Jlc3Mtc3RlcHMtbWFyZ2luOiAxLjI1ZW0gYXV0byAhZGVmYXVsdDtcbiRzd2FsMi1wcm9ncmVzcy1zdGVwcy1wYWRkaW5nOiAwICFkZWZhdWx0O1xuJHN3YWwyLXByb2dyZXNzLXN0ZXBzLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG4kc3dhbDItcHJvZ3Jlc3Mtc3RlcHMtZGlzdGFuY2U6IDIuNWVtICFkZWZhdWx0O1xuJHN3YWwyLXByb2dyZXNzLXN0ZXAtd2lkdGg6IDJlbTtcbiRzd2FsMi1wcm9ncmVzcy1zdGVwLWhlaWdodDogMmVtO1xuJHN3YWwyLXByb2dyZXNzLXN0ZXAtYm9yZGVyLXJhZGl1czogMmVtO1xuJHN3YWwyLXByb2dyZXNzLXN0ZXAtYmFja2dyb3VuZDogI2FkZDhlNiAhZGVmYXVsdDtcbiRzd2FsMi1wcm9ncmVzcy1zdGVwLWNvbG9yOiAkc3dhbDItd2hpdGUgIWRlZmF1bHQ7XG4kc3dhbDItYWN0aXZlLXN0ZXAtYmFja2dyb3VuZDogIzI3NzhjNCAhZGVmYXVsdDtcbiRzd2FsMi1hY3RpdmUtc3RlcC1jb2xvcjogJHN3YWwyLXdoaXRlICFkZWZhdWx0O1xuXG4vLyBGT09URVJcbiRzd2FsMi1mb290ZXItbWFyZ2luOiAxZW0gMCAwICFkZWZhdWx0O1xuJHN3YWwyLWZvb3Rlci1wYWRkaW5nOiAxZW0gMWVtIDAgIWRlZmF1bHQ7XG4kc3dhbDItZm9vdGVyLWJvcmRlci1jb2xvcjogI2VlZSAhZGVmYXVsdDtcbiRzd2FsMi1mb290ZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG4kc3dhbDItZm9vdGVyLWZvbnQtc2l6ZTogMWVtICFkZWZhdWx0O1xuXG4vLyBUSU1FUiBQT0dSRVNTIEJBUlxuJHN3YWwyLXRpbWVyLXByb2dyZXNzLWJhci1oZWlnaHQ6IC4yNWVtO1xuJHN3YWwyLXRpbWVyLXByb2dyZXNzLWJhci1iYWNrZ3JvdW5kOiByZ2JhKCRzd2FsMi1ibGFjaywgLjIpICFkZWZhdWx0O1xuXG4vLyBDTE9TRSBCVVRUT05cbiRzd2FsMi1jbG9zZS1idXR0b24tanVzdGlmeS1zZWxmOiBlbmQgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xuJHN3YWwyLWNsb3NlLWJ1dHRvbi13aWR0aDogMS4yZW0gIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLWhlaWdodDogMS4yZW0gIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLXBvc2l0aW9uOiBudWxsICFkZWZhdWx0O1xuJHN3YWwyLWNsb3NlLWJ1dHRvbi1nYXA6IDAgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLXRyYW5zaXRpb246IGNvbG9yIC4xcywgYm94LXNoYWRvdyAuMXMgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRzd2FsMi1jbG9zZS1idXR0b24tYm9yZGVyLXJhZGl1czogJHN3YWwyLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLW91dGxpbmU6IG51bGwgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHN3YWwyLWNsb3NlLWJ1dHRvbi1jb2xvcjogI2NjYyAhZGVmYXVsdDtcbiRzd2FsMi1jbG9zZS1idXR0b24tZm9udC1mYW1pbHk6IHNlcmlmICFkZWZhdWx0O1xuJHN3YWwyLWNsb3NlLWJ1dHRvbi1mb250LXNpemU6IDIuNWVtICFkZWZhdWx0O1xuJHN3YWwyLWNsb3NlLWJ1dHRvbi1ib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIENMT1NFIEJVVFRPTjpIT1ZFUlxuJHN3YWwyLWNsb3NlLWJ1dHRvbi1ob3Zlci10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLWhvdmVyLWNvbG9yOiAkc3dhbDItZXJyb3IgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBDTE9TRSBCVVRUT046Rk9DVVNcbiRzd2FsMi1jbG9zZS1idXR0b24tZm9jdXMtb3V0bGluZTogbm9uZSAhZGVmYXVsdDtcbiRzd2FsMi1jbG9zZS1idXR0b24tZm9jdXMtYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4ICRzd2FsMi1vdXRsaW5lLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBBQ1RJT05TXG4kc3dhbDItYWN0aW9ucy1mbGV4LXdyYXA6IHdyYXAgIWRlZmF1bHQ7XG4kc3dhbDItYWN0aW9ucy1hbGlnbi1pdGVtczogY2VudGVyICFkZWZhdWx0O1xuJHN3YWwyLWFjdGlvbnMtanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWRlZmF1bHQ7XG4kc3dhbDItYWN0aW9ucy13aWR0aDogYXV0byAhZGVmYXVsdDtcbiRzd2FsMi1hY3Rpb25zLW1hcmdpbjogMS4yNWVtIGF1dG8gMCAhZGVmYXVsdDtcbiRzd2FsMi1hY3Rpb25zLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbi8vIENPTU1PTiBWQVJJQUJMRVMgRk9SIEFMTCBBQ1RJT04gQlVUVE9OU1xuJHN3YWwyLWJ1dHRvbi1tYXJnaW46IC4zMTI1ZW0gIWRlZmF1bHQ7XG4kc3dhbDItYnV0dG9uLXBhZGRpbmc6IC42MjVlbSAxLjFlbSAhZGVmYXVsdDtcbiRzd2FsMi1idXR0b24tdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMXMgIWRlZmF1bHQ7XG4kc3dhbDItYnV0dG9uLWJveC1zaGFkb3c6IDAgMCAwIDNweCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzd2FsMi1idXR0b24tZm9udC13ZWlnaHQ6IDUwMCAhZGVmYXVsdDtcbiRzd2FsMi1idXR0b24tZGFya2VuLWhvdmVyOiByZ2JhKCRzd2FsMi1ibGFjaywgLjEpICFkZWZhdWx0O1xuJHN3YWwyLWJ1dHRvbi1kYXJrZW4tYWN0aXZlOiByZ2JhKCRzd2FsMi1ibGFjaywgLjIpICFkZWZhdWx0O1xuJHN3YWwyLWJ1dHRvbi1mb2N1cy1vdXRsaW5lOiBub25lICFkZWZhdWx0O1xuJHN3YWwyLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAzcHggJHN3YWwyLW91dGxpbmUtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIENPTkZJUk0gQlVUVE9OXG4kc3dhbDItY29uZmlybS1idXR0b24tb3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4kc3dhbDItY29uZmlybS1idXR0b24tYm9yZGVyOiAwICFkZWZhdWx0O1xuJHN3YWwyLWNvbmZpcm0tYnV0dG9uLWJvcmRlci1yYWRpdXM6IC4yNWVtICFkZWZhdWx0O1xuJHN3YWwyLWNvbmZpcm0tYnV0dG9uLWJhY2tncm91bmQtY29sb3I6ICM3MDY2ZTAgIWRlZmF1bHQ7XG4kc3dhbDItY29uZmlybS1idXR0b24tY29sb3I6ICRzd2FsMi13aGl0ZSAhZGVmYXVsdDtcbiRzd2FsMi1jb25maXJtLWJ1dHRvbi1mb250LXNpemU6IDFlbSAhZGVmYXVsdDtcbiRzd2FsMi1jb25maXJtLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgkc3dhbDItY29uZmlybS1idXR0b24tYmFja2dyb3VuZC1jb2xvciwgLjUpICFkZWZhdWx0O1xuXG4vLyBERU5ZIEJVVFRPTlxuJHN3YWwyLWRlbnktYnV0dG9uLW9yZGVyOiBudWxsICFkZWZhdWx0O1xuJHN3YWwyLWRlbnktYnV0dG9uLWJvcmRlcjogMCAhZGVmYXVsdDtcbiRzd2FsMi1kZW55LWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAuMjVlbSAhZGVmYXVsdDtcbiRzd2FsMi1kZW55LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNzQxICFkZWZhdWx0O1xuJHN3YWwyLWRlbnktYnV0dG9uLWNvbG9yOiAkc3dhbDItd2hpdGUgIWRlZmF1bHQ7XG4kc3dhbDItZGVueS1idXR0b24tZm9udC1zaXplOiAxZW0gIWRlZmF1bHQ7XG4kc3dhbDItZGVueS1idXR0b24tZm9jdXMtYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoJHN3YWwyLWRlbnktYnV0dG9uLWJhY2tncm91bmQtY29sb3IsIC41KSAhZGVmYXVsdDtcblxuLy8gQ0FOQ0VMIEJVVFRPTlxuJHN3YWwyLWNhbmNlbC1idXR0b24tb3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4kc3dhbDItY2FuY2VsLWJ1dHRvbi1ib3JkZXI6IDAgIWRlZmF1bHQ7XG4kc3dhbDItY2FuY2VsLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAuMjVlbSAhZGVmYXVsdDtcbiRzd2FsMi1jYW5jZWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3I6ICM2ZTc4ODEgIWRlZmF1bHQ7XG4kc3dhbDItY2FuY2VsLWJ1dHRvbi1jb2xvcjogJHN3YWwyLXdoaXRlICFkZWZhdWx0O1xuJHN3YWwyLWNhbmNlbC1idXR0b24tZm9udC1zaXplOiAxZW0gIWRlZmF1bHQ7XG4kc3dhbDItY2FuY2VsLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgkc3dhbDItY2FuY2VsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLCAuNSkgIWRlZmF1bHQ7XG5cbi8vIExPQURFUlxuJHN3YWwyLWxvYWRlci1hbGlnbi1pdGVtczogY2VudGVyICFkZWZhdWx0O1xuJHN3YWwyLWxvYWRlci1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhZGVmYXVsdDtcbiRzd2FsMi1sb2FkZXItd2lkdGg6IDIuMmVtICFkZWZhdWx0O1xuJHN3YWwyLWxvYWRlci1oZWlnaHQ6IDIuMmVtICFkZWZhdWx0O1xuJHN3YWwyLWxvYWRlci1tYXJnaW46IDAgMS44NzVlbSAhZGVmYXVsdDtcbiRzd2FsMi1sb2FkZXItYW5pbWF0aW9uOiBzd2FsMi1yb3RhdGUtbG9hZGluZyAxLjVzIGxpbmVhciAwcyBpbmZpbml0ZSBub3JtYWwgIWRlZmF1bHQ7XG4kc3dhbDItbG9hZGVyLWJvcmRlci13aWR0aDogLjI1ZW0gIWRlZmF1bHQ7XG4kc3dhbDItbG9hZGVyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kc3dhbDItbG9hZGVyLWJvcmRlci1yYWRpdXM6IDEwMCUgIWRlZmF1bHQ7XG4kc3dhbDItbG9hZGVyLWJvcmRlci1jb2xvcjogIzI3NzhjNCB0cmFuc3BhcmVudCAjMjc3OGM0IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBUT0FTVFNcbiRzd2FsMi10b2FzdC1zaG93LWFuaW1hdGlvbjogc3dhbDItdG9hc3Qtc2hvdyAuNXMgIWRlZmF1bHQ7XG4kc3dhbDItdG9hc3QtaGlkZS1hbmltYXRpb246IHN3YWwyLXRvYXN0LWhpZGUgLjFzIGZvcndhcmRzICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC1ib3gtc2hhZG93OlxuICAwIDAgMXB4IGhzbCgwZGVnIDAlIDAlIC8gMC4wNzUpLFxuICAwIDFweCAycHggaHNsKDBkZWcgMCUgMCUgLyAwLjA3NSksXG4gIDFweCAycHggNHB4IGhzbCgwZGVnIDAlIDAlIC8gMC4wNzUpLFxuICAxcHggM3B4IDhweCBoc2woMGRlZyAwJSAwJSAvIDAuMDc1KSxcbiAgMnB4IDRweCAxNnB4IGhzbCgwZGVnIDAlIDAlIC8gMC4wNzUpICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWJhY2tncm91bmQ6ICRzd2FsMi13aGl0ZSAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC1jbG9zZS1idXR0b24td2lkdGg6IC44ZW0gIWRlZmF1bHQ7XG4kc3dhbDItdG9hc3QtY2xvc2UtYnV0dG9uLWhlaWdodDogLjhlbSAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC1jbG9zZS1idXR0b24tbWFyZ2luOiAwICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWNsb3NlLWJ1dHRvbi1mb250LXNpemU6IDJlbSAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC13aWR0aDogMzYwcHggIWRlZmF1bHQ7XG4kc3dhbDItdG9hc3QtcGFkZGluZzogMWVtICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LXRpdGxlLW1hcmdpbjogLjVlbSAxZW0gIWRlZmF1bHQ7XG4kc3dhbDItdG9hc3QtdGl0bGUtcGFkZGluZzogMCAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC10aXRsZS1mb250LXNpemU6IDFlbSAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC1pY29uLWZvbnQtc2l6ZTogMS44ZW0gIWRlZmF1bHQ7XG4kc3dhbDItdG9hc3QtaHRtbC1jb250YWluZXItbWFyZ2luOiAuNWVtIDFlbSAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC1odG1sLWNvbnRhaW5lci1wYWRkaW5nOiAwICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWh0bWwtY29udGFpbmVyLWZvbnQtc2l6ZTogMWVtICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWlucHV0LWhlaWdodDogMmVtICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWlucHV0LW1hcmdpbjogLjVlbSAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC1pbnB1dC1mb250LXNpemU6IDFlbSAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC12YWxpZGF0aW9uLWZvbnQtc2l6ZTogMWVtICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWJ1dHRvbnMtZm9udC1zaXplOiAxZW0gIWRlZmF1bHQ7XG4kc3dhbDItdG9hc3QtZm9vdGVyLW1hcmdpbjogLjVlbSAwIDAgIWRlZmF1bHQ7XG4kc3dhbDItdG9hc3QtZm9vdGVyLXBhZGRpbmc6IC41ZW0gMCAwICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWZvb3Rlci1mb250LXNpemU6IC44ZW0gIWRlZmF1bHQ7XG4iLCIuc3dhbDItcG9wdXAuc3dhbDItdG9hc3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBncmlkLWNvbHVtbjogMS80ICFpbXBvcnRhbnQ7XG4gIGdyaWQtcm93OiAxLzQgIWltcG9ydGFudDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgOTlmciAxZnI7XG4gIHBhZGRpbmc6IDFlbTtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IGhzbGEoMCwgMCUsIDAlLCAwLjA3NSksIDAgMXB4IDJweCBoc2xhKDAsIDAlLCAwJSwgMC4wNzUpLCAxcHggMnB4IDRweCBoc2xhKDAsIDAlLCAwJSwgMC4wNzUpLCAxcHggM3B4IDhweCBoc2xhKDAsIDAlLCAwJSwgMC4wNzUpLCAycHggNHB4IDE2cHggaHNsYSgwLCAwJSwgMCUsIDAuMDc1KTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cbi5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCA+ICoge1xuICBncmlkLWNvbHVtbjogMjtcbn1cbi5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItdGl0bGUge1xuICBtYXJnaW46IDAuNWVtIDFlbTtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIHRleHQtYWxpZ246IGluaXRpYWw7XG59XG4uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWxvYWRpbmcge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaW5wdXQge1xuICBoZWlnaHQ6IDJlbTtcbiAgbWFyZ2luOiAwLjVlbTtcbiAgZm9udC1zaXplOiAxZW07XG59XG4uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1mb290ZXIge1xuICBtYXJnaW46IDAuNWVtIDAgMDtcbiAgcGFkZGluZzogMC41ZW0gMCAwO1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuLnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1jbG9zZSB7XG4gIGdyaWQtY29sdW1uOiAzLzM7XG4gIGdyaWQtcm93OiAxLzk5O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHdpZHRoOiAwLjhlbTtcbiAgaGVpZ2h0OiAwLjhlbTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDJlbTtcbn1cbi5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaHRtbC1jb250YWluZXIge1xuICBtYXJnaW46IDAuNWVtIDFlbTtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIHRleHQtYWxpZ246IGluaXRpYWw7XG59XG4uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWh0bWwtY29udGFpbmVyOmVtcHR5IHtcbiAgcGFkZGluZzogMDtcbn1cbi5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItbG9hZGVyIHtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiAxLzk5O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHdpZHRoOiAyZW07XG4gIGhlaWdodDogMmVtO1xuICBtYXJnaW46IDAuMjVlbTtcbn1cbi5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaWNvbiB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMS85OTtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB3aWR0aDogMmVtO1xuICBtaW4td2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIG1hcmdpbjogMCAwLjVlbSAwIDA7XG59XG4uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWljb24gLnN3YWwyLWljb24tY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS44ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3MgLnN3YWwyLXN1Y2Nlc3MtcmluZyB7XG4gIHdpZHRoOiAyZW07XG4gIGhlaWdodDogMmVtO1xufVxuLnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1pY29uLnN3YWwyLWVycm9yIFtjbGFzc149c3dhbDIteC1tYXJrLWxpbmVdIHtcbiAgdG9wOiAwLjg3NWVtO1xuICB3aWR0aDogMS4zNzVlbTtcbn1cbi5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaWNvbi5zd2FsMi1lcnJvciBbY2xhc3NePXN3YWwyLXgtbWFyay1saW5lXVtjbGFzcyQ9bGVmdF0ge1xuICBsZWZ0OiAwLjMxMjVlbTtcbn1cbi5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaWNvbi5zd2FsMi1lcnJvciBbY2xhc3NePXN3YWwyLXgtbWFyay1saW5lXVtjbGFzcyQ9cmlnaHRdIHtcbiAgcmlnaHQ6IDAuMzEyNWVtO1xufVxuLnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1hY3Rpb25zIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIHBhZGRpbmc6IDAgMC41ZW07XG59XG4uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN0eWxlZCB7XG4gIG1hcmdpbjogMC4yNWVtIDAuNWVtO1xuICBwYWRkaW5nOiAwLjRlbSAwLjZlbTtcbiAgZm9udC1zaXplOiAxZW07XG59XG4uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3Mge1xuICBib3JkZXItY29sb3I6ICNhNWRjODY7XG59XG4uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmVdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMS42ZW07XG4gIGhlaWdodDogM2VtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbi5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZV1bY2xhc3MkPWxlZnRdIHtcbiAgdG9wOiAtMC44ZW07XG4gIGxlZnQ6IC0wLjVlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMmVtIDJlbTtcbiAgYm9yZGVyLXJhZGl1czogNGVtIDAgMCA0ZW07XG59XG4uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmVdW2NsYXNzJD1yaWdodF0ge1xuICB0b3A6IC0wLjI1ZW07XG4gIGxlZnQ6IDAuOTM3NWVtO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEuNWVtO1xuICBib3JkZXItcmFkaXVzOiAwIDRlbSA0ZW0gMDtcbn1cbi5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItc3VjY2VzcyAuc3dhbDItc3VjY2Vzcy1yaW5nIHtcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG59XG4uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3MgLnN3YWwyLXN1Y2Nlc3MtZml4IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwLjQzNzVlbTtcbiAgd2lkdGg6IDAuNDM3NWVtO1xuICBoZWlnaHQ6IDIuNjg3NWVtO1xufVxuLnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1saW5lXSB7XG4gIGhlaWdodDogMC4zMTI1ZW07XG59XG4uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWxpbmVdW2NsYXNzJD10aXBdIHtcbiAgdG9wOiAxLjEyNWVtO1xuICBsZWZ0OiAwLjE4NzVlbTtcbiAgd2lkdGg6IDAuNzVlbTtcbn1cbi5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtbGluZV1bY2xhc3MkPWxvbmddIHtcbiAgdG9wOiAwLjkzNzVlbTtcbiAgcmlnaHQ6IDAuMTg3NWVtO1xuICB3aWR0aDogMS4zNzVlbTtcbn1cbi5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItc3VjY2Vzcy5zd2FsMi1pY29uLXNob3cgLnN3YWwyLXN1Y2Nlc3MtbGluZS10aXAge1xuICBhbmltYXRpb246IHN3YWwyLXRvYXN0LWFuaW1hdGUtc3VjY2Vzcy1saW5lLXRpcCAwLjc1cztcbn1cbi5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItc3VjY2Vzcy5zd2FsMi1pY29uLXNob3cgLnN3YWwyLXN1Y2Nlc3MtbGluZS1sb25nIHtcbiAgYW5pbWF0aW9uOiBzd2FsMi10b2FzdC1hbmltYXRlLXN1Y2Nlc3MtbGluZS1sb25nIDAuNzVzO1xufVxuLnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0LnN3YWwyLXNob3cge1xuICBhbmltYXRpb246IHN3YWwyLXRvYXN0LXNob3cgMC41cztcbn1cbi5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdC5zd2FsMi1oaWRlIHtcbiAgYW5pbWF0aW9uOiBzd2FsMi10b2FzdC1oaWRlIDAuMXMgZm9yd2FyZHM7XG59XG5cbi5zd2FsMi1jb250YWluZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwNjA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJ0b3Atc3RhcnQgICAgIHRvcCAgICAgICAgICAgIHRvcC1lbmRcIiBcImNlbnRlci1zdGFydCAgY2VudGVyICAgICAgICAgY2VudGVyLWVuZFwiIFwiYm90dG9tLXN0YXJ0ICBib3R0b20tY2VudGVyICBib3R0b20tZW5kXCI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KG1pbi1jb250ZW50LCBhdXRvKSBtaW5tYXgobWluLWNvbnRlbnQsIGF1dG8pIG1pbm1heChtaW4tY29udGVudCwgYXV0byk7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMC42MjVlbTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbi5zd2FsMi1jb250YWluZXIuc3dhbDItYmFja2Ryb3Atc2hvdywgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ub2FuaW1hdGlvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cbi5zd2FsMi1jb250YWluZXIuc3dhbDItYmFja2Ryb3AtaGlkZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4uc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1zdGFydCwgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXItc3RhcnQsIC5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tLXN0YXJ0IHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBhdXRvIGF1dG87XG59XG4uc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcCwgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXIsIC5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpIGF1dG87XG59XG4uc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1lbmQsIC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLWVuZCwgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tZW5kIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gbWlubWF4KDAsIDFmcik7XG59XG4uc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1zdGFydCA+IC5zd2FsMi1wb3B1cCB7XG4gIGFsaWduLXNlbGY6IHN0YXJ0O1xufVxuLnN3YWwyLWNvbnRhaW5lci5zd2FsMi10b3AgPiAuc3dhbDItcG9wdXAge1xuICBncmlkLWNvbHVtbjogMjtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIGp1c3RpZnktc2VsZjogY2VudGVyO1xufVxuLnN3YWwyLWNvbnRhaW5lci5zd2FsMi10b3AtZW5kID4gLnN3YWwyLXBvcHVwLCAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1yaWdodCA+IC5zd2FsMi1wb3B1cCB7XG4gIGdyaWQtY29sdW1uOiAzO1xuICBhbGlnbi1zZWxmOiBzdGFydDtcbiAganVzdGlmeS1zZWxmOiBlbmQ7XG59XG4uc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1zdGFydCA+IC5zd2FsMi1wb3B1cCwgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXItbGVmdCA+IC5zd2FsMi1wb3B1cCB7XG4gIGdyaWQtcm93OiAyO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4uc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlciA+IC5zd2FsMi1wb3B1cCB7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMjtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbn1cbi5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLWVuZCA+IC5zd2FsMi1wb3B1cCwgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXItcmlnaHQgPiAuc3dhbDItcG9wdXAge1xuICBncmlkLWNvbHVtbjogMztcbiAgZ3JpZC1yb3c6IDI7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAganVzdGlmeS1zZWxmOiBlbmQ7XG59XG4uc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1zdGFydCA+IC5zd2FsMi1wb3B1cCwgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tbGVmdCA+IC5zd2FsMi1wb3B1cCB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMztcbiAgYWxpZ24tc2VsZjogZW5kO1xufVxuLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20gPiAuc3dhbDItcG9wdXAge1xuICBncmlkLWNvbHVtbjogMjtcbiAgZ3JpZC1yb3c6IDM7XG4gIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBlbmQ7XG59XG4uc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1lbmQgPiAuc3dhbDItcG9wdXAsIC5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tLXJpZ2h0ID4gLnN3YWwyLXBvcHVwIHtcbiAgZ3JpZC1jb2x1bW46IDM7XG4gIGdyaWQtcm93OiAzO1xuICBhbGlnbi1zZWxmOiBlbmQ7XG4gIGp1c3RpZnktc2VsZjogZW5kO1xufVxuLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LXJvdyA+IC5zd2FsMi1wb3B1cCwgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWZ1bGxzY3JlZW4gPiAuc3dhbDItcG9wdXAge1xuICBncmlkLWNvbHVtbjogMS80O1xuICB3aWR0aDogMTAwJTtcbn1cbi5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4gPiAuc3dhbDItcG9wdXAsIC5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1mdWxsc2NyZWVuID4gLnN3YWwyLXBvcHVwIHtcbiAgZ3JpZC1yb3c6IDEvNDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cbi5zd2FsMi1jb250YWluZXIuc3dhbDItbm8tdHJhbnNpdGlvbiB7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnN3YWwyLXBvcHVwIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxMDAlKTtcbiAgd2lkdGg6IDMyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAwIDEuMjVlbTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjNTQ1NDU0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnN3YWwyLXBvcHVwOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5zd2FsMi1wb3B1cC5zd2FsMi1sb2FkaW5nIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuXG4uc3dhbDItdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjhlbSAxZW0gMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS44NzVlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4uc3dhbDItYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHotaW5kZXg6IDE7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEuMjVlbSBhdXRvIDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uc3dhbDItYWN0aW9uczpub3QoLnN3YWwyLWxvYWRpbmcpIC5zd2FsMi1zdHlsZWRbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC40O1xufVxuLnN3YWwyLWFjdGlvbnM6bm90KC5zd2FsMi1sb2FkaW5nKSAuc3dhbDItc3R5bGVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMC4xKSwgcmdiYSgwLCAwLCAwLCAwLjEpKTtcbn1cbi5zd2FsMi1hY3Rpb25zOm5vdCguc3dhbDItbG9hZGluZykgLnN3YWwyLXN0eWxlZDphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjIpLCByZ2JhKDAsIDAsIDAsIDAuMikpO1xufVxuXG4uc3dhbDItbG9hZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyLjJlbTtcbiAgaGVpZ2h0OiAyLjJlbTtcbiAgbWFyZ2luOiAwIDEuODc1ZW07XG4gIGFuaW1hdGlvbjogc3dhbDItcm90YXRlLWxvYWRpbmcgMS41cyBsaW5lYXIgMHMgaW5maW5pdGUgbm9ybWFsO1xuICBib3JkZXItd2lkdGg6IDAuMjVlbTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm9yZGVyLWNvbG9yOiAjMjc3OGM0IHRyYW5zcGFyZW50ICMyNzc4YzQgdHJhbnNwYXJlbnQ7XG59XG5cbi5zd2FsMi1zdHlsZWQge1xuICBtYXJnaW46IDAuMzEyNWVtO1xuICBwYWRkaW5nOiAwLjYyNWVtIDEuMWVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXM7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCB0cmFuc3BhcmVudDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5zd2FsMi1zdHlsZWQ6bm90KFtkaXNhYmxlZF0pIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnN3YWwyLXN0eWxlZC5zd2FsMi1jb25maXJtIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG4gIGJhY2tncm91bmQ6IGluaXRpYWw7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MDY2ZTA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDFlbTtcbn1cbi5zd2FsMi1zdHlsZWQuc3dhbDItY29uZmlybTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDExMiwgMTAyLCAyMjQsIDAuNSk7XG59XG4uc3dhbDItc3R5bGVkLnN3YWwyLWRlbnkge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbiAgYmFja2dyb3VuZDogaW5pdGlhbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzc0MTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnN3YWwyLXN0eWxlZC5zd2FsMi1kZW55OmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjIwLCA1NSwgNjUsIDAuNSk7XG59XG4uc3dhbDItc3R5bGVkLnN3YWwyLWNhbmNlbCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICBiYWNrZ3JvdW5kOiBpbml0aWFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmU3ODgxO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxZW07XG59XG4uc3dhbDItc3R5bGVkLnN3YWwyLWNhbmNlbDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDExMCwgMTIwLCAxMjksIDAuNSk7XG59XG4uc3dhbDItc3R5bGVkLnN3YWwyLWRlZmF1bHQtb3V0bGluZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDEwMCwgMTUwLCAyMDAsIDAuNSk7XG59XG4uc3dhbDItc3R5bGVkOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5zd2FsMi1zdHlsZWQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG59XG5cbi5zd2FsMi1mb290ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAxZW0gMCAwO1xuICBwYWRkaW5nOiAxZW0gMWVtIDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi5zd2FsMi10aW1lci1wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBncmlkLWNvbHVtbjogYXV0byAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG59XG5cbi5zd2FsMi10aW1lci1wcm9ncmVzcy1iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjI1ZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLnN3YWwyLWltYWdlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDJlbSBhdXRvIDFlbTtcbn1cblxuLnN3YWwyLWNsb3NlIHtcbiAgei1pbmRleDogMjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxLjJlbTtcbiAgaGVpZ2h0OiAxLjJlbTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAtMS4yZW07XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMsIGJveC1zaGFkb3cgMC4xcztcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2NjYztcbiAgZm9udC1mYW1pbHk6IHNlcmlmO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDIuNWVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGp1c3RpZnktc2VsZjogZW5kO1xufVxuLnN3YWwyLWNsb3NlOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmMjc0NzQ7XG59XG4uc3dhbDItY2xvc2U6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggcmdiYSgxMDAsIDE1MCwgMjAwLCAwLjUpO1xufVxuLnN3YWwyLWNsb3NlOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4uc3dhbDItaHRtbC1jb250YWluZXIge1xuICB6LWluZGV4OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAxZW0gMS42ZW0gMC4zZW07XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLnN3YWwyLWlucHV0LFxuLnN3YWwyLWZpbGUsXG4uc3dhbDItdGV4dGFyZWEsXG4uc3dhbDItc2VsZWN0LFxuLnN3YWwyLXJhZGlvLFxuLnN3YWwyLWNoZWNrYm94IHtcbiAgbWFyZ2luOiAxZW0gMmVtIDNweDtcbn1cblxuLnN3YWwyLWlucHV0LFxuLnN3YWwyLWZpbGUsXG4uc3dhbDItdGV4dGFyZWEge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogYXV0bztcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMXMsIGJveC1zaGFkb3cgMC4xcztcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZDlkOTtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1ZW07XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDYpLCAwIDAgMCAzcHggdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMTI1ZW07XG59XG4uc3dhbDItaW5wdXQuc3dhbDItaW5wdXRlcnJvcixcbi5zd2FsMi1maWxlLnN3YWwyLWlucHV0ZXJyb3IsXG4uc3dhbDItdGV4dGFyZWEuc3dhbDItaW5wdXRlcnJvciB7XG4gIGJvcmRlci1jb2xvcjogI2YyNzQ3NCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMnB4ICNmMjc0NzQgIWltcG9ydGFudDtcbn1cbi5zd2FsMi1pbnB1dDpmb2N1cyxcbi5zd2FsMi1maWxlOmZvY3VzLFxuLnN3YWwyLXRleHRhcmVhOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2I0ZGJlZDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNiksIDAgMCAwIDNweCByZ2JhKDEwMCwgMTUwLCAyMDAsIDAuNSk7XG59XG4uc3dhbDItaW5wdXQ6OnBsYWNlaG9sZGVyLFxuLnN3YWwyLWZpbGU6OnBsYWNlaG9sZGVyLFxuLnN3YWwyLXRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2NjO1xufVxuXG4uc3dhbDItcmFuZ2Uge1xuICBtYXJnaW46IDFlbSAyZW0gM3B4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLnN3YWwyLXJhbmdlIGlucHV0IHtcbiAgd2lkdGg6IDgwJTtcbn1cbi5zd2FsMi1yYW5nZSBvdXRwdXQge1xuICB3aWR0aDogMjAlO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnN3YWwyLXJhbmdlIGlucHV0LFxuLnN3YWwyLXJhbmdlIG91dHB1dCB7XG4gIGhlaWdodDogMi42MjVlbTtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBsaW5lLWhlaWdodDogMi42MjVlbTtcbn1cblxuLnN3YWwyLWlucHV0IHtcbiAgaGVpZ2h0OiAyLjYyNWVtO1xuICBwYWRkaW5nOiAwIDAuNzVlbTtcbn1cblxuLnN3YWwyLWZpbGUge1xuICB3aWR0aDogNzUlO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMTI1ZW07XG59XG5cbi5zd2FsMi10ZXh0YXJlYSB7XG4gIGhlaWdodDogNi43NWVtO1xuICBwYWRkaW5nOiAwLjc1ZW07XG59XG5cbi5zd2FsMi1zZWxlY3Qge1xuICBtaW4td2lkdGg6IDUwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjM3NWVtIDAuNjI1ZW07XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMTI1ZW07XG59XG5cbi5zd2FsMi1yYWRpbyxcbi5zd2FsMi1jaGVja2JveCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi5zd2FsMi1yYWRpbyBsYWJlbCxcbi5zd2FsMi1jaGVja2JveCBsYWJlbCB7XG4gIG1hcmdpbjogMCAwLjZlbTtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xufVxuLnN3YWwyLXJhZGlvIGlucHV0LFxuLnN3YWwyLWNoZWNrYm94IGlucHV0IHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbjogMCAwLjRlbTtcbn1cblxuLnN3YWwyLWlucHV0LWxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMWVtIGF1dG8gMDtcbn1cblxuLnN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDFlbSAwIDA7XG4gIHBhZGRpbmc6IDAuNjI1ZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbi5zd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIVwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgbWluLXdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgbWFyZ2luOiAwIDAuNjI1ZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNzQ3NDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3dhbDItaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogNWVtO1xuICBoZWlnaHQ6IDVlbTtcbiAgbWFyZ2luOiAyLjVlbSBhdXRvIDAuNmVtO1xuICBib3JkZXI6IDAuMjVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItY29sb3I6ICMwMDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogNWVtO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnN3YWwyLWljb24gLnN3YWwyLWljb24tY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMy43NWVtO1xufVxuLnN3YWwyLWljb24uc3dhbDItZXJyb3Ige1xuICBib3JkZXItY29sb3I6ICNmMjc0NzQ7XG4gIGNvbG9yOiAjZjI3NDc0O1xufVxuLnN3YWwyLWljb24uc3dhbDItZXJyb3IgLnN3YWwyLXgtbWFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1ncm93OiAxO1xufVxuLnN3YWwyLWljb24uc3dhbDItZXJyb3IgW2NsYXNzXj1zd2FsMi14LW1hcmstbGluZV0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIuMzEyNWVtO1xuICB3aWR0aDogMi45Mzc1ZW07XG4gIGhlaWdodDogMC4zMTI1ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1ZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjc0NzQ7XG59XG4uc3dhbDItaWNvbi5zd2FsMi1lcnJvciBbY2xhc3NePXN3YWwyLXgtbWFyay1saW5lXVtjbGFzcyQ9bGVmdF0ge1xuICBsZWZ0OiAxLjA2MjVlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuLnN3YWwyLWljb24uc3dhbDItZXJyb3IgW2NsYXNzXj1zd2FsMi14LW1hcmstbGluZV1bY2xhc3MkPXJpZ2h0XSB7XG4gIHJpZ2h0OiAxZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG4uc3dhbDItaWNvbi5zd2FsMi1lcnJvci5zd2FsMi1pY29uLXNob3cge1xuICBhbmltYXRpb246IHN3YWwyLWFuaW1hdGUtZXJyb3ItaWNvbiAwLjVzO1xufVxuLnN3YWwyLWljb24uc3dhbDItZXJyb3Iuc3dhbDItaWNvbi1zaG93IC5zd2FsMi14LW1hcmsge1xuICBhbmltYXRpb246IHN3YWwyLWFuaW1hdGUtZXJyb3IteC1tYXJrIDAuNXM7XG59XG4uc3dhbDItaWNvbi5zd2FsMi13YXJuaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmFjZWE4O1xuICBjb2xvcjogI2Y4YmI4Njtcbn1cbi5zd2FsMi1pY29uLnN3YWwyLXdhcm5pbmcuc3dhbDItaWNvbi1zaG93IHtcbiAgYW5pbWF0aW9uOiBzd2FsMi1hbmltYXRlLWVycm9yLWljb24gMC41cztcbn1cbi5zd2FsMi1pY29uLnN3YWwyLXdhcm5pbmcuc3dhbDItaWNvbi1zaG93IC5zd2FsMi1pY29uLWNvbnRlbnQge1xuICBhbmltYXRpb246IHN3YWwyLWFuaW1hdGUtaS1tYXJrIDAuNXM7XG59XG4uc3dhbDItaWNvbi5zd2FsMi1pbmZvIHtcbiAgYm9yZGVyLWNvbG9yOiAjOWRlMGY2O1xuICBjb2xvcjogIzNmYzNlZTtcbn1cbi5zd2FsMi1pY29uLnN3YWwyLWluZm8uc3dhbDItaWNvbi1zaG93IHtcbiAgYW5pbWF0aW9uOiBzd2FsMi1hbmltYXRlLWVycm9yLWljb24gMC41cztcbn1cbi5zd2FsMi1pY29uLnN3YWwyLWluZm8uc3dhbDItaWNvbi1zaG93IC5zd2FsMi1pY29uLWNvbnRlbnQge1xuICBhbmltYXRpb246IHN3YWwyLWFuaW1hdGUtaS1tYXJrIDAuOHM7XG59XG4uc3dhbDItaWNvbi5zd2FsMi1xdWVzdGlvbiB7XG4gIGJvcmRlci1jb2xvcjogI2M5ZGFlMTtcbiAgY29sb3I6ICM4N2FkYmQ7XG59XG4uc3dhbDItaWNvbi5zd2FsMi1xdWVzdGlvbi5zd2FsMi1pY29uLXNob3cge1xuICBhbmltYXRpb246IHN3YWwyLWFuaW1hdGUtZXJyb3ItaWNvbiAwLjVzO1xufVxuLnN3YWwyLWljb24uc3dhbDItcXVlc3Rpb24uc3dhbDItaWNvbi1zaG93IC5zd2FsMi1pY29uLWNvbnRlbnQge1xuICBhbmltYXRpb246IHN3YWwyLWFuaW1hdGUtcXVlc3Rpb24tbWFyayAwLjhzO1xufVxuLnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyB7XG4gIGJvcmRlci1jb2xvcjogI2E1ZGM4NjtcbiAgY29sb3I6ICNhNWRjODY7XG59XG4uc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDMuNzVlbTtcbiAgaGVpZ2h0OiA3LjVlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4uc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lXVtjbGFzcyQ9bGVmdF0ge1xuICB0b3A6IC0wLjQzNzVlbTtcbiAgbGVmdDogLTIuMDYzNWVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAzLjc1ZW0gMy43NWVtO1xuICBib3JkZXItcmFkaXVzOiA3LjVlbSAwIDAgNy41ZW07XG59XG4uc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lXVtjbGFzcyQ9cmlnaHRdIHtcbiAgdG9wOiAtMC42ODc1ZW07XG4gIGxlZnQ6IDEuODc1ZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMy43NWVtO1xuICBib3JkZXItcmFkaXVzOiAwIDcuNWVtIDcuNWVtIDA7XG59XG4uc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIC5zd2FsMi1zdWNjZXNzLXJpbmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogLTAuMjVlbTtcbiAgbGVmdDogLTAuMjVlbTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMC4yNWVtIHNvbGlkIHJnYmEoMTY1LCAyMjAsIDEzNCwgMC4zKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuLnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyAuc3dhbDItc3VjY2Vzcy1maXgge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogMC41ZW07XG4gIGxlZnQ6IDEuNjI1ZW07XG4gIHdpZHRoOiAwLjQzNzVlbTtcbiAgaGVpZ2h0OiA1LjYyNWVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuLnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtbGluZV0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBoZWlnaHQ6IDAuMzEyNWVtO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTVkYzg2O1xufVxuLnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtbGluZV1bY2xhc3MkPXRpcF0ge1xuICB0b3A6IDIuODc1ZW07XG4gIGxlZnQ6IDAuODEyNWVtO1xuICB3aWR0aDogMS41NjI1ZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbi5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWxpbmVdW2NsYXNzJD1sb25nXSB7XG4gIHRvcDogMi4zNzVlbTtcbiAgcmlnaHQ6IDAuNWVtO1xuICB3aWR0aDogMi45Mzc1ZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG4uc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzLnN3YWwyLWljb24tc2hvdyAuc3dhbDItc3VjY2Vzcy1saW5lLXRpcCB7XG4gIGFuaW1hdGlvbjogc3dhbDItYW5pbWF0ZS1zdWNjZXNzLWxpbmUtdGlwIDAuNzVzO1xufVxuLnN3YWwyLWljb24uc3dhbDItc3VjY2Vzcy5zd2FsMi1pY29uLXNob3cgLnN3YWwyLXN1Y2Nlc3MtbGluZS1sb25nIHtcbiAgYW5pbWF0aW9uOiBzd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS1sb25nIDAuNzVzO1xufVxuLnN3YWwyLWljb24uc3dhbDItc3VjY2Vzcy5zd2FsMi1pY29uLXNob3cgLnN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZS1yaWdodCB7XG4gIGFuaW1hdGlvbjogc3dhbDItcm90YXRlLXN1Y2Nlc3MtY2lyY3VsYXItbGluZSA0LjI1cyBlYXNlLWluO1xufVxuXG4uc3dhbDItcHJvZ3Jlc3Mtc3RlcHMge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxLjI1ZW0gYXV0bztcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5zd2FsMi1wcm9ncmVzcy1zdGVwcyBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnN3YWwyLXByb2dyZXNzLXN0ZXBzIC5zd2FsMi1wcm9ncmVzcy1zdGVwIHtcbiAgei1pbmRleDogMjA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgYm9yZGVyLXJhZGl1czogMmVtO1xuICBiYWNrZ3JvdW5kOiAjMjc3OGM0O1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnN3YWwyLXByb2dyZXNzLXN0ZXBzIC5zd2FsMi1wcm9ncmVzcy1zdGVwLnN3YWwyLWFjdGl2ZS1wcm9ncmVzcy1zdGVwIHtcbiAgYmFja2dyb3VuZDogIzI3NzhjNDtcbn1cbi5zd2FsMi1wcm9ncmVzcy1zdGVwcyAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC5zd2FsMi1hY3RpdmUtcHJvZ3Jlc3Mtc3RlcCB+IC5zd2FsMi1wcm9ncmVzcy1zdGVwIHtcbiAgYmFja2dyb3VuZDogI2FkZDhlNjtcbiAgY29sb3I6ICNmZmY7XG59XG4uc3dhbDItcHJvZ3Jlc3Mtc3RlcHMgLnN3YWwyLXByb2dyZXNzLXN0ZXAuc3dhbDItYWN0aXZlLXByb2dyZXNzLXN0ZXAgfiAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC1saW5lIHtcbiAgYmFja2dyb3VuZDogI2FkZDhlNjtcbn1cbi5zd2FsMi1wcm9ncmVzcy1zdGVwcyAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC1saW5lIHtcbiAgei1pbmRleDogMTA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMi41ZW07XG4gIGhlaWdodDogMC40ZW07XG4gIG1hcmdpbjogMCAtMXB4O1xuICBiYWNrZ3JvdW5kOiAjMjc3OGM0O1xufVxuXG5bY2xhc3NePXN3YWwyXSB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zd2FsMi1zaG93IHtcbiAgYW5pbWF0aW9uOiBzd2FsMi1zaG93IDAuM3M7XG59XG5cbi5zd2FsMi1oaWRlIHtcbiAgYW5pbWF0aW9uOiBzd2FsMi1oaWRlIDAuMTVzIGZvcndhcmRzO1xufVxuXG4uc3dhbDItbm9hbmltYXRpb24ge1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4uc3dhbDItc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLnN3YWwyLXJ0bCAuc3dhbDItY2xvc2Uge1xuICBtYXJnaW4tcmlnaHQ6IGluaXRpYWw7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnN3YWwyLXJ0bCAuc3dhbDItdGltZXItcHJvZ3Jlc3MtYmFyIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbkBrZXlmcmFtZXMgc3dhbDItdG9hc3Qtc2hvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNjI1ZW0pIHJvdGF0ZVooMmRlZyk7XG4gIH1cbiAgMzMlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlWigtMmRlZyk7XG4gIH1cbiAgNjYlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC4zMTI1ZW0pIHJvdGF0ZVooMmRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZVooMGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc3dhbDItdG9hc3QtaGlkZSB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWigxZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3YWwyLXRvYXN0LWFuaW1hdGUtc3VjY2Vzcy1saW5lLXRpcCB7XG4gIDAlIHtcbiAgICB0b3A6IDAuNTYyNWVtO1xuICAgIGxlZnQ6IDAuMDYyNWVtO1xuICAgIHdpZHRoOiAwO1xuICB9XG4gIDU0JSB7XG4gICAgdG9wOiAwLjEyNWVtO1xuICAgIGxlZnQ6IDAuMTI1ZW07XG4gICAgd2lkdGg6IDA7XG4gIH1cbiAgNzAlIHtcbiAgICB0b3A6IDAuNjI1ZW07XG4gICAgbGVmdDogLTAuMjVlbTtcbiAgICB3aWR0aDogMS42MjVlbTtcbiAgfVxuICA4NCUge1xuICAgIHRvcDogMS4wNjI1ZW07XG4gICAgbGVmdDogMC43NWVtO1xuICAgIHdpZHRoOiAwLjVlbTtcbiAgfVxuICAxMDAlIHtcbiAgICB0b3A6IDEuMTI1ZW07XG4gICAgbGVmdDogMC4xODc1ZW07XG4gICAgd2lkdGg6IDAuNzVlbTtcbiAgfVxufVxuQGtleWZyYW1lcyBzd2FsMi10b2FzdC1hbmltYXRlLXN1Y2Nlc3MtbGluZS1sb25nIHtcbiAgMCUge1xuICAgIHRvcDogMS42MjVlbTtcbiAgICByaWdodDogMS4zNzVlbTtcbiAgICB3aWR0aDogMDtcbiAgfVxuICA2NSUge1xuICAgIHRvcDogMS4yNWVtO1xuICAgIHJpZ2h0OiAwLjkzNzVlbTtcbiAgICB3aWR0aDogMDtcbiAgfVxuICA4NCUge1xuICAgIHRvcDogMC45Mzc1ZW07XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEuMTI1ZW07XG4gIH1cbiAgMTAwJSB7XG4gICAgdG9wOiAwLjkzNzVlbTtcbiAgICByaWdodDogMC4xODc1ZW07XG4gICAgd2lkdGg6IDEuMzc1ZW07XG4gIH1cbn1cbkBrZXlmcmFtZXMgc3dhbDItc2hvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG4gIH1cbiAgNDUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3YWwyLWhpZGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtc3VjY2Vzcy1saW5lLXRpcCB7XG4gIDAlIHtcbiAgICB0b3A6IDEuMTg3NWVtO1xuICAgIGxlZnQ6IDAuMDYyNWVtO1xuICAgIHdpZHRoOiAwO1xuICB9XG4gIDU0JSB7XG4gICAgdG9wOiAxLjA2MjVlbTtcbiAgICBsZWZ0OiAwLjEyNWVtO1xuICAgIHdpZHRoOiAwO1xuICB9XG4gIDcwJSB7XG4gICAgdG9wOiAyLjE4NzVlbTtcbiAgICBsZWZ0OiAtMC4zNzVlbTtcbiAgICB3aWR0aDogMy4xMjVlbTtcbiAgfVxuICA4NCUge1xuICAgIHRvcDogM2VtO1xuICAgIGxlZnQ6IDEuMzEyNWVtO1xuICAgIHdpZHRoOiAxLjA2MjVlbTtcbiAgfVxuICAxMDAlIHtcbiAgICB0b3A6IDIuODEyNWVtO1xuICAgIGxlZnQ6IDAuODEyNWVtO1xuICAgIHdpZHRoOiAxLjU2MjVlbTtcbiAgfVxufVxuQGtleWZyYW1lcyBzd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS1sb25nIHtcbiAgMCUge1xuICAgIHRvcDogMy4zNzVlbTtcbiAgICByaWdodDogMi44NzVlbTtcbiAgICB3aWR0aDogMDtcbiAgfVxuICA2NSUge1xuICAgIHRvcDogMy4zNzVlbTtcbiAgICByaWdodDogMi44NzVlbTtcbiAgICB3aWR0aDogMDtcbiAgfVxuICA4NCUge1xuICAgIHRvcDogMi4xODc1ZW07XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDMuNDM3NWVtO1xuICB9XG4gIDEwMCUge1xuICAgIHRvcDogMi4zNzVlbTtcbiAgICByaWdodDogMC41ZW07XG4gICAgd2lkdGg6IDIuOTM3NWVtO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3YWwyLXJvdGF0ZS1zdWNjZXNzLWNpcmN1bGFyLWxpbmUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuICA1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuICAxMiUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtZXJyb3IteC1tYXJrIHtcbiAgMCUge1xuICAgIG1hcmdpbi10b3A6IDEuNjI1ZW07XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjQpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBtYXJnaW4tdG9wOiAxLjYyNWVtO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC40KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDgwJSB7XG4gICAgbWFyZ2luLXRvcDogLTAuMzc1ZW07XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTtcbiAgfVxuICAxMDAlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBzd2FsMi1hbmltYXRlLWVycm9yLWljb24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDEwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBzd2FsMi1yb3RhdGUtbG9hZGluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtcXVlc3Rpb24tbWFyayB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTM2MGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtaS1tYXJrIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWig0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWigtMjVkZWcpO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWigxNWRlZyk7XG4gICAgb3BhY2l0eTogMC44O1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKC01ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5ib2R5LnN3YWwyLXNob3duOm5vdCguc3dhbDItbm8tYmFja2Ryb3ApOm5vdCguc3dhbDItdG9hc3Qtc2hvd24pIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbmJvZHkuc3dhbDItaGVpZ2h0LWF1dG8ge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbmJvZHkuc3dhbDItbm8tYmFja2Ryb3AgLnN3YWwyLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuYm9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItY29udGFpbmVyIC5zd2FsMi1wb3B1cCB7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG5ib2R5LnN3YWwyLW5vLWJhY2tkcm9wIC5zd2FsMi1jb250YWluZXIgLnN3YWwyLW1vZGFsIHtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuQG1lZGlhIHByaW50IHtcbiAgYm9keS5zd2FsMi1zaG93bjpub3QoLnN3YWwyLW5vLWJhY2tkcm9wKTpub3QoLnN3YWwyLXRvYXN0LXNob3duKSB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsICFpbXBvcnRhbnQ7XG4gIH1cbiAgYm9keS5zd2FsMi1zaG93bjpub3QoLnN3YWwyLW5vLWJhY2tkcm9wKTpub3QoLnN3YWwyLXRvYXN0LXNob3duKSA+IFthcmlhLWhpZGRlbj10cnVlXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBib2R5LnN3YWwyLXNob3duOm5vdCguc3dhbDItbm8tYmFja2Ryb3ApOm5vdCguc3dhbDItdG9hc3Qtc2hvd24pIC5zd2FsMi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgfVxufVxuYm9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDM2MHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbmJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi10b3Age1xuICB0b3A6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuYm9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1lbmQsIGJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi10b3AtcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG59XG5ib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLXN0YXJ0LCBib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLWxlZnQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IDA7XG59XG5ib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLXN0YXJ0LCBib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLWxlZnQge1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuYm9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlciB7XG4gIHRvcDogNTAlO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuYm9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1lbmQsIGJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXItcmlnaHQge1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuYm9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1zdGFydCwgYm9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1sZWZ0IHtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xufVxuYm9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbSB7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5ib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tLWVuZCwgYm9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1yaWdodCB7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogYXV0bztcbn0iLCJAdXNlICdzYXNzOm1hdGgnO1xuXG4uc3dhbDItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDYwO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgJ3RvcC1zdGFydCAgICAgdG9wICAgICAgICAgICAgdG9wLWVuZCdcbiAgICAnY2VudGVyLXN0YXJ0ICBjZW50ZXIgICAgICAgICBjZW50ZXItZW5kJ1xuICAgICdib3R0b20tc3RhcnQgIGJvdHRvbS1jZW50ZXIgIGJvdHRvbS1lbmQnO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heChtaW4tY29udGVudCwgYXV0bykgbWlubWF4KG1pbi1jb250ZW50LCBhdXRvKSBtaW5tYXgobWluLWNvbnRlbnQsIGF1dG8pO1xuICBoZWlnaHQ6IDEwMCU7IC8vIFNhZmFyaVxuICBwYWRkaW5nOiAkc3dhbDItY29udGFpbmVyLXBhZGRpbmc7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogJHN3YWwyLWJhY2tkcm9wLXRyYW5zaXRpb247XG5cbiAgLy8gc3dlZXRhbGVydDIvaXNzdWVzLzkwNVxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgJi5zd2FsMi1iYWNrZHJvcC1zaG93LFxuICAmLnN3YWwyLW5vYW5pbWF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dhbDItYmFja2Ryb3A7XG4gIH1cblxuICAmLnN3YWwyLWJhY2tkcm9wLWhpZGUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLnN3YWwyLXRvcC1zdGFydCxcbiAgJi5zd2FsMi1jZW50ZXItc3RhcnQsXG4gICYuc3dhbDItYm90dG9tLXN0YXJ0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG8gYXV0bztcbiAgfVxuXG4gICYuc3dhbDItdG9wLFxuICAmLnN3YWwyLWNlbnRlcixcbiAgJi5zd2FsMi1ib3R0b20ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICB9XG5cbiAgJi5zd2FsMi10b3AtZW5kLFxuICAmLnN3YWwyLWNlbnRlci1lbmQsXG4gICYuc3dhbDItYm90dG9tLWVuZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gbWlubWF4KDAsIDFmcik7XG4gIH1cblxuICAmLnN3YWwyLXRvcC1zdGFydCA+IC5zd2FsMi1wb3B1cCB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIH1cblxuICAmLnN3YWwyLXRvcCA+IC5zd2FsMi1wb3B1cCB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gIH1cblxuICAmLnN3YWwyLXRvcC1lbmQgPiAuc3dhbDItcG9wdXAsXG4gICYuc3dhbDItdG9wLXJpZ2h0ID4gLnN3YWwyLXBvcHVwIHtcbiAgICBncmlkLWNvbHVtbjogMztcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgfVxuXG4gICYuc3dhbDItY2VudGVyLXN0YXJ0ID4gLnN3YWwyLXBvcHVwLFxuICAmLnN3YWwyLWNlbnRlci1sZWZ0ID4gLnN3YWwyLXBvcHVwIHtcbiAgICBncmlkLXJvdzogMjtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cblxuICAmLnN3YWwyLWNlbnRlciA+IC5zd2FsMi1wb3B1cCB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDI7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICB9XG5cbiAgJi5zd2FsMi1jZW50ZXItZW5kID4gLnN3YWwyLXBvcHVwLFxuICAmLnN3YWwyLWNlbnRlci1yaWdodCA+IC5zd2FsMi1wb3B1cCB7XG4gICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgZ3JpZC1yb3c6IDI7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICB9XG5cbiAgJi5zd2FsMi1ib3R0b20tc3RhcnQgPiAuc3dhbDItcG9wdXAsXG4gICYuc3dhbDItYm90dG9tLWxlZnQgPiAuc3dhbDItcG9wdXAge1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIGdyaWQtcm93OiAzO1xuICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgfVxuXG4gICYuc3dhbDItYm90dG9tID4gLnN3YWwyLXBvcHVwIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMztcbiAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gIH1cblxuICAmLnN3YWwyLWJvdHRvbS1lbmQgPiAuc3dhbDItcG9wdXAsXG4gICYuc3dhbDItYm90dG9tLXJpZ2h0ID4gLnN3YWwyLXBvcHVwIHtcbiAgICBncmlkLWNvbHVtbjogMztcbiAgICBncmlkLXJvdzogMztcbiAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gIH1cblxuICAmLnN3YWwyLWdyb3ctcm93ID4gLnN3YWwyLXBvcHVwLFxuICAmLnN3YWwyLWdyb3ctZnVsbHNjcmVlbiA+IC5zd2FsMi1wb3B1cCB7XG4gICAgZ3JpZC1jb2x1bW46IDEvNDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYuc3dhbDItZ3Jvdy1jb2x1bW4gPiAuc3dhbDItcG9wdXAsXG4gICYuc3dhbDItZ3Jvdy1mdWxsc2NyZWVuID4gLnN3YWwyLXBvcHVwIHtcbiAgICBncmlkLXJvdzogMS80O1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIH1cblxuICAmLnN3YWwyLW5vLXRyYW5zaXRpb24ge1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc3dhbDItcG9wdXAge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDEwMCUpO1xuICB3aWR0aDogJHN3YWwyLXdpZHRoO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRzd2FsMi1wYWRkaW5nO1xuICBib3JkZXI6ICRzd2FsMi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzd2FsMi1ib3JkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dhbDItYmFja2dyb3VuZDtcbiAgY29sb3I6ICRzd2FsMi1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRzd2FsMi1mb250O1xuICBmb250LXNpemU6ICRzd2FsMi1mb250LXNpemU7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICYuc3dhbDItbG9hZGluZyB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICB9XG59XG5cbi5zd2FsMi10aXRsZSB7XG4gIHBvc2l0aW9uOiAkc3dhbDItdGl0bGUtcG9zaXRpb247XG4gIG1heC13aWR0aDogJHN3YWwyLXRpdGxlLW1heC13aWR0aDtcbiAgbWFyZ2luOiAkc3dhbDItdGl0bGUtbWFyZ2luO1xuICBwYWRkaW5nOiAkc3dhbDItdGl0bGUtcGFkZGluZztcbiAgY29sb3I6ICRzd2FsMi10aXRsZS1jb2xvcjtcbiAgZm9udC1zaXplOiAkc3dhbDItdGl0bGUtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJHN3YWwyLXRpdGxlLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LWFsaWduOiAkc3dhbDItdGl0bGUtdGV4dC1hbGlnbjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLnN3YWwyLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICB6LWluZGV4OiAxOyAvLyBwcmV2ZW50IHN1Y2Nlc3MgaWNvbiBmcm9tIG92ZXJsYXBwaW5nIGJ1dHRvbnNcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmxleC13cmFwOiAkc3dhbDItYWN0aW9ucy1mbGV4LXdyYXA7XG4gIGFsaWduLWl0ZW1zOiAkc3dhbDItYWN0aW9ucy1hbGlnbi1pdGVtcztcbiAganVzdGlmeS1jb250ZW50OiAkc3dhbDItYWN0aW9ucy1qdXN0aWZ5LWNvbnRlbnQ7XG4gIHdpZHRoOiAkc3dhbDItYWN0aW9ucy13aWR0aDtcbiAgbWFyZ2luOiAkc3dhbDItYWN0aW9ucy1tYXJnaW47XG4gIHBhZGRpbmc6ICRzd2FsMi1hY3Rpb25zLXBhZGRpbmc7XG5cbiAgJjpub3QoLnN3YWwyLWxvYWRpbmcpIHtcbiAgICAuc3dhbDItc3R5bGVkIHtcbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzd2FsMi1idXR0b24tZGFya2VuLWhvdmVyLCAkc3dhbDItYnV0dG9uLWRhcmtlbi1ob3Zlcik7XG4gICAgICB9XG5cbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzd2FsMi1idXR0b24tZGFya2VuLWFjdGl2ZSwgJHN3YWwyLWJ1dHRvbi1kYXJrZW4tYWN0aXZlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnN3YWwyLWxvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGFsaWduLWl0ZW1zOiAkc3dhbDItbG9hZGVyLWFsaWduLWl0ZW1zO1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICRzd2FsMi1sb2FkZXItanVzdGlmeS1jb250ZW50O1xuICB3aWR0aDogJHN3YWwyLWxvYWRlci13aWR0aDtcbiAgaGVpZ2h0OiAkc3dhbDItbG9hZGVyLWhlaWdodDtcbiAgbWFyZ2luOiAkc3dhbDItbG9hZGVyLW1hcmdpbjtcbiAgYW5pbWF0aW9uOiAkc3dhbDItbG9hZGVyLWFuaW1hdGlvbjtcbiAgYm9yZGVyLXdpZHRoOiAkc3dhbDItbG9hZGVyLWJvcmRlci13aWR0aDtcbiAgYm9yZGVyLXN0eWxlOiAkc3dhbDItbG9hZGVyLWJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLXJhZGl1czogJHN3YWwyLWxvYWRlci1ib3JkZXItcmFkaXVzO1xuICBib3JkZXItY29sb3I6ICRzd2FsMi1sb2FkZXItYm9yZGVyLWNvbG9yO1xufVxuXG4uc3dhbDItc3R5bGVkIHtcbiAgbWFyZ2luOiAkc3dhbDItYnV0dG9uLW1hcmdpbjtcbiAgcGFkZGluZzogJHN3YWwyLWJ1dHRvbi1wYWRkaW5nO1xuICB0cmFuc2l0aW9uOiAkc3dhbDItYnV0dG9uLXRyYW5zaXRpb247XG4gIGJveC1zaGFkb3c6ICRzd2FsMi1idXR0b24tYm94LXNoYWRvdztcbiAgZm9udC13ZWlnaHQ6ICRzd2FsMi1idXR0b24tZm9udC13ZWlnaHQ7XG5cbiAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICYuc3dhbDItY29uZmlybSB7XG4gICAgb3JkZXI6ICRzd2FsMi1jb25maXJtLWJ1dHRvbi1vcmRlcjtcbiAgICBib3JkZXI6ICRzd2FsMi1jb25maXJtLWJ1dHRvbi1ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3YWwyLWNvbmZpcm0tYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogaW5pdGlhbDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3dhbDItY29uZmlybS1idXR0b24tYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogJHN3YWwyLWNvbmZpcm0tYnV0dG9uLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJHN3YWwyLWNvbmZpcm0tYnV0dG9uLWZvbnQtc2l6ZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogJHN3YWwyLWNvbmZpcm0tYnV0dG9uLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJi5zd2FsMi1kZW55IHtcbiAgICBvcmRlcjogJHN3YWwyLWRlbnktYnV0dG9uLW9yZGVyO1xuICAgIGJvcmRlcjogJHN3YWwyLWRlbnktYnV0dG9uLWJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dhbDItZGVueS1idXR0b24tYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiBpbml0aWFsO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzd2FsMi1kZW55LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiAkc3dhbDItZGVueS1idXR0b24tY29sb3I7XG4gICAgZm9udC1zaXplOiAkc3dhbDItZGVueS1idXR0b24tZm9udC1zaXplO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkc3dhbDItZGVueS1idXR0b24tZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmLnN3YWwyLWNhbmNlbCB7XG4gICAgb3JkZXI6ICRzd2FsMi1jYW5jZWwtYnV0dG9uLW9yZGVyO1xuICAgIGJvcmRlcjogJHN3YWwyLWNhbmNlbC1idXR0b24tYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2FsMi1jYW5jZWwtYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogaW5pdGlhbDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3dhbDItY2FuY2VsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiAkc3dhbDItY2FuY2VsLWJ1dHRvbi1jb2xvcjtcbiAgICBmb250LXNpemU6ICRzd2FsMi1jYW5jZWwtYnV0dG9uLWZvbnQtc2l6ZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogJHN3YWwyLWNhbmNlbC1idXR0b24tZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmLnN3YWwyLWRlZmF1bHQtb3V0bGluZSB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkc3dhbDItYnV0dG9uLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogJHN3YWwyLWJ1dHRvbi1mb2N1cy1vdXRsaW5lO1xuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi5zd2FsMi1mb290ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAkc3dhbDItZm9vdGVyLW1hcmdpbjtcbiAgcGFkZGluZzogJHN3YWwyLWZvb3Rlci1wYWRkaW5nO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJHN3YWwyLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIGNvbG9yOiAkc3dhbDItZm9vdGVyLWNvbG9yO1xuICBmb250LXNpemU6ICRzd2FsMi1mb290ZXItZm9udC1zaXplO1xufVxuXG4uc3dhbDItdGltZXItcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgZ3JpZC1jb2x1bW46IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRzd2FsMi1ib3JkZXItcmFkaXVzO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkc3dhbDItYm9yZGVyLXJhZGl1cztcbn1cblxuLnN3YWwyLXRpbWVyLXByb2dyZXNzLWJhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzd2FsMi10aW1lci1wcm9ncmVzcy1iYXItaGVpZ2h0O1xuICBiYWNrZ3JvdW5kOiAkc3dhbDItdGltZXItcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ7XG59XG5cbi5zd2FsMi1pbWFnZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAkc3dhbDItaW1hZ2UtbWFyZ2luO1xufVxuXG4uc3dhbDItY2xvc2Uge1xuICBwb3NpdGlvbjogJHN3YWwyLWNsb3NlLWJ1dHRvbi1wb3NpdGlvbjtcbiAgei1pbmRleDogMjsgLy8gc3dlZXRhbGVydDIvaXNzdWVzLzE2MTdcbiAgYWxpZ24taXRlbXM6ICRzd2FsMi1jbG9zZS1idXR0b24tYWxpZ24taXRlbXM7XG4gIGp1c3RpZnktY29udGVudDogJHN3YWwyLWNsb3NlLWJ1dHRvbi1qdXN0aWZ5LWNvbnRlbnQ7XG4gIHdpZHRoOiAkc3dhbDItY2xvc2UtYnV0dG9uLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2FsMi1jbG9zZS1idXR0b24taGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAkc3dhbDItY2xvc2UtYnV0dG9uLWdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkc3dhbDItY2xvc2UtYnV0dG9uLWdhcDtcbiAgbWFyZ2luLWJvdHRvbTogLSRzd2FsMi1jbG9zZS1idXR0b24taGVpZ2h0O1xuICBwYWRkaW5nOiAkc3dhbDItY2xvc2UtYnV0dG9uLXBhZGRpbmc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246ICRzd2FsMi1jbG9zZS1idXR0b24tdHJhbnNpdGlvbjtcbiAgYm9yZGVyOiAkc3dhbDItY2xvc2UtYnV0dG9uLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHN3YWwyLWNsb3NlLWJ1dHRvbi1ib3JkZXItcmFkaXVzO1xuICBvdXRsaW5lOiAkc3dhbDItY2xvc2UtYnV0dG9uLW91dGxpbmU7XG4gIGJhY2tncm91bmQ6ICRzd2FsMi1jbG9zZS1idXR0b24tYmFja2dyb3VuZDtcbiAgY29sb3I6ICRzd2FsMi1jbG9zZS1idXR0b24tY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkc3dhbDItY2xvc2UtYnV0dG9uLWZvbnQtZmFtaWx5O1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBmb250LXNpemU6ICRzd2FsMi1jbG9zZS1idXR0b24tZm9udC1zaXplO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGp1c3RpZnktc2VsZjogJHN3YWwyLWNsb3NlLWJ1dHRvbi1qdXN0aWZ5LXNlbGY7XG5cbiAgJjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiAkc3dhbDItY2xvc2UtYnV0dG9uLWhvdmVyLXRyYW5zZm9ybTtcbiAgICBiYWNrZ3JvdW5kOiAkc3dhbDItY2xvc2UtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzd2FsMi1jbG9zZS1idXR0b24taG92ZXItY29sb3I7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAkc3dhbDItY2xvc2UtYnV0dG9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogJHN3YWwyLWNsb3NlLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi5zd2FsMi1odG1sLWNvbnRhaW5lciB7XG4gIHotaW5kZXg6IDE7IC8vIHByZXZlbnQgc3VjZXNzIGljb24gb3ZlcmxhcHBpbmcgdGhlIGNvbnRlbnRcbiAganVzdGlmeS1jb250ZW50OiAkc3dhbDItaHRtbC1jb250YWluZXItanVzdGlmeS1jb250ZW50O1xuICBtYXJnaW46ICRzd2FsMi1odG1sLWNvbnRhaW5lci1tYXJnaW47XG4gIHBhZGRpbmc6ICRzd2FsMi1odG1sLWNvbnRhaW5lci1wYWRkaW5nO1xuICBvdmVyZmxvdzogJHN3YWwyLWh0bWwtY29udGFpbmVyLW92ZXJmbG93O1xuICBjb2xvcjogJHN3YWwyLWh0bWwtY29udGFpbmVyLWNvbG9yO1xuICBmb250LXNpemU6ICRzd2FsMi1odG1sLWNvbnRhaW5lci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkc3dhbDItaHRtbC1jb250YWluZXItZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkc3dhbDItaHRtbC1jb250YWluZXItbGluZS1oZWlnaHQ7XG4gIHRleHQtYWxpZ246ICRzd2FsMi1odG1sLWNvbnRhaW5lci10ZXh0LWFsaWduO1xuICB3b3JkLXdyYXA6ICRzd2FsMi1odG1sLWNvbnRhaW5lci13b3JkLXdyYXA7XG4gIHdvcmQtYnJlYWs6ICRzd2FsMi1odG1sLWNvbnRhaW5lci13b3JkLWJyZWFrO1xufVxuXG4uc3dhbDItaW5wdXQsXG4uc3dhbDItZmlsZSxcbi5zd2FsMi10ZXh0YXJlYSxcbi5zd2FsMi1zZWxlY3QsXG4uc3dhbDItcmFkaW8sXG4uc3dhbDItY2hlY2tib3gge1xuICBtYXJnaW46ICRzd2FsMi1pbnB1dC1tYXJnaW47XG59XG5cbi5zd2FsMi1pbnB1dCxcbi5zd2FsMi1maWxlLFxuLnN3YWwyLXRleHRhcmVhIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6ICRzd2FsMi1pbnB1dC13aWR0aDtcbiAgdHJhbnNpdGlvbjogJHN3YWwyLWlucHV0LXRyYW5zaXRpb247XG4gIGJvcmRlcjogJHN3YWwyLWlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHN3YWwyLWlucHV0LWJvcmRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQ6ICRzd2FsMi1pbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc3dhbDItaW5wdXQtYm94LXNoYWRvdztcbiAgY29sb3I6ICRzd2FsMi1pbnB1dC1jb2xvcjtcbiAgZm9udC1zaXplOiAkc3dhbDItaW5wdXQtZm9udC1zaXplO1xuXG4gICYuc3dhbDItaW5wdXRlcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc3dhbDItZXJyb3IgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4ICRzd2FsMi1lcnJvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAkc3dhbDItaW5wdXQtZm9jdXMtYm9yZGVyO1xuICAgIG91dGxpbmU6ICRzd2FsMi1pbnB1dC1mb2N1cy1vdXRsaW5lO1xuICAgIGJveC1zaGFkb3c6ICRzd2FsMi1pbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2NjO1xuICB9XG59XG5cbi5zd2FsMi1yYW5nZSB7XG4gIG1hcmdpbjogJHN3YWwyLWlucHV0LW1hcmdpbjtcbiAgYmFja2dyb3VuZDogJHN3YWwyLWJhY2tncm91bmQ7XG5cbiAgaW5wdXQge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cblxuICBvdXRwdXQge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgY29sb3I6ICRzd2FsMi1pbnB1dC1jb2xvcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIGlucHV0LFxuICBvdXRwdXQge1xuICAgIGhlaWdodDogJHN3YWwyLWlucHV0LWhlaWdodDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogJHN3YWwyLWlucHV0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHN3YWwyLWlucHV0LWhlaWdodDtcbiAgfVxufVxuXG4uc3dhbDItaW5wdXQge1xuICBoZWlnaHQ6ICRzd2FsMi1pbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRzd2FsMi1pbnB1dC1wYWRkaW5nO1xufVxuXG4uc3dhbDItZmlsZSB7XG4gIHdpZHRoOiA3NSU7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGJhY2tncm91bmQ6ICRzd2FsMi1pbnB1dC1iYWNrZ3JvdW5kO1xuICBmb250LXNpemU6ICRzd2FsMi1pbnB1dC1mb250LXNpemU7XG59XG5cbi5zd2FsMi10ZXh0YXJlYSB7XG4gIGhlaWdodDogJHN3YWwyLXRleHRhcmVhLWhlaWdodDtcbiAgcGFkZGluZzogJHN3YWwyLXRleHRhcmVhLXBhZGRpbmc7XG59XG5cbi5zd2FsMi1zZWxlY3Qge1xuICBtaW4td2lkdGg6IDUwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjM3NWVtIDAuNjI1ZW07XG4gIGJhY2tncm91bmQ6ICRzd2FsMi1pbnB1dC1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJHN3YWwyLWlucHV0LWNvbG9yO1xuICBmb250LXNpemU6ICRzd2FsMi1pbnB1dC1mb250LXNpemU7XG59XG5cbi5zd2FsMi1yYWRpbyxcbi5zd2FsMi1jaGVja2JveCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAkc3dhbDItYmFja2dyb3VuZDtcbiAgY29sb3I6ICRzd2FsMi1pbnB1dC1jb2xvcjtcblxuICBsYWJlbCB7XG4gICAgbWFyZ2luOiAwIDAuNmVtO1xuICAgIGZvbnQtc2l6ZTogJHN3YWwyLWlucHV0LWZvbnQtc2l6ZTtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW46IDAgMC40ZW07XG4gIH1cbn1cblxuLnN3YWwyLWlucHV0LWxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiAkc3dhbDItaW5wdXQtbGFiZWwtanVzdGlmeS1jb250ZW50O1xuICBtYXJnaW46ICRzd2FsMi1pbnB1dC1sYWJlbC1tYXJnaW47XG59XG5cbi5zd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICBhbGlnbi1pdGVtczogJHN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZS1hbGlnbi1pdGVtcztcbiAganVzdGlmeS1jb250ZW50OiAkc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlLWp1c3RpZnktY29udGVudDtcbiAgbWFyZ2luOiAkc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlLW1hcmdpbjtcbiAgcGFkZGluZzogJHN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZS1wYWRkaW5nO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAkc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlLWNvbG9yO1xuICBmb250LXNpemU6ICRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJHN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZS1mb250LXdlaWdodDtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICchJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEuNWVtO1xuICAgIG1pbi13aWR0aDogMS41ZW07XG4gICAgaGVpZ2h0OiAxLjVlbTtcbiAgICBtYXJnaW46IDAgMC42MjVlbTtcbiAgICB6b29tOiAkc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlLWljb24tem9vbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZS1pY29uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtaWNvbi1jb2xvcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzEyMzM1ODQxLzEzMzE0MjVcbkBmdW5jdGlvbiBzdHJpcC11bml0cygkbnVtYmVyKSB7XG4gIEByZXR1cm4gbWF0aC5kaXYoJG51bWJlciwgKCRudW1iZXIgKiAwICsgMSkpO1xufVxuJGljb24tem9vbTogbWF0aC5kaXYoc3RyaXAtdW5pdHMoJHN3YWwyLWljb24tc2l6ZSksIDUpO1xuXG4uc3dhbDItaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogJHN3YWwyLWljb24tc2l6ZTtcbiAgaGVpZ2h0OiAkc3dhbDItaWNvbi1zaXplO1xuICBtYXJnaW46ICRzd2FsMi1pY29uLW1hcmdpbjtcbiAgem9vbTogJHN3YWwyLWljb24tem9vbTtcbiAgYm9yZGVyOiAjezAuMjVlbSAqICRpY29uLXpvb219IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci1jb2xvcjogJHN3YWwyLWljb24tYm9yZGVyLWNvbG9yO1xuICBmb250LWZhbWlseTogJHN3YWwyLWljb24tZm9udC1mYW1pbHk7XG4gIGxpbmUtaGVpZ2h0OiAkc3dhbDItaWNvbi1zaXplO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIC5zd2FsMi1pY29uLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6ICRzd2FsMi1pY29uLWZvbnQtc2l6ZTtcbiAgfVxuXG4gICYuc3dhbDItZXJyb3Ige1xuICAgIGJvcmRlci1jb2xvcjogJHN3YWwyLWVycm9yO1xuICAgIGNvbG9yOiAkc3dhbDItZXJyb3I7XG5cbiAgICAuc3dhbDIteC1tYXJrIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgQGlmICRpY29uLXpvb20gIT0gMSB7XG4gICAgICAgIHpvb206ICRpY29uLXpvb207XG4gICAgICB9XG4gICAgfVxuXG4gICAgW2NsYXNzXj0nc3dhbDIteC1tYXJrLWxpbmUnXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMi4zMTI1ZW07XG4gICAgICB3aWR0aDogMi45Mzc1ZW07XG4gICAgICBoZWlnaHQ6IDAuMzEyNWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4xMjVlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzd2FsMi1lcnJvcjtcblxuICAgICAgJltjbGFzcyQ9J2xlZnQnXSB7XG4gICAgICAgIGxlZnQ6IDEuMDYyNWVtO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB9XG5cbiAgICAgICZbY2xhc3MkPSdyaWdodCddIHtcbiAgICAgICAgcmlnaHQ6IDFlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFcnJvciBpY29uIGFuaW1hdGlvblxuICAgICYuc3dhbDItaWNvbi1zaG93IHtcbiAgICAgIEBpZiAkc3dhbDItaWNvbi1hbmltYXRpb25zIHtcbiAgICAgICAgYW5pbWF0aW9uOiBzd2FsMi1hbmltYXRlLWVycm9yLWljb24gMC41cztcblxuICAgICAgICAuc3dhbDIteC1tYXJrIHtcbiAgICAgICAgICBhbmltYXRpb246IHN3YWwyLWFuaW1hdGUtZXJyb3IteC1tYXJrIDAuNXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnN3YWwyLXdhcm5pbmcge1xuICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkc3dhbDItd2FybmluZywgNyk7XG4gICAgY29sb3I6ICRzd2FsMi13YXJuaW5nO1xuXG4gICAgLy8gV2FybmluZyBpY29uIGFuaW1hdGlvblxuICAgICYuc3dhbDItaWNvbi1zaG93IHtcbiAgICAgIEBpZiAkc3dhbDItaWNvbi1hbmltYXRpb25zIHtcbiAgICAgICAgYW5pbWF0aW9uOiBzd2FsMi1hbmltYXRlLWVycm9yLWljb24gMC41cztcblxuICAgICAgICAuc3dhbDItaWNvbi1jb250ZW50IHtcbiAgICAgICAgICBhbmltYXRpb246IHN3YWwyLWFuaW1hdGUtaS1tYXJrIDAuNXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnN3YWwyLWluZm8ge1xuICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkc3dhbDItaW5mbywgMjApO1xuICAgIGNvbG9yOiAkc3dhbDItaW5mbztcblxuICAgIC8vIEluZm8gaWNvbiBhbmltYXRpb25cbiAgICAmLnN3YWwyLWljb24tc2hvdyB7XG4gICAgICBAaWYgJHN3YWwyLWljb24tYW5pbWF0aW9ucyB7XG4gICAgICAgIGFuaW1hdGlvbjogc3dhbDItYW5pbWF0ZS1lcnJvci1pY29uIDAuNXM7XG5cbiAgICAgICAgLnN3YWwyLWljb24tY29udGVudCB7XG4gICAgICAgICAgYW5pbWF0aW9uOiBzd2FsMi1hbmltYXRlLWktbWFyayAwLjhzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zd2FsMi1xdWVzdGlvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRzd2FsMi1xdWVzdGlvbiwgMjApO1xuICAgIGNvbG9yOiAkc3dhbDItcXVlc3Rpb247XG5cbiAgICAvLyBRdWVzdGlvbiBpY29uIGFuaW1hdGlvblxuICAgICYuc3dhbDItaWNvbi1zaG93IHtcbiAgICAgIEBpZiAkc3dhbDItaWNvbi1hbmltYXRpb25zIHtcbiAgICAgICAgYW5pbWF0aW9uOiBzd2FsMi1hbmltYXRlLWVycm9yLWljb24gMC41cztcblxuICAgICAgICAuc3dhbDItaWNvbi1jb250ZW50IHtcbiAgICAgICAgICBhbmltYXRpb246IHN3YWwyLWFuaW1hdGUtcXVlc3Rpb24tbWFyayAwLjhzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zd2FsMi1zdWNjZXNzIHtcbiAgICBib3JkZXItY29sb3I6ICRzd2FsMi1zdWNjZXNzO1xuICAgIGNvbG9yOiAkc3dhbDItc3VjY2VzcztcblxuICAgIFtjbGFzc149J3N3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZSddIHtcbiAgICAgIC8vIEVtdWxhdGUgbW92aW5nIGNpcmN1bGFyIGxpbmVcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAzLjc1ZW07XG4gICAgICBoZWlnaHQ6IDcuNWVtO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAmW2NsYXNzJD0nbGVmdCddIHtcbiAgICAgICAgdG9wOiAtMC40Mzc1ZW07XG4gICAgICAgIGxlZnQ6IC0yLjA2MzVlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMy43NWVtIDMuNzVlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNy41ZW0gMCAwIDcuNWVtO1xuXG4gICAgICAgIEBpZiAkaWNvbi16b29tICE9IDEge1xuICAgICAgICAgIHpvb206ICRpY29uLXpvb207XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJltjbGFzcyQ9J3JpZ2h0J10ge1xuICAgICAgICB0b3A6IC0wLjY4NzVlbTtcbiAgICAgICAgbGVmdDogMS44NzVlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAzLjc1ZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNy41ZW0gNy41ZW0gMDtcblxuICAgICAgICBAaWYgJGljb24tem9vbSAhPSAxIHtcbiAgICAgICAgICB6b29tOiAkaWNvbi16b29tO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN3YWwyLXN1Y2Nlc3MtcmluZyB7XG4gICAgICAvLyBSaW5nXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdG9wOiAtMC4yNWVtO1xuICAgICAgbGVmdDogLTAuMjVlbTtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXI6IDAuMjVlbSBzb2xpZCAkc3dhbDItc3VjY2Vzcy1ib3JkZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgIEBpZiAkaWNvbi16b29tICE9IDEge1xuICAgICAgICB6b29tOiAkaWNvbi16b29tO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zd2FsMi1zdWNjZXNzLWZpeCB7XG4gICAgICAvLyBIaWRlIGNvcm5lcnMgbGVmdCBmcm9tIGFuaW1hdGlvblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogMC41ZW07XG4gICAgICBsZWZ0OiAxLjYyNWVtO1xuICAgICAgd2lkdGg6IDAuNDM3NWVtO1xuICAgICAgaGVpZ2h0OiA1LjYyNWVtO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgQGlmICRpY29uLXpvb20gIT0gMSB7XG4gICAgICAgIHpvb206ICRpY29uLXpvb207XG4gICAgICB9XG4gICAgfVxuXG4gICAgW2NsYXNzXj0nc3dhbDItc3VjY2Vzcy1saW5lJ10ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgaGVpZ2h0OiAwLjMxMjVlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1ZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3dhbDItc3VjY2VzcztcblxuICAgICAgJltjbGFzcyQ9J3RpcCddIHtcbiAgICAgICAgdG9wOiAyLjg3NWVtO1xuICAgICAgICBsZWZ0OiAwLjgxMjVlbTtcbiAgICAgICAgd2lkdGg6IDEuNTYyNWVtO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB9XG5cbiAgICAgICZbY2xhc3MkPSdsb25nJ10ge1xuICAgICAgICB0b3A6IDIuMzc1ZW07XG4gICAgICAgIHJpZ2h0OiAwLjVlbTtcbiAgICAgICAgd2lkdGg6IDIuOTM3NWVtO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGljb24tem9vbSAhPSAxIHtcbiAgICAgICAgem9vbTogJGljb24tem9vbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdWNjZXNzIGljb24gYW5pbWF0aW9uXG4gICAgJi5zd2FsMi1pY29uLXNob3cge1xuICAgICAgQGlmICRzd2FsMi1pY29uLWFuaW1hdGlvbnMge1xuICAgICAgICAuc3dhbDItc3VjY2Vzcy1saW5lLXRpcCB7XG4gICAgICAgICAgYW5pbWF0aW9uOiBzd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS10aXAgMC43NXM7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dhbDItc3VjY2Vzcy1saW5lLWxvbmcge1xuICAgICAgICAgIGFuaW1hdGlvbjogc3dhbDItYW5pbWF0ZS1zdWNjZXNzLWxpbmUtbG9uZyAwLjc1cztcbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmUtcmlnaHQge1xuICAgICAgICAgIGFuaW1hdGlvbjogc3dhbDItcm90YXRlLXN1Y2Nlc3MtY2lyY3VsYXItbGluZSA0LjI1cyBlYXNlLWluO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zd2FsMi1wcm9ncmVzcy1zdGVwcyB7XG4gIGZsZXgtd3JhcDogJHN3YWwyLXByb2dyZXNzLXN0ZXBzLWZsZXgtd3JhcDtcbiAgYWxpZ24taXRlbXM6ICRzd2FsMi1wcm9ncmVzcy1zdGVwcy1hbGlnbi1pdGVtcztcbiAgbWF4LXdpZHRoOiAkc3dhbDItcHJvZ3Jlc3Mtc3RlcHMtbWF4LXdpZHRoO1xuICBtYXJnaW46ICRzd2FsMi1wcm9ncmVzcy1zdGVwcy1tYXJnaW47XG4gIHBhZGRpbmc6ICRzd2FsMi1wcm9ncmVzcy1zdGVwcy1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkc3dhbDItcHJvZ3Jlc3Mtc3RlcHMtYmFja2dyb3VuZDtcbiAgZm9udC13ZWlnaHQ6ICRzd2FsMi1wcm9ncmVzcy1zdGVwcy1mb250LXdlaWdodDtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zd2FsMi1wcm9ncmVzcy1zdGVwIHtcbiAgICB6LWluZGV4OiAyMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogJHN3YWwyLXByb2dyZXNzLXN0ZXAtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dhbDItcHJvZ3Jlc3Mtc3RlcC1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3YWwyLXByb2dyZXNzLXN0ZXAtYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dhbDItYWN0aXZlLXN0ZXAtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN3YWwyLWFjdGl2ZS1zdGVwLWNvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiAkc3dhbDItcHJvZ3Jlc3Mtc3RlcC1oZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJi5zd2FsMi1hY3RpdmUtcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc3dhbDItYWN0aXZlLXN0ZXAtYmFja2dyb3VuZDtcblxuICAgICAgfiAuc3dhbDItcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzd2FsMi1wcm9ncmVzcy1zdGVwLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkc3dhbDItcHJvZ3Jlc3Mtc3RlcC1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC1saW5lIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHN3YWwyLXByb2dyZXNzLXN0ZXAtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC1saW5lIHtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogJHN3YWwyLXByb2dyZXNzLXN0ZXBzLWRpc3RhbmNlO1xuICAgIGhlaWdodDogMC40ZW07XG4gICAgbWFyZ2luOiAwIC0xcHg7XG4gICAgYmFja2dyb3VuZDogJHN3YWwyLWFjdGl2ZS1zdGVwLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuLy8gZ2l0aHViLmNvbS9zd2VldGFsZXJ0Mi9zd2VldGFsZXJ0Mi9pc3N1ZXMvMjY4XG5bY2xhc3NePSdzd2FsMiddIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnN3YWwyLXNob3cge1xuICBhbmltYXRpb246ICRzd2FsMi1zaG93LWFuaW1hdGlvbjtcbn1cblxuLnN3YWwyLWhpZGUge1xuICBhbmltYXRpb246ICRzd2FsMi1oaWRlLWFuaW1hdGlvbjtcbn1cblxuLnN3YWwyLW5vYW5pbWF0aW9uIHtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4uc3dhbDItc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gUmlnaHQtdG8tbGVmdCBzdXBwb3J0XG4uc3dhbDItcnRsIHtcbiAgLnN3YWwyLWNsb3NlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGluaXRpYWw7XG4gICAgbWFyZ2luLWxlZnQ6ICRzd2FsMi1jbG9zZS1idXR0b24tZ2FwO1xuICB9XG5cbiAgLnN3YWwyLXRpbWVyLXByb2dyZXNzLWJhciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuIiwiLy8gQW5pbWF0aW9uc1xuQGtleWZyYW1lcyBzd2FsMi10b2FzdC1zaG93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtLjYyNWVtKSByb3RhdGVaKDJkZWcpO1xuICB9XG5cbiAgMzMlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlWigtMmRlZyk7XG4gIH1cblxuICA2NiUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSguMzEyNWVtKSByb3RhdGVaKDJkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZVooMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2FsMi10b2FzdC1oaWRlIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKDFkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2FsMi10b2FzdC1hbmltYXRlLXN1Y2Nlc3MtbGluZS10aXAge1xuICAwJSB7XG4gICAgdG9wOiAuNTYyNWVtO1xuICAgIGxlZnQ6IC4wNjI1ZW07XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICA1NCUge1xuICAgIHRvcDogLjEyNWVtO1xuICAgIGxlZnQ6IC4xMjVlbTtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdG9wOiAuNjI1ZW07XG4gICAgbGVmdDogLS4yNWVtO1xuICAgIHdpZHRoOiAxLjYyNWVtO1xuICB9XG5cbiAgODQlIHtcbiAgICB0b3A6IDEuMDYyNWVtO1xuICAgIGxlZnQ6IC43NWVtO1xuICAgIHdpZHRoOiAuNWVtO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdG9wOiAxLjEyNWVtO1xuICAgIGxlZnQ6IC4xODc1ZW07XG4gICAgd2lkdGg6IC43NWVtO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dhbDItdG9hc3QtYW5pbWF0ZS1zdWNjZXNzLWxpbmUtbG9uZyB7XG4gIDAlIHtcbiAgICB0b3A6IDEuNjI1ZW07XG4gICAgcmlnaHQ6IDEuMzc1ZW07XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICA2NSUge1xuICAgIHRvcDogMS4yNWVtO1xuICAgIHJpZ2h0OiAuOTM3NWVtO1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgODQlIHtcbiAgICB0b3A6IC45Mzc1ZW07XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEuMTI1ZW07XG4gIH1cblxuICAxMDAlIHtcbiAgICB0b3A6IC45Mzc1ZW07XG4gICAgcmlnaHQ6IC4xODc1ZW07XG4gICAgd2lkdGg6IDEuMzc1ZW07XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ3RvYXN0cy1hbmltYXRpb25zJztcblxuLy8gQXBwZWFyYW5jZSBhbmltYXRpb25cbkBrZXlmcmFtZXMgc3dhbDItc2hvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC43KTtcbiAgfVxuXG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOTUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG4vLyBEaXNwcGVhcmFuY2UgYW5pbWF0aW9uXG5Aa2V5ZnJhbWVzIHN3YWwyLWhpZGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguNSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4vLyBTdWNjZXNzIGljb24gYW5pbWF0aW9uc1xuQGtleWZyYW1lcyBzd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS10aXAge1xuICAwJSB7XG4gICAgdG9wOiAxLjE4NzVlbTtcbiAgICBsZWZ0OiAuMDYyNWVtO1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgNTQlIHtcbiAgICB0b3A6IDEuMDYyNWVtO1xuICAgIGxlZnQ6IC4xMjVlbTtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdG9wOiAyLjE4NzVlbTtcbiAgICBsZWZ0OiAtLjM3NWVtO1xuICAgIHdpZHRoOiAzLjEyNWVtO1xuICB9XG5cbiAgODQlIHtcbiAgICB0b3A6IDNlbTtcbiAgICBsZWZ0OiAxLjMxMjVlbTtcbiAgICB3aWR0aDogMS4wNjI1ZW07XG4gIH1cblxuICAxMDAlIHtcbiAgICB0b3A6IDIuODEyNWVtO1xuICAgIGxlZnQ6IC44MTI1ZW07XG4gICAgd2lkdGg6IDEuNTYyNWVtO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dhbDItYW5pbWF0ZS1zdWNjZXNzLWxpbmUtbG9uZyB7XG4gIDAlIHtcbiAgICB0b3A6IDMuMzc1ZW07XG4gICAgcmlnaHQ6IDIuODc1ZW07XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICA2NSUge1xuICAgIHRvcDogMy4zNzVlbTtcbiAgICByaWdodDogMi44NzVlbTtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIDg0JSB7XG4gICAgdG9wOiAyLjE4NzVlbTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMy40Mzc1ZW07XG4gIH1cblxuICAxMDAlIHtcbiAgICB0b3A6IDIuMzc1ZW07XG4gICAgcmlnaHQ6IC41ZW07XG4gICAgd2lkdGg6IDIuOTM3NWVtO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dhbDItcm90YXRlLXN1Y2Nlc3MtY2lyY3VsYXItbGluZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB9XG5cbiAgNSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIH1cblxuICAxMiUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7XG4gIH1cbn1cblxuLy8gRXJyb3IgaWNvbiBhbmltYXRpb25zXG5Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtZXJyb3IteC1tYXJrIHtcbiAgMCUge1xuICAgIG1hcmdpbi10b3A6IDEuNjI1ZW07XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguNCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgbWFyZ2luLXRvcDogMS42MjVlbTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC40KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgODAlIHtcbiAgICBtYXJnaW4tdG9wOiAtLjM3NWVtO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtZXJyb3ItaWNvbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2FsMi1yb3RhdGUtbG9hZGluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuLy8gUXVlc3Rpb24gbWFyayBhbmltYXRpb25cbkBrZXlmcmFtZXMgc3dhbDItYW5pbWF0ZS1xdWVzdGlvbi1tYXJrIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgtMzYwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgwKTtcbiAgfVxufVxuXG4vLyBJbmZvIGFuZCBXYXJuaW5nIG1hcmsgYW5pbWF0aW9uXG5Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtaS1tYXJrIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWig0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKC0yNWRlZyk7XG4gICAgb3BhY2l0eTogLjQ7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWigxNWRlZyk7XG4gICAgb3BhY2l0eTogLjg7XG4gIH1cblxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWigtNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4iLCIvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMzAyNTAxNjFcbkBtaXhpbiBub3QoJGlnbm9yLWxpc3QuLi4pIHtcbiAgQGlmIChsZW5ndGgoJGlnbm9yLWxpc3QpID09IDEpIHtcbiAgICAkaWdub3ItbGlzdDogbnRoKCRpZ25vci1saXN0LCAxKTtcbiAgfVxuXG4gICRub3Qtb3V0cHV0OiAnJztcblxuICBAZWFjaCAkbm90IGluICRpZ25vci1saXN0IHtcbiAgICAkbm90LW91dHB1dDogJG5vdC1vdXRwdXQgKyAnOm5vdCgjeyRub3R9KSc7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9uby1kdXBsaWNhdGUtZG9sbGFyLXZhcmlhYmxlc1xuICB9XG5cbiAgJiN7JG5vdC1vdXRwdXR9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCAndG9hc3RzLWJvZHknO1xuXG5AbWl4aW4gc3dlZXRhbGVydDItYm9keSgpIHtcbiAgJi5zd2FsMi1zaG93biB7XG4gICAgQGluY2x1ZGUgbm90KCcuc3dhbDItbm8tYmFja2Ryb3AnLCAnLnN3YWwyLXRvYXN0LXNob3duJykge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gbm90IG92ZXJmbG93LXkgYmVjYXVzZSBvZiBTYXJhcmksICMxMjUzXG4gICAgfVxuICB9XG5cbiAgJi5zd2FsMi1oZWlnaHQtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IC8vICM3ODEgIzExMDdcbiAgfVxuXG4gICYuc3dhbDItbm8tYmFja2Ryb3Age1xuICAgIC5zd2FsMi1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAuc3dhbDItcG9wdXAge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgfVxuXG4gICAgICAuc3dhbDItbW9kYWwge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAkc3dhbDItYmFja2Ryb3A7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAmLnN3YWwyLXNob3duIHtcbiAgICAgIEBpbmNsdWRlIG5vdCgnLnN3YWwyLW5vLWJhY2tkcm9wJywgJy5zd2FsMi10b2FzdC1zaG93bicpIHtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgPiBbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2FsMi1jb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIHN3ZWV0YWxlcnQyLXRvYXN0cy1ib2R5KCkge1xuICAmLnN3YWwyLXRvYXN0LXNob3duIHtcbiAgICAuc3dhbDItY29udGFpbmVyIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogJHN3YWwyLXRvYXN0LXdpZHRoO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgJi5zd2FsMi10b3Age1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgfVxuXG4gICAgICAmLnN3YWwyLXRvcC1lbmQsXG4gICAgICAmLnN3YWwyLXRvcC1yaWdodCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi10b3Atc3RhcnQsXG4gICAgICAmLnN3YWwyLXRvcC1sZWZ0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAmLnN3YWwyLWNlbnRlci1zdGFydCxcbiAgICAgICYuc3dhbDItY2VudGVyLWxlZnQge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgfVxuXG4gICAgICAmLnN3YWwyLWNlbnRlciB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgfVxuXG4gICAgICAmLnN3YWwyLWNlbnRlci1lbmQsXG4gICAgICAmLnN3YWwyLWNlbnRlci1yaWdodCB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB9XG5cbiAgICAgICYuc3dhbDItYm90dG9tLXN0YXJ0LFxuICAgICAgJi5zd2FsMi1ib3R0b20tbGVmdCB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi1ib3R0b20ge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgfVxuXG4gICAgICAmLnN3YWwyLWJvdHRvbS1lbmQsXG4gICAgICAmLnN3YWwyLWJvdHRvbS1yaWdodCB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBDSEFSU0VUIFwiVVRGLThcIjtcclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5tYXNrLWhpZGRlbiB7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWFzay1yZWxhdGl2ZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ubWFzay1iYWNrZHJvcCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRib3R0b206IDA7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHR6LWluZGV4OiAxMDAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNjY2M7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdGZpbHRlcjogYWxwaGEob3BhY2l0eSA9IDUwKTtcclxufVxyXG5cclxuLm1hc2staWNvbiB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHotaW5kZXg6IDEwMDE7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0Y3Vyc29yOiB3YWl0O1xyXG59XHJcblxyXG4ubWFzay1iYWNrZHJvcC1maXhlZCB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHotaW5kZXg6IDk5OTk5OTk5OTtcclxufVxyXG5cclxuLm1hc2staWNvbi1maXhlZCB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHotaW5kZXg6IDk5OTk5OTk5OTtcclxufSIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qIFJlc2V0ICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbjpyb290IHtcblx0LS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQ6IFx0XHRcdFx0XHRcdFx0XHRoc2woMCwgMCUsIDk4JSk7XG5cdC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0aHNsKDAsIDAlLCAxMDAlKTtcblx0LS1jay1jb2xvci1iYXNlLWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0aHNsKDIyMCwgNiUsIDgxJSk7XG5cdC0tY2stY29sb3ItYmFzZS1hY3Rpb246IFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgxMDQsIDUwLjIlLCA0Mi41JSk7XG5cdC0tY2stY29sb3ItYmFzZS1mb2N1czogXHRcdFx0XHRcdFx0XHRcdFx0XHRoc2woMjA5LCA5MiUsIDcwJSk7XG5cdC0tY2stY29sb3ItYmFzZS10ZXh0OiBcdFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgwLCAwJSwgMjAlKTtcblx0LS1jay1jb2xvci1iYXNlLWFjdGl2ZTogXHRcdFx0XHRcdFx0XHRcdFx0aHNsKDIxOC4xLCAxMDAlLCA1OCUpO1xuXHQtLWNrLWNvbG9yLWJhc2UtYWN0aXZlLWZvY3VzOlx0XHRcdFx0XHRcdFx0XHRoc2woMjE4LjIsIDEwMCUsIDUyLjUlKTtcblx0LS1jay1jb2xvci1iYXNlLWVycm9yOlx0XHRcdFx0XHRcdFx0XHRcdFx0aHNsKDE1LCAxMDAlLCA0MyUpO1xuXG5cdC8qIC0tIEdlbmVyaWMgY29sb3JzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItZm9jdXMtYm9yZGVyLWNvb3JkaW5hdGVzOiBcdFx0XHRcdFx0XHQyMTgsIDgxLjglLCA1Ni45JTtcblx0LS1jay1jb2xvci1mb2N1cy1ib3JkZXI6IFx0XHRcdFx0XHRcdFx0XHRcdGhzbCh2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXItY29vcmRpbmF0ZXMpKTtcblx0LS1jay1jb2xvci1mb2N1cy1vdXRlci1zaGFkb3c6XHRcdFx0XHRcdFx0XHRcdGhzbCgyMTIuNCwgODkuMyUsIDg5JSk7XG5cdC0tY2stY29sb3ItZm9jdXMtZGlzYWJsZWQtc2hhZG93Olx0XHRcdFx0XHRcdFx0aHNsYSgyMDksIDkwJSwgNzIlLC4zKTtcblx0LS1jay1jb2xvci1mb2N1cy1lcnJvci1zaGFkb3c6XHRcdFx0XHRcdFx0XHRcdGhzbGEoOSwxMDAlLDU2JSwuMyk7XG5cdC0tY2stY29sb3ItdGV4dDogXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtdGV4dCk7XG5cdC0tY2stY29sb3Itc2hhZG93LWRyb3A6IFx0XHRcdFx0XHRcdFx0XHRcdGhzbGEoMCwgMCUsIDAlLCAwLjE1KTtcblx0LS1jay1jb2xvci1zaGFkb3ctZHJvcC1hY3RpdmU6XHRcdFx0XHRcdFx0XHRcdGhzbGEoMCwgMCUsIDAlLCAwLjIpO1xuXHQtLWNrLWNvbG9yLXNoYWRvdy1pbm5lcjogXHRcdFx0XHRcdFx0XHRcdFx0aHNsYSgwLCAwJSwgMCUsIDAuMSk7XG5cblx0LyogLS0gQnV0dG9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHR0cmFuc3BhcmVudDtcblx0LS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiBcdFx0XHRcdGhzbCgwLCAwJSwgOTQuMSUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiBcdFx0XHRcdGhzbCgwLCAwJSwgOTQuMSUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWRpc2FibGVkLWJhY2tncm91bmQ6IFx0XHRcdFx0dHJhbnNwYXJlbnQ7XG5cblx0LS1jay1jb2xvci1idXR0b24tb24tYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0XHRoc2woMjEyLCAxMDAlLCA5Ny4xJSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLW9uLWhvdmVyLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdGhzbCgyMTEuNywgMTAwJSwgOTIuOSUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1vbi1hY3RpdmUtYmFja2dyb3VuZDogXHRcdFx0XHRcdGhzbCgyMTEuNywgMTAwJSwgOTIuOSUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1vbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0aHNsKDIxMSwgMTUlLCA5NSUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1vbi1jb2xvcjpcdFx0XHRcdFx0XHRcdFx0XHRoc2woMjE4LjEsIDEwMCUsIDU4JSk7XG5cblxuXHQtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1hY3Rpb24pO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24taG92ZXItYmFja2dyb3VuZDogXHRcdFx0XHRcdGhzbCgxMDQsIDUzLjIlLCA0MC4yJSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi1hY3RpdmUtYmFja2dyb3VuZDogXHRcdFx0XHRoc2woMTA0LCA1My4yJSwgNDAuMiUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tZGlzYWJsZWQtYmFja2dyb3VuZDogXHRcdFx0XHRoc2woMTA0LCA0NCUsIDU4JSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi10ZXh0OiBcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuXHQtLWNrLWNvbG9yLWJ1dHRvbi1zYXZlOiBcdFx0XHRcdFx0XHRcdFx0XHRoc2woMTIwLCAxMDAlLCAyNyUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1jYW5jZWw6IFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgxNSwgMTAwJSwgNDMlKTtcblxuXHQtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24tb2ZmLWJhY2tncm91bmQ6XHRcdFx0XHRcdGhzbCgwLCAwJSwgNTcuNiUpO1xuXHQtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24tb2ZmLWhvdmVyLWJhY2tncm91bmQ6XHRcdFx0XHRoc2woMCwgMCUsIDQ5JSk7XG5cdC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1vbi1iYWNrZ3JvdW5kOlx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tYmFja2dyb3VuZCk7XG5cdC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1vbi1ob3Zlci1iYWNrZ3JvdW5kOlx0XHRcdFx0aHNsKDEwNCwgNTMuMiUsIDQwLjIlKTtcblx0LS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLWlubmVyLWJhY2tncm91bmQ6XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1pbm5lci1zaGFkb3c6XHRcdFx0XHRcdFx0aHNsYSgwLCAwJSwgMCUsIDAuMSk7XG5cblx0LyogLS0gRHJvcGRvd24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1kcm9wZG93bi1wYW5lbC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLWRyb3Bkb3duLXBhbmVsLWJvcmRlcjogXHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cblx0LyogLS0gRGlhbG9nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1kaWFsb2ctYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWN1c3RvbS1iYWNrZ3JvdW5kKTtcblx0LS1jay1jb2xvci1kaWFsb2ctZm9ybS1oZWFkZXItYm9yZGVyOiBcdFx0XHRcdFx0XHR2YXIoLS1jay1jdXN0b20tYm9yZGVyKTtcblxuXHQvKiAtLSBJbnB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLWlucHV0LWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLWlucHV0LWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHQtLWNrLWNvbG9yLWlucHV0LWVycm9yLWJvcmRlcjpcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1lcnJvcik7XG5cdC0tY2stY29sb3ItaW5wdXQtdGV4dDogXHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLXRleHQpO1xuXHQtLWNrLWNvbG9yLWlucHV0LWRpc2FibGVkLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdGhzbCgwLCAwJSwgOTUlKTtcblx0LS1jay1jb2xvci1pbnB1dC1kaXNhYmxlZC1ib3JkZXI6IFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHQtLWNrLWNvbG9yLWlucHV0LWRpc2FibGVkLXRleHQ6IFx0XHRcdFx0XHRcdFx0aHNsKDAsIDAlLCA0NiUpO1xuXG5cdC8qIC0tIExpc3QgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItbGlzdC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0LS1jay1jb2xvci1saXN0LWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZCk7XG5cdC0tY2stY29sb3ItbGlzdC1idXR0b24tb24tYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYnV0dG9uLW9uLWNvbG9yKTtcblx0LS1jay1jb2xvci1saXN0LWJ1dHRvbi1vbi1iYWNrZ3JvdW5kLWZvY3VzOiBcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1vbi1jb2xvcik7XG5cdC0tY2stY29sb3ItbGlzdC1idXR0b24tb24tdGV4dDpcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuXHQvKiAtLSBQYW5lbCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLXBhbmVsLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLXBhbmVsLWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXG5cdC8qIC0tIFRvb2xiYXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItdG9vbGJhci1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0LS1jay1jb2xvci10b29sYmFyLWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXG5cdC8qIC0tIFRvb2x0aXAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItdG9vbHRpcC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS10ZXh0KTtcblx0LS1jay1jb2xvci10b29sdGlwLXRleHQ6IFx0XHRcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cblx0LyogLS0gRW5naW5lIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1lbmdpbmUtcGxhY2Vob2xkZXItdGV4dDogXHRcdFx0XHRcdFx0aHNsKDAsIDAlLCA0NCUpO1xuXG5cdC8qIC0tIFVwbG9hZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItdXBsb2FkLWJhci1iYWNrZ3JvdW5kOlx0XHQgXHRcdFx0XHRcdGhzbCgyMDksIDkyJSwgNzAlKTtcblxuXHQvKiAtLSBMaW5rIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1saW5rLWRlZmF1bHQ6XHRcdFx0XHRcdFx0XHRcdFx0aHNsKDI0MCwgMTAwJSwgNDclKTtcblx0LS1jay1jb2xvci1saW5rLXNlbGVjdGVkLWJhY2tncm91bmQ6XHRcdFx0XHRcdFx0aHNsYSgyMDEsIDEwMCUsIDU2JSwgMC4xKTtcblx0LS1jay1jb2xvci1saW5rLWZha2Utc2VsZWN0aW9uOlx0XHRcdFx0XHRcdFx0XHRoc2xhKDIwMSwgMTAwJSwgNTYlLCAwLjMpO1xuXG5cdC8qIC0tIFNlYXJjaCByZXN1bHQgaGlnaGxpZ2h0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLWhpZ2hsaWdodC1iYWNrZ3JvdW5kOlx0XHRcdFx0XHRcdFx0aHNsKDYwLCAxMDAlLCA1MCUpO1xuXG5cdC8qIC0tIEdlbmVyaWMgY29sb3JzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLWxpZ2h0LXJlZDpcdFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgwLCAxMDAlLCA5MCUpO1xufVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbjpyb290IHtcblx0LyoqXG5cdCAqIEFuIG9wYWNpdHkgdmFsdWUgb2YgZGlzYWJsZWQgVUkgaXRlbS5cblx0ICovXG5cdC0tY2stZGlzYWJsZWQtb3BhY2l0eTogLjU7XG59XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQvKipcblx0ICogVGhlIGdlb21ldHJ5IG9mIHRoZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBvdXRlciBzaGFkb3cuXG5cdCAqL1xuXHQtLWNrLWZvY3VzLW91dGVyLXNoYWRvdy1nZW9tZXRyeTogMCAwIDAgM3B4O1xuXG5cdC8qKlxuXHQgKiBBIHZpc3VhbCBzdHlsZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBvdXRlciBzaGFkb3cuXG5cdCAqL1xuXHQtLWNrLWZvY3VzLW91dGVyLXNoYWRvdzogdmFyKC0tY2stZm9jdXMtb3V0ZXItc2hhZG93LWdlb21ldHJ5KSB2YXIoLS1jay1jb2xvci1mb2N1cy1vdXRlci1zaGFkb3cpO1xuXG5cdC8qKlxuXHQgKiBBIHZpc3VhbCBzdHlsZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBvdXRlciBzaGFkb3cgKHdoZW4gZGlzYWJsZWQpLlxuXHQgKi9cblx0LS1jay1mb2N1cy1kaXNhYmxlZC1vdXRlci1zaGFkb3c6IHZhcigtLWNrLWZvY3VzLW91dGVyLXNoYWRvdy1nZW9tZXRyeSkgdmFyKC0tY2stY29sb3ItZm9jdXMtZGlzYWJsZWQtc2hhZG93KTtcblxuXHQvKipcblx0ICogQSB2aXN1YWwgc3R5bGUgb2YgZm9jdXNlZCBlbGVtZW50J3Mgb3V0ZXIgc2hhZG93ICh3aGVuIGhhcyBlcnJvcnMpLlxuXHQgKi9cblx0LS1jay1mb2N1cy1lcnJvci1vdXRlci1zaGFkb3c6IHZhcigtLWNrLWZvY3VzLW91dGVyLXNoYWRvdy1nZW9tZXRyeSkgdmFyKC0tY2stY29sb3ItZm9jdXMtZXJyb3Itc2hhZG93KTtcblxuXHQvKipcblx0ICogQSB2aXN1YWwgc3R5bGUgb2YgZm9jdXNlZCBlbGVtZW50J3MgYm9yZGVyIG9yIG91dGxpbmUuXG5cdCAqL1xuXHQtLWNrLWZvY3VzLXJpbmc6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xufVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbjpyb290IHtcblx0LS1jay1mb250LXNpemUtYmFzZTogMTNweDtcblx0LS1jay1saW5lLWhlaWdodC1iYXNlOiAxLjg0NjE1O1xuXHQtLWNrLWZvbnQtZmFjZTogSGVsdmV0aWNhLCBBcmlhbCwgVGFob21hLCBWZXJkYW5hLCBTYW5zLVNlcmlmO1xuXG5cdC0tY2stZm9udC1zaXplLXRpbnk6IDAuN2VtO1xuXHQtLWNrLWZvbnQtc2l6ZS1zbWFsbDogMC43NWVtO1xuXHQtLWNrLWZvbnQtc2l6ZS1ub3JtYWw6IDFlbTtcblx0LS1jay1mb250LXNpemUtYmlnOiAxLjRlbTtcblx0LS1jay1mb250LXNpemUtbGFyZ2U6IDEuOGVtO1xufVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbjpyb290IHtcblx0LyogVGhpcyBpcyBzdXBlci1pbXBvcnRhbnQuIFRoaXMgaXMgKiptYW51YWxseSoqIGFkanVzdGVkIHNvIGEgYnV0dG9uIHdpdGhvdXQgYW4gaWNvblxuXHRpcyBuZXZlciBzbWFsbGVyIHRoYW4gYSBidXR0b24gd2l0aCBpY29uLCBhZGRpdGlvbmFsbHkgbWFraW5nIHN1cmUgdGhhdCB0ZXh0LWxlc3MgYnV0dG9uc1xuXHRhcmUgcGVyZmVjdCBzcXVhcmVzLiBUaGUgdmFsdWUgaXMgYWxzbyBzaGFyZWQgYnkgb3RoZXIgY29tcG9uZW50cyB3aGljaCBzaG91bGQgc3RheSBcImluLWxpbmVcIlxuXHR3aXRoIGJ1dHRvbnMuICovXG5cdC0tY2stdWktY29tcG9uZW50LW1pbi1oZWlnaHQ6IDIuM2VtO1xufVxuLyoqXG4gKiBSZXNldHMgYW4gZWxlbWVudCwgaWdub3JpbmcgaXRzIGNoaWxkcmVuLlxuICovXG4uY2suY2stcmVzZXQsXG4uY2suY2stcmVzZXRfYWxsLFxuLmNrLXJlc2V0X2FsbCAqOm5vdCguY2stcmVzZXRfYWxsLWV4Y2x1ZGVkICopIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0d2lkdGg6IGF1dG87XG5cdGhlaWdodDogYXV0bztcblx0cG9zaXRpb246IHN0YXRpYztcblxuXHQvKiBEbyBub3QgaW5jbHVkZSBpbmhlcml0YWJsZSBydWxlcyBoZXJlLiAqL1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0dHJhbnNpdGlvbjogbm9uZTtcblxuXHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzEwNSAqL1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4vKipcbiAqIFJlc2V0cyBhbiBlbGVtZW50IEFORCBpdHMgY2hpbGRyZW4uXG4gKi9cbi5jay5jay1yZXNldF9hbGwsXG4uY2stcmVzZXRfYWxsICo6bm90KC5jay1yZXNldF9hbGwtZXhjbHVkZWQgKikge1xuXHQvKiBUaGVzZSBhcmUgcnVsZSBpbmhlcml0ZWQgYnkgYWxsIGNoaWxkcmVuIGVsZW1lbnRzLiAqL1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCB2YXIoLS1jay1mb250LXNpemUtYmFzZSkvdmFyKC0tY2stbGluZS1oZWlnaHQtYmFzZSkgdmFyKC0tY2stZm9udC1mYWNlKTtcblx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLXRleHQpO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRjdXJzb3I6IGF1dG87XG5cdGZsb2F0OiBub25lO1xufVxuLmNrLXJlc2V0X2FsbCAuY2stcnRsICo6bm90KC5jay1yZXNldF9hbGwtZXhjbHVkZWQgKikge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG4uY2stcmVzZXRfYWxsIGlmcmFtZTpub3QoLmNrLXJlc2V0X2FsbC1leGNsdWRlZCAqKSB7XG5cdFx0LyogRm9yIElFICovXG5cdFx0dmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG5cdH1cbi5jay1yZXNldF9hbGwgdGV4dGFyZWE6bm90KC5jay1yZXNldF9hbGwtZXhjbHVkZWQgKikge1xuXHRcdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcblx0fVxuLmNrLXJlc2V0X2FsbCB0ZXh0YXJlYTpub3QoLmNrLXJlc2V0X2FsbC1leGNsdWRlZCAqKSxcblx0LmNrLXJlc2V0X2FsbCBpbnB1dFt0eXBlPVwidGV4dFwiXTpub3QoLmNrLXJlc2V0X2FsbC1leGNsdWRlZCAqKSxcblx0LmNrLXJlc2V0X2FsbCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06bm90KC5jay1yZXNldF9hbGwtZXhjbHVkZWQgKikge1xuXHRcdGN1cnNvcjogdGV4dDtcblx0fVxuLmNrLXJlc2V0X2FsbCB0ZXh0YXJlYVtkaXNhYmxlZF06bm90KC5jay1yZXNldF9hbGwtZXhjbHVkZWQgKiksXG5cdC5jay1yZXNldF9hbGwgaW5wdXRbdHlwZT1cInRleHRcIl1bZGlzYWJsZWRdOm5vdCguY2stcmVzZXRfYWxsLWV4Y2x1ZGVkICopLFxuXHQuY2stcmVzZXRfYWxsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVtkaXNhYmxlZF06bm90KC5jay1yZXNldF9hbGwtZXhjbHVkZWQgKikge1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxuLmNrLXJlc2V0X2FsbCBmaWVsZHNldDpub3QoLmNrLXJlc2V0X2FsbC1leGNsdWRlZCAqKSB7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRib3JkZXI6IDJweCBncm9vdmUgaHNsKDI1NSwgNyUsIDg4JSk7XG5cdH1cbi5jay1yZXNldF9hbGwgYnV0dG9uOm5vdCguY2stcmVzZXRfYWxsLWV4Y2x1ZGVkICopOjotbW96LWZvY3VzLWlubmVyIHtcblx0XHQvKiBTZWUgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81NTE3NzQ0L3JlbW92ZS1leHRyYS1idXR0b24tc3BhY2luZy1wYWRkaW5nLWluLWZpcmVmb3ggKi9cblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlcjogMFxuXHR9XG4vKipcbiAqIERlZmF1bHQgVUkgcnVsZXMgZm9yIFJUTCBsYW5ndWFnZXMuXG4gKi9cbi5ja1tkaXI9XCJydGxcIl0sXG4uY2tbZGlyPVwicnRsXCJdIC5jayB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qKlxuICogRGVmYXVsdCBib3JkZXItcmFkaXVzIHZhbHVlLlxuICovXG46cm9vdHtcblx0LS1jay1ib3JkZXItcmFkaXVzOiAycHg7XG59XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQvKipcblx0ICogQSB2aXN1YWwgc3R5bGUgb2YgZWxlbWVudCdzIGlubmVyIHNoYWRvdyAoaS5lLiBpbnB1dCkuXG5cdCAqL1xuXHQtLWNrLWlubmVyLXNoYWRvdzogMnB4IDJweCAzcHggdmFyKC0tY2stY29sb3Itc2hhZG93LWlubmVyKSBpbnNldDtcblxuXHQvKipcblx0ICogQSB2aXN1YWwgc3R5bGUgb2YgZWxlbWVudCdzIGRyb3Agc2hhZG93IChpLmUuIHBhbmVsKS5cblx0ICovXG5cdC0tY2stZHJvcC1zaGFkb3c6IDAgMXB4IDJweCAxcHggdmFyKC0tY2stY29sb3Itc2hhZG93LWRyb3ApO1xuXG5cdC8qKlxuXHQgKiBBIHZpc3VhbCBzdHlsZSBvZiBlbGVtZW50J3MgYWN0aXZlIHNoYWRvdyAoaS5lLiBjb21tZW50IG9yIHN1Z2dlc3Rpb24pLlxuXHQgKi9cblx0LS1jay1kcm9wLXNoYWRvdy1hY3RpdmU6IDAgM3B4IDZweCAxcHggdmFyKC0tY2stY29sb3Itc2hhZG93LWRyb3AtYWN0aXZlKTtcbn1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG46cm9vdCB7XG5cdC0tY2stc3BhY2luZy11bml0OiBcdFx0XHRcdFx0XHQwLjZlbTtcblx0LS1jay1zcGFjaW5nLWxhcmdlOiBcdFx0XHRcdFx0Y2FsYyh2YXIoLS1jay1zcGFjaW5nLXVuaXQpICogMS41KTtcblx0LS1jay1zcGFjaW5nLXN0YW5kYXJkOiBcdFx0XHRcdFx0dmFyKC0tY2stc3BhY2luZy11bml0KTtcblx0LS1jay1zcGFjaW5nLW1lZGl1bTogXHRcdFx0XHRcdGNhbGModmFyKC0tY2stc3BhY2luZy11bml0KSAqIDAuOCk7XG5cdC0tY2stc3BhY2luZy1zbWFsbDogXHRcdFx0XHRcdGNhbGModmFyKC0tY2stc3BhY2luZy11bml0KSAqIDAuNSk7XG5cdC0tY2stc3BhY2luZy10aW55OiBcdFx0XHRcdFx0XHRjYWxjKHZhcigtLWNrLXNwYWNpbmctdW5pdCkgKiAwLjMpO1xuXHQtLWNrLXNwYWNpbmctZXh0cmEtdGlueTogXHRcdFx0XHRjYWxjKHZhcigtLWNrLXNwYWNpbmctdW5pdCkgKiAwLjE2KTtcbn1cblxuLyogQ29tcG9uZW50cyAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG4vKipcbiAqIEdpdmVzIGFuIGVsZW1lbnQgYSBkcm9wIHNoYWRvdyBzbyBpdCBsb29rcyBsaWtlIGEgZmxvYXRpbmcgcGFuZWwuXG4gKi9cbi5jay5jay1hdXRvY29tcGxldGUgPiAuY2stc2VhcmNoX19yZXN1bHRzIHtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdFx0bWF4LWhlaWdodDogMjAwcHg7XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWRyb3Bkb3duLXBhbmVsLWJvcmRlcik7XG5cdFx0bWluLXdpZHRoOiBhdXRvO1xuXHR9XG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1hdXRvY29tcGxldGUgPiAuY2stc2VhcmNoX19yZXN1bHRzLFxuXHQuY2suY2stYXV0b2NvbXBsZXRlID4gLmNrLXNlYXJjaF9fcmVzdWx0cy5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHR9XG4uY2suY2stYXV0b2NvbXBsZXRlID4gLmNrLXNlYXJjaF9fcmVzdWx0cyB7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tY2stZHJvcC1zaGFkb3cpLCAwIDA7XG5cdH1cbi5jay5jay1hdXRvY29tcGxldGUgPiAuY2stc2VhcmNoX19yZXN1bHRzLmNrLXNlYXJjaF9fcmVzdWx0c19uIHtcblx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcblxuXHRcdFx0LyogUHJldmVudCBkdXBsaWNhdGVkIGJvcmRlcnMgYmV0d2VlbiB0aGUgaW5wdXQgYW5kIHRoZSByZXN1bHRzIHBhbmUuICovXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAtMXB4O1xuXHRcdH1cbi5jay5jay1hdXRvY29tcGxldGUgPiAuY2stc2VhcmNoX19yZXN1bHRzLmNrLXNlYXJjaF9fcmVzdWx0c19zIHtcblx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblxuXHRcdFx0LyogUHJldmVudCBkdXBsaWNhdGVkIGJvcmRlcnMgYmV0d2VlbiB0aGUgaW5wdXQgYW5kIHRoZSByZXN1bHRzIHBhbmUuICovXG5cdFx0XHRtYXJnaW4tdG9wOiAtMXB4O1xuXHRcdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBBIHZpc3VhbCBzdHlsZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBib3JkZXIuXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEEgaGVscGVyIHRvIGNvbWJpbmUgbXVsdGlwbGUgc2hhZG93cy5cbiAqL1xuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBBIGNsYXNzIHdoaWNoIGluZGljYXRlcyB0aGF0IGFuIGVsZW1lbnQgaG9sZGluZyBpdCBpcyBkaXNhYmxlZC5cbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qKlxuICogSW1wbGVtZW50cyByb3VuZGVkIGNvcm5lciBpbnRlcmZhY2UgZm9yIC5jay1yb3VuZGVkLWNvcm5lcnMgY2xhc3MuXG4gKlxuICogQHNlZSAkY2stYm9yZGVyLXJhZGl1c1xuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBJbXBsZW1lbnRzIGEgYnV0dG9uIG9mIGdpdmVuIGJhY2tncm91bmQgY29sb3IuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuICogQHBhcmFtIHtTdHJpbmd9ICRib3JkZXIgLSBCb3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi5jay5jay1idXR0b24sXG5hLmNrLmNrLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQpO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGN1cnNvcjogZGVmYXVsdDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy10aW55KTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC8qIEEgdmVyeSBpbXBvcnRhbnQgcGllY2Ugb2Ygc3R5bGluZy4gR28gdG8gdmFyaWFibGUgZGVjbGFyYXRpb24gdG8gbGVhcm4gbW9yZS4gKi9cblx0bWluLXdpZHRoOiB2YXIoLS1jay11aS1jb21wb25lbnQtbWluLWhlaWdodCk7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLWNrLXVpLWNvbXBvbmVudC1taW4taGVpZ2h0KTtcblxuXHQvKiBOb3JtYWxpemUgdGhlIGhlaWdodCBvZiB0aGUgbGluZS4gUmVtb3ZpbmcgdGhpcyB3aWxsIGJyZWFrIGNvbnNpc3RlbnQgaGVpZ2h0XG5cdGFtb25nIHRleHQgYW5kIHRleHQtbGVzcyBidXR0b25zICh3aXRoIGljb25zKS4gKi9cblx0bGluZS1oZWlnaHQ6IDE7XG5cblx0LyogRW5hYmxlIGZvbnQgc2l6ZSBpbmhlcml0YW5jZSwgd2hpY2ggYWxsb3dzIGZsdWlkIFVJIHNjYWxpbmcuICovXG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblxuXHQvKiBBdm9pZCBmbGlja2VyaW5nIHdoZW4gdGhlIGZvdWNzIGJvcmRlciBzaG93cyB1cC4gKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cblx0LyogQXBwbHkgc29tZSBzbW9vdGggdHJhbnNpdGlvbiB0byB0aGUgYm94LXNoYWRvdyBhbmQgYm9yZGVyLiAqL1xuXHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4ycyBlYXNlLWluLW91dCwgYm9yZGVyIC4ycyBlYXNlLWluLW91dDtcblxuXHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzE4OSAqL1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4uY2suY2stYnV0dG9uOm5vdCguY2stZGlzYWJsZWQpOmhvdmVyLCBhLmNrLmNrLWJ1dHRvbjpub3QoLmNrLWRpc2FibGVkKTpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kKTtcblx0XHR9XG4uY2suY2stYnV0dG9uOm5vdCguY2stZGlzYWJsZWQpOmFjdGl2ZSwgYS5jay5jay1idXR0b246bm90KC5jay1kaXNhYmxlZCk6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0XHR9XG4vKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzk4ICovXG4uY2suY2stYnV0dG9uLmNrLWRpc2FibGVkLCBhLmNrLmNrLWJ1dHRvbi5jay1kaXNhYmxlZCB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYnV0dG9uLWRlZmF1bHQtZGlzYWJsZWQtYmFja2dyb3VuZCk7XG5cdH1cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWJ1dHRvbixcblx0LmNrLXJvdW5kZWQtY29ybmVycyBhLmNrLmNrLWJ1dHRvbixcblx0LmNrLmNrLWJ1dHRvbi5jay1yb3VuZGVkLWNvcm5lcnMsXG5cdGEuY2suY2stYnV0dG9uLmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdH1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4uY2suY2stYnV0dG9uLFxuYS5jay5jay1idXR0b24ge1xuXHRcdHRyYW5zaXRpb246IG5vbmU7XG59XG5cdH1cbi5jay5jay1idXR0b246YWN0aXZlLFxuXHRhLmNrLmNrLWJ1dHRvbjphY3RpdmUsXG5cdC5jay5jay1idXR0b246Zm9jdXMsXG5cdGEuY2suY2stYnV0dG9uOmZvY3VzIHtcblx0XHQvKiBEaXNhYmxlIG5hdGl2ZSBvdXRsaW5lLiAqL1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym9yZGVyOiB2YXIoLS1jay1mb2N1cy1yaW5nKTtcblx0XHRib3gtc2hhZG93OiB2YXIoLS1jay1mb2N1cy1vdXRlci1zaGFkb3cpLCAwIDA7XG5cdH1cbi8qIEFsbG93IGljb24gY29sb3JpbmcgdXNpbmcgdGhlIHRleHQgXCJjb2xvclwiIHByb3BlcnR5LiAqL1xuLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19pY29uIHVzZSxcblx0XHRhLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19pY29uIHVzZSxcblx0XHQuY2suY2stYnV0dG9uIC5jay1idXR0b25fX2ljb24gdXNlICosXG5cdFx0YS5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9faWNvbiB1c2UgKiB7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR9XG4uY2suY2stYnV0dG9uIC5jay1idXR0b25fX2xhYmVsLCBhLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0LyogRW5hYmxlIGZvbnQgc2l6ZSBpbmhlcml0YW5jZSwgd2hpY2ggYWxsb3dzIGZsdWlkIFVJIHNjYWxpbmcuICovXG5cdFx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRcdGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdGN1cnNvcjogaW5oZXJpdDtcblxuXHRcdC8qIE11c3QgYmUgY29uc2lzdGVudCB3aXRoIC5jay1pY29uJ3MgdmVydGljYWwgYWxpZ24uIE90aGVyd2lzZSwgYnV0dG9ucyB3aXRoIGFuZFxuXHRcdHdpdGhvdXQgbGFiZWxzIChidXQgd2l0aCBpY29ucykgaGF2ZSBkaWZmZXJlbnQgc2l6ZXMgaW4gQ2hyb21lICovXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0fVxuW2Rpcj1cImx0clwiXSAuY2suY2stYnV0dG9uIC5jay1idXR0b25fX2xhYmVsLCBbZGlyPVwibHRyXCJdIGEuY2suY2stYnV0dG9uIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cbltkaXI9XCJydGxcIl0gLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCwgW2Rpcj1cInJ0bFwiXSBhLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19rZXlzdHJva2UsIGEuY2suY2stYnV0dG9uIC5jay1idXR0b25fX2tleXN0cm9rZSB7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cblx0XHRvcGFjaXR5OiAuNTtcblx0fVxuW2Rpcj1cImx0clwiXSAuY2suY2stYnV0dG9uIC5jay1idXR0b25fX2tleXN0cm9rZSwgW2Rpcj1cImx0clwiXSBhLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19rZXlzdHJva2Uge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHR9XG5bZGlyPVwicnRsXCJdIC5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9fa2V5c3Ryb2tlLCBbZGlyPVwicnRsXCJdIGEuY2suY2stYnV0dG9uIC5jay1idXR0b25fX2tleXN0cm9rZSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHR9XG4vKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzcwICovXG4uY2suY2stYnV0dG9uLmNrLWRpc2FibGVkOmFjdGl2ZSxcblx0XHRhLmNrLmNrLWJ1dHRvbi5jay1kaXNhYmxlZDphY3RpdmUsXG5cdFx0LmNrLmNrLWJ1dHRvbi5jay1kaXNhYmxlZDpmb2N1cyxcblx0XHRhLmNrLmNrLWJ1dHRvbi5jay1kaXNhYmxlZDpmb2N1cyB7XG5cdFx0XHQvKiBUaGUgZGlzYWJsZWQgYnV0dG9uIHNob3VsZCBoYXZlIGEgc2xpZ2h0bHkgbGVzcyB2aXNpYmxlIHNoYWRvdyB3aGVuIGZvY3VzZWQuICovXG5cdFx0XHRib3gtc2hhZG93OiB2YXIoLS1jay1mb2N1cy1kaXNhYmxlZC1vdXRlci1zaGFkb3cpLCAwIDA7XG5cdFx0fVxuLmNrLmNrLWJ1dHRvbi5jay1kaXNhYmxlZCAuY2stYnV0dG9uX19pY29uLCBhLmNrLmNrLWJ1dHRvbi5jay1kaXNhYmxlZCAuY2stYnV0dG9uX19pY29uIHtcblx0XHRcdG9wYWNpdHk6IHZhcigtLWNrLWRpc2FibGVkLW9wYWNpdHkpO1xuXHRcdH1cbi8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvOTggKi9cbi5jay5jay1idXR0b24uY2stZGlzYWJsZWQgLmNrLWJ1dHRvbl9fbGFiZWwsIGEuY2suY2stYnV0dG9uLmNrLWRpc2FibGVkIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdG9wYWNpdHk6IHZhcigtLWNrLWRpc2FibGVkLW9wYWNpdHkpO1xuXHRcdH1cbi5jay5jay1idXR0b24uY2stZGlzYWJsZWQgLmNrLWJ1dHRvbl9fa2V5c3Ryb2tlLCBhLmNrLmNrLWJ1dHRvbi5jay1kaXNhYmxlZCAuY2stYnV0dG9uX19rZXlzdHJva2Uge1xuXHRcdFx0b3BhY2l0eTogLjM7XG5cdFx0fVxuLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC10ZXh0LCBhLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC10ZXh0IHtcblx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXRpbnkpIHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXG5cdFx0Lyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cblx0fVxuW2Rpcj1cImx0clwiXSAuY2suY2stYnV0dG9uLmNrLWJ1dHRvbl93aXRoLXRleHQgLmNrLWJ1dHRvbl9faWNvbiwgW2Rpcj1cImx0clwiXSBhLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC10ZXh0IC5jay1idXR0b25fX2ljb24ge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKTtcblx0fVxuW2Rpcj1cInJ0bFwiXSAuY2suY2stYnV0dG9uLmNrLWJ1dHRvbl93aXRoLXRleHQgLmNrLWJ1dHRvbl9faWNvbiwgW2Rpcj1cInJ0bFwiXSBhLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC10ZXh0IC5jay1idXR0b25fX2ljb24ge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHR9XG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC1rZXlzdHJva2UgLmNrLWJ1dHRvbl9fbGFiZWwsIGEuY2suY2stYnV0dG9uLmNrLWJ1dHRvbl93aXRoLWtleXN0cm9rZSAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0fVxuLyogQSBzdHlsZSBvZiB0aGUgYnV0dG9uIHdoaWNoIGlzIGN1cnJlbnRseSBvbiwgZS5nLiBpdHMgZmVhdHVyZSBpcyBhY3RpdmUuICovXG4uY2suY2stYnV0dG9uLmNrLW9uLCBhLmNrLmNrLWJ1dHRvbi5jay1vbiB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYnV0dG9uLW9uLWJhY2tncm91bmQpO1xuXG5cdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1vbi1jb2xvcik7XG5cdH1cbi5jay5jay1idXR0b24uY2stb246bm90KC5jay1kaXNhYmxlZCk6aG92ZXIsIGEuY2suY2stYnV0dG9uLmNrLW9uOm5vdCguY2stZGlzYWJsZWQpOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1vbi1ob3Zlci1iYWNrZ3JvdW5kKTtcblx0XHR9XG4uY2suY2stYnV0dG9uLmNrLW9uOm5vdCguY2stZGlzYWJsZWQpOmFjdGl2ZSwgYS5jay5jay1idXR0b24uY2stb246bm90KC5jay1kaXNhYmxlZCk6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1vbi1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdFx0fVxuLyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy85OCAqL1xuLmNrLmNrLWJ1dHRvbi5jay1vbi5jay1kaXNhYmxlZCwgYS5jay5jay1idXR0b24uY2stb24uY2stZGlzYWJsZWQge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1vbi1kaXNhYmxlZC1iYWNrZ3JvdW5kKTtcblx0fVxuLmNrLmNrLWJ1dHRvbi5jay1idXR0b24tc2F2ZSwgYS5jay5jay1idXR0b24uY2stYnV0dG9uLXNhdmUge1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1idXR0b24tc2F2ZSk7XG5cdH1cbi5jay5jay1idXR0b24uY2stYnV0dG9uLWNhbmNlbCwgYS5jay5jay1idXR0b24uY2stYnV0dG9uLWNhbmNlbCB7XG5cdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1jYW5jZWwpO1xuXHR9XG4vKiBBIHN0eWxlIG9mIHRoZSBidXR0b24gd2hpY2ggaGFuZGxlcyB0aGUgcHJpbWFyeSBhY3Rpb24uICovXG4uY2suY2stYnV0dG9uLWFjdGlvbixcbmEuY2suY2stYnV0dG9uLWFjdGlvbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tYmFja2dyb3VuZCk7XG5cblx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tdGV4dCk7XG59XG4uY2suY2stYnV0dG9uLWFjdGlvbjpub3QoLmNrLWRpc2FibGVkKTpob3ZlciwgYS5jay5jay1idXR0b24tYWN0aW9uOm5vdCguY2stZGlzYWJsZWQpOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24taG92ZXItYmFja2dyb3VuZCk7XG5cdFx0fVxuLmNrLmNrLWJ1dHRvbi1hY3Rpb246bm90KC5jay1kaXNhYmxlZCk6YWN0aXZlLCBhLmNrLmNrLWJ1dHRvbi1hY3Rpb246bm90KC5jay1kaXNhYmxlZCk6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tYWN0aXZlLWJhY2tncm91bmQpO1xuXHRcdH1cbi8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvOTggKi9cbi5jay5jay1idXR0b24tYWN0aW9uLmNrLWRpc2FibGVkLCBhLmNrLmNrLWJ1dHRvbi1hY3Rpb24uY2stZGlzYWJsZWQge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tZGlzYWJsZWQtYmFja2dyb3VuZCk7XG5cdH1cbi5jay5jay1idXR0b24tYm9sZCxcbmEuY2suY2stYnV0dG9uLWJvbGQge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEEgY2xhc3Mgd2hpY2ggaW5kaWNhdGVzIHRoYXQgYW4gZWxlbWVudCBob2xkaW5nIGl0IGlzIGRpc2FibGVkLlxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyogTm90ZTogVG8gYXZvaWQgcmVuZGVyaW5nIGlzc3VlcyAoYWxpYXNpbmcpIGJ1dCB0byBwcmVzZXJ2ZSB0aGUgcmVzcG9uc2l2ZSBuYXR1cmVcbm9mIHRoZSBjb21wb25lbnQsIGZsb2F0aW5n4oCTcG9pbnQgbnVtYmVycyBoYXZlIGJlZW4gdXNlZCB3aGljaCwgZm9yIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZVxuKHNlZTogLS1jay1mb250LXNpemUtYmFzZSksIHdpbGwgZ2VuZXJhdGUgc2ltcGxlIGludGVnZXJzLiAqL1xuOnJvb3Qge1xuXHQvKiAzNHB4IGF0IDEzcHggZm9udC1zaXplICovXG5cdC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtd2lkdGg6IDIuNjE1Mzg0NjE1NGVtO1xuXHQvKiAxNHB4IGF0IDEzcHggZm9udC1zaXplICovXG5cdC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtaW5uZXItc2l6ZTogY2FsYygxLjA3NjkyMzA3NjllbSArIDFweCk7XG5cdC0tY2stc3dpdGNoLWJ1dHRvbi10cmFuc2xhdGlvbjogY2FsYyhcblx0XHR2YXIoLS1jay1zd2l0Y2gtYnV0dG9uLXRvZ2dsZS13aWR0aCkgLVxuXHRcdHZhcigtLWNrLXN3aXRjaC1idXR0b24tdG9nZ2xlLWlubmVyLXNpemUpIC1cblx0XHQycHggLyogQm9yZGVyICovXG5cdCk7XG5cdC0tY2stc3dpdGNoLWJ1dHRvbi1pbm5lci1ob3Zlci1zaGFkb3c6IDAgMCAwIDVweCB2YXIoLS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLWlubmVyLXNoYWRvdyk7XG59XG4vKiBVbmxpa2UgYSByZWd1bGFyIGJ1dHRvbiwgdGhlIHN3aXRjaCBidXR0b24gdGV4dCBjb2xvciBhbmQgYmFja2dyb3VuZCBzaG91bGQgbmV2ZXIgY2hhbmdlLlxuXHQgKiBDaGFuZ2luZyB0b2dnbGUgc3dpdGNoIChiYWNrZ3JvdW5kLCBvdXRsaW5lKSBpcyBlbm91Z2ggdG8gY2FycnkgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZVxuXHQgKiBzdGF0ZSBvZiB0aGUgZW50aXJlIGNvbXBvbmVudCAoaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTI1MTkpXG5cdCAqL1xuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24sIC5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uOmhvdmVyLCAuY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbjpmb2N1cywgLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b246YWN0aXZlLCAuY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbi5jay1vbjpob3ZlciwgLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24uY2stb246Zm9jdXMsIC5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uLmNrLW9uOmFjdGl2ZSB7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0LyogU2VwYXJhdGUgdGhlIGxhYmVsIGZyb20gdGhlIHN3aXRjaCAqL1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKDIgKiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSk7XG5cdH1cbltkaXI9XCJydGxcIl0gLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0LyogU2VwYXJhdGUgdGhlIGxhYmVsIGZyb20gdGhlIHN3aXRjaCAqL1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGNhbGMoMiAqIHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpKTtcblx0fVxuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fdG9nZ2xlIHtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdFx0LyogQXBwbHkgc29tZSBzbW9vdGggdHJhbnNpdGlvbiB0byB0aGUgYm94LXNoYWRvdyBhbmQgYm9yZGVyLiAqL1xuXHRcdC8qIEdlbnRseSBhbmltYXRlIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB0b2dnbGUgc3dpdGNoICovXG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCA0MDBtcyBlYXNlLCBib3gtc2hhZG93IC4ycyBlYXNlLWluLW91dCwgb3V0bGluZSAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0d2lkdGg6IHZhcigtLWNrLXN3aXRjaC1idXR0b24tdG9nZ2xlLXdpZHRoKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLW9mZi1iYWNrZ3JvdW5kKTtcblx0fVxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiAuY2stYnV0dG9uX190b2dnbGUsXG5cdC5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX3RvZ2dsZS5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHR9XG5bZGlyPVwibHRyXCJdIC5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX3RvZ2dsZSB7XG5cdFx0XHQvKiBNYWtlIHN1cmUgdGhlIHRvZ2dsZSBpcyBhbHdheXMgdG8gdGhlIHJpZ2h0IGFzIGZhciBhcyBwb3NzaWJsZS4gKi9cblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHR9XG5bZGlyPVwicnRsXCJdIC5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX3RvZ2dsZSB7XG5cdFx0XHQvKiBNYWtlIHN1cmUgdGhlIHRvZ2dsZSBpcyBhbHdheXMgdG8gdGhlIGxlZnQgYXMgZmFyIGFzIHBvc3NpYmxlLiAqL1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHR9XG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiAuY2stYnV0dG9uX190b2dnbGUgLmNrLWJ1dHRvbl9fdG9nZ2xlX19pbm5lciB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdFx0XHR3aWR0aDogdmFyKC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtaW5uZXItc2l6ZSk7XG5cdFx0XHRoZWlnaHQ6IHZhcigtLWNrLXN3aXRjaC1idXR0b24tdG9nZ2xlLWlubmVyLXNpemUpO1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1pbm5lci1iYWNrZ3JvdW5kKTtcblxuXHRcdFx0LyogR2VudGx5IGFuaW1hdGUgdGhlIGlubmVyIHBhcnQgb2YgdGhlIHRvZ2dsZSBzd2l0Y2ggKi9cblx0XHRcdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuXHRcdH1cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fdG9nZ2xlIC5jay1idXR0b25fX3RvZ2dsZV9faW5uZXIsXG5cdC5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX3RvZ2dsZSAuY2stYnV0dG9uX190b2dnbGVfX2lubmVyLmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IGNhbGMoLjUgKiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKSk7XG5cdH1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiAuY2stYnV0dG9uX190b2dnbGUgLmNrLWJ1dHRvbl9fdG9nZ2xlX19pbm5lciB7XG5cdFx0XHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdFx0fVxuXHRcdFx0fVxuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fdG9nZ2xlOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24tb2ZmLWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdH1cbi5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX3RvZ2dsZTpob3ZlciAuY2stYnV0dG9uX190b2dnbGVfX2lubmVyIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogdmFyKC0tY2stc3dpdGNoLWJ1dHRvbi1pbm5lci1ob3Zlci1zaGFkb3cpO1xuXHRcdFx0fVxuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24uY2stZGlzYWJsZWQgLmNrLWJ1dHRvbl9fdG9nZ2xlIHtcblx0XHRvcGFjaXR5OiB2YXIoLS1jay1kaXNhYmxlZC1vcGFjaXR5KTtcblx0fVxuLyogT3ZlcnJpZGluZyBkZWZhdWx0IC5jay1idXR0b246Zm9jdXMgc3R5bGVzICsgYW4gb3V0bGluZSBhcm91bmQgdGhlIHRvb2dsZSAqL1xuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b246Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHR9XG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbjpmb2N1cyAuY2stYnV0dG9uX190b2dnbGUge1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCksIDAgMCAwIDVweCB2YXIoLS1jay1jb2xvci1mb2N1cy1vdXRlci1zaGFkb3cpO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRcdG91dGxpbmU6IHZhcigtLWNrLWZvY3VzLXJpbmcpO1xuXHRcdH1cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbi5jay1vbiAuY2stYnV0dG9uX190b2dnbGUge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1vbi1iYWNrZ3JvdW5kKTtcblx0XHR9XG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbi5jay1vbiAuY2stYnV0dG9uX190b2dnbGU6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLW9uLWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdFx0fVxuLypcblx0XHRcdFx0KiBNb3ZlIHRoZSB0b2dnbGUgc3dpdGNoIHRvIHRoZSByaWdodC4gSXQgd2lsbCBiZSBhbmltYXRlZC5cblx0XHRcdFx0Ki9cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24uY2stb24gLmNrLWJ1dHRvbl9fdG9nZ2xlIC5jay1idXR0b25fX3RvZ2dsZV9faW5uZXIge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCggdmFyKCAtLWNrLXN3aXRjaC1idXR0b24tdHJhbnNsYXRpb24gKSApO1xuXHR9XG5bZGlyPVwicnRsXCJdIC5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uLmNrLW9uIC5jay1idXR0b25fX3RvZ2dsZSAuY2stYnV0dG9uX190b2dnbGVfX2lubmVyIHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIGNhbGMoIC0xICogdmFyKCAtLWNrLXN3aXRjaC1idXR0b24tdHJhbnNsYXRpb24gKSApICk7XG5cdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLmNrLmNrLWJ1dHRvbi5jay1saXN0LWl0ZW0tYnV0dG9uIHtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy10aW55KSBjYWxjKDIgKiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSk7XG59XG4uY2suY2stYnV0dG9uLmNrLWxpc3QtaXRlbS1idXR0b24sXG5cdC5jay5jay1idXR0b24uY2stbGlzdC1pdGVtLWJ1dHRvbi5jay1vbiB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGlzdC1iYWNrZ3JvdW5kKTtcblx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItdGV4dCk7XG5cdH1cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWJ1dHRvbi5jay1saXN0LWl0ZW0tYnV0dG9uOmhhcyguY2stbGlzdC1pdGVtLWJ1dHRvbl9fY2hlY2staG9sZGVyKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHR9XG5bZGlyPVwicnRsXCJdIC5jay5jay1idXR0b24uY2stbGlzdC1pdGVtLWJ1dHRvbjpoYXMoLmNrLWxpc3QtaXRlbS1idXR0b25fX2NoZWNrLWhvbGRlcikge1xuXHRcdFx0cGFkZGluZy1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cbi8qXG5cdCAqIGAuY2stb25gIGNsYXNzIGFuZCBiYWNrZ3JvdW5kIHN0eWxpbmcgaXMgb3ZlcnJpZGRlbiBmb3IgYGNrLWJ1dHRvbmAgaW4gbWFueSBwbGFjZXMuXG5cdCAqIFRoaXMgaXMgYSB3b3JrYXJvdW5kIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBiYWNrZ3JvdW5kIGlzIG5vdCBvdmVycmlkZGVuIGFuZCB1c2VzIHNpbWlsYXJcblx0ICogc2VsZWN0b3Igc3BlY2lmaWNpdHkgYXMgdGhlIG90aGVyIG92ZXJyaWRlcy5cblx0ICovXG4uY2suY2stYnV0dG9uLmNrLWxpc3QtaXRlbS1idXR0b246aG92ZXI6bm90KC5jay1kaXNhYmxlZCksXG5cdC5jay5jay1idXR0b24uY2stbGlzdC1pdGVtLWJ1dHRvbi5jay1idXR0b24uY2stb246aG92ZXIsXG5cdC5jay5jay1idXR0b24uY2stbGlzdC1pdGVtLWJ1dHRvbi5jay1vbjpub3QoLmNrLWxpc3QtaXRlbS1idXR0b25fdG9nZ2xlYWJsZSksXG5cdC5jay5jay1idXR0b24uY2stbGlzdC1pdGVtLWJ1dHRvbi5jay1vbjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGlzdC1idXR0b24taG92ZXItYmFja2dyb3VuZCk7XG5cdH1cbi5jay5jay1idXR0b24uY2stbGlzdC1pdGVtLWJ1dHRvbjpob3Zlcjpub3QoLmNrLWRpc2FibGVkKTpub3QoLmNrLWRpc2FibGVkKSwgLmNrLmNrLWJ1dHRvbi5jay1saXN0LWl0ZW0tYnV0dG9uLmNrLWJ1dHRvbi5jay1vbjpob3Zlcjpub3QoLmNrLWRpc2FibGVkKSwgLmNrLmNrLWJ1dHRvbi5jay1saXN0LWl0ZW0tYnV0dG9uLmNrLW9uOm5vdCguY2stbGlzdC1pdGVtLWJ1dHRvbl90b2dnbGVhYmxlKTpub3QoLmNrLWRpc2FibGVkKSwgLmNrLmNrLWJ1dHRvbi5jay1saXN0LWl0ZW0tYnV0dG9uLmNrLW9uOmhvdmVyOm5vdCguY2stZGlzYWJsZWQpIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci10ZXh0KTtcblx0XHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLWNvbGxhcHNpYmxlLWFycm93LXNpemU6IGNhbGMoMC41ICogdmFyKC0tY2staWNvbi1zaXplKSk7XG59XG4uY2suY2stY29sbGFwc2libGUgPiAuY2suY2stYnV0dG9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHR9XG4uY2suY2stY29sbGFwc2libGUgPiAuY2suY2stYnV0dG9uOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdH1cbi5jay5jay1jb2xsYXBzaWJsZSA+IC5jay5jay1idXR0b246YWN0aXZlLCAuY2suY2stY29sbGFwc2libGUgPiAuY2suY2stYnV0dG9uOm5vdCg6Zm9jdXMpLCAuY2suY2stY29sbGFwc2libGUgPiAuY2suY2stYnV0dG9uOmhvdmVyOm5vdCg6Zm9jdXMpIHtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0fVxuLmNrLmNrLWNvbGxhcHNpYmxlID4gLmNrLmNrLWJ1dHRvbiA+IC5jay1pY29uIHtcblx0XHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRcdFx0d2lkdGg6IHZhcigtLWNrLWNvbGxhcHNpYmxlLWFycm93LXNpemUpO1xuXHRcdH1cbi5jay5jay1jb2xsYXBzaWJsZSA+IC5jay1jb2xsYXBzaWJsZV9fY2hpbGRyZW4ge1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKSB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblx0fVxuLmNrLmNrLWNvbGxhcHNpYmxlLmNrLWNvbGxhcHNpYmxlX2NvbGxhcHNlZCA+IC5jay5jay1idXR0b24gLmNrLWljb24ge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblx0XHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qKlxuICogSW1wbGVtZW50cyByb3VuZGVkIGNvcm5lciBpbnRlcmZhY2UgZm9yIC5jay1yb3VuZGVkLWNvcm5lcnMgY2xhc3MuXG4gKlxuICogQHNlZSAkY2stYm9yZGVyLXJhZGl1c1xuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLWdyaWQtdGlsZS1zaXplOiAyNHB4O1xuXG5cdC8qIE5vdCB1c2luZyBnbG9iYWwgY29sb3JzIGhlcmUgYmVjYXVzZSB0aGVzZSBtYXkgY2hhbmdlIGJ1dCBzb21lIGNvbG9ycyBpbiBhIHBhbGxldHRlXG5cdCAqIHJlcXVpcmUgc3BlY2lhbCB0cmVhdG1lbnQuIEZvciBpbnN0YW5jZSwgdGhpcyBlbnN1cmVzIG5vIG1hdHRlciB3aGF0IHRoZSBVSSB0ZXh0IGNvbG9yIGlzLFxuXHQgKiB0aGUgY2hlY2sgaWNvbiB3aWxsIGxvb2sgZ29vZCBvbiB0aGUgYmxhY2sgY29sb3IgdGlsZS4gKi9cblx0LS1jay1jb2xvci1jb2xvci1ncmlkLWNoZWNrLWljb246IGhzbCgyMTIsIDgxJSwgNDYlKTtcbn1cbi5jay5jay1jb2xvci1ncmlkIHtcblx0Z3JpZC1nYXA6IDVweDtcblx0cGFkZGluZzogOHB4O1xufVxuLmNrLmNrLWNvbG9yLWdyaWRfX3RpbGUge1xuXHR0cmFuc2l0aW9uOiAuMnMgZWFzZSBib3gtc2hhZG93O1xufVxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBub25lKSB7XG5cdFx0LmNrLmNrLWNvbG9yLWdyaWRfX3RpbGUge1xuXHRcdHdpZHRoOiB2YXIoLS1jay1jb2xvci1ncmlkLXRpbGUtc2l6ZSk7XG5cdFx0aGVpZ2h0OiB2YXIoLS1jay1jb2xvci1ncmlkLXRpbGUtc2l6ZSk7XG5cdFx0bWluLXdpZHRoOiB2YXIoLS1jay1jb2xvci1ncmlkLXRpbGUtc2l6ZSk7XG5cdFx0bWluLWhlaWdodDogdmFyKC0tY2stY29sb3ItZ3JpZC10aWxlLXNpemUpO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdH1cblxuXHRcdC5jay5jay1jb2xvci1ncmlkX190aWxlLmNrLW9uLFxuXHRcdC5jay5jay1jb2xvci1ncmlkX190aWxlOmZvY3VzOm5vdCggLmNrLWRpc2FibGVkICksXG5cdFx0LmNrLmNrLWNvbG9yLWdyaWRfX3RpbGU6aG92ZXI6bm90KCAuY2stZGlzYWJsZWQgKSB7XG5cdFx0XHQvKiBEaXNhYmxlIHRoZSBkZWZhdWx0IC5jay1idXR0b24ncyBib3JkZXIgcmluZy4gKi9cblx0XHRcdGJvcmRlcjogMDtcblx0XHR9XG5cblx0XHQuY2suY2stY29sb3ItZ3JpZF9fdGlsZS5jay1jb2xvci1zZWxlY3Rvcl9fY29sb3ItdGlsZV9ib3JkZXJlZCB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdH1cblxuXHRcdC5jay5jay1jb2xvci1ncmlkX190aWxlLmNrLW9uIHtcblx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpLCAwIDAgMCAycHggdmFyKC0tY2stY29sb3ItYmFzZS10ZXh0KTtcblx0XHR9XG5cblx0XHQuY2suY2stY29sb3ItZ3JpZF9fdGlsZTpmb2N1czpub3QoIC5jay1kaXNhYmxlZCApLFxuXHRcdC5jay5jay1jb2xvci1ncmlkX190aWxlOmhvdmVyOm5vdCggLmNrLWRpc2FibGVkICkge1xuXHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCksIDAgMCAwIDJweCB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xuXHRcdH1cblx0fVxuLypcblx0ICogSW4gaGlnaCBjb250cmFzdCBtb2RlLCB0aGUgY29sb3JzIGFyZSByZXBsYWNlZCB3aXRoIHRleHQgbGFiZWxzLlxuXHQgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTQ5MDcuXG5cdCAqL1xuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcblx0XHQuY2suY2stY29sb3ItZ3JpZF9fdGlsZSB7XG5cdFx0d2lkdGg6IHVuc2V0O1xuXHRcdGhlaWdodDogdW5zZXQ7XG5cdFx0bWluLXdpZHRoOiB1bnNldDtcblx0XHRtaW4taGVpZ2h0OiB1bnNldDtcblx0XHRwYWRkaW5nOiAwIHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdH1cblxuXHRcdC5jay5jay1jb2xvci1ncmlkX190aWxlIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cdH1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4uY2suY2stY29sb3ItZ3JpZF9fdGlsZSB7XG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcbn1cblx0fVxuLmNrLmNrLWNvbG9yLWdyaWRfX3RpbGUuY2stZGlzYWJsZWQge1xuXHRcdGN1cnNvcjogdW5zZXQ7XG5cdFx0dHJhbnNpdGlvbjogdW5zZXQ7XG5cdH1cbi5jay5jay1jb2xvci1ncmlkX190aWxlIC5jay5jay1pY29uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1jb2xvci1ncmlkLWNoZWNrLWljb24pO1xuXHR9XG4uY2suY2stY29sb3ItZ3JpZF9fdGlsZS5jay1vbiAuY2suY2staWNvbiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG4uY2suY2stY29sb3ItZ3JpZF9fbGFiZWwge1xuXHRwYWRkaW5nOiAwIHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xufVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKiBWaWV3IGZyYWdtZW50IHdpdGggY29sb3IgZ3JpZHMuICovXG4uY2suY2stY29sb3Itc2VsZWN0b3IgLmNrLWNvbG9yLWdyaWRzLWZyYWdtZW50IC5jay1idXR0b24uY2stY29sb3Itc2VsZWN0b3JfX3JlbW92ZS1jb2xvcixcblx0XHQuY2suY2stY29sb3Itc2VsZWN0b3IgLmNrLWNvbG9yLWdyaWRzLWZyYWdtZW50IC5jay1idXR0b24uY2stY29sb3Itc2VsZWN0b3JfX2NvbG9yLXBpY2tlciB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG4uY2suY2stY29sb3Itc2VsZWN0b3IgLmNrLWNvbG9yLWdyaWRzLWZyYWdtZW50IC5jay1idXR0b24uY2stY29sb3Itc2VsZWN0b3JfX2NvbG9yLXBpY2tlciB7XG5cdFx0XHRwYWRkaW5nOiBjYWxjKHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpIC8gMikgdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdFx0fVxuLmNrLmNrLWNvbG9yLXNlbGVjdG9yIC5jay1jb2xvci1ncmlkcy1mcmFnbWVudCAuY2stYnV0dG9uLmNrLWNvbG9yLXNlbGVjdG9yX19jb2xvci1waWNrZXI6bm90KDpmb2N1cykge1xuXHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0fVxuW2Rpcj1cImx0clwiXSAuY2suY2stY29sb3Itc2VsZWN0b3IgLmNrLWNvbG9yLWdyaWRzLWZyYWdtZW50IC5jay1idXR0b24uY2stY29sb3Itc2VsZWN0b3JfX2NvbG9yLXBpY2tlciAuY2suY2staWNvbiB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0fVxuW2Rpcj1cInJ0bFwiXSAuY2suY2stY29sb3Itc2VsZWN0b3IgLmNrLWNvbG9yLWdyaWRzLWZyYWdtZW50IC5jay1idXR0b24uY2stY29sb3Itc2VsZWN0b3JfX2NvbG9yLXBpY2tlciAuY2suY2staWNvbiB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHR9XG4uY2suY2stY29sb3Itc2VsZWN0b3IgLmNrLWNvbG9yLWdyaWRzLWZyYWdtZW50IGxhYmVsLmNrLmNrLWNvbG9yLWdyaWRfX2xhYmVsIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiB1bnNldDtcblx0XHR9XG4vKiBWaWV3IGZyYWdtZW50IHdpdGggYSBjb2xvciBwaWNrZXIuICovXG4uY2suY2stY29sb3Itc2VsZWN0b3IgLmNrLWNvbG9yLXBpY2tlci1mcmFnbWVudCAuY2suY2stY29sb3ItcGlja2VyIHtcblx0XHRcdHBhZGRpbmc6IDhweDtcblx0XHR9XG4uY2suY2stY29sb3Itc2VsZWN0b3IgLmNrLWNvbG9yLXBpY2tlci1mcmFnbWVudCAuY2suY2stY29sb3ItcGlja2VyIC5oZXgtY29sb3ItcGlja2VyIHtcblx0XHRcdFx0aGVpZ2h0OiAxMDBweDtcblx0XHRcdFx0bWluLXdpZHRoOiAxODBweDtcblx0XHRcdH1cbi5jay5jay1jb2xvci1zZWxlY3RvciAuY2stY29sb3ItcGlja2VyLWZyYWdtZW50IC5jay5jay1jb2xvci1waWNrZXIgLmhleC1jb2xvci1waWNrZXI6OnBhcnQoc2F0dXJhdGlvbikge1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpIHZhcigtLWNrLWJvcmRlci1yYWRpdXMpIDAgMDtcblx0XHRcdFx0fVxuLmNrLmNrLWNvbG9yLXNlbGVjdG9yIC5jay1jb2xvci1waWNrZXItZnJhZ21lbnQgLmNrLmNrLWNvbG9yLXBpY2tlciAuaGV4LWNvbG9yLXBpY2tlcjo6cGFydChodWUpIHtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tY2stYm9yZGVyLXJhZGl1cykgdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdFx0XHRcdH1cbi5jay5jay1jb2xvci1zZWxlY3RvciAuY2stY29sb3ItcGlja2VyLWZyYWdtZW50IC5jay5jay1jb2xvci1waWNrZXIgLmhleC1jb2xvci1waWNrZXI6OnBhcnQoc2F0dXJhdGlvbi1wb2ludGVyKSxcblx0XHRcdFx0LmNrLmNrLWNvbG9yLXNlbGVjdG9yIC5jay1jb2xvci1waWNrZXItZnJhZ21lbnQgLmNrLmNrLWNvbG9yLXBpY2tlciAuaGV4LWNvbG9yLXBpY2tlcjo6cGFydChodWUtcG9pbnRlcikge1xuXHRcdFx0XHRcdHdpZHRoOiAxNXB4O1xuXHRcdFx0XHRcdGhlaWdodDogMTVweDtcblx0XHRcdFx0fVxuLmNrLmNrLWNvbG9yLXNlbGVjdG9yIC5jay1jb2xvci1waWNrZXItZnJhZ21lbnQgLmNrLmNrLWNvbG9yLXNlbGVjdG9yX2FjdGlvbi1iYXIge1xuXHRcdFx0cGFkZGluZzogMCA4cHggOHB4O1xuXHRcdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEEgaGVscGVyIHRvIGNvbWJpbmUgbXVsdGlwbGUgc2hhZG93cy5cbiAqL1xuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLWRpYWxvZy1vdmVybGF5LWJhY2tncm91bmQtY29sb3I6IGhzbGEoIDAsIDAlLCAwJSwgLjUgKTtcblx0LS1jay1kaWFsb2ctZHJvcC1zaGFkb3c6IDBweCAwcHggNnB4IDJweCBoc2woMGRlZyAwJSAwJSAvIDE1JSk7XG5cdC0tY2stZGlhbG9nLW1heC13aWR0aDogMTAwdnc7XG5cdC0tY2stZGlhbG9nLW1heC1oZWlnaHQ6IDkwdmg7XG5cdC0tY2stY29sb3ItZGlhbG9nLWJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdC0tY2stY29sb3ItZGlhbG9nLWZvcm0taGVhZGVyLWJvcmRlcjogdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xufVxuLmNrLmNrLWRpYWxvZy1vdmVybGF5IHtcblx0YW5pbWF0aW9uOiBjay1kaWFsb2ctZmFkZS1pbiAuM3M7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWRpYWxvZy1vdmVybGF5LWJhY2tncm91bmQtY29sb3IpO1xuXHR6LWluZGV4OiB2YXIoLS1jay16LWRpYWxvZyk7XG59XG4uY2suY2stZGlhbG9nIHtcblx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHQtLWNrLWRyb3Atc2hhZG93OiB2YXIoLS1jay1kaWFsb2ctZHJvcC1zaGFkb3cpO1xuXG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWRpYWxvZy1iYWNrZ3JvdW5kKTtcblx0bWF4LWhlaWdodDogdmFyKC0tY2stZGlhbG9nLW1heC1oZWlnaHQpO1xuXHRtYXgtd2lkdGg6IHZhcigtLWNrLWRpYWxvZy1tYXgtd2lkdGgpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG59XG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1kaWFsb2csXG5cdC5jay5jay1kaWFsb2cuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0fVxuLmNrLmNrLWRpYWxvZyB7XG5cdGJveC1zaGFkb3c6IHZhcigtLWNrLWRyb3Atc2hhZG93KSwgMCAwO1xufVxuLmNrLmNrLWRpYWxvZyAuY2suY2stZm9ybV9faGVhZGVyIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItZGlhbG9nLWZvcm0taGVhZGVyLWJvcmRlcik7XG5cdH1cbi5jay1kaWFsb2ctc2Nyb2xsLWxvY2tlZCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5Aa2V5ZnJhbWVzIGNrLWRpYWxvZy1mYWRlLWluIHtcblx0MCUge1xuXHRcdGJhY2tncm91bmQ6IGhzbGEoIDAsIDAlLCAwJSwgMCApO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stZGlhbG9nLW92ZXJsYXktYmFja2dyb3VuZC1jb2xvcik7XG5cdH1cbn1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4uY2suY2stZGlhbG9nIC5jay5jay1kaWFsb2dfX2FjdGlvbnMge1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHR9XG4uY2suY2stZGlhbG9nIC5jay5jay1kaWFsb2dfX2FjdGlvbnMgPiAqICsgKiB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdFx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qKlxuICogQSBjbGFzcyB3aGljaCBpbmRpY2F0ZXMgdGhhdCBhbiBlbGVtZW50IGhvbGRpbmcgaXQgaXMgZGlzYWJsZWQuXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEEgaGVscGVyIHRvIGNvbWJpbmUgbXVsdGlwbGUgc2hhZG93cy5cbiAqL1xuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLWRyb3Bkb3duLWFycm93LXNpemU6IGNhbGMoMC41ICogdmFyKC0tY2staWNvbi1zaXplKSk7XG59XG4uY2suY2stZHJvcGRvd24ge1xuXHQvKiBFbmFibGUgZm9udCBzaXplIGluaGVyaXRhbmNlLCB3aGljaCBhbGxvd3MgZmx1aWQgVUkgc2NhbGluZy4gKi9cblx0Zm9udC1zaXplOiBpbmhlcml0O1xufVxuLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fYXJyb3cge1xuXHRcdHdpZHRoOiB2YXIoLS1jay1kcm9wZG93bi1hcnJvdy1zaXplKTtcblx0fVxuW2Rpcj1cImx0clwiXSAuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19hcnJvdyB7XG5cdFx0XHRyaWdodDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0XHRcdC8qIEEgc3BhY2UgdG8gYWNjb21tb2RhdGUgdGhlIHRyaWFuZ2xlLiAqL1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdH1cbltkaXI9XCJydGxcIl0gLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fYXJyb3cge1xuXHRcdFx0bGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0XHRcdC8qIEEgc3BhY2UgdG8gYWNjb21tb2RhdGUgdGhlIHRyaWFuZ2xlLiAqL1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHR9XG4uY2suY2stZHJvcGRvd24uY2stZGlzYWJsZWQgLmNrLWRyb3Bkb3duX19hcnJvdyB7XG5cdFx0b3BhY2l0eTogdmFyKC0tY2stZGlzYWJsZWQtb3BhY2l0eSk7XG5cdH1cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbjpub3QoLmNrLWJ1dHRvbl93aXRoLXRleHQpIHtcblx0XHRcdFx0LyogTWFrZSBzdXJlIGRyb3Bkb3ducyB3aXRoIGp1c3QgYW4gaWNvbiBoYXZlIHRoZSByaWdodCBpbm5lciBzcGFjaW5nICovXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0XHR9XG5bZGlyPVwicnRsXCJdIC5jay5jay1kcm9wZG93biAuY2stYnV0dG9uLmNrLWRyb3Bkb3duX19idXR0b246bm90KC5jay1idXR0b25fd2l0aC10ZXh0KSB7XG5cdFx0XHRcdC8qIE1ha2Ugc3VyZSBkcm9wZG93bnMgd2l0aCBqdXN0IGFuIGljb24gaGF2ZSB0aGUgcmlnaHQgaW5uZXIgc3BhY2luZyAqL1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHRcdH1cbi8qICMyMyAqL1xuLmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHR3aWR0aDogN2VtO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdH1cbi8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvNzAgKi9cbi5jay5jay1kcm9wZG93biAuY2stYnV0dG9uLmNrLWRyb3Bkb3duX19idXR0b24uY2stZGlzYWJsZWQgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0b3BhY2l0eTogdmFyKC0tY2stZGlzYWJsZWQtb3BhY2l0eSk7XG5cdFx0fVxuLyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvODE2ICovXG4uY2suY2stZHJvcGRvd24gLmNrLWJ1dHRvbi5jay1kcm9wZG93bl9fYnV0dG9uLmNrLW9uIHtcblx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcblx0XHR9XG4uY2suY2stZHJvcGRvd24gLmNrLWJ1dHRvbi5jay1kcm9wZG93bl9fYnV0dG9uLmNrLWRyb3Bkb3duX19idXR0b25fbGFiZWwtd2lkdGhfYXV0byAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHR9XG4vKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy84Njk5ICovXG4uY2suY2stZHJvcGRvd24gLmNrLWJ1dHRvbi5jay1kcm9wZG93bl9fYnV0dG9uLmNrLW9mZjphY3RpdmUsXG5cdFx0LmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbi5jay1vbjphY3RpdmUge1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHR9XG4uY2suY2stZHJvcGRvd24gLmNrLWJ1dHRvbi5jay1kcm9wZG93bl9fYnV0dG9uLmNrLW9mZjphY3RpdmU6Zm9jdXMsIC5jay5jay1kcm9wZG93biAuY2stYnV0dG9uLmNrLWRyb3Bkb3duX19idXR0b24uY2stb246YWN0aXZlOmZvY3VzIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogdmFyKC0tY2stZm9jdXMtb3V0ZXItc2hhZG93KSwgMCAwO1xuXHRcdFx0fVxuLmNrLmNrLWRyb3Bkb3duX19wYW5lbCB7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItZHJvcGRvd24tcGFuZWwtYmFja2dyb3VuZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWRyb3Bkb3duLXBhbmVsLWJvcmRlcik7XG5cdGJvdHRvbTogMDtcblxuXHQvKiBNYWtlIHN1cmUgdGhlIHBhbmVsIGlzIGF0IGxlYXN0IGFzIHdpZGUgYXMgdGhlIGRyb3AtZG93bidzIGJ1dHRvbi4gKi9cblx0bWluLXdpZHRoOiAxMDAlO1xufVxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stZHJvcGRvd25fX3BhbmVsLFxuXHQuY2suY2stZHJvcGRvd25fX3BhbmVsLmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdH1cbi5jay5jay1kcm9wZG93bl9fcGFuZWwge1xuXHRib3gtc2hhZG93OiB2YXIoLS1jay1kcm9wLXNoYWRvdyksIDAgMDtcblxuXHQvKiBEaXNhYmxlZCBjb3JuZXIgYm9yZGVyIHJhZGl1cyB0byBiZSBjb25zaXN0ZW50IHdpdGggdGhlIC5kcm9wZG93bl9fYnV0dG9uXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzgxNiAqL1xufVxuLmNrLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfc2Uge1xuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdH1cbi5jay5jay1kcm9wZG93bl9fcGFuZWwuY2stZHJvcGRvd25fX3BhbmVsX3N3IHtcblx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0fVxuLmNrLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfbmUge1xuXHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdH1cbi5jay5jay1kcm9wZG93bl9fcGFuZWwuY2stZHJvcGRvd25fX3BhbmVsX253IHtcblx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcblx0fVxuLmNrLmNrLWRyb3Bkb3duX19wYW5lbDpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuLmNrLmNrLWRyb3Bkb3duID4gLmNrLWRyb3Bkb3duX19wYW5lbCA+IC5jay1saXN0IHtcblx0LyogRGlzYWJsZWQgcmFkaXVzIG9mIHRvcC1sZWZ0IGJvcmRlciB0byBiZSBjb25zaXN0ZW50IHdpdGggLmRyb3Bkb3duX19idXR0b25cblx0aHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvODE2ICovXG5cdGJvcmRlci1yYWRpdXM6IDA7XG59XG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1kcm9wZG93biA+IC5jay1kcm9wZG93bl9fcGFuZWwgPiAuY2stbGlzdCxcblx0LmNrLmNrLWRyb3Bkb3duID4gLmNrLWRyb3Bkb3duX19wYW5lbCA+IC5jay1saXN0LmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0fVxuLyogTWFrZSBzdXJlIHRoZSBidXR0b24gYmVsb25naW5nIHRvIHRoZSBmaXJzdC9sYXN0IGNoaWxkIG9mIHRoZSBsaXN0IGdvZXMgd2VsbCB3aXRoIHRoZVxuXHRib3JkZXIgcmFkaXVzIG9mIHRoZSBlbnRpcmUgcGFuZWwuICovXG4uY2suY2stZHJvcGRvd24gPiAuY2stZHJvcGRvd25fX3BhbmVsID4gLmNrLWxpc3QgLmNrLWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQgPiAuY2stYnV0dG9uIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0fVxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stZHJvcGRvd24gPiAuY2stZHJvcGRvd25fX3BhbmVsID4gLmNrLWxpc3QgLmNrLWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQgPiAuY2stYnV0dG9uLFxuXHQuY2suY2stZHJvcGRvd24gPiAuY2stZHJvcGRvd25fX3BhbmVsID4gLmNrLWxpc3QgLmNrLWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQgPiAuY2stYnV0dG9uLmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdFx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHR9XG4uY2suY2stZHJvcGRvd24gPiAuY2stZHJvcGRvd25fX3BhbmVsID4gLmNrLWxpc3QgLmNrLWxpc3RfX2l0ZW06bGFzdC1jaGlsZCA+IC5jay1idXR0b24ge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHR9XG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1kcm9wZG93biA+IC5jay1kcm9wZG93bl9fcGFuZWwgPiAuY2stbGlzdCAuY2stbGlzdF9faXRlbTpsYXN0LWNoaWxkID4gLmNrLWJ1dHRvbixcblx0LmNrLmNrLWRyb3Bkb3duID4gLmNrLWRyb3Bkb3duX19wYW5lbCA+IC5jay1saXN0IC5jay1saXN0X19pdGVtOmxhc3QtY2hpbGQgPiAuY2stYnV0dG9uLmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdFx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qKlxuICogSW1wbGVtZW50cyByb3VuZGVkIGNvcm5lciBpbnRlcmZhY2UgZm9yIC5jay1yb3VuZGVkLWNvcm5lcnMgY2xhc3MuXG4gKlxuICogQHNlZSAkY2stYm9yZGVyLXJhZGl1c1xuICovXG46cm9vdCB7XG5cdC0tY2stY29sb3Itc3BsaXQtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGhzbCgwLCAwJSwgOTIlKTtcblx0LS1jay1jb2xvci1zcGxpdC1idXR0b24taG92ZXItYm9yZGVyOiBoc2woMCwgMCUsIDcwJSk7XG59XG4vKlxuXHQgKiBOb3RlOiBjay1yb3VuZGVkIGFuZCBjay1kaXIgbWl4aW5zIGRvbid0IGdvIHRvZ2V0aGVyIChiZWNhdXNlIHRoZXkgYm90aCB1c2UgQG5lc3QpLlxuXHQgKi9cbltkaXI9XCJsdHJcIl0gLmNrLmNrLXNwbGl0YnV0dG9uOmhvdmVyID4gLmNrLXNwbGl0YnV0dG9uX19hY3Rpb24sIFtkaXI9XCJsdHJcIl0gLmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX29wZW4gPiAuY2stc3BsaXRidXR0b25fX2FjdGlvbiB7XG5cdFx0XHQvKiBEb24ndCByb3VuZCB0aGUgYWN0aW9uIGJ1dHRvbiBvbiB0aGUgcmlnaHQgc2lkZSAqL1xuXHRcdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHVuc2V0O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHVuc2V0O1xuXHRcdH1cbltkaXI9XCJydGxcIl0gLmNrLmNrLXNwbGl0YnV0dG9uOmhvdmVyID4gLmNrLXNwbGl0YnV0dG9uX19hY3Rpb24sIFtkaXI9XCJydGxcIl0gLmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX29wZW4gPiAuY2stc3BsaXRidXR0b25fX2FjdGlvbiB7XG5cdFx0XHQvKiBEb24ndCByb3VuZCB0aGUgYWN0aW9uIGJ1dHRvbiBvbiB0aGUgbGVmdCBzaWRlICovXG5cdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB1bnNldDtcblx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHVuc2V0O1xuXHRcdH1cbi5jay5jay1zcGxpdGJ1dHRvbiA+IC5jay1zcGxpdGJ1dHRvbl9fYXJyb3cge1xuXHRcdC8qIEl0J3MgYSB0ZXh0LWxlc3MgYnV0dG9uIGFuZCBzaW5jZSB0aGUgaWNvbiBpcyBwb3NpdGlvbmVkIGFic29sdXRlbHkgaW4gc3VjaCBzaXR1YXRpb24sXG5cdFx0aXQgbXVzdCBnZXQgc29tZSBhcmJpdHJhcnkgbWluLXdpZHRoLiAqL1xuXHRcdG1pbi13aWR0aDogdW5zZXQ7XG5cdH1cbltkaXI9XCJsdHJcIl0gLmNrLmNrLXNwbGl0YnV0dG9uID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdyB7XG5cdFx0XHQvKiBEb24ndCByb3VuZCB0aGUgYXJyb3cgYnV0dG9uIG9uIHRoZSBsZWZ0IHNpZGUgKi9cblx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHVuc2V0O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdW5zZXQ7XG5cdFx0fVxuW2Rpcj1cInJ0bFwiXSAuY2suY2stc3BsaXRidXR0b24gPiAuY2stc3BsaXRidXR0b25fX2Fycm93IHtcblx0XHRcdC8qIERvbid0IHJvdW5kIHRoZSBhcnJvdyBidXR0b24gb24gdGhlIHJpZ2h0IHNpZGUgKi9cblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB1bnNldDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB1bnNldDtcblx0XHR9XG4uY2suY2stc3BsaXRidXR0b24gPiAuY2stc3BsaXRidXR0b25fX2Fycm93IHN2ZyB7XG5cdFx0XHR3aWR0aDogdmFyKC0tY2stZHJvcGRvd24tYXJyb3ctc2l6ZSk7XG5cdFx0fVxuLyogTWFrZSBzdXJlIHRoZSBkaXZpZGVyIHN0cmV0Y2hlcyAxMDAlIGhlaWdodCBvZiB0aGUgYnV0dG9uXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzEwOTM2ICovXG4uY2suY2stc3BsaXRidXR0b24gPiAuY2stc3BsaXRidXR0b25fX2Fycm93Om5vdCg6Zm9jdXMpIHtcblx0XHRib3JkZXItdG9wLXdpZHRoOiAwcHg7XG5cdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMHB4O1xuXHR9XG4vKiBEb24ndCByb3VuZCB0aGUgYm90dG9tIGxlZnQgYW5kIHJpZ2h0IGNvcm5lcnMgb2YgdGhlIGJ1dHRvbnMgd2hlbiBcIm9wZW5cIlxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy84MTYgKi9cbi5jay5jay1zcGxpdGJ1dHRvbi5jay1zcGxpdGJ1dHRvbl9vcGVuIHtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHR9XG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1zcGxpdGJ1dHRvbi5jay1zcGxpdGJ1dHRvbl9vcGVuLFxuXHQuY2suY2stc3BsaXRidXR0b24uY2stc3BsaXRidXR0b25fb3Blbi5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHR9XG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1zcGxpdGJ1dHRvbi5jay1zcGxpdGJ1dHRvbl9vcGVuID4gLmNrLXNwbGl0YnV0dG9uX19hY3Rpb24sIC5jay5jay1zcGxpdGJ1dHRvbi5jay1zcGxpdGJ1dHRvbl9vcGVuLmNrLXJvdW5kZWQtY29ybmVycyA+IC5jay1zcGxpdGJ1dHRvbl9fYWN0aW9uIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0XHRcdH1cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX29wZW4gPiAuY2stc3BsaXRidXR0b25fX2Fycm93LCAuY2suY2stc3BsaXRidXR0b24uY2stc3BsaXRidXR0b25fb3Blbi5jay1yb3VuZGVkLWNvcm5lcnMgPiAuY2stc3BsaXRidXR0b25fX2Fycm93IHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdFx0XHR9XG4vKiBXaGVuIHRoZSBzcGxpdCBidXR0b24gaXMgXCJvcGVuXCIgKHRoZSBhcnJvdyBpcyBvbikgb3IgYmVpbmcgaG92ZXJlZCwgaXQgc2hvdWxkIGdldCBzb21lIHN0eWxpbmdcblx0YXMgYSB3aG9sZS4gVGhlIGJhY2tncm91bmQgb2YgYm90aCBidXR0b25zIHNob3VsZCBzdGFuZCBvdXQgYW5kIHRoZXJlIHNob3VsZCBiZSBhIHZpc3VhbFxuXHRzZXBhcmF0aW9uIGJldHdlZW4gYm90aCBidXR0b25zLiAqL1xuLyogV2hlbiB0aGUgc3BsaXQgYnV0dG9uIGhvdmVyZWQgYXMgYSB3aG9sZSwgbm90IGFzIGluZGl2aWR1YWwgYnV0dG9ucy4gKi9cbi5jay5jay1zcGxpdGJ1dHRvbi5jay1zcGxpdGJ1dHRvbl9vcGVuID4gLmNrLWJ1dHRvbjpub3QoLmNrLW9uKTpub3QoLmNrLWRpc2FibGVkKTpub3QoOmhvdmVyKSwgLmNrLmNrLXNwbGl0YnV0dG9uOmhvdmVyID4gLmNrLWJ1dHRvbjpub3QoLmNrLW9uKTpub3QoLmNrLWRpc2FibGVkKTpub3QoOmhvdmVyKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1zcGxpdC1idXR0b24taG92ZXItYmFja2dyb3VuZCk7XG5cdFx0fVxuLyogU3BsaXRidXR0b24gc2VwYXJhdG9yIG5lZWRzIHRvIGJlIHNldCB3aXRoIHRoZSA6OmFmdGVyIHBzZXVkb3NlbGVjdG9yXG5cdFx0dG8gZGlzcGxheSBwcm9wZXJseSB0aGUgYm9yZGVycyBvbiBmb2N1cyAqL1xuLmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX29wZW4gPiAuY2stc3BsaXRidXR0b25fX2Fycm93Om5vdCguY2stZGlzYWJsZWQpOjphZnRlciwgLmNrLmNrLXNwbGl0YnV0dG9uOmhvdmVyID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdzpub3QoLmNrLWRpc2FibGVkKTo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR3aWR0aDogMXB4O1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stY29sb3Itc3BsaXQtYnV0dG9uLWhvdmVyLWJvcmRlcik7XG5cdFx0fVxuLyogTWFrZSBzdXJlIHRoZSBkaXZpZGVyIGJldHdlZW4gdGhlIGJ1dHRvbnMgbG9va3MgZmluZSB3aGVuIHRoZSBidXR0b24gaXMgZm9jdXNlZCAqL1xuLmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX29wZW4gPiAuY2stc3BsaXRidXR0b25fX2Fycm93OmZvY3VzOjphZnRlciwgLmNrLmNrLXNwbGl0YnV0dG9uOmhvdmVyID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdzpmb2N1czo6YWZ0ZXIge1xuXHRcdFx0LS1jay1jb2xvci1zcGxpdC1idXR0b24taG92ZXItYm9yZGVyOiB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xuXHRcdH1cbltkaXI9XCJsdHJcIl0gLmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX29wZW4gPiAuY2stc3BsaXRidXR0b25fX2Fycm93Om5vdCguY2stZGlzYWJsZWQpOjphZnRlciwgW2Rpcj1cImx0clwiXSAuY2suY2stc3BsaXRidXR0b246aG92ZXIgPiAuY2stc3BsaXRidXR0b25fX2Fycm93Om5vdCguY2stZGlzYWJsZWQpOjphZnRlciB7XG5cdFx0XHRcdGxlZnQ6IC0xcHg7XG5cdFx0XHR9XG5bZGlyPVwicnRsXCJdIC5jay5jay1zcGxpdGJ1dHRvbi5jay1zcGxpdGJ1dHRvbl9vcGVuID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdzpub3QoLmNrLWRpc2FibGVkKTo6YWZ0ZXIsIFtkaXI9XCJydGxcIl0gLmNrLmNrLXNwbGl0YnV0dG9uOmhvdmVyID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdzpub3QoLmNrLWRpc2FibGVkKTo6YWZ0ZXIge1xuXHRcdFx0XHRyaWdodDogLTFweDtcblx0XHRcdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4uY2suY2stdG9vbGJhci1kcm9wZG93biAuY2stdG9vbGJhciB7XG5cdGJvcmRlcjogMDtcbn1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBBIGNsYXNzIHdoaWNoIGluZGljYXRlcyB0aGF0IGFuIGVsZW1lbnQgaG9sZGluZyBpdCBpcyBkaXNhYmxlZC5cbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qKlxuICogSW1wbGVtZW50cyBhIGJ1dHRvbiBvZiBnaXZlbiBiYWNrZ3JvdW5kIGNvbG9yLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkYm9yZGVyIC0gQm9yZGVyIGNvbG9yIG9mIHRoZSBidXR0b24uXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQWxsIG1lbnUgYnV0dG9ucy5cbiAqL1xuLmNrLmNrLWJ1dHRvbi5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19idXR0b24ge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy10aW55KSBjYWxjKDIgKiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSk7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG59XG4uY2suY2stYnV0dG9uLmNrLWRyb3Bkb3duLW1lbnUtbGlzdF9fbmVzdGVkLW1lbnVfX2J1dHRvbjpmb2N1cyB7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHR9XG4uY2suY2stYnV0dG9uLmNrLWRyb3Bkb3duLW1lbnUtbGlzdF9fbmVzdGVkLW1lbnVfX2J1dHRvbjpmb2N1czpub3QoLmNrLW9uKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kKTtcblx0XHR9XG4uY2suY2stYnV0dG9uLmNrLWRyb3Bkb3duLW1lbnUtbGlzdF9fbmVzdGVkLW1lbnVfX2J1dHRvbiA+IC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0fVxuLmNrLmNrLWJ1dHRvbi5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19idXR0b24uY2stZGlzYWJsZWQgPiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0b3BhY2l0eTogdmFyKC0tY2stZGlzYWJsZWQtb3BhY2l0eSk7XG5cdH1cbi8qIFNwYWNpbmcgaW4gYnV0dG9ucyB0aGF0IG1pc3MgdGhlIGljb24uICovXG4uY2suY2stYnV0dG9uLmNrLWRyb3Bkb3duLW1lbnUtbGlzdF9fbmVzdGVkLW1lbnVfX2J1dHRvbi5jay1pY29uLXNwYWNpbmc6bm90KDpoYXMoLmNrLWJ1dHRvbl9faWNvbikpID4gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWNrLWljb24tc2l6ZSkgLSB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKSk7XG5cdH1cbi5jay5jay1idXR0b24uY2stZHJvcGRvd24tbWVudS1saXN0X19uZXN0ZWQtbWVudV9fYnV0dG9uID4gLmNrLWRyb3Bkb3duLW1lbnUtbGlzdF9fbmVzdGVkLW1lbnVfX2J1dHRvbl9fYXJyb3cge1xuXHRcdHdpZHRoOiB2YXIoLS1jay1kcm9wZG93bi1hcnJvdy1zaXplKTtcblx0fVxuW2Rpcj1cImx0clwiXSAuY2suY2stYnV0dG9uLmNrLWRyb3Bkb3duLW1lbnUtbGlzdF9fbmVzdGVkLW1lbnVfX2J1dHRvbiA+IC5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19idXR0b25fX2Fycm93IHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cblx0XHRcdC8qIE51ZGdlIHRoZSBhcnJvdyBnZW50bHkgdG8gdGhlIHJpZ2h0IGJlY2F1c2UgaXRzIGNlbnRlciBvZiBncmF2aXR5IGlzIHRvIHRoZSBsZWZ0ICovXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKSk7XG5cdH1cbltkaXI9XCJydGxcIl0gLmNrLmNrLWJ1dHRvbi5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19idXR0b24gPiAuY2stZHJvcGRvd24tbWVudS1saXN0X19uZXN0ZWQtbWVudV9fYnV0dG9uX19hcnJvdyB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cblx0XHRcdC8qIE51ZGdlIHRoZSBhcnJvdyBnZW50bHkgdG8gdGhlIGxlZnQgYmVjYXVzZSBpdHMgY2VudGVyIG9mIGdyYXZpdHkgaXMgdG8gdGhlIHJpZ2h0IChhZnRlciByb3RhdGlvbikuICovXG5cdFx0XHRtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWNrLXNwYWNpbmctc21hbGwpKTtcblx0fVxuLmNrLmNrLWJ1dHRvbi5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19idXR0b24uY2stZGlzYWJsZWQgPiAuY2stZHJvcGRvd24tbWVudS1saXN0X19uZXN0ZWQtbWVudV9fYnV0dG9uX19hcnJvdyB7XG5cdFx0b3BhY2l0eTogdmFyKC0tY2stZGlzYWJsZWQtb3BhY2l0eSk7XG5cdH1cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWJ1dHRvbi5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19idXR0b246bm90KC5jay1idXR0b25fd2l0aC10ZXh0KSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdH1cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWJ1dHRvbi5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19idXR0b24gPiAuY2stZHJvcGRvd24tbWVudS1saXN0X19uZXN0ZWQtbWVudV9fYnV0dG9uX19hcnJvdyB7XG5cdFx0XHRyaWdodDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0XHRcdC8qIEEgc3BhY2UgdG8gYWNjb21tb2RhdGUgdGhlIHRyaWFuZ2xlLiAqL1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdH1cbltkaXI9XCJydGxcIl0gLmNrLmNrLWJ1dHRvbi5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19idXR0b246bm90KC5jay1idXR0b25fd2l0aC10ZXh0KSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHR9XG5bZGlyPVwicnRsXCJdIC5jay5jay1idXR0b24uY2stZHJvcGRvd24tbWVudS1saXN0X19uZXN0ZWQtbWVudV9fYnV0dG9uID4gLmNrLWRyb3Bkb3duLW1lbnUtbGlzdF9fbmVzdGVkLW1lbnVfX2J1dHRvbl9fYXJyb3cge1xuXHRcdFx0bGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0XHRcdC8qIEEgc3BhY2UgdG8gYWNjb21tb2RhdGUgdGhlIHRyaWFuZ2xlLiAqL1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLWRyb3Bkb3duLW1lbnUtbWVudS1pdGVtLW1pbi13aWR0aDogMThlbTtcbn1cbi5jay5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19pdGVtIHtcblx0bWluLXdpZHRoOiB2YXIoLS1jay1kcm9wZG93bi1tZW51LW1lbnUtaXRlbS1taW4td2lkdGgpO1xufVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBMaXN0IGl0ZW0gYnV0dG9ucy5cbiAqL1xuLmNrLWJ1dHRvbi5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19pdGVtX19idXR0b24ge1xuXHRib3JkZXItcmFkaXVzOiAwO1xufVxuLmNrLWJ1dHRvbi5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19pdGVtX19idXR0b24gPiAuY2stc3Bpbm5lci1jb250YWluZXIsXG5cdC5jay1idXR0b24uY2stZHJvcGRvd24tbWVudS1saXN0X19uZXN0ZWQtbWVudV9faXRlbV9fYnV0dG9uID4gLmNrLXNwaW5uZXItY29udGFpbmVyIC5jay1zcGlubmVyIHtcblx0XHQvKiBUaGVzZSBzdHlsZXMgY29ycmVzcG9uZCB0byAuY2staWNvbiBzbyB0aGF0IHRoZSBzcGlubmVyIHNlYW1sZXNzbHkgcmVwbGFjZXMgdGhlIGljb24uICovXG5cdFx0LS1jay10b29sYmFyLXNwaW5uZXItc2l6ZTogMjBweDtcblx0fVxuLmNrLWJ1dHRvbi5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19pdGVtX19idXR0b24gPiAuY2stc3Bpbm5lci1jb250YWluZXIge1xuXHRcdC8qIFRoZXNlIG1hcmdpbnMgYXJlIHRoZSBzYW1lIGFzIGZvciAuY2staWNvbi4gKi9cblx0XHRtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWNrLXNwYWNpbmctc21hbGwpKTtcblx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHR9XG4vKlxuXHQgKiBIb3ZlcmVkIGl0ZW1zIGF1dG9tYXRpY2FsbHkgZ2V0IGZvY3VzZWQuIERlZmF1bHQgZm9jdXMgc3R5bGVzIGxvb2sgb2RkXG5cdCAqIHdoaWxlIG1vdmluZyBhY3Jvc3MgYSBodWdlIGxpc3Qgb2YgaXRlbXMgc28gbGV0J3MgZ2V0IHJpZCBvZiB0aGVtXG5cdCAqL1xuLmNrLWJ1dHRvbi5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19pdGVtX19idXR0b246Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuLmNrLWJ1dHRvbi5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19pdGVtX19idXR0b246Zm9jdXM6bm90KC5jay1vbikge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZCk7XG5cdFx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG4vKipcbiAqIEdpdmVzIGFuIGVsZW1lbnQgYSBkcm9wIHNoYWRvdyBzbyBpdCBsb29rcyBsaWtlIGEgZmxvYXRpbmcgcGFuZWwuXG4gKi9cbjpyb290IHtcblx0LS1jay1kcm9wZG93bi1tZW51LW1lbnUtcGFuZWwtbWF4LXdpZHRoOiA3NXZ3O1xufVxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stZHJvcGRvd24tbWVudV9fbmVzdGVkLW1lbnVfX3BhbmVsIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tY2stZHJvcC1zaGFkb3cpLCAwIDA7XG5cblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItZHJvcGRvd24tcGFuZWwtYmFja2dyb3VuZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWRyb3Bkb3duLXBhbmVsLWJvcmRlcik7XG5cdGJvdHRvbTogMDtcblx0aGVpZ2h0OiBmaXQtY29udGVudDtcblx0bWF4LXdpZHRoOiB2YXIoLS1jay1kcm9wZG93bi1tZW51LW1lbnUtcGFuZWwtbWF4LXdpZHRoKTtcblxuXHQvKiBSZXNldCBiYWxsb29uIHN0eWxpbmcgKi9cbn1cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWRyb3Bkb3duLW1lbnVfX25lc3RlZC1tZW51X19wYW5lbDo6YWZ0ZXIsXG5cdC5jay5jay1iYWxsb29uLXBhbmVsLmNrLWRyb3Bkb3duLW1lbnVfX25lc3RlZC1tZW51X19wYW5lbDo6YmVmb3JlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG4vKiBDb3JuZXIgYm9yZGVyIHJhZGl1cyBjb25zaXN0ZW50IHdpdGggdGhlIGJ1dHRvbi4gKi9cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWRyb3Bkb3duLW1lbnVfX25lc3RlZC1tZW51X19wYW5lbC5jay1iYWxsb29uLXBhbmVsX2VzLFxuXHQuY2suY2stYmFsbG9vbi1wYW5lbC5jay1kcm9wZG93bi1tZW51X19uZXN0ZWQtbWVudV9fcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9zZSB7XG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0fVxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stZHJvcGRvd24tbWVudV9fbmVzdGVkLW1lbnVfX3BhbmVsLmNrLWJhbGxvb24tcGFuZWxfd3MsXG5cdC5jay5jay1iYWxsb29uLXBhbmVsLmNrLWRyb3Bkb3duLW1lbnVfX25lc3RlZC1tZW51X19wYW5lbC5jay1iYWxsb29uLXBhbmVsX3N3IHtcblx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0fVxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stZHJvcGRvd24tbWVudV9fbmVzdGVkLW1lbnVfX3BhbmVsLmNrLWJhbGxvb24tcGFuZWxfZW4sXG5cdC5jay5jay1iYWxsb29uLXBhbmVsLmNrLWRyb3Bkb3duLW1lbnVfX25lc3RlZC1tZW51X19wYW5lbC5jay1iYWxsb29uLXBhbmVsX25lIHtcblx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHR9XG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1kcm9wZG93bi1tZW51X19uZXN0ZWQtbWVudV9fcGFuZWwuY2stYmFsbG9vbi1wYW5lbF93bixcblx0LmNrLmNrLWJhbGxvb24tcGFuZWwuY2stZHJvcGRvd24tbWVudV9fbmVzdGVkLW1lbnVfX3BhbmVsLmNrLWJhbGxvb24tcGFuZWxfbncge1xuXHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHR9XG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1kcm9wZG93bi1tZW51X19uZXN0ZWQtbWVudV9fcGFuZWw6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBBIHZpc3VhbCBzdHlsZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBib3JkZXIuXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEEgaGVscGVyIHRvIGNvbWJpbmUgbXVsdGlwbGUgc2hhZG93cy5cbiAqL1xuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG46cm9vdCB7XG5cdC0tY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZy1tYXgtd2lkdGg6IDYwMHB4O1xuXHQtLWNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2ctbWF4LWhlaWdodDogNDAwcHg7XG5cdC0tY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZy1ib3JkZXItY29sb3I6IGhzbCgyMjAsIDYlLCA4MSUpO1xuXHQtLWNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2ctY29kZS1iYWNrZ3JvdW5kLWNvbG9yOiBoc2woMGRlZyAwJSA5Mi45NCUpO1xuXHQtLWNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2cta2JkLXNoYWRvdy1jb2xvcjogaHNsKDBkZWcgMCUgNjElKTtcbn1cbi5jay5jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nIC5jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nX19jb250ZW50IHtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdG1heC13aWR0aDogdmFyKC0tY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZy1tYXgtd2lkdGgpO1xuXHRtYXgtaGVpZ2h0OiB2YXIoLS1jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nLW1heC1oZWlnaHQpO1xuXHRvdmVyZmxvdzogYXV0bztcblx0dXNlci1zZWxlY3Q6IHRleHQ7XG5cblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uY2suY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZyAuY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZ19fY29udGVudDpmb2N1cyB7XG5cdFx0LyogRGlzYWJsZSBuYXRpdmUgb3V0bGluZS4gKi9cblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJvcmRlcjogdmFyKC0tY2stZm9jdXMtcmluZyk7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tY2stZm9jdXMtb3V0ZXItc2hhZG93KSwgMCAwO1xuXHR9XG4uY2suY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZyAuY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZ19fY29udGVudCAqIHtcblx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHR9XG4vKiBIaWRlIHRoZSBtYWluIGxhYmVsIG9mIHRoZSBjb250ZW50IGNvbnRhaW5lci4gKi9cbi5jay5jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nIC5jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nX19jb250ZW50IC5jay1sYWJlbCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuLmNrLmNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2cgLmNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2dfX2NvbnRlbnQgaDMge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGZvbnQtc2l6ZTogMS4yZW07XG5cdH1cbi5jay5jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nIC5jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nX19jb250ZW50IGg0IHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRmb250LXNpemU6IDFlbTtcblx0fVxuLmNrLmNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2cgLmNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2dfX2NvbnRlbnQgcCxcblx0LmNrLmNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2cgLmNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2dfX2NvbnRlbnQgaDMsXG5cdC5jay5jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nIC5jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nX19jb250ZW50IGg0LFxuXHQuY2suY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZyAuY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZ19fY29udGVudCB0YWJsZSB7XG5cdFx0bWFyZ2luOiAxZW0gMDtcblx0fVxuLmNrLmNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2cgLmNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2dfX2NvbnRlbnQgZGwge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nLWJvcmRlci1jb2xvcik7XG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0fVxuLmNrLmNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2cgLmNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2dfX2NvbnRlbnQgZGwgZHQsIC5jay5jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nIC5jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nX19jb250ZW50IGRsIGRkIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nLWJvcmRlci1jb2xvcik7XG5cdFx0XHRwYWRkaW5nOiAuNGVtIDA7XG5cdFx0fVxuLmNrLmNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2cgLmNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2dfX2NvbnRlbnQgZGwgZHQge1xuXHRcdFx0Z3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG5cdFx0fVxuLmNrLmNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2cgLmNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2dfX2NvbnRlbnQgZGwgZGQge1xuXHRcdFx0Z3JpZC1jb2x1bW4tc3RhcnQ6IDI7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHR9XG4uY2suY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZyAuY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZ19fY29udGVudCBrYmQsIC5jay5jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nIC5jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nX19jb250ZW50IGNvZGUge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nLWNvZGUtYmFja2dyb3VuZC1jb2xvcik7XG5cdFx0cGFkZGluZzogLjRlbTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGJvcmRlci1yYWRpdXM6IDJweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Zm9udC1zaXplOiAuOWVtO1xuXHR9XG4uY2suY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZyAuY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZ19fY29udGVudCBjb2RlIHtcblx0XHRmb250LWZhbWlseTogbW9ub3NwYWNlO1xuXHR9XG4uY2suY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZyAuY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZ19fY29udGVudCBrYmQge1xuXHRcdG1pbi13aWR0aDogMS44ZW07XG5cdFx0Ym94LXNoYWRvdzogMHB4IDFweCAxcHggdmFyKC0tY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZy1rYmQtc2hhZG93LWNvbG9yKTtcblx0XHRtYXJnaW46IDAgMXB4O1xuXHR9XG4uY2suY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZyAuY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZ19fY29udGVudCBrYmQgKyBrYmQge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDJweDtcblx0XHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qKlxuICogSW1wbGVtZW50cyByb3VuZGVkIGNvcm5lciBpbnRlcmZhY2UgZm9yIC5jay1yb3VuZGVkLWNvcm5lcnMgY2xhc3MuXG4gKlxuICogQHNlZSAkY2stYm9yZGVyLXJhZGl1c1xuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBBIGNsYXNzIHdoaWNoIGluZGljYXRlcyB0aGF0IGFuIGVsZW1lbnQgaG9sZGluZyBpdCBpcyBkaXNhYmxlZC5cbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG4vKipcbiAqIEdpdmVzIGFuIGVsZW1lbnQgYSBkcm9wIHNoYWRvdyBzbyBpdCBsb29rcyBsaWtlIGEgZmxvYXRpbmcgcGFuZWwuXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEEgdmlzdWFsIHN0eWxlIG9mIGZvY3VzZWQgZWxlbWVudCdzIGJvcmRlci5cbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qKlxuICogSW1wbGVtZW50cyBhIGJ1dHRvbiBvZiBnaXZlbiBiYWNrZ3JvdW5kIGNvbG9yLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkYm9yZGVyIC0gQm9yZGVyIGNvbG9yIG9mIHRoZSBidXR0b24uXG4gKi9cbjpyb290IHtcblx0LS1jay1jb2xvci1lZGl0YWJsZS1ibHVyLXNlbGVjdGlvbjogaHNsKDAsIDAlLCA4NSUpO1xufVxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGU6bm90KC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZSkge1xuXHRib3JkZXItcmFkaXVzOiAwO1xufVxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stZWRpdG9yX19lZGl0YWJsZTpub3QoLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlKSxcblx0LmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stcm91bmRlZC1jb3JuZXJzOm5vdCguY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGUpIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0fVxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZm9jdXNlZDpub3QoLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlKSB7XG5cdFx0LyogRGlzYWJsZSBuYXRpdmUgb3V0bGluZS4gKi9cblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJvcmRlcjogdmFyKC0tY2stZm9jdXMtcmluZyk7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tY2staW5uZXItc2hhZG93KSwgMCAwO1xuXHR9XG4uY2suY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUge1xuXHRvdmVyZmxvdzogYXV0bztcblx0cGFkZGluZzogMCB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uY2suY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmVbZGlyPVwibHRyXCJdIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG4uY2suY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmVbZGlyPVwicnRsXCJdIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuLyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy8xMTYgKi9cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZSA+ICo6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHR9XG4vKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy84NDcgKi9cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZSA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0Lypcblx0XHQgKiBUaGlzIHZhbHVlIHNob3VsZCBtYXRjaCB3aXRoIHRoZSBkZWZhdWx0IG1hcmdpbnMgb2YgdGhlIGJsb2NrIGVsZW1lbnRzIChsaWtlIC5tZWRpYSBvciAuaW1hZ2UpXG5cdFx0ICogdG8gYXZvaWQgYSBjb250ZW50IGp1bXBpbmcgd2hlbiB0aGUgZmFrZSBzZWxlY3Rpb24gY29udGFpbmVyIHNob3dzIHVwIChTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTgyNSkuXG5cdFx0ICovXG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdH1cbi8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzY1MTcgKi9cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1ibHVycmVkIDo6c2VsZWN0aW9uIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1lZGl0YWJsZS1ibHVyLXNlbGVjdGlvbik7XG5cdH1cbi8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvMTExICovXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay10b29sYmFyLWNvbnRhaW5lcltjbGFzcyo9XCJhcnJvd19uXCJdOjphZnRlciB7XG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY2stY29sb3ItcGFuZWwtYmFja2dyb3VuZCk7XG5cdH1cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLXRvb2xiYXItY29udGFpbmVyW2NsYXNzKj1cImFycm93X3NcIl06OmFmdGVyIHtcblx0XHRib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jay1jb2xvci1wYW5lbC1iYWNrZ3JvdW5kKTtcblx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG46cm9vdCB7XG5cdC0tY2stZm9ybS1oZWFkZXItaGVpZ2h0OiA0NHB4O1xufVxuLmNrLmNrLWZvcm1fX2hlYWRlciB7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpIHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRoZWlnaHQ6IHZhcigtLWNrLWZvcm0taGVhZGVyLWhlaWdodCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1jay1mb3JtLWhlYWRlci1oZWlnaHQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xufVxuW2Rpcj1cImx0clwiXSAuY2suY2stZm9ybV9faGVhZGVyID4gLmNrLWljb24ge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdH1cbltkaXI9XCJydGxcIl0gLmNrLmNrLWZvcm1fX2hlYWRlciA+IC5jay1pY29uIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdH1cbi5jay5jay1mb3JtX19oZWFkZXIgLmNrLWZvcm1fX2hlYWRlcl9fbGFiZWwge1xuXHRcdC0tY2stZm9udC1zaXplLWJhc2U6IDE1cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG46cm9vdCB7XG5cdC0tY2staWNvbi1zaXplOiBjYWxjKHZhcigtLWNrLWxpbmUtaGVpZ2h0LWJhc2UpICogdmFyKC0tY2stZm9udC1zaXplLW5vcm1hbCkpO1xuXHQtLWNrLWljb24tZm9udC1zaXplOiAuODMzMzM1MDY5NGVtO1xufVxuLmNrLmNrLWljb24ge1xuXHR3aWR0aDogdmFyKC0tY2staWNvbi1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1jay1pY29uLXNpemUpO1xuXG5cdC8qIE11bHRpcGxpZWQgYnkgdGhlIGhlaWdodCBvZiB0aGUgbGluZSBpbiBcInB4XCIgc2hvdWxkIGdpdmUgU1ZHIFwidmlld3BvcnRcIiBkaW1lbnNpb25zICovXG5cdGZvbnQtc2l6ZTogdmFyKC0tY2staWNvbi1mb250LXNpemUpO1xuXG5cdC8qIEluaGVyaXQgY3Vyc29yIHN0eWxlICgjNSkuICovXG5cdGN1cnNvcjogaW5oZXJpdDtcblxuXHQvKiBUaGlzIHdpbGwgcHJldmVudCBibHVycnkgaWNvbnMgb24gRmlyZWZveC4gU2VlICMzNDAuICovXG5cdHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG59XG4uY2suY2staWNvbiAqIHtcblx0XHQvKiBJbmhlcml0IGN1cnNvciBzdHlsZSAoIzUpLiAqL1xuXHRcdGN1cnNvcjogaW5oZXJpdDtcblx0fVxuLyogQWxsb3dzIGR5bmFtaWMgY29sb3Jpbmcgb2YgYW4gaWNvbiBieSBpbmhlcml0aW5nIGl0cyBjb2xvciBmcm9tIHRoZSBwYXJlbnQuICovXG4uY2suY2staWNvbi5jay1pY29uX2luaGVyaXQtY29sb3Ige1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHR9XG4uY2suY2staWNvbi5jay1pY29uX2luaGVyaXQtY29sb3IgKiB7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR9XG4uY2suY2staWNvbi5jay1pY29uX2luaGVyaXQtY29sb3IgKjpub3QoW2ZpbGxdKSB7XG5cdFx0XHRcdC8qIE5lZWRlZCBieSBGRi4gKi9cblx0XHRcdFx0ZmlsbDogY3VycmVudENvbG9yO1xuXHRcdFx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qKlxuICogQSB2aXN1YWwgc3R5bGUgb2YgZm9jdXNlZCBlbGVtZW50J3MgYm9yZGVyLlxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBBIGhlbHBlciB0byBjb21iaW5lIG11bHRpcGxlIHNoYWRvd3MuXG4gKi9cbi8qKlxuICogR2l2ZXMgYW4gZWxlbWVudCBhIGRyb3Agc2hhZG93IHNvIGl0IGxvb2tzIGxpa2UgYSBmbG9hdGluZyBwYW5lbC5cbiAqL1xuOnJvb3Qge1xuXHQtLWNrLWlucHV0LXdpZHRoOiAxOGVtO1xuXG5cdC8qIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkuICovXG5cdC0tY2staW5wdXQtdGV4dC13aWR0aDogdmFyKC0tY2staW5wdXQtd2lkdGgpO1xufVxuLmNrLmNrLWlucHV0IHtcblx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1pbnB1dC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItaW5wdXQtYm9yZGVyKTtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1leHRyYS10aW55KSB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdG1pbi13aWR0aDogdmFyKC0tY2staW5wdXQtd2lkdGgpO1xuXG5cdC8qIFRoaXMgaXMgaW1wb3J0YW50IHRvIHN0YXkgb2YgdGhlIHNhbWUgaGVpZ2h0IGFzIHN1cnJvdW5kaW5nIGJ1dHRvbnMgKi9cblx0bWluLWhlaWdodDogdmFyKC0tY2stdWktY29tcG9uZW50LW1pbi1oZWlnaHQpO1xuXG5cdC8qIEFwcGx5IHNvbWUgc21vb3RoIHRyYW5zaXRpb24gdG8gdGhlIGJveC1zaGFkb3cgYW5kIGJvcmRlci4gKi9cblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMXMgZWFzZS1pbi1vdXQsIGJvcmRlciAuMXMgZWFzZS1pbi1vdXQ7XG59XG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1pbnB1dCxcblx0LmNrLmNrLWlucHV0LmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdH1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4uY2suY2staW5wdXQge1xuXHRcdHRyYW5zaXRpb246IG5vbmU7XG59XG5cdH1cbi5jay5jay1pbnB1dDpmb2N1cyB7XG5cdFx0LyogRGlzYWJsZSBuYXRpdmUgb3V0bGluZS4gKi9cblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJvcmRlcjogdmFyKC0tY2stZm9jdXMtcmluZyk7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tY2stZm9jdXMtb3V0ZXItc2hhZG93KSwgMCAwO1xuXHR9XG4uY2suY2staW5wdXRbcmVhZG9ubHldIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1pbnB1dC1kaXNhYmxlZC1ib3JkZXIpO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWlucHV0LWRpc2FibGVkLWJhY2tncm91bmQpO1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1pbnB1dC1kaXNhYmxlZC10ZXh0KTtcblx0fVxuLmNrLmNrLWlucHV0W3JlYWRvbmx5XTpmb2N1cyB7XG5cdFx0XHQvKiBUaGUgcmVhZC1vbmx5IGlucHV0IHNob3VsZCBoYXZlIGEgc2xpZ2h0bHkgbGVzcyB2aXNpYmxlIHNoYWRvdyB3aGVuIGZvY3VzZWQuICovXG5cdFx0XHRib3gtc2hhZG93OiB2YXIoLS1jay1mb2N1cy1kaXNhYmxlZC1vdXRlci1zaGFkb3cpLCAwIDA7XG5cdFx0fVxuLmNrLmNrLWlucHV0LmNrLWVycm9yIHtcblx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLWlucHV0LWVycm9yLWJvcmRlcik7XG5cdFx0YW5pbWF0aW9uOiBjay1pbnB1dC1zaGFrZSAuM3MgZWFzZSBib3RoO1xuXHR9XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuLmNrLmNrLWlucHV0LmNrLWVycm9yIHtcblx0XHRcdGFuaW1hdGlvbjogbm9uZTtcblx0fVxuXHRcdH1cbi5jay5jay1pbnB1dC5jay1lcnJvcjpmb2N1cyB7XG5cdFx0XHRib3gtc2hhZG93OiB2YXIoLS1jay1mb2N1cy1lcnJvci1vdXRlci1zaGFkb3cpLCAwIDA7XG5cdFx0fVxuQGtleWZyYW1lcyBjay1pbnB1dC1zaGFrZSB7XG5cdDIwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpO1xuXHR9XG5cblx0NDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTtcblx0fVxuXG5cdDYwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpO1xuXHR9XG5cblx0ODAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTtcblx0fVxufVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi5jay5jay1sYWJlbCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cbjpyb290IHtcblx0LS1jay1sYWJlbGVkLWZpZWxkLXZpZXctdHJhbnNpdGlvbjogLjFzIGN1YmljLWJlemllcigwLCAwLCAwLjI0LCAwLjk1KTtcblx0LS1jay1sYWJlbGVkLWZpZWxkLWVtcHR5LXVuZm9jdXNlZC1tYXgtd2lkdGg6IDEwMCUgLSAyICogdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHQtLWNrLWxhYmVsZWQtZmllbGQtbGFiZWwtZGVmYXVsdC1wb3NpdGlvbi14OiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdC0tY2stbGFiZWxlZC1maWVsZC1sYWJlbC1kZWZhdWx0LXBvc2l0aW9uLXk6IGNhbGMoMC42ICogdmFyKC0tY2stZm9udC1zaXplLWJhc2UpKTtcblx0LS1jay1jb2xvci1sYWJlbGVkLWZpZWxkLWxhYmVsLWJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG59XG4uY2suY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0Ym9yZGVyLXJhZGl1czogMDtcbn1cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyxcblx0LmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldy5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHR9XG4uY2suY2stbGFiZWxlZC1maWVsZC12aWV3ID4gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlld19faW5wdXQtd3JhcHBlciB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbi5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcgPiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyID4gLmNrLmNrLWxhYmVsIHtcblx0XHRcdHRvcDogMHB4O1xuXG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGFiZWxlZC1maWVsZC1sYWJlbC1iYWNrZ3JvdW5kKTtcblx0XHRcdHBhZGRpbmc6IDAgY2FsYyguNSAqIHZhcigtLWNrLWZvbnQtc2l6ZS10aW55KSk7XG5cdFx0XHRsaW5lLWhlaWdodDogaW5pdGlhbDtcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cblx0XHRcdC8qIFByZXZlbnQgb3ZlcmZsb3cgd2hlbiB0aGUgbGFiZWwgaXMgbG9uZ2VyIHRoYW4gdGhlIGlucHV0ICovXG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdG1heC13aWR0aDogMTAwJTtcblxuXHRcdFx0dHJhbnNpdGlvbjpcblx0XHRcdFx0dHJhbnNmb3JtIHZhcigtLWNrLWxhYmVsZWQtZmllbGQtdmlldy10cmFuc2l0aW9uKSxcblx0XHRcdFx0cGFkZGluZyB2YXIoLS1jay1sYWJlbGVkLWZpZWxkLXZpZXctdHJhbnNpdGlvbiksXG5cdFx0XHRcdGJhY2tncm91bmQgdmFyKC0tY2stbGFiZWxlZC1maWVsZC12aWV3LXRyYW5zaXRpb24pO1xuXHRcdH1cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyA+IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX2lucHV0LXdyYXBwZXIgPiAuY2suY2stbGFiZWwge1xuXHRcdFx0XHRsZWZ0OiAwcHg7XG5cdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcblx0XHRcdFx0LyogQnkgZGVmYXVsdCwgZGlzcGxheSB0aGUgbGFiZWwgc2NhbGVkIGRvd24gYWJvdmUgdGhlIGZpZWxkLiAqL1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSksIC02cHgpIHNjYWxlKC43NSk7XG5cdH1cbltkaXI9XCJydGxcIl0gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyA+IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX2lucHV0LXdyYXBwZXIgPiAuY2suY2stbGFiZWwge1xuXHRcdFx0XHRyaWdodDogMHB4O1xuXHRcdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKGNhbGMoLTEgKiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSkpLCAtNnB4KSBzY2FsZSguNzUpO1xuXHR9XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyA+IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX2lucHV0LXdyYXBwZXIgPiAuY2suY2stbGFiZWwge1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHRcdH1cblx0XHRcdH1cbi5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcuY2stZXJyb3IgPiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyID4gLmNrLmNrLWxhYmVsIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWVycm9yKTtcblx0XHR9XG4uY2suY2stbGFiZWxlZC1maWVsZC12aWV3LmNrLWVycm9yIC5jay1pbnB1dDpub3QoW3JlYWRvbmx5XSkgKyAuY2suY2stbGFiZWwge1xuXHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtZXJyb3IpO1xuXHRcdH1cbi5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcgLmNrLWxhYmVsZWQtZmllbGQtdmlld19fc3RhdHVzIHtcblx0XHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cblx0XHQvKiBMZXQgdGhlIGluZm8gd3JhcCB0byB0aGUgbmV4dCBsaW5lIHRvIGF2b2lkIHN0cmV0Y2hpbmcgdGhlIGxheW91dCBob3Jpem9udGFsbHkuXG5cdFx0VGhlIHN0YXR1cyBjb3VsZCBiZSB2ZXJ5IGxvbmcuICovXG5cdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0fVxuLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXMuY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXNfZXJyb3Ige1xuXHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtZXJyb3IpO1xuXHRcdH1cbi8qIERpc2FibGVkIGZpZWxkcyBhbmQgZmllbGRzIHRoYXQgaGF2ZSBubyBmb2N1cyBzaG91bGQgZmFkZSBvdXQuICovXG4uY2suY2stbGFiZWxlZC1maWVsZC12aWV3LmNrLWRpc2FibGVkID4gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlld19faW5wdXQtd3JhcHBlciA+IC5jay5jay1sYWJlbCxcblx0LmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldy5jay1sYWJlbGVkLWZpZWxkLXZpZXdfZW1wdHk6bm90KC5jay1sYWJlbGVkLWZpZWxkLXZpZXdfZm9jdXNlZCkgPiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyID4gLmNrLmNrLWxhYmVsIHtcblx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItaW5wdXQtZGlzYWJsZWQtdGV4dCk7XG5cdH1cbi8qIEZpZWxkcyB0aGF0IGFyZSBkaXNhYmxlZCBvciBub3QgZm9jdXNlZCBhbmQgd2l0aG91dCBhIHBsYWNlaG9sZGVyIHNob3VsZCBoYXZlIGZ1bGwtc2l6ZWQgbGFiZWxzLiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbi5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcuY2stZGlzYWJsZWQuY2stbGFiZWxlZC1maWVsZC12aWV3X2VtcHR5Om5vdCguY2stbGFiZWxlZC1maWVsZC12aWV3X3BsYWNlaG9sZGVyKSA+IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX2lucHV0LXdyYXBwZXIgPiAuY2suY2stbGFiZWwsXG5cdC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcuY2stbGFiZWxlZC1maWVsZC12aWV3X2VtcHR5Om5vdCguY2stbGFiZWxlZC1maWVsZC12aWV3X2ZvY3VzZWQpOm5vdCguY2stbGFiZWxlZC1maWVsZC12aWV3X3BsYWNlaG9sZGVyKTpub3QoLmNrLWVycm9yKSA+IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX2lucHV0LXdyYXBwZXIgPiAuY2suY2stbGFiZWwge1xuXG5cdFx0LyogQ29tcGVuc2F0ZSBmb3IgdGhlIGRlZmF1bHQgdHJhbnNsYXRlIHBvc2l0aW9uLiAqL1xuXHRcdG1heC13aWR0aDogY2FsYyh2YXIoLS1jay1sYWJlbGVkLWZpZWxkLWVtcHR5LXVuZm9jdXNlZC1tYXgtd2lkdGgpKTtcblxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldy5jay1kaXNhYmxlZC5jay1sYWJlbGVkLWZpZWxkLXZpZXdfZW1wdHk6bm90KC5jay1sYWJlbGVkLWZpZWxkLXZpZXdfcGxhY2Vob2xkZXIpID4gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlld19faW5wdXQtd3JhcHBlciA+IC5jay5jay1sYWJlbCwgW2Rpcj1cImx0clwiXSAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3LmNrLWxhYmVsZWQtZmllbGQtdmlld19lbXB0eTpub3QoLmNrLWxhYmVsZWQtZmllbGQtdmlld19mb2N1c2VkKTpub3QoLmNrLWxhYmVsZWQtZmllbGQtdmlld19wbGFjZWhvbGRlcik6bm90KC5jay1lcnJvcikgPiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyID4gLmNrLmNrLWxhYmVsIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLWNrLWxhYmVsZWQtZmllbGQtbGFiZWwtZGVmYXVsdC1wb3NpdGlvbi14KSwgdmFyKC0tY2stbGFiZWxlZC1maWVsZC1sYWJlbC1kZWZhdWx0LXBvc2l0aW9uLXkpKSBzY2FsZSgxKTtcblx0fVxuW2Rpcj1cInJ0bFwiXSAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3LmNrLWRpc2FibGVkLmNrLWxhYmVsZWQtZmllbGQtdmlld19lbXB0eTpub3QoLmNrLWxhYmVsZWQtZmllbGQtdmlld19wbGFjZWhvbGRlcikgPiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyID4gLmNrLmNrLWxhYmVsLCBbZGlyPVwicnRsXCJdIC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcuY2stbGFiZWxlZC1maWVsZC12aWV3X2VtcHR5Om5vdCguY2stbGFiZWxlZC1maWVsZC12aWV3X2ZvY3VzZWQpOm5vdCguY2stbGFiZWxlZC1maWVsZC12aWV3X3BsYWNlaG9sZGVyKTpub3QoLmNrLWVycm9yKSA+IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX2lucHV0LXdyYXBwZXIgPiAuY2suY2stbGFiZWwge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtMSAqIHZhcigtLWNrLWxhYmVsZWQtZmllbGQtbGFiZWwtZGVmYXVsdC1wb3NpdGlvbi14KSksIHZhcigtLWNrLWxhYmVsZWQtZmllbGQtbGFiZWwtZGVmYXVsdC1wb3NpdGlvbi15KSkgc2NhbGUoMSk7XG5cdH1cbi8qLS0tLS0tIERyb3Bkb3duVmlldyBpbnRlZ3JhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWFrZSBzdXJlIGRyb3Bkb3duJyBiYWNrZ3JvdW5kIGNvbG9yIGluIGFueSBvZiBkcm9wZG93bidzIHN0YXRlIGRvZXMgbm90IGNvbGxpZGUgd2l0aCBsYWJlbGVkIGZpZWxkLiAqL1xuLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyA+IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX2lucHV0LXdyYXBwZXIgPiAuY2stZHJvcGRvd24gPiAuY2suY2stYnV0dG9uIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0fVxuLyogV2hlbiB0aGUgZHJvcGRvd24gaXMgXCJlbXB0eVwiLCB0aGUgbGFiZWxlZCBmaWVsZCBsYWJlbCByZXBsYWNlcyBpdHMgbGFiZWwuICovXG4uY2suY2stbGFiZWxlZC1maWVsZC12aWV3LmNrLWxhYmVsZWQtZmllbGQtdmlld19lbXB0eSA+IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX2lucHV0LXdyYXBwZXIgPiAuY2stZHJvcGRvd24gPiAuY2stYnV0dG9uID4gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbi8qIE1ha2Ugc3VyZSB0aGUgbGFiZWwgb2YgdGhlIGVtcHR5LCB1bmZvY3VzZWQgaW5wdXQgZG9lcyBub3QgY292ZXIgdGhlIGRyb3Bkb3duIGFycm93LiAqL1xuLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldy5jay1sYWJlbGVkLWZpZWxkLXZpZXdfZW1wdHk6bm90KC5jay1sYWJlbGVkLWZpZWxkLXZpZXdfZm9jdXNlZCk6bm90KC5jay1sYWJlbGVkLWZpZWxkLXZpZXdfcGxhY2Vob2xkZXIpID4gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlld19faW5wdXQtd3JhcHBlciA+IC5jay1kcm9wZG93biArIC5jay1sYWJlbCB7XG5cdFx0bWF4LXdpZHRoOiBjYWxjKHZhcigtLWNrLWxhYmVsZWQtZmllbGQtZW1wdHktdW5mb2N1c2VkLW1heC13aWR0aCkgLSB2YXIoLS1jay1kcm9wZG93bi1hcnJvdy1zaXplKSAtIHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpKTtcblx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi5jay5jay1sYWJlbGVkLWlucHV0IC5jay1sYWJlbGVkLWlucHV0X19zdGF0dXMge1xuXHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXG5cdC8qIExldCB0aGUgaW5mbyB3cmFwIHRvIHRoZSBuZXh0IGxpbmUgdG8gYXZvaWQgc3RyZXRjaGluZyB0aGUgbGF5b3V0IGhvcml6b250YWxseS5cblx0VGhlIHN0YXR1cyBjb3VsZCBiZSB2ZXJ5IGxvbmcuICovXG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG4uY2suY2stbGFiZWxlZC1pbnB1dCAuY2stbGFiZWxlZC1pbnB1dF9fc3RhdHVzX2Vycm9yIHtcblx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtZXJyb3IpO1xufVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEEgY2xhc3Mgd2hpY2ggaW5kaWNhdGVzIHRoYXQgYW4gZWxlbWVudCBob2xkaW5nIGl0IGlzIGRpc2FibGVkLlxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEEgaGVscGVyIHRvIGNvbWJpbmUgbXVsdGlwbGUgc2hhZG93cy5cbiAqL1xuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLmNrLmNrLWxpc3Qge1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGlzdC1iYWNrZ3JvdW5kKTtcblxuXHQvKiBBIHNwYWNpbmcgYXQgdGhlIGJlZ2lubmluZyBhbmQgZW5kIG9mIHRoZSBsaXN0ICovXG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpIDA7XG59XG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1saXN0LFxuXHQuY2suY2stbGlzdC5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHR9XG4uY2suY2stbGlzdF9faXRlbSB7XG5cdGN1cnNvcjogZGVmYXVsdDtcblxuXHQvKiBBbG1vc3QgYXMgd2lkZSBhcyBtZW51IGJhciBpdGVtcy4gKi9cblx0bWluLXdpZHRoOiAxNWVtO1xufVxuLmNrLmNrLWxpc3RfX2l0ZW0gPiAuY2stYnV0dG9uOm5vdCguY2stbGlzdC1pdGVtLWJ1dHRvbikge1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctdGlueSkgY2FsYygyICogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkpO1xuXHRcdG1pbi1oZWlnaHQ6IHVuc2V0O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdH1cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWxpc3RfX2l0ZW0gPiAuY2stYnV0dG9uOm5vdCguY2stbGlzdC1pdGVtLWJ1dHRvbikge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuW2Rpcj1cInJ0bFwiXSAuY2suY2stbGlzdF9faXRlbSA+IC5jay1idXR0b246bm90KC5jay1saXN0LWl0ZW0tYnV0dG9uKSB7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuLmNrLmNrLWxpc3RfX2l0ZW0gPiAuY2stYnV0dG9uOm5vdCguY2stbGlzdC1pdGVtLWJ1dHRvbikgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1oZWFkaW5nL2lzc3Vlcy82MyAqL1xuXHRcdFx0bGluZS1oZWlnaHQ6IGNhbGModmFyKC0tY2stbGluZS1oZWlnaHQtYmFzZSkgKiB2YXIoLS1jay1mb250LXNpemUtYmFzZSkpO1xuXHRcdH1cbi5jay5jay1saXN0X19pdGVtID4gLmNrLWJ1dHRvbjpub3QoLmNrLWxpc3QtaXRlbS1idXR0b24pOmFjdGl2ZSB7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdH1cbi5jay5jay1saXN0X19pdGVtID4gLmNrLWJ1dHRvbi5jay1vbjpub3QoLmNrLWxpc3QtaXRlbS1idXR0b24pIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpc3QtYnV0dG9uLW9uLWJhY2tncm91bmQpO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWxpc3QtYnV0dG9uLW9uLXRleHQpO1xuXHRcdH1cbi5jay5jay1saXN0X19pdGVtID4gLmNrLWJ1dHRvbi5jay1vbjpub3QoLmNrLWxpc3QtaXRlbS1idXR0b24pOmFjdGl2ZSB7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHR9XG4uY2suY2stbGlzdF9faXRlbSA+IC5jay1idXR0b24uY2stb246bm90KC5jay1saXN0LWl0ZW0tYnV0dG9uKTpob3Zlcjpub3QoLmNrLWRpc2FibGVkKSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpc3QtYnV0dG9uLW9uLWJhY2tncm91bmQtZm9jdXMpO1xuXHRcdFx0fVxuLmNrLmNrLWxpc3RfX2l0ZW0gPiAuY2stYnV0dG9uLmNrLW9uOm5vdCguY2stbGlzdC1pdGVtLWJ1dHRvbik6Zm9jdXM6bm90KC5jay1kaXNhYmxlZCkge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdFx0XHR9XG4uY2suY2stbGlzdF9faXRlbSA+IC5jay1idXR0b246bm90KC5jay1saXN0LWl0ZW0tYnV0dG9uKTpob3Zlcjpub3QoLmNrLWRpc2FibGVkKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1saXN0LWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kKTtcblx0XHR9XG4vKiBJdCdzIHVubmVjZXNzYXJ5IHRvIGNoYW5nZSB0aGUgYmFja2dyb3VuZC90ZXh0IG9mIGEgc3dpdGNoIHRvZ2dsZTsgaXQgaGFzIGRpZmZlcmVudCB3YXlzXG5cdG9mIGNvbnZleWluZyBpdHMgc3RhdGUgKGxpa2UgdGhlIHN3aXRjaGVyKSAqL1xuLmNrLmNrLWxpc3RfX2l0ZW0gPiAuY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbi5jay1vbiB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1saXN0LWJhY2tncm91bmQpO1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0fVxuLmNrLmNrLWxpc3RfX2l0ZW0gPiAuY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbi5jay1vbjpob3Zlcjpub3QoLmNrLWRpc2FibGVkKSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpc3QtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRcdH1cbi5jay1saXN0IC5jay1saXN0X19ncm91cCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cblx0LyogTGlzdHMgY29tZSB3aXRoIGFuIGlubmVyIHZlcnRpY2FsIHBhZGRpbmcuIERvbid0IGR1cGxpY2F0ZSBpdC4gKi9cbn1cbi5jay1saXN0IC5jay1saXN0X19ncm91cDpmaXJzdC1jaGlsZCB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cbi8qIFRoZSBncm91cCBzaG91bGQgaGF2ZSBhIGJvcmRlciB3aGVuIGl0J3Mgbm90IHRoZSBmaXJzdCBpdGVtLiAqL1xuKjpub3QoLmNrLWhpZGRlbikgfiAuY2stbGlzdCAuY2stbGlzdF9fZ3JvdXAge1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdH1cbi5jay1saXN0IC5jay1saXN0X19ncm91cCA+IC5jay1sYWJlbCB7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKSB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSAwO1xuXHR9XG4uY2suY2stbGlzdF9fc2VwYXJhdG9yIHtcblx0aGVpZ2h0OiAxcHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cblx0LyogR2l2ZSB0aGUgc2VwYXJhdG9yIHNvbWUgYWlyICovXG5cdG1hcmdpbjogdmFyKC0tY2stc3BhY2luZy1zbWFsbCkgMDtcbn1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4uY2suY2stbWVudS1iYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdGdhcDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLXRvb2xiYXItYm9yZGVyKTtcblx0d2lkdGg6IDEwMCU7XG59XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLmNrLmNrLW1lbnUtYmFyX19tZW51IHtcblx0LyogRW5hYmxlIGZvbnQgc2l6ZSBpbmhlcml0YW5jZSwgd2hpY2ggYWxsb3dzIGZsdWlkIFVJIHNjYWxpbmcuICovXG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cbi5jay5jay1tZW51LWJhcl9fbWVudS5jay1tZW51LWJhcl9fbWVudV90b3AtbGV2ZWwge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEEgY2xhc3Mgd2hpY2ggaW5kaWNhdGVzIHRoYXQgYW4gZWxlbWVudCBob2xkaW5nIGl0IGlzIGRpc2FibGVkLlxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBJbXBsZW1lbnRzIGEgYnV0dG9uIG9mIGdpdmVuIGJhY2tncm91bmQgY29sb3IuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuICogQHBhcmFtIHtTdHJpbmd9ICRib3JkZXIgLSBCb3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG5cdCAqIEFsbCBtZW51IGJ1dHRvbnMuXG5cdCAqL1xuLmNrLmNrLW1lbnUtYmFyX19tZW51ID4gLmNrLW1lbnUtYmFyX19tZW51X19idXR0b24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG4uY2suY2stbWVudS1iYXJfX21lbnUgPiAuY2stbWVudS1iYXJfX21lbnVfX2J1dHRvbiA+IC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdGZsZXgtZ3JvdzogMTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHR9XG4uY2suY2stbWVudS1iYXJfX21lbnUgPiAuY2stbWVudS1iYXJfX21lbnVfX2J1dHRvbi5jay1kaXNhYmxlZCA+IC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdG9wYWNpdHk6IHZhcigtLWNrLWRpc2FibGVkLW9wYWNpdHkpO1xuXHRcdH1cbltkaXI9XCJsdHJcIl0gLmNrLmNrLW1lbnUtYmFyX19tZW51ID4gLmNrLW1lbnUtYmFyX19tZW51X19idXR0b246bm90KC5jay1idXR0b25fd2l0aC10ZXh0KSB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0XHR9XG5bZGlyPVwicnRsXCJdIC5jay5jay1tZW51LWJhcl9fbWVudSA+IC5jay1tZW51LWJhcl9fbWVudV9fYnV0dG9uOm5vdCguY2stYnV0dG9uX3dpdGgtdGV4dCkge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHRcdH1cbi8qXG5cdCAqIFRvcC1sZXZlbCBtZW51IGJ1dHRvbnMgb25seS5cblx0ICovXG4uY2suY2stbWVudS1iYXJfX21lbnUuY2stbWVudS1iYXJfX21lbnVfdG9wLWxldmVsID4gLmNrLW1lbnUtYmFyX19tZW51X19idXR0b24ge1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpIHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKTtcblx0XHRtaW4taGVpZ2h0OiB1bnNldDtcblx0fVxuLmNrLmNrLW1lbnUtYmFyX19tZW51LmNrLW1lbnUtYmFyX19tZW51X3RvcC1sZXZlbCA+IC5jay1tZW51LWJhcl9fbWVudV9fYnV0dG9uIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdHdpZHRoOiB1bnNldDtcblx0XHRcdGxpbmUtaGVpZ2h0OiB1bnNldDtcblx0XHR9XG4uY2suY2stbWVudS1iYXJfX21lbnUuY2stbWVudS1iYXJfX21lbnVfdG9wLWxldmVsID4gLmNrLW1lbnUtYmFyX19tZW51X19idXR0b24uY2stb24ge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdH1cbi5jay5jay1tZW51LWJhcl9fbWVudS5jay1tZW51LWJhcl9fbWVudV90b3AtbGV2ZWwgPiAuY2stbWVudS1iYXJfX21lbnVfX2J1dHRvbiAuY2staWNvbiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cbi8qXG5cdCAqIFN1Yi1tZW51IGJ1dHRvbnMuXG5cdCAqL1xuLmNrLmNrLW1lbnUtYmFyX19tZW51Om5vdCguY2stbWVudS1iYXJfX21lbnVfdG9wLWxldmVsKSAuY2stbWVudS1iYXJfX21lbnVfX2J1dHRvbiB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0fVxuLmNrLmNrLW1lbnUtYmFyX19tZW51Om5vdCguY2stbWVudS1iYXJfX21lbnVfdG9wLWxldmVsKSAuY2stbWVudS1iYXJfX21lbnVfX2J1dHRvbiA+IC5jay1tZW51LWJhcl9fbWVudV9fYnV0dG9uX19hcnJvdyB7XG5cdFx0XHR3aWR0aDogdmFyKC0tY2stZHJvcGRvd24tYXJyb3ctc2l6ZSk7XG5cdFx0fVxuW2Rpcj1cImx0clwiXSAuY2suY2stbWVudS1iYXJfX21lbnU6bm90KC5jay1tZW51LWJhcl9fbWVudV90b3AtbGV2ZWwpIC5jay1tZW51LWJhcl9fbWVudV9fYnV0dG9uID4gLmNrLW1lbnUtYmFyX19tZW51X19idXR0b25fX2Fycm93IHtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblxuXHRcdFx0XHQvKiBBIHNwYWNlIHRvIGFjY29tbW9kYXRlIHRoZSB0cmlhbmdsZS4gKi9cblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXG5cdFx0XHRcdC8qIE51ZGdlIHRoZSBhcnJvdyBnZW50bHkgdG8gdGhlIHJpZ2h0IGJlY2F1c2UgaXRzIGNlbnRlciBvZiBncmF2aXR5IGlzIHRvIHRoZSBsZWZ0ICovXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLWNrLXNwYWNpbmctc21hbGwpKTtcblx0fVxuW2Rpcj1cInJ0bFwiXSAuY2suY2stbWVudS1iYXJfX21lbnU6bm90KC5jay1tZW51LWJhcl9fbWVudV90b3AtbGV2ZWwpIC5jay1tZW51LWJhcl9fbWVudV9fYnV0dG9uID4gLmNrLW1lbnUtYmFyX19tZW51X19idXR0b25fX2Fycm93IHtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXG5cdFx0XHRcdGxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXG5cdFx0XHRcdC8qIEEgc3BhY2UgdG8gYWNjb21tb2RhdGUgdGhlIHRyaWFuZ2xlLiAqL1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXG5cdFx0XHRcdC8qIE51ZGdlIHRoZSBhcnJvdyBnZW50bHkgdG8gdGhlIGxlZnQgYmVjYXVzZSBpdHMgY2VudGVyIG9mIGdyYXZpdHkgaXMgdG8gdGhlIHJpZ2h0IChhZnRlciByb3RhdGlvbikuICovXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tY2stc3BhY2luZy1zbWFsbCkpO1xuXHR9XG4uY2suY2stbWVudS1iYXJfX21lbnU6bm90KC5jay1tZW51LWJhcl9fbWVudV90b3AtbGV2ZWwpIC5jay1tZW51LWJhcl9fbWVudV9fYnV0dG9uLmNrLWRpc2FibGVkID4gLmNrLW1lbnUtYmFyX19tZW51X19idXR0b25fX2Fycm93IHtcblx0XHRcdG9wYWNpdHk6IHZhcigtLWNrLWRpc2FibGVkLW9wYWNpdHkpO1xuXHRcdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG46cm9vdCB7XG5cdC0tY2stbWVudS1iYXItbWVudS1pdGVtLW1pbi13aWR0aDogMThlbTtcbn1cbi5jay5jay1tZW51LWJhcl9fbWVudSAuY2suY2stbWVudS1iYXJfX21lbnVfX2l0ZW0ge1xuXHRtaW4td2lkdGg6IHZhcigtLWNrLW1lbnUtYmFyLW1lbnUtaXRlbS1taW4td2lkdGgpO1xufVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuXHQgKiBMaXN0IGl0ZW0gYnV0dG9ucy5cblx0ICovXG4uY2suY2stbWVudS1iYXJfX21lbnUgLmNrLWJ1dHRvbi5jay1tZW51LWJhcl9fbWVudV9faXRlbV9fYnV0dG9uIHtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHR9XG4uY2suY2stbWVudS1iYXJfX21lbnUgLmNrLWJ1dHRvbi5jay1tZW51LWJhcl9fbWVudV9faXRlbV9fYnV0dG9uID4gLmNrLXNwaW5uZXItY29udGFpbmVyLFxuXHRcdC5jay5jay1tZW51LWJhcl9fbWVudSAuY2stYnV0dG9uLmNrLW1lbnUtYmFyX19tZW51X19pdGVtX19idXR0b24gPiAuY2stc3Bpbm5lci1jb250YWluZXIgLmNrLXNwaW5uZXIge1xuXHRcdFx0LyogVGhlc2Ugc3R5bGVzIGNvcnJlc3BvbmQgdG8gLmNrLWljb24gc28gdGhhdCB0aGUgc3Bpbm5lciBzZWFtbGVzc2x5IHJlcGxhY2VzIHRoZSBpY29uLiAqL1xuXHRcdFx0LS1jay10b29sYmFyLXNwaW5uZXItc2l6ZTogMjBweDtcblx0XHR9XG4uY2suY2stbWVudS1iYXJfX21lbnUgLmNrLWJ1dHRvbi5jay1tZW51LWJhcl9fbWVudV9faXRlbV9fYnV0dG9uID4gLmNrLXNwaW5uZXItY29udGFpbmVyIHtcblx0XHRcdC8qIFRoaXMgZW5zdXJlcyBtYXJnaW5zIGNvcnJlc3BvbmRpbmcgdG8gdGhlIC5jay1pY29uLiAqL1xuXHRcdFx0Zm9udC1zaXplOiB2YXIoLS1jay1pY29uLWZvbnQtc2l6ZSk7XG5cdFx0fVxuW2Rpcj1cImx0clwiXSAuY2suY2stbWVudS1iYXJfX21lbnUgLmNrLWJ1dHRvbi5jay1tZW51LWJhcl9fbWVudV9faXRlbV9fYnV0dG9uID4gLmNrLXNwaW5uZXItY29udGFpbmVyIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdH1cbltkaXI9XCJydGxcIl0gLmNrLmNrLW1lbnUtYmFyX19tZW51IC5jay1idXR0b24uY2stbWVudS1iYXJfX21lbnVfX2l0ZW1fX2J1dHRvbiA+IC5jay1zcGlubmVyLWNvbnRhaW5lciB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEEgaGVscGVyIHRvIGNvbWJpbmUgbXVsdGlwbGUgc2hhZG93cy5cbiAqL1xuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBBIHZpc3VhbCBzdHlsZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBib3JkZXIuXG4gKi9cbjpyb290IHtcblx0LS1jay1tZW51LWJhci1tZW51LXBhbmVsLW1heC13aWR0aDogNzV2dztcbn1cbi5jay5jay1tZW51LWJhcl9fbWVudSA+IC5jay5jay1tZW51LWJhcl9fbWVudV9fcGFuZWwge1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWRyb3Bkb3duLXBhbmVsLWJhY2tncm91bmQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1kcm9wZG93bi1wYW5lbC1ib3JkZXIpO1xuXHRib3R0b206IDA7XG5cdGhlaWdodDogZml0LWNvbnRlbnQ7XG5cdG1heC13aWR0aDogdmFyKC0tY2stbWVudS1iYXItbWVudS1wYW5lbC1tYXgtd2lkdGgpO1xufVxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stbWVudS1iYXJfX21lbnUgPiAuY2suY2stbWVudS1iYXJfX21lbnVfX3BhbmVsLFxuXHQuY2suY2stbWVudS1iYXJfX21lbnUgPiAuY2suY2stbWVudS1iYXJfX21lbnVfX3BhbmVsLmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdH1cbi5jay5jay1tZW51LWJhcl9fbWVudSA+IC5jay5jay1tZW51LWJhcl9fbWVudV9fcGFuZWwge1xuXHRib3gtc2hhZG93OiB2YXIoLS1jay1kcm9wLXNoYWRvdyksIDAgMDtcblxuXHQvKiBDb3JuZXIgYm9yZGVyIHJhZGl1cyBjb25zaXN0ZW50IHdpdGggdGhlIGJ1dHRvbi4gKi9cbn1cbi5jay5jay1tZW51LWJhcl9fbWVudSA+IC5jay5jay1tZW51LWJhcl9fbWVudV9fcGFuZWwuY2stbWVudS1iYXJfX21lbnVfX3BhbmVsX3Bvc2l0aW9uX2VzLFxuXHQuY2suY2stbWVudS1iYXJfX21lbnUgPiAuY2suY2stbWVudS1iYXJfX21lbnVfX3BhbmVsLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl9zZSB7XG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0fVxuLmNrLmNrLW1lbnUtYmFyX19tZW51ID4gLmNrLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbC5jay1tZW51LWJhcl9fbWVudV9fcGFuZWxfcG9zaXRpb25fd3MsXG5cdC5jay5jay1tZW51LWJhcl9fbWVudSA+IC5jay5jay1tZW51LWJhcl9fbWVudV9fcGFuZWwuY2stbWVudS1iYXJfX21lbnVfX3BhbmVsX3Bvc2l0aW9uX3N3IHtcblx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0fVxuLmNrLmNrLW1lbnUtYmFyX19tZW51ID4gLmNrLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbC5jay1tZW51LWJhcl9fbWVudV9fcGFuZWxfcG9zaXRpb25fZW4sXG5cdC5jay5jay1tZW51LWJhcl9fbWVudSA+IC5jay5jay1tZW51LWJhcl9fbWVudV9fcGFuZWwuY2stbWVudS1iYXJfX21lbnVfX3BhbmVsX3Bvc2l0aW9uX25lIHtcblx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHR9XG4uY2suY2stbWVudS1iYXJfX21lbnUgPiAuY2suY2stbWVudS1iYXJfX21lbnVfX3BhbmVsLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl93bixcblx0LmNrLmNrLW1lbnUtYmFyX19tZW51ID4gLmNrLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbC5jay1tZW51LWJhcl9fbWVudV9fcGFuZWxfcG9zaXRpb25fbncge1xuXHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHR9XG4uY2suY2stbWVudS1iYXJfX21lbnUgPiAuY2suY2stbWVudS1iYXJfX21lbnVfX3BhbmVsOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG4uY2suY2stbWVudS1iYXIgLmNrLWxpc3QtaXRlbS1idXR0b246Zm9jdXMsXG5cdFx0LmNrLmNrLW1lbnUtYmFyIC5jay1saXN0LWl0ZW0tYnV0dG9uOmFjdGl2ZSB7XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHR9XG4uY2suY2stbWVudS1iYXIuY2stbWVudS1iYXJfZm9jdXMtYm9yZGVyLWVuYWJsZWQgLmNrLWxpc3QtaXRlbS1idXR0b246Zm9jdXMsXG5cdFx0LmNrLmNrLW1lbnUtYmFyLmNrLW1lbnUtYmFyX2ZvY3VzLWJvcmRlci1lbmFibGVkIC5jay1saXN0LWl0ZW0tYnV0dG9uOmFjdGl2ZSB7XG5cdFx0XHQvKiBGaXggdHJ1bmNhdGVkIHNoYWRvd3MgZHVlIHRvIHJlbmRlcmluZyBvcmRlci4gKi9cblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6IDI7XG5cblx0XHRcdC8qIERpc2FibGUgbmF0aXZlIG91dGxpbmUuICovXG5cblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cblx0XHRcdGJvcmRlcjogdmFyKC0tY2stZm9jdXMtcmluZyk7XG5cdFx0XHRib3gtc2hhZG93OiB2YXIoLS1jay1mb2N1cy1vdXRlci1zaGFkb3cpLCAwIDA7XG5cdFx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG4vKipcbiAqIEdpdmVzIGFuIGVsZW1lbnQgYSBkcm9wIHNoYWRvdyBzbyBpdCBsb29rcyBsaWtlIGEgZmxvYXRpbmcgcGFuZWwuXG4gKi9cbjpyb290IHtcblx0LS1jay1iYWxsb29uLWJvcmRlci13aWR0aDogMXB4O1xuXHQtLWNrLWJhbGxvb24tYXJyb3ctb2Zmc2V0OiAycHg7XG5cdC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQ6IDEwcHg7XG5cdC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoOiA4cHg7XG5cdC0tY2stYmFsbG9vbi1hcnJvdy1kcm9wLXNoYWRvdzogMCAycHggMnB4IHZhcigtLWNrLWNvbG9yLXNoYWRvdy1kcm9wKTtcbn1cbi5jay5jay1iYWxsb29uLXBhbmVsIHtcblx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHRtaW4taGVpZ2h0OiAxNXB4O1xuXG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXBhbmVsLWJhY2tncm91bmQpO1xuXHRib3JkZXI6IHZhcigtLWNrLWJhbGxvb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1jay1jb2xvci1wYW5lbC1ib3JkZXIpO1xufVxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stYmFsbG9vbi1wYW5lbCxcblx0LmNrLmNrLWJhbGxvb24tcGFuZWwuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0fVxuLmNrLmNrLWJhbGxvb24tcGFuZWwge1xuXHRib3gtc2hhZG93OiB2YXIoLS1jay1kcm9wLXNoYWRvdyksIDAgMDtcbn1cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfd2l0aC1hcnJvdzo6YmVmb3JlLFxuXHRcdC5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfd2l0aC1hcnJvdzo6YWZ0ZXIge1xuXHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdH1cbi5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X25cIl06OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd19uXCJdOjphZnRlciB7XG5cdFx0XHRib3JkZXItd2lkdGg6IDAgdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkgdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKTtcblx0XHR9XG4uY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd19uXCJdOjpiZWZvcmUge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1jay1jb2xvci1wYW5lbC1ib3JkZXIpIHRyYW5zcGFyZW50O1xuXHRcdFx0bWFyZ2luLXRvcDogY2FsYyggLTEgKiB2YXIoLS1jay1iYWxsb29uLWJvcmRlci13aWR0aCkgKTtcblx0XHR9XG4uY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd19uXCJdOjphZnRlciB7XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWNrLWNvbG9yLXBhbmVsLWJhY2tncm91bmQpIHRyYW5zcGFyZW50O1xuXHRcdFx0bWFyZ2luLXRvcDogY2FsYyggdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1vZmZzZXQpIC0gdmFyKC0tY2stYmFsbG9vbi1ib3JkZXItd2lkdGgpICk7XG5cdFx0fVxuLmNrLmNrLWJhbGxvb24tcGFuZWxbY2xhc3MqPVwiYXJyb3dfc1wiXTo6YmVmb3JlLFxuXHRcdC5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X3NcIl06OmFmdGVyIHtcblx0XHRcdGJvcmRlci13aWR0aDogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkgMCB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpO1xuXHRcdH1cbi5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X3NcIl06OmJlZm9yZSB7XG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLXBhbmVsLWJvcmRlcikgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRmaWx0ZXI6IGRyb3Atc2hhZG93KHZhcigtLWNrLWJhbGxvb24tYXJyb3ctZHJvcC1zaGFkb3cpKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IGNhbGMoIC0xICogdmFyKC0tY2stYmFsbG9vbi1ib3JkZXItd2lkdGgpICk7XG5cdFx0fVxuLmNrLmNrLWJhbGxvb24tcGFuZWxbY2xhc3MqPVwiYXJyb3dfc1wiXTo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jay1jb2xvci1wYW5lbC1iYWNrZ3JvdW5kKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0XHRcdG1hcmdpbi1ib3R0b206IGNhbGMoIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctb2Zmc2V0KSAtIHZhcigtLWNrLWJhbGxvb24tYm9yZGVyLXdpZHRoKSApO1xuXHRcdH1cbi5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X2VcIl06OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd19lXCJdOjphZnRlciB7XG5cdFx0XHRib3JkZXItd2lkdGg6IHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkgMCB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KTtcblx0XHR9XG4uY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd19lXCJdOjpiZWZvcmUge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1jay1jb2xvci1wYW5lbC1ib3JkZXIpO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKCAtMSAqIHZhcigtLWNrLWJhbGxvb24tYm9yZGVyLXdpZHRoKSApO1xuXHRcdH1cbi5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X2VcIl06OmFmdGVyIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0tY2stY29sb3ItcGFuZWwtYmFja2dyb3VuZCk7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGNhbGMoIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctb2Zmc2V0KSAtIHZhcigtLWNrLWJhbGxvb24tYm9yZGVyLXdpZHRoKSApO1xuXHRcdH1cbi5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X3dcIl06OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd193XCJdOjphZnRlciB7XG5cdFx0XHRib3JkZXItd2lkdGg6IHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkgdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkgMDtcblx0XHR9XG4uY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd193XCJdOjpiZWZvcmUge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB2YXIoLS1jay1jb2xvci1wYW5lbC1ib3JkZXIpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGNhbGMoIC0xICogdmFyKC0tY2stYmFsbG9vbi1ib3JkZXItd2lkdGgpICk7XG5cdFx0fVxuLmNrLmNrLWJhbGxvb24tcGFuZWxbY2xhc3MqPVwiYXJyb3dfd1wiXTo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB2YXIoLS1jay1jb2xvci1wYW5lbC1iYWNrZ3JvdW5kKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0XHRcdG1hcmdpbi1sZWZ0OiBjYWxjKCB2YXIoLS1jay1iYWxsb29uLWFycm93LW9mZnNldCkgLSB2YXIoLS1jay1iYWxsb29uLWJvcmRlci13aWR0aCkgKTtcblx0XHR9XG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X246OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X246OmFmdGVyIHtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSk7XG5cdFx0XHR0b3A6IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkpO1xuXHRcdH1cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfbnc6OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X253OjphZnRlciB7XG5cdFx0XHRsZWZ0OiBjYWxjKDIgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpKTtcblx0XHRcdHRvcDogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSk7XG5cdFx0fVxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19uZTo6YmVmb3JlLFxuXHRcdC5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfbmU6OmFmdGVyIHtcblx0XHRcdHJpZ2h0OiBjYWxjKDIgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpKTtcblx0XHRcdHRvcDogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSk7XG5cdFx0fVxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19zOjpiZWZvcmUsXG5cdFx0LmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19zOjphZnRlciB7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0Ym90dG9tOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X3N3OjpiZWZvcmUsXG5cdFx0LmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19zdzo6YWZ0ZXIge1xuXHRcdFx0bGVmdDogY2FsYygyICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSk7XG5cdFx0XHRib3R0b206IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkpO1xuXHRcdH1cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfc2U6OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X3NlOjphZnRlciB7XG5cdFx0XHRyaWdodDogY2FsYygyICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSk7XG5cdFx0XHRib3R0b206IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkpO1xuXHRcdH1cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfc21lOjpiZWZvcmUsXG5cdFx0LmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19zbWU6OmFmdGVyIHtcblx0XHRcdHJpZ2h0OiAyNSU7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGNhbGMoMiAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0Ym90dG9tOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X3Ntdzo6YmVmb3JlLFxuXHRcdC5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfc213OjphZnRlciB7XG5cdFx0XHRsZWZ0OiAyNSU7XG5cdFx0XHRtYXJnaW4tbGVmdDogY2FsYygyICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSk7XG5cdFx0XHRib3R0b206IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkpO1xuXHRcdH1cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfbm1lOjpiZWZvcmUsXG5cdFx0LmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19ubWU6OmFmdGVyIHtcblx0XHRcdHJpZ2h0OiAyNSU7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGNhbGMoMiAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0dG9wOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X25tdzo6YmVmb3JlLFxuXHRcdC5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfbm13OjphZnRlciB7XG5cdFx0XHRsZWZ0OiAyNSU7XG5cdFx0XHRtYXJnaW4tbGVmdDogY2FsYygyICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSk7XG5cdFx0XHR0b3A6IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkpO1xuXHRcdH1cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfZTo6YmVmb3JlLFxuXHRcdC5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfZTo6YWZ0ZXIge1xuXHRcdFx0cmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkpO1xuXHRcdFx0bWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0fVxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd193OjpiZWZvcmUsXG5cdFx0LmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd193OjphZnRlciB7XG5cdFx0XHRsZWZ0OiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHRcdG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpKTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4uY2sgLmNrLWJhbGxvb24tcm90YXRvcl9fbmF2aWdhdGlvbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXRvb2xiYXItYmFja2dyb3VuZCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci10b29sYmFyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDAgdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cblx0LyogTGV0J3Mga2VlcCBzaW1pbGFyIGFwcGVhcmFuY2UgdG8gYGNrLXRvb2xiYXJgLiAqL1xufVxuLmNrIC5jay1iYWxsb29uLXJvdGF0b3JfX25hdmlnYXRpb24gPiAqIHtcblx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHR9XG4vKiBHaXZlcyBjb3VudGVyIG1vcmUgYnJlYXRoIHRoYW4gYnV0dG9ucy4gKi9cbi5jayAuY2stYmFsbG9vbi1yb3RhdG9yX19uYXZpZ2F0aW9uIC5jay1iYWxsb29uLXJvdGF0b3JfX2NvdW50ZXIge1xuXHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0XHQvKiBXZSBuZWVkIHRvIHVzZSBzbWFsbGVyIG1hcmdpbiBiZWNhdXNlIG9mIHByZXZpb3VzIGJ1dHRvbidzIHJpZ2h0IG1hcmdpbi4gKi9cblx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cbi8qIERpc2FibGUgZGVmYXVsdCBhbm5vdGF0aW9uIHNoYWRvdyBpbnNpZGUgcm90YXRvciB3aXRoIGZha2UgcGFuZWxzLiAqL1xuLmNrIC5jay1iYWxsb29uLXJvdGF0b3JfX2NvbnRlbnQgLmNrLmNrLWFubm90YXRpb24td3JhcHBlciB7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEEgaGVscGVyIHRvIGNvbWJpbmUgbXVsdGlwbGUgc2hhZG93cy5cbiAqL1xuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG46cm9vdCB7XG5cdC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC1ob3Jpem9udGFsOiA2cHg7XG5cdC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC12ZXJ0aWNhbDogNnB4O1xufVxuLyogTGV0J3MgdXNlIGAuY2stYmFsbG9vbi1wYW5lbGAgYXBwZWFyYW5jZS4gU2VlOiBiYWxsb29ucGFuZWwuY3NzLiAqL1xuLmNrIC5jay1mYWtlLXBhbmVsIGRpdiB7XG5cdGJveC1zaGFkb3c6IHZhcigtLWNrLWRyb3Atc2hhZG93KSwgMCAwO1xuXG5cdG1pbi1oZWlnaHQ6IDE1cHg7XG5cblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItcGFuZWwtYmFja2dyb3VuZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLXBhbmVsLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4uY2sgLmNrLWZha2UtcGFuZWwgZGl2Om50aC1jaGlsZCggMSApIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLWJhbGxvb24tZmFrZS1wYW5lbC1vZmZzZXQtaG9yaXpvbnRhbCk7XG5cdG1hcmdpbi10b3A6IHZhcigtLWNrLWJhbGxvb24tZmFrZS1wYW5lbC1vZmZzZXQtdmVydGljYWwpO1xufVxuLmNrIC5jay1mYWtlLXBhbmVsIGRpdjpudGgtY2hpbGQoIDIgKSB7XG5cdG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWNrLWJhbGxvb24tZmFrZS1wYW5lbC1vZmZzZXQtaG9yaXpvbnRhbCkgKiAyKTtcblx0bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jay1iYWxsb29uLWZha2UtcGFuZWwtb2Zmc2V0LXZlcnRpY2FsKSAqIDIpO1xufVxuLmNrIC5jay1mYWtlLXBhbmVsIGRpdjpudGgtY2hpbGQoIDMgKSB7XG5cdG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWNrLWJhbGxvb24tZmFrZS1wYW5lbC1vZmZzZXQtaG9yaXpvbnRhbCkgKiAzKTtcblx0bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jay1iYWxsb29uLWZha2UtcGFuZWwtb2Zmc2V0LXZlcnRpY2FsKSAqIDMpO1xufVxuLyogSWYgYmFsbG9vbiBpcyBwb3NpdGlvbmVkIGFib3ZlIGVsZW1lbnQsIHdlIG5lZWQgdG8gbW92ZSBmYWtlIHBhbmVsIHRvIHRoZSB0b3AuICovXG4uY2sgLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfcyArIC5jay1mYWtlLXBhbmVsLFxuLmNrIC5jay1iYWxsb29uLXBhbmVsX2Fycm93X3NlICsgLmNrLWZha2UtcGFuZWwsXG4uY2sgLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfc3cgKyAuY2stZmFrZS1wYW5lbCB7XG5cdC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC12ZXJ0aWNhbDogLTZweDtcbn1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBBIGhlbHBlciB0byBjb21iaW5lIG11bHRpcGxlIHNoYWRvd3MuXG4gKi9cbi8qKlxuICogR2l2ZXMgYW4gZWxlbWVudCBhIGRyb3Agc2hhZG93IHNvIGl0IGxvb2tzIGxpa2UgYSBmbG9hdGluZyBwYW5lbC5cbiAqL1xuLmNrLmNrLXN0aWNreS1wYW5lbCAuY2stc3RpY2t5LXBhbmVsX19jb250ZW50X3N0aWNreSB7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tY2stZHJvcC1zaGFkb3cpLCAwIDA7XG5cblx0XHRib3JkZXItd2lkdGg6IDAgMXB4IDFweDtcblx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4uY2stdmVydGljYWwtZm9ybSA+IC5jay1idXR0b246bnRoLWxhc3QtY2hpbGQoMik6OmFmdGVyIHtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xufVxuLmNrLmNrLXJlc3BvbnNpdmUtZm9ybSB7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xufVxuLmNrLmNrLXJlc3BvbnNpdmUtZm9ybTpmb2N1cyB7XG5cdFx0LyogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy80NzczICovXG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuW2Rpcj1cImx0clwiXSAuY2suY2stcmVzcG9uc2l2ZS1mb3JtID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHR9XG5bZGlyPVwicnRsXCJdIC5jay5jay1yZXNwb25zaXZlLWZvcm0gPiA6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0fVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbi5jay5jay1yZXNwb25zaXZlLWZvcm0ge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0d2lkdGg6IGNhbGMoLjggKiB2YXIoLS1jay1pbnB1dC13aWR0aCkpO1xufVxuXG5cdFx0LmNrLmNrLXJlc3BvbnNpdmUtZm9ybSAuY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0XHRcdG1hcmdpbjogdmFyKC0tY2stc3BhY2luZy1sYXJnZSkgdmFyKC0tY2stc3BhY2luZy1sYXJnZSkgMDtcblx0XHR9XG5cblx0XHRcdC5jay5jay1yZXNwb25zaXZlLWZvcm0gLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2staW5wdXQtdGV4dCxcblx0XHRcdC5jay5jay1yZXNwb25zaXZlLWZvcm0gLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2staW5wdXQtbnVtYmVyIHtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0LyogTGV0IHRoZSBsb25nIGVycm9yIG1lc3NhZ2VzIHdyYXAgaW4gdGhlIG5hcnJvdyBmb3JtLiAqL1xuXHRcdFx0LmNrLmNrLXJlc3BvbnNpdmUtZm9ybSAuY2stbGFiZWxlZC1maWVsZC12aWV3IC5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX2Vycm9yIHtcblx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0XHRcdH1cblxuXHRcdC8qIFN0eWxlcyBmb3IgdHdvIGxhc3QgYnV0dG9ucyBpbiB0aGUgZm9ybSAoc2F2ZSZjYW5jZWwsIGVkaXQmdW5saW5rLCBldGMuKS4gKi9cblx0XHRcdC5jay5jay1yZXNwb25zaXZlLWZvcm0gPiAuY2stYnV0dG9uOm50aC1sYXN0LWNoaWxkKDIpOjphZnRlciB7XG5cdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHRcdH1cblxuXHRcdC5jay5jay1yZXNwb25zaXZlLWZvcm0gPiAuY2stYnV0dG9uOm50aC1sYXN0LWNoaWxkKDEpLFxuXHRcdC5jay5jay1yZXNwb25zaXZlLWZvcm0gPiAuY2stYnV0dG9uOm50aC1sYXN0LWNoaWxkKDIpIHtcblx0XHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdH1cblxuXHRcdFx0LmNrLmNrLXJlc3BvbnNpdmUtZm9ybSA+IC5jay1idXR0b246bnRoLWxhc3QtY2hpbGQoMSk6bm90KDpmb2N1cyksIC5jay5jay1yZXNwb25zaXZlLWZvcm0gPiAuY2stYnV0dG9uOm50aC1sYXN0LWNoaWxkKDIpOm5vdCg6Zm9jdXMpIHtcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHRcdH1cblxuXHRcdFx0W2Rpcj1cImx0clwiXSAuY2suY2stcmVzcG9uc2l2ZS1mb3JtID4gLmNrLWJ1dHRvbjpudGgtbGFzdC1jaGlsZCgxKSwgW2Rpcj1cImx0clwiXSAuY2suY2stcmVzcG9uc2l2ZS1mb3JtID4gLmNrLWJ1dHRvbjpudGgtbGFzdC1jaGlsZCgyKSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG5cblx0XHRcdFtkaXI9XCJydGxcIl0gLmNrLmNrLXJlc3BvbnNpdmUtZm9ybSA+IC5jay1idXR0b246bnRoLWxhc3QtY2hpbGQoMSksIFtkaXI9XCJydGxcIl0gLmNrLmNrLXJlc3BvbnNpdmUtZm9ybSA+IC5jay1idXR0b246bnRoLWxhc3QtY2hpbGQoMikge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXG5cdFx0XHRcdFtkaXI9XCJydGxcIl0gLmNrLmNrLXJlc3BvbnNpdmUtZm9ybSA+IC5jay1idXR0b246bnRoLWxhc3QtY2hpbGQoMSk6bGFzdC1vZi10eXBlLCBbZGlyPVwicnRsXCJdIC5jay5jay1yZXNwb25zaXZlLWZvcm0gPiAuY2stYnV0dG9uOm50aC1sYXN0LWNoaWxkKDIpOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0XHR9XG5cdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLXNlYXJjaC1maWVsZC12aWV3LWhvcml6b250YWwtc3BhY2luZzogY2FsYyh2YXIoLS1jay1pY29uLXNpemUpICsgdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pKTtcbn1cbi5jay5jay1zZWFyY2ggPiAuY2stbGFiZWxlZC1maWVsZC12aWV3IC5jay1pbnB1dCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG4uY2suY2stc2VhcmNoID4gLmNrLWxhYmVsZWQtZmllbGQtdmlldy5jay1zZWFyY2hfX3F1ZXJ5X3dpdGgtaWNvbiB7XG5cdFx0XHQtLWNrLWxhYmVsZWQtZmllbGQtbGFiZWwtZGVmYXVsdC1wb3NpdGlvbi14OiB2YXIoLS1jay1zZWFyY2gtZmllbGQtdmlldy1ob3Jpem9udGFsLXNwYWNpbmcpO1xuXHRcdH1cbi5jay5jay1zZWFyY2ggPiAuY2stbGFiZWxlZC1maWVsZC12aWV3LmNrLXNlYXJjaF9fcXVlcnlfd2l0aC1pY29uID4gLmNrLWxhYmVsZWQtZmllbGQtdmlld19faW5wdXQtd3JhcHBlciA+IC5jay1pY29uIHtcblx0XHRcdFx0b3BhY2l0eTogLjU7XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0fVxuLmNrLmNrLXNlYXJjaCA+IC5jay1sYWJlbGVkLWZpZWxkLXZpZXcuY2stc2VhcmNoX19xdWVyeV93aXRoLWljb24gLmNrLWlucHV0IHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5bZGlyPVwibHRyXCJdIC5jay5jay1zZWFyY2ggPiAuY2stbGFiZWxlZC1maWVsZC12aWV3LmNrLXNlYXJjaF9fcXVlcnlfd2l0aC1pY29uIC5jay1pbnB1dCB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1jay1zZWFyY2gtZmllbGQtdmlldy1ob3Jpem9udGFsLXNwYWNpbmcpO1xuXHR9XG5bZGlyPVwicnRsXCJdIC5jay5jay1zZWFyY2ggPiAuY2stbGFiZWxlZC1maWVsZC12aWV3LmNrLXNlYXJjaF9fcXVlcnlfd2l0aC1pY29uIC5jay1pbnB1dDpub3QoLmNrLWlucHV0LXRleHRfZW1wdHkpIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogdmFyKC0tY2stc2VhcmNoLWZpZWxkLXZpZXctaG9yaXpvbnRhbC1zcGFjaW5nKTtcblx0XHRcdFx0XHR9XG4uY2suY2stc2VhcmNoID4gLmNrLWxhYmVsZWQtZmllbGQtdmlldy5jay1zZWFyY2hfX3F1ZXJ5X3dpdGgtcmVzZXQge1xuXHRcdFx0LS1jay1sYWJlbGVkLWZpZWxkLWVtcHR5LXVuZm9jdXNlZC1tYXgtd2lkdGg6IDEwMCUgLSAyICogdmFyKC0tY2stc2VhcmNoLWZpZWxkLXZpZXctaG9yaXpvbnRhbC1zcGFjaW5nKTtcblx0XHR9XG4uY2suY2stc2VhcmNoID4gLmNrLWxhYmVsZWQtZmllbGQtdmlldy5jay1zZWFyY2hfX3F1ZXJ5X3dpdGgtcmVzZXQuY2stbGFiZWxlZC1maWVsZC12aWV3X2VtcHR5IHtcblx0XHRcdFx0LS1jay1sYWJlbGVkLWZpZWxkLWVtcHR5LXVuZm9jdXNlZC1tYXgtd2lkdGg6IDEwMCUgLSB2YXIoLS1jay1zZWFyY2gtZmllbGQtdmlldy1ob3Jpem9udGFsLXNwYWNpbmcpIC0gdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRcdFx0fVxuLmNrLmNrLXNlYXJjaCA+IC5jay1sYWJlbGVkLWZpZWxkLXZpZXcuY2stc2VhcmNoX19xdWVyeV93aXRoLXJlc2V0IC5jay1zZWFyY2hfX3Jlc2V0IHtcblx0XHRcdFx0bWluLXdpZHRoOiBhdXRvO1xuXHRcdFx0XHRtaW4taGVpZ2h0OiBhdXRvO1xuXG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRcdG9wYWNpdHk6IC41O1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuW2Rpcj1cImx0clwiXSAuY2suY2stc2VhcmNoID4gLmNrLWxhYmVsZWQtZmllbGQtdmlldy5jay1zZWFyY2hfX3F1ZXJ5X3dpdGgtcmVzZXQgLmNrLXNlYXJjaF9fcmVzZXQge1xuXHRcdFx0XHRcdHJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdH1cbltkaXI9XCJydGxcIl0gLmNrLmNrLXNlYXJjaCA+IC5jay1sYWJlbGVkLWZpZWxkLXZpZXcuY2stc2VhcmNoX19xdWVyeV93aXRoLXJlc2V0IC5jay1zZWFyY2hfX3Jlc2V0IHtcblx0XHRcdFx0XHRsZWZ0OiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdH1cbi5jay5jay1zZWFyY2ggPiAuY2stbGFiZWxlZC1maWVsZC12aWV3LmNrLXNlYXJjaF9fcXVlcnlfd2l0aC1yZXNldCAuY2stc2VhcmNoX19yZXNldDpob3ZlciB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0fVxuLmNrLmNrLXNlYXJjaCA+IC5jay1sYWJlbGVkLWZpZWxkLXZpZXcuY2stc2VhcmNoX19xdWVyeV93aXRoLXJlc2V0IC5jay1pbnB1dCB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuW2Rpcj1cImx0clwiXSAuY2suY2stc2VhcmNoID4gLmNrLWxhYmVsZWQtZmllbGQtdmlldy5jay1zZWFyY2hfX3F1ZXJ5X3dpdGgtcmVzZXQgLmNrLWlucHV0Om5vdCguY2staW5wdXQtdGV4dF9lbXB0eSkge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogdmFyKC0tY2stc2VhcmNoLWZpZWxkLXZpZXctaG9yaXpvbnRhbC1zcGFjaW5nKTtcblx0XHRcdFx0XHR9XG5bZGlyPVwicnRsXCJdIC5jay5jay1zZWFyY2ggPiAuY2stbGFiZWxlZC1maWVsZC12aWV3LmNrLXNlYXJjaF9fcXVlcnlfd2l0aC1yZXNldCAuY2staW5wdXQge1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWNrLXNlYXJjaC1maWVsZC12aWV3LWhvcml6b250YWwtc3BhY2luZyk7XG5cdH1cbi5jay5jay1zZWFyY2ggPiAuY2stc2VhcmNoX19yZXN1bHRzIHtcblx0XHRtaW4td2lkdGg6IDEwMCU7XG5cdH1cbi5jay5jay1zZWFyY2ggPiAuY2stc2VhcmNoX19yZXN1bHRzID4gLmNrLXNlYXJjaF9faW5mbyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKSB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblx0XHR9XG4uY2suY2stc2VhcmNoID4gLmNrLXNlYXJjaF9fcmVzdWx0cyA+IC5jay1zZWFyY2hfX2luZm8gKiB7XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0XHR9XG4uY2suY2stc2VhcmNoID4gLmNrLXNlYXJjaF9fcmVzdWx0cyA+IC5jay1zZWFyY2hfX2luZm8gPiBzcGFuOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHR9XG4uY2suY2stc2VhcmNoID4gLmNrLXNlYXJjaF9fcmVzdWx0cyA+IC5jay1zZWFyY2hfX2luZm8gPiBzcGFuOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdFx0XHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLXRvb2xiYXItc3Bpbm5lci1zaXplOiAxOHB4O1xufVxuLmNrLmNrLXNwaW5uZXItY29udGFpbmVyIHtcblx0d2lkdGg6IHZhcigtLWNrLXRvb2xiYXItc3Bpbm5lci1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1jay10b29sYmFyLXNwaW5uZXItc2l6ZSk7XG5cdGFuaW1hdGlvbjogMS41cyBpbmZpbml0ZSBjay1zcGlubmVyLXJvdGF0ZSBsaW5lYXI7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuLmNrLmNrLXNwaW5uZXItY29udGFpbmVyIHtcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDNzO1xufVxuXHR9XG4uY2suY2stc3Bpbm5lciB7XG5cdHdpZHRoOiB2YXIoLS1jay10b29sYmFyLXNwaW5uZXItc2l6ZSk7XG5cdGhlaWdodDogdmFyKC0tY2stdG9vbGJhci1zcGlubmVyLXNpemUpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLXRleHQpO1xuXHRib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbkBrZXlmcmFtZXMgY2stc3Bpbm5lci1yb3RhdGUge1xuXHR0byB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKVxuXHR9XG59XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLypcbiAqIFRoaXMgZml4ZXMgYSBwcm9ibGVtIGluIEZpcmVmb3ggd2hlbiB0aGUgaW5pdGlhbCBoZWlnaHQgb2YgdGhlIGNvbXBsZW1lbnQgZG9lcyBub3QgbWF0Y2ggdGhlIG51bWJlciBvZiByb3dzLlxuICogVGhpcyBidWcgaXMgZXNwZWNpYWxseSB2aXNpYmxlIHdoZW4gcm93cz0xLlxuICovXG4uY2stdGV4dGFyZWEge1xuXHRvdmVyZmxvdy14OiBoaWRkZW5cbn1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG46cm9vdCB7XG5cdC0tY2stY29sb3ItYmxvY2stdG9vbGJhci1idXR0b246IHZhcigtLWNrLWNvbG9yLXRleHQpO1xuXHQtLWNrLWJsb2NrLXRvb2xiYXItYnV0dG9uLXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS1ub3JtYWwpO1xufVxuLmNrLmNrLWJsb2NrLXRvb2xiYXItYnV0dG9uIHtcblx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJsb2NrLXRvb2xiYXItYnV0dG9uKTtcblx0Zm9udC1zaXplOiB2YXIoLS1jay1ibG9jay10b29sYmFyLXNpemUpO1xufVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi5jay5jay10b29sYmFyIHtcblx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci10b29sYmFyLWJhY2tncm91bmQpO1xuXHRwYWRkaW5nOiAwIHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci10b29sYmFyLWJvcmRlcik7XG59XG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay10b29sYmFyLFxuXHQuY2suY2stdG9vbGJhci5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHR9XG4uY2suY2stdG9vbGJhciAuY2suY2stdG9vbGJhcl9fc2VwYXJhdG9yIHtcblx0XHRoZWlnaHQ6IHZhcigtLWNrLWljb24tc2l6ZSk7XG5cdFx0d2lkdGg6IDFweDtcblx0XHRtaW4td2lkdGg6IDFweDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci10b29sYmFyLWJvcmRlcik7XG5cblx0XHQvKlxuXHRcdCAqIFRoZXNlIG1hcmdpbnMgbWFrZSB0aGUgc2VwYXJhdG9ycyBsb29rIGJldHRlciBpbiBiYWxsb29uIHRvb2xiYXJzICh3aGVuIGFsaWduZWQgd2l0aCB0aGUgXCJ0aXBcIikuXG5cdFx0ICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzc0OTMuXG5cdFx0ICovXG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cbi5jay5jay10b29sYmFyIC5jay10b29sYmFyX19saW5lLWJyZWFrIHtcblx0XHRoZWlnaHQ6IDA7XG5cdH1cbi5jay5jay10b29sYmFyID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gKjpub3QoLmNrLXRvb2xiYXJfX2xpbmUtYnJlYWspIHtcblx0XHRcdC8qICgjMTEpIFNlcGFyYXRlIHRvb2xiYXIgaXRlbXMuICovXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdH1cbi8qIERvbid0IGRpc3BsYXkgYSBzZXBhcmF0b3IgYWZ0ZXIgYW4gZW1wdHkgaXRlbXMgY29udGFpbmVyLCBmb3IgaW5zdGFuY2UsXG5cdFx0d2hlbiBhbGwgaXRlbXMgd2VyZSBncm91cGVkICovXG4uY2suY2stdG9vbGJhciA+IC5jay10b29sYmFyX19pdGVtczplbXB0eSArIC5jay5jay10b29sYmFyX19zZXBhcmF0b3Ige1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG4uY2suY2stdG9vbGJhciA+IC5jay10b29sYmFyX19pdGVtcyA+ICo6bm90KC5jay10b29sYmFyX19saW5lLWJyZWFrKSxcblx0LmNrLmNrLXRvb2xiYXIgPiAuY2suY2stdG9vbGJhcl9fZ3JvdXBlZC1kcm9wZG93biB7XG5cdFx0LyogTWFrZSBzdXJlIGl0ZW1zIHdyYXBwZWQgdG8gdGhlIG5leHQgbGluZSBoYXZlIHYtc3BhY2luZyAqL1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHR9XG4uY2suY2stdG9vbGJhci5jay10b29sYmFyX3ZlcnRpY2FsIHtcblx0XHQvKiBJdGVtcyBpbiBhIHZlcnRpY2FsIHRvb2xiYXIgc3BhbiB0aGUgZW50aXJlIHdpZHRoLiAqL1xuXHRcdHBhZGRpbmc6IDA7XG5cblx0XHQvKiBTcGVjaWZpY2l0eSBtYXR0ZXJzIGhlcmUuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzE2OC4gKi9cblx0fVxuLmNrLmNrLXRvb2xiYXIuY2stdG9vbGJhcl92ZXJ0aWNhbCA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jayB7XG5cdFx0XHQvKiBJdGVtcyBpbiBhIHZlcnRpY2FsIHRvb2xiYXIgc2hvdWxkIHNwYW4gdGhlIGhvcml6b250YWwgc3BhY2UuICovXG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0LyogSXRlbXMgaW4gYSB2ZXJ0aWNhbCB0b29sYmFyIHNob3VsZCBoYXZlIG5vIG1hcmdpbi4gKi9cblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0LyogSXRlbXMgaW4gYSB2ZXJ0aWNhbCB0b29sYmFyIHNwYW4gdGhlIGVudGlyZSB3aWR0aCBzbyByb3VuZGVkIGNvcm5lcnMgYXJlIHBvaW50bGVzcy4gKi9cblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0fVxuLmNrLmNrLXRvb2xiYXIuY2stdG9vbGJhcl9jb21wYWN0IHtcblx0XHQvKiBObyBzcGFjaW5nIGFyb3VuZCBpdGVtcy4gKi9cblx0XHRwYWRkaW5nOiAwO1xuXHR9XG4uY2suY2stdG9vbGJhci5jay10b29sYmFyX2NvbXBhY3QgPiAuY2stdG9vbGJhcl9faXRlbXMgPiAqIHtcblx0XHRcdC8qIENvbXBhY3QgdG9vbGJhciBpdGVtcyBoYXZlIG5vIHNwYWNpbmcgYmV0d2VlbiB0aGVtLiAqL1xuXHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHQvKiBcIk1pZGRsZVwiIGNoaWxkcmVuIHNob3VsZCBoYXZlIG5vIHJvdW5kZWQgY29ybmVycy4gKi9cblx0XHR9XG4uY2suY2stdG9vbGJhci5jay10b29sYmFyX2NvbXBhY3QgPiAuY2stdG9vbGJhcl9faXRlbXMgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0fVxuLypcblx0XHQgKiBEcm9wZG93biBidXR0b24gaGFzIGFzeW1tZXRyaWMgcGFkZGluZyB0byBmaXQgdGhlIGFycm93LlxuXHRcdCAqIFRoaXMgYnV0dG9uIGhhcyBubyBhcnJvdyBzbyBsZXQncyByZXZlcnQgdGhhdCBwYWRkaW5nIGJhY2sgdG8gbm9ybWFsLlxuXHRcdCAqL1xuLmNrLmNrLXRvb2xiYXIgPiAuY2suY2stdG9vbGJhcl9fZ3JvdXBlZC1kcm9wZG93biA+IC5jay5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbiB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctdGlueSk7XG5cdFx0fVxuLyogQSBkcm9wLWRvd24gY29udGFpbmluZyB0aGUgbmVzdGVkIHRvb2xiYXIgd2l0aCBjb25maWd1cmVkIGl0ZW1zLiAqL1xuLyogUHJldmVudCBlbXB0eSBzcGFjZSBpbiB0aGUgcGFuZWwgd2hlbiB0aGUgZHJvcGRvd24gbGFiZWwgaXMgdmlzaWJsZSBhbmQgbG9uZyBidXQgdGhlIHRvb2xiYXIgaGFzIGZldyBpdGVtcy4gKi9cbi5jay5jay10b29sYmFyIC5jay10b29sYmFyX19uZXN0ZWQtdG9vbGJhci1kcm9wZG93biA+IC5jay1kcm9wZG93bl9fcGFuZWwge1xuXHRcdFx0bWluLXdpZHRoOiBhdXRvO1xuXHRcdH1cbi5jay5jay10b29sYmFyIC5jay10b29sYmFyX19uZXN0ZWQtdG9vbGJhci1kcm9wZG93biA+IC5jay1idXR0b24gPiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRtYXgtd2lkdGg6IDdlbTtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cbi5jay5jay10b29sYmFyOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG4uY2stdG9vbGJhci1jb250YWluZXIgLmNrLmNrLXRvb2xiYXIge1xuXHRcdGJvcmRlcjogMDtcblx0fVxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG4gKiBTdHlsZXMgZm9yIFJUTCB0b29sYmFycy5cbiAqXG4gKiBOb3RlOiBJbiBzb21lIGNhc2VzIChlLmcuIGEgZGVjb3VwbGVkIGVkaXRvciksIHRoZSB0b29sYmFyIGhhcyBpdHMgb3duIFwiZGlyXCJcbiAqIGJlY2F1c2UgaXRzIHBhcmVudCBpcyBub3QgY29udHJvbGxlZCBieSB0aGUgZWRpdG9yIGZyYW1ld29yay5cbiAqL1xuW2Rpcj1cInJ0bFwiXSAuY2suY2stdG9vbGJhciA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jaywgLmNrLmNrLXRvb2xiYXJbZGlyPVwicnRsXCJdID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdH1cbltkaXI9XCJydGxcIl0gLmNrLmNrLXRvb2xiYXI6bm90KC5jay10b29sYmFyX2NvbXBhY3QpID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrLCAuY2suY2stdG9vbGJhcltkaXI9XCJydGxcIl06bm90KC5jay10b29sYmFyX2NvbXBhY3QpID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrIHtcblx0XHQvKiAoIzExKSBTZXBhcmF0ZSB0b29sYmFyIGl0ZW1zLiAqL1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0fVxuW2Rpcj1cInJ0bFwiXSAuY2suY2stdG9vbGJhciA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jazpsYXN0LWNoaWxkLCAuY2suY2stdG9vbGJhcltkaXI9XCJydGxcIl0gPiAuY2stdG9vbGJhcl9faXRlbXMgPiAuY2s6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cbi8qIE5vIHJvdW5kZWQgY29ybmVycyBvbiB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgZmlyc3QgY2hpbGQuICovXG5bZGlyPVwicnRsXCJdIC5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfY29tcGFjdCA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jazpmaXJzdC1jaGlsZCwgLmNrLmNrLXRvb2xiYXIuY2stdG9vbGJhcl9jb21wYWN0W2Rpcj1cInJ0bFwiXSA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jazpmaXJzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0XHR9XG4vKiBObyByb3VuZGVkIGNvcm5lcnMgb24gdGhlIGxlZnQgc2lkZSBvZiB0aGUgbGFzdCBjaGlsZC4gKi9cbltkaXI9XCJydGxcIl0gLmNrLmNrLXRvb2xiYXIuY2stdG9vbGJhcl9jb21wYWN0ID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrOmxhc3QtY2hpbGQsIC5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfY29tcGFjdFtkaXI9XCJydGxcIl0gPiAuY2stdG9vbGJhcl9faXRlbXMgPiAuY2s6bGFzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdH1cbi8qIFNlcGFyYXRlIHRoZSB0aGUgc2VwYXJhdG9yIGZvcm0gdGhlIGdyb3VwaW5nIGRyb3Bkb3duIHdoZW4gc29tZSBpdGVtcyBhcmUgZ3JvdXBlZC4gKi9cbltkaXI9XCJydGxcIl0gLmNrLmNrLXRvb2xiYXIgPiAuY2suY2stdG9vbGJhcl9fc2VwYXJhdG9yLCAuY2suY2stdG9vbGJhcltkaXI9XCJydGxcIl0gPiAuY2suY2stdG9vbGJhcl9fc2VwYXJhdG9yIHtcblx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cbi8qIFNvbWUgc3BhY2luZyBiZXR3ZWVuIHRoZSBpdGVtcyBhbmQgdGhlIHNlcGFyYXRvciBiZWZvcmUgdGhlIGdyb3VwZWQgaXRlbXMgZHJvcGRvd24uICovXG5bZGlyPVwicnRsXCJdIC5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfZ3JvdXBpbmcgPiAuY2stdG9vbGJhcl9faXRlbXM6bm90KDplbXB0eSk6bm90KDpvbmx5LWNoaWxkKSwgLmNrLmNrLXRvb2xiYXIuY2stdG9vbGJhcl9ncm91cGluZ1tkaXI9XCJydGxcIl0gPiAuY2stdG9vbGJhcl9faXRlbXM6bm90KDplbXB0eSk6bm90KDpvbmx5LWNoaWxkKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHR9XG4vKlxuICogU3R5bGVzIGZvciBMVFIgdG9vbGJhcnMuXG4gKlxuICogTm90ZTogSW4gc29tZSBjYXNlcyAoZS5nLiBhIGRlY291cGxlZCBlZGl0b3IpLCB0aGUgdG9vbGJhciBoYXMgaXRzIG93biBcImRpclwiXG4gKiBiZWNhdXNlIGl0cyBwYXJlbnQgaXMgbm90IGNvbnRyb2xsZWQgYnkgdGhlIGVkaXRvciBmcmFtZXdvcmsuXG4gKi9cbltkaXI9XCJsdHJcIl0gLmNrLmNrLXRvb2xiYXIgPiAuY2stdG9vbGJhcl9faXRlbXMgPiAuY2s6bGFzdC1jaGlsZCwgLmNrLmNrLXRvb2xiYXJbZGlyPVwibHRyXCJdID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxuLyogTm8gcm91bmRlZCBjb3JuZXJzIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBmaXJzdCBjaGlsZC4gKi9cbltkaXI9XCJsdHJcIl0gLmNrLmNrLXRvb2xiYXIuY2stdG9vbGJhcl9jb21wYWN0ID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrOmZpcnN0LWNoaWxkLCAuY2suY2stdG9vbGJhci5jay10b29sYmFyX2NvbXBhY3RbZGlyPVwibHRyXCJdID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrOmZpcnN0LWNoaWxkIHtcblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdFx0fVxuLyogTm8gcm91bmRlZCBjb3JuZXJzIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIGxhc3QgY2hpbGQuICovXG5bZGlyPVwibHRyXCJdIC5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfY29tcGFjdCA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jazpsYXN0LWNoaWxkLCAuY2suY2stdG9vbGJhci5jay10b29sYmFyX2NvbXBhY3RbZGlyPVwibHRyXCJdID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrOmxhc3QtY2hpbGQge1xuXHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0fVxuLyogU2VwYXJhdGUgdGhlIHRoZSBzZXBhcmF0b3IgZm9ybSB0aGUgZ3JvdXBpbmcgZHJvcGRvd24gd2hlbiBzb21lIGl0ZW1zIGFyZSBncm91cGVkLiAqL1xuW2Rpcj1cImx0clwiXSAuY2suY2stdG9vbGJhciA+IC5jay5jay10b29sYmFyX19zZXBhcmF0b3IsIC5jay5jay10b29sYmFyW2Rpcj1cImx0clwiXSA+IC5jay5jay10b29sYmFyX19zZXBhcmF0b3Ige1xuXHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cbi8qIFNvbWUgc3BhY2luZyBiZXR3ZWVuIHRoZSBpdGVtcyBhbmQgdGhlIHNlcGFyYXRvciBiZWZvcmUgdGhlIGdyb3VwZWQgaXRlbXMgZHJvcGRvd24uICovXG5bZGlyPVwibHRyXCJdIC5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfZ3JvdXBpbmcgPiAuY2stdG9vbGJhcl9faXRlbXM6bm90KDplbXB0eSk6bm90KDpvbmx5LWNoaWxkKSwgLmNrLmNrLXRvb2xiYXIuY2stdG9vbGJhcl9ncm91cGluZ1tkaXI9XCJsdHJcIl0gPiAuY2stdG9vbGJhcl9faXRlbXM6bm90KDplbXB0eSk6bm90KDpvbmx5LWNoaWxkKSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0fVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stdG9vbHRpcCB7XG5cdC0tY2stYmFsbG9vbi1ib3JkZXItd2lkdGg6IDBweDtcblx0LS1jay1iYWxsb29uLWFycm93LW9mZnNldDogMHB4O1xuXHQtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aDogNHB4O1xuXHQtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0OiA0cHg7XG5cdC0tY2stdG9vbHRpcC10ZXh0LXBhZGRpbmc6IDRweDtcblx0LS1jay1jb2xvci1wYW5lbC1iYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci10b29sdGlwLWJhY2tncm91bmQpO1xuXG5cdHBhZGRpbmc6IDAgdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXG5cdC8qIFJlc2V0IGJhbGxvb24gcGFuZWwgc3R5bGVzICovXG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay10b29sdGlwIC5jay10b29sdGlwX190ZXh0IHtcblx0XHRmb250LXNpemU6IC45ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItdG9vbHRpcC10ZXh0KTtcblx0fVxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stdG9vbHRpcC5jay10b29sdGlwX211bHRpLWxpbmUgLmNrLXRvb2x0aXBfX3RleHQge1xuXHRcdHdoaXRlLXNwYWNlOiBicmVhay1zcGFjZXM7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXRvb2x0aXAtdGV4dC1wYWRkaW5nKSAwO1xuXHRcdG1heC13aWR0aDogMjAwcHg7XG5cdH1cbi8qIEhpZGUgdGhlIGRlZmF1bHQgc2hhZG93IG9mIHRoZSAuY2stYmFsbG9vbi1wYW5lbCB0aXAgKi9cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLXRvb2x0aXA6OmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG4vKiBFZGl0b3IgKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cbi5jay5jay1lZGl0b3JfX3RvcCAuY2stc3RpY2t5LXBhbmVsIC5jay1zdGlja3ktcGFuZWxfX2NvbnRlbnQge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMDtcblx0XHR9XG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1lZGl0b3JfX3RvcCAuY2stc3RpY2t5LXBhbmVsIC5jay1zdGlja3ktcGFuZWxfX2NvbnRlbnQsXG5cdC5jay5jay1lZGl0b3JfX3RvcCAuY2stc3RpY2t5LXBhbmVsIC5jay1zdGlja3ktcGFuZWxfX2NvbnRlbnQuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdH1cbi5jay5jay1lZGl0b3JfX3RvcCAuY2stc3RpY2t5LXBhbmVsIC5jay1zdGlja3ktcGFuZWxfX2NvbnRlbnQuY2stc3RpY2t5LXBhbmVsX19jb250ZW50X3N0aWNreSB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcblx0XHRcdH1cbi5jay5jay1lZGl0b3JfX3RvcCAuY2stc3RpY2t5LXBhbmVsIC5jay1zdGlja3ktcGFuZWxfX2NvbnRlbnQgLmNrLW1lbnUtYmFyIHtcblx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0fVxuLmNrLmNrLWVkaXRvcl9fdG9wIC5jay1zdGlja3ktcGFuZWwgLmNrLXN0aWNreS1wYW5lbF9fY29udGVudCAuY2stdG9vbGJhciB7XG5cdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdH1cbi8qIE5vdGU6IFVzZSBjay1lZGl0b3JfX21haW4gdG8gbWFrZSBzdXJlIHRoZXNlIHN0eWxlcyBkb24ndCBhcHBseSB0byBvdGhlciBlZGl0b3IgdHlwZXMgKi9cbi5jay5jay1lZGl0b3JfX21haW4gPiAuY2stZWRpdG9yX19lZGl0YWJsZSB7XG5cdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvMTEzICovXG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cblx0Ym9yZGVyLXJhZGl1czogMDtcbn1cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWVkaXRvcl9fbWFpbiA+IC5jay1lZGl0b3JfX2VkaXRhYmxlLFxuXHQuY2suY2stZWRpdG9yX19tYWluID4gLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHR9XG4uY2suY2stZWRpdG9yX19tYWluID4gLmNrLWVkaXRvcl9fZWRpdGFibGU6bm90KC5jay1mb2N1c2VkKSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdH1cblxuLyogUGx1Z2lucyAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG46cm9vdCB7XG5cdC0tY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWRvdC13aWR0aDogMTJweDtcblx0LS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtZG90LWhlaWdodDogOHB4O1xuXHQtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1jb2xvcjogdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKTtcbn1cbi8qXG5cdCAqIFZlcnRpY2FsIGRyb3AgdGFyZ2V0IChpbiB0ZXh0KS5cblx0ICovXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuY2suY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LXBvc2l0aW9uIHNwYW4ge1xuXHRcdFx0Ym90dG9tOiBjYWxjKC0uNSAqIHZhcigtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1kb3QtaGVpZ2h0KSk7XG5cdFx0XHR0b3A6IGNhbGMoLS41ICogdmFyKC0tY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWRvdC1oZWlnaHQpKTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1jb2xvcik7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtY29sb3IpO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0xcHg7XG5cblx0XHRcdC8qIFRoZSB0cmlhbmdsZSBhYm92ZSB0aGUgbWFya2VyICovXG5cdFx0fVxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLmNrLmNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1wb3NpdGlvbiBzcGFuOjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0aGVpZ2h0OiAwO1xuXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0dG9wOiBjYWxjKC0uNSAqIHZhcigtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1kb3QtaGVpZ2h0KSk7XG5cblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1jb2xvcikgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtZG90LWhlaWdodCkpIGNhbGMoLjUgKiB2YXIoLS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtZG90LXdpZHRoKSkgMCBjYWxjKC41ICogdmFyKC0tY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWRvdC13aWR0aCkpO1xuXHRcdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0fVxuLypcblx0ICogU3R5bGVzIG9mIHRoZSB3aWRnZXQgdGhhdCBpdCBhIGRyb3AgdGFyZ2V0LlxuXHQgKi9cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC5jay13aWRnZXQuY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LXJhbmdlIHtcblx0XHRvdXRsaW5lOiB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpIHNvbGlkIHZhcigtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1jb2xvcikgIWltcG9ydGFudDtcblx0fVxuLypcblx0ICogU3R5bGVzIG9mIHRoZSB3aWRnZXQgYmVpbmcgZHJhZ2dlZCAoaXRzIHByZXZpZXcpLlxuXHQgKi9cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC5jay13aWRnZXQ6LXdlYmtpdC1kcmFnIHtcblx0XHR6b29tOiAwLjY7XG5cdFx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG4uY2suY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWxpbmUge1xuXHRoZWlnaHQ6IDA7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1jb2xvcik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1jb2xvcik7XG5cdG1hcmdpbi10b3A6IC0xcHg7XG59XG4uY2suY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWxpbmU6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogY2FsYygtLjUgKiB2YXIoLS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtZG90LXdpZHRoKSk7XG5cdFx0d2lkdGg6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdH1cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1saW5lOjpiZWZvcmUge1xuXHRcdFx0bGVmdDogLTFweDtcblxuXHRcdFx0Ym9yZGVyLXdpZHRoOiBjYWxjKC41ICogdmFyKC0tY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWRvdC13aWR0aCkpIDAgY2FsYyguNSAqIHZhcigtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1kb3Qtd2lkdGgpKSB2YXIoLS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtZG90LWhlaWdodCk7XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1jb2xvcik7XG5cdH1cbltkaXI9XCJydGxcIl0gLmNrLmNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1saW5lOjpiZWZvcmUge1xuXHRcdFx0cmlnaHQ6IC0xcHg7XG5cblx0XHRcdGJvcmRlci13aWR0aDpjYWxjKC41ICogdmFyKC0tY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWRvdC13aWR0aCkpIHZhcigtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1kb3QtaGVpZ2h0KSBjYWxjKC41ICogdmFyKC0tY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWRvdC13aWR0aCkpIDA7XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHZhcigtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1jb2xvcikgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG46cm9vdCB7XG5cdC0tY2stY29sb3ItY29kZS1ibG9jay1sYWJlbC1iYWNrZ3JvdW5kOiBoc2woMCwgMCUsIDQ2JSk7XG59XG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSBwcmVbZGF0YS1sYW5ndWFnZV06OmFmdGVyIHtcblx0dG9wOiAtMXB4O1xuXHRyaWdodDogMTBweDtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItY29kZS1ibG9jay1sYWJlbC1iYWNrZ3JvdW5kKTtcblxuXHRmb250LXNpemU6IDEwcHg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1jay1mb250LWZhY2UpO1xuXHRsaW5lLWhlaWdodDogMTZweDtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy10aW55KSB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdGNvbG9yOiBoc2woMCwgMCUsIDEwMCUpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmNrLmNrLWNvZGUtYmxvY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbCB7XG5cdC8qIFRoZXJlIGNvdWxkIGJlIGRvemVucyBvZiBsYW5ndWFnZXMgYXZhaWxhYmxlLiBVc2Ugc2Nyb2xsIHRvIHByZXZlbnQgYSAxMGU2cHggZHJvcGRvd24uICovXG5cdG1heC1oZWlnaHQ6IDI1MHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG59XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qIFNlZSBja2VkaXRvci9ja2VkaXRvcjUjOTM2LiAqL1xuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcblx0XHQuY2suY2stcGxhY2Vob2xkZXIsIC5jayAuY2stcGxhY2Vob2xkZXIge1xuXHRcdC8qXG5cdFx0ICogVGhpcyBpcyBuZWVkZWQgZm9yIEVkZ2Ugb24gV2luZG93cyB0byB1c2UgdGhlIHJpZ2h0IGNvbG9yIGZvciB0aGUgcGxhY2Vob2xkZXIgY29udGVudCAoOjpiZWZvcmUpLlxuXHRcdCAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNDkwNy5cblx0XHQgKi9cblx0XHRmb3JjZWQtY29sb3ItYWRqdXN0OiBwcmVzZXJ2ZS1wYXJlbnQtY29sb3I7XG5cdFx0fVxuXHR9XG4uY2suY2stcGxhY2Vob2xkZXI6OmJlZm9yZSwgLmNrIC5jay1wbGFjZWhvbGRlcjo6YmVmb3JlIHtcblx0XHRjdXJzb3I6IHRleHQ7XG5cdH1cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogbm9uZSkge1xuXHRcdC5jay5jay1wbGFjZWhvbGRlcjo6YmVmb3JlLCAuY2sgLmNrLXBsYWNlaG9sZGVyOjpiZWZvcmUge1xuXHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWVuZ2luZS1wbGFjZWhvbGRlci10ZXh0KTtcblx0XHR9XG5cdH1cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG5cdFx0LmNrLmNrLXBsYWNlaG9sZGVyOjpiZWZvcmUsIC5jayAuY2stcGxhY2Vob2xkZXI6OmJlZm9yZSB7XG5cdFx0XHQvKlxuXHRcdFx0ICogSW4gdGhlIGhpZ2ggY29udHJhc3QgbW9kZSB0aGVyZSBpcyBubyB0ZWxsaW5nIGJldHdlZW4gcmVndWxhciBhbmQgcGxhY2Vob2xkZXIgdGV4dC4gVXNpbmdcblx0XHRcdCAqIGl0YWxpYyB0ZXh0IHRvIGFkZHJlc3MgdGhhdCBpc3N1ZS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE0OTA3LlxuXHRcdFx0ICovXG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cblx0XHRcdC8qXG5cdFx0XHQgKiBXaXRob3V0IHRoaXMgbWFyZ2luLCB0aGUgY2FyZXQgd2lsbCBub3Qgc2hvdyB1cCBhbmQgYmxpbmsgd2hlbiB0aGUgdXNlciBwdXRzIHRoZSBzZWxlY3Rpb25cblx0XHRcdCAqIGluIHRoZSBwbGFjZWhvbGRlciAoRWRnZSBvbiBXaW5kb3dzKS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE0OTA3LlxuXHRcdFx0ICovXG5cdFx0XHRtYXJnaW4tbGVmdDogMXB4O1xuXHRcdH1cblx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLmNrLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybSB7XG5cdHdpZHRoOiA0MDBweDtcblxuXHQvKlxuXHQgKiBUaGUgPGZvcm0+IG5lZWRzIHRhYmluZGV4PVwiLTFcIiBmb3IgcHJvcGVyIEVzYyBoYW5kbGluZyBhZnRlciBiZWluZyBjbGlja2VkXG5cdCAqIGJ1dCB0aGUgc2lkZSBlZmZlY3QgaXMgdGhhdCB0aGlzIGNyZWF0ZXMgYSBuYXN0eSBmb2N1cyBvdXRsaW5lIGluIHNvbWUgYnJvd3NlcnMuXG5cdCAqL1xufVxuLmNrLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybTpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuLyogR2VuZXJpYyBzdHlsZXMgZm9yIHRoZSBmb3JtIGlucHV0cyBhbmQgYWN0aW9ucy4gKi9cbi5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0gLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9faW5wdXRzLFxuXHQuY2suY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtIC5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2FjdGlvbnMge1xuXHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0YWxpZ24tY29udGVudDogc3RyZXRjaDtcblxuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRcdG1hcmdpbjogMDtcblxuXHR9XG4uY2suY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtIC5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2lucHV0cyA+IC5jay1idXR0b24sIC5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0gLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9fYWN0aW9ucyA+IC5jay1idXR0b24ge1xuXHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0fVxuW2Rpcj1cImx0clwiXSAuY2suY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtIC5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2lucHV0cyA+ICogKyAqLCBbZGlyPVwibHRyXCJdIC5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0gLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9fYWN0aW9ucyA+ICogKyAqIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdFx0fVxuW2Rpcj1cInJ0bFwiXSAuY2suY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtIC5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2lucHV0cyA+ICogKyAqLCBbZGlyPVwicnRsXCJdIC5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0gLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9fYWN0aW9ucyA+ICogKyAqIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHRcdH1cbi5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0gLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9faW5wdXRzIC5jay1sYWJlbGVkLWZpZWxkLXZpZXcsIC5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0gLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9fYWN0aW9ucyAuY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0XHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdH1cbi5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0gLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9faW5wdXRzIC5jay1sYWJlbGVkLWZpZWxkLXZpZXcgLmNrLWlucHV0LCAuY2suY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtIC5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2FjdGlvbnMgLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2staW5wdXQge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0bWluLXdpZHRoOiA1MHB4O1xuXHRcdFx0fVxuLyogU3R5bGVzIHNwZWNpZmljIGZvciBpbnB1dHMgYXJlYS4gKi9cbi5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0gLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9faW5wdXRzIHtcblx0XHQvKiBUbyBkaXNwbGF5IGFsbCBjb250cm9scyBpbiBsaW5lIHdoZW4gdGhlcmUncyBhbiBlcnJvciB1bmRlciB0aGUgaW5wdXQgKi9cblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0fVxuLmNrLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybSAuY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtX19pbnB1dHMgPiAuY2stYnV0dG9uLXByZXYgPiAuY2staWNvbiB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdFx0fVxuLmNrLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybSAuY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtX19pbnB1dHMgPiAuY2stYnV0dG9uLW5leHQgPiAuY2staWNvbiB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXHRcdH1cbi5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0gLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9faW5wdXRzIC5jay1yZXN1bHRzLWNvdW50ZXIge1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdFx0fVxuW2Rpcj1cImx0clwiXSAuY2suY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtIC5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2lucHV0cyAuY2stcmVzdWx0cy1jb3VudGVyIHtcblx0XHRcdFx0cmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHR9XG5bZGlyPVwicnRsXCJdIC5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0gLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9faW5wdXRzIC5jay1yZXN1bHRzLWNvdW50ZXIge1xuXHRcdFx0XHRsZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0fVxuLmNrLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybSAuY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtX19pbnB1dHMgPiAuY2stbGFiZWxlZC1maWVsZC1yZXBsYWNlIHtcblx0XHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdFx0cGFkZGluZy10b3A6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdH1cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybSAuY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtX19pbnB1dHMgPiAuY2stbGFiZWxlZC1maWVsZC1yZXBsYWNlIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cbltkaXI9XCJydGxcIl0gLmNrLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybSAuY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtX19pbnB1dHMgPiAuY2stbGFiZWxlZC1maWVsZC1yZXBsYWNlIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHR9XG4vKiBTdHlsZXMgc3BlY2lmaWMgZm9yIGFjdGlvbnMgYXJlYS4gKi9cbi5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0gLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9fYWN0aW9ucyB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0bWFyZ2luLXRvcDogY2FsYyggLTEgKiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSApO1xuXHR9XG4uY2suY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtIC5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2FjdGlvbnMgPiAuY2stYnV0dG9uLWZpbmQge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cblx0XHRcdC8qIEJlZWYgdGhlIGZpbmQgYnV0dG9uIHVwIGEgbGl0dGxlLiBJdCdzIHRoZSBtYWluIGFjdGlvbiBidXR0b24gaW4gdGhlIGZvcm0gKi9cblx0XHR9XG4uY2suY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtIC5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2FjdGlvbnMgPiAuY2stYnV0dG9uLWZpbmQgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblx0XHRcdH1cbi5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0gLmNrLXN3aXRjaGJ1dHRvbiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHQuY2suY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtIHtcblx0XHR3aWR0aDogMzAwcHg7XG5cblx0XHQvKiBEb24ndCBsZXQgdGhlIGZvcm0gb3ZlcmZsb3cgZnJvbSB0aGUgZGlhbG9nIChodHRwczovL2dpdGh1Yi5jb20vY2tzb3VyY2UvY2tlZGl0b3I1LWNvbW1lcmNpYWwvaXNzdWVzLzU5MTMpICovXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXG5cdFx0LyogU3R5bGVzIHNwZWNpZmljIGZvciBpbnB1dHMgYXJlYS4gKi9cblx0fVxuXHRcdC5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0uY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtX19pbnB1dCB7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0fVxuXG5cdFx0XHQuY2suY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9faW5wdXQgLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0XHRcdGZsZXg6IDEgMCBhdXRvO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0XHR9XG5cblx0XHRcdC5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0uY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtX19pbnB1dCA+IC5jay1idXR0b24ge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XG5cblx0XHRcdFx0LmNrLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybS5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2lucHV0ID4gLmNrLWJ1dHRvbjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRmbGV4OiAxIDEgYXV0bztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0W2Rpcj1cImx0clwiXSAuY2suY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9faW5wdXQgPiAuY2stYnV0dG9uOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHRcdFx0XHRcdFtkaXI9XCJydGxcIl0gLmNrLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybS5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2lucHV0ID4gLmNrLWJ1dHRvbjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxuXG5cdFx0XHRcdFx0LmNrLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybS5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2lucHV0ID4gLmNrLWJ1dHRvbjpmaXJzdC1vZi10eXBlIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdH1cblxuXHRcdC8qIFN0eWxlcyBzcGVjaWZpYyBmb3IgYWN0aW9ucyBhcmVhLiAqL1xuXHRcdC5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0uY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtX19hY3Rpb25zID4gOm5vdCguY2stbGFiZWxlZC1maWVsZC12aWV3KSB7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRmbGV4OiAxIDEgYXV0bztcblx0XHR9XG5cblx0XHRcdC5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0uY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtX19hY3Rpb25zID4gOm5vdCguY2stbGFiZWxlZC1maWVsZC12aWV3KSA+IC5jay1idXR0b24ge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XG5cblx0XHRcdFx0LmNrLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybS5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2FjdGlvbnMgPiA6bm90KC5jay1sYWJlbGVkLWZpZWxkLXZpZXcpID4gLmNrLWJ1dHRvbjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRmbGV4OiAxIDEgYXV0bztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0W2Rpcj1cImx0clwiXSAuY2suY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9fYWN0aW9ucyA+IDpub3QoLmNrLWxhYmVsZWQtZmllbGQtdmlldykgPiAuY2stYnV0dG9uOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHRcdFx0XHRcdFtkaXI9XCJydGxcIl0gLmNrLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybS5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2FjdGlvbnMgPiA6bm90KC5jay1sYWJlbGVkLWZpZWxkLXZpZXcpID4gLmNrLWJ1dHRvbjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxuXG5cdFx0XHRcdC5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0uY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtX19hY3Rpb25zID4gOm5vdCguY2stbGFiZWxlZC1maWVsZC12aWV3KSA+IC5jay1idXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0fVxuXHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyogUmVzaXplIGRyb3Bkb3duJ3MgYnV0dG9uIGxhYmVsLiAqL1xuLmNrLmNrLWRyb3Bkb3duLmNrLWhlYWRpbmctZHJvcGRvd24gLmNrLWRyb3Bkb3duX19idXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdHdpZHRoOiA4ZW07XG5cdH1cbi5jay5jay1kcm9wZG93bi5jay1oZWFkaW5nLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwgLmNrLWxpc3RfX2l0ZW0ge1xuXHRcdG1pbi13aWR0aDogMThlbTtcblx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBOb3RlOiBUaGlzIGZpbGUgc2hvdWxkIGNvbnRhaW4gdGhlIHdpcmVmcmFtZSBzdHlsZXMgb25seS4gQnV0IHNpbmNlIHRoZXJlIGFyZSBubyBzdWNoIHN0eWxlcyxcbiAqIGl0IGFjdHMgYXMgYSBtZXNzYWdlIHRvIHRoZSBidWlsZGVyIHRlbGxpbmcgdGhhdCBpdCBzaG91bGQgbG9vayBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc3R5bGVzXG4gKiAqKmluIHRoZSB0aGVtZSoqIHdoZW4gY29tcGlsaW5nIHRoZSBlZGl0b3IuXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG46cm9vdCB7XG5cdC0tY2staHRtbC1lbWJlZC1jb250ZW50LXdpZHRoOiBjYWxjKDEwMCUgLSAxLjUgKiB2YXIoLS1jay1pY29uLXNpemUpKTtcblx0LS1jay1odG1sLWVtYmVkLXNvdXJjZS1oZWlnaHQ6IDEwZW07XG5cdC0tY2staHRtbC1lbWJlZC11bmZvY3VzZWQtb3V0bGluZS13aWR0aDogMXB4O1xuXHQtLWNrLWh0bWwtZW1iZWQtY29udGVudC1taW4taGVpZ2h0OiBjYWxjKHZhcigtLWNrLWljb24tc2l6ZSkgKyB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSk7XG5cblx0LS1jay1odG1sLWVtYmVkLXNvdXJjZS1kaXNhYmxlZC1iYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQpO1xuXHQtLWNrLWh0bWwtZW1iZWQtc291cmNlLWRpc2FibGVkLWNvbG9yOiBoc2woMGRlZyAwJSA0NSUpO1xufVxuLyogVGhlIGZlYXR1cmUgY29udGFpbmVyLiAqL1xuLmNrLXdpZGdldC5yYXctaHRtbC1lbWJlZCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tY2stZm9udC1zaXplLWJhc2UpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQpO1xufVxuLmNrLXdpZGdldC5yYXctaHRtbC1lbWJlZDpub3QoLmNrLXdpZGdldF9zZWxlY3RlZCk6bm90KDpob3Zlcikge1xuXHRcdG91dGxpbmU6IHZhcigtLWNrLWh0bWwtZW1iZWQtdW5mb2N1c2VkLW91dGxpbmUtd2lkdGgpIGRhc2hlZCB2YXIoLS1jay1jb2xvci13aWRnZXQtYmx1cnJlZC1ib3JkZXIpO1xuXHR9XG4vKiBIVE1MIGVtYmVkIHdpZGdldCBpdHNlbGYgc2hvdWxkIHJlc3BlY3QgVUkgbGFuZ3VhZ2UgZGlyZWN0aW9uICovXG4uY2std2lkZ2V0LnJhdy1odG1sLWVtYmVkW2Rpcj1cImx0clwiXSB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuLmNrLXdpZGdldC5yYXctaHRtbC1lbWJlZFtkaXI9XCJydGxcIl0ge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG4vKiAtLS0tLSBFbWJlZCBsYWJlbCBpbiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jay13aWRnZXQucmF3LWh0bWwtZW1iZWQ6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogYXR0cihkYXRhLWh0bWwtZW1iZWQtbGFiZWwpO1xuXHRcdHRvcDogY2FsYygtMSAqIHZhcigtLWNrLWh0bWwtZW1iZWQtdW5mb2N1c2VkLW91dGxpbmUtd2lkdGgpKTtcblx0XHRsZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHRiYWNrZ3JvdW5kOiBoc2woMGRlZyAwJSA2MCUpO1xuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tY3VydmUpO1xuXHRcdHBhZGRpbmc6IGNhbGModmFyKC0tY2stc3BhY2luZy10aW55KSArIHZhcigtLWNrLWh0bWwtZW1iZWQtdW5mb2N1c2VkLW91dGxpbmUtd2lkdGgpKSB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKSB2YXIoLS1jay1zcGFjaW5nLXRpbnkpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1jay1ib3JkZXItcmFkaXVzKSB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0XHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS10aW55KTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tY2stZm9udC1mYWNlKTtcblx0fVxuLmNrLXdpZGdldC5yYXctaHRtbC1lbWJlZFtkaXI9XCJydGxcIl06OmJlZm9yZSB7XG5cdFx0bGVmdDogYXV0bztcblx0XHRyaWdodDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdH1cbi8qIE1ha2Ugc3BhY2UgZm9yIGxhYmVsIGJ1dCBpdCBvbmx5IGNvbGxpZGVzIGluIExUUiBsYW5ndWFnZXMgKi9cbi5jay13aWRnZXQucmF3LWh0bWwtZW1iZWRbZGlyPVwibHRyXCJdIC5jay13aWRnZXRfX3R5cGUtYXJvdW5kIC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24uY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uX2JlZm9yZSB7XG5cdFx0bWFyZ2luLWxlZnQ6IDUwcHg7XG5cdH1cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWJsdXJyZWQgLmNrLXdpZGdldC5yYXctaHRtbC1lbWJlZC5jay13aWRnZXRfc2VsZWN0ZWQ6OmJlZm9yZSB7XG5cdFx0dG9wOiAwcHg7XG5cdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy10aW55KSB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0fVxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGU6bm90KC5jay1ibHVycmVkKSAuY2std2lkZ2V0LnJhdy1odG1sLWVtYmVkLmNrLXdpZGdldF9zZWxlY3RlZDo6YmVmb3JlIHtcblx0XHR0b3A6IDA7XG5cdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy10aW55KSB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xuXHR9XG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuY2std2lkZ2V0LnJhdy1odG1sLWVtYmVkOm5vdCguY2std2lkZ2V0X3NlbGVjdGVkKTpob3Zlcjo6YmVmb3JlIHtcblx0XHR0b3A6IDBweDtcblx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXRpbnkpIHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHR9XG4vKiAtLS0tLSBFbWViZWQgaW50ZXJuYWxzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNrLXdpZGdldC5yYXctaHRtbC1lbWJlZCAucmF3LWh0bWwtZW1iZWRfX2NvbnRlbnQtd3JhcHBlciB7XG5cdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdH1cbi8qIFRoZSBzd2l0Y2ggbW9kZSBidXR0b24gd3JhcHBlci4gKi9cbi5jay13aWRnZXQucmF3LWh0bWwtZW1iZWQgLnJhdy1odG1sLWVtYmVkX19idXR0b25zLXdyYXBwZXIge1xuXHRcdHRvcDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0cmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHR9XG4uY2std2lkZ2V0LnJhdy1odG1sLWVtYmVkIC5yYXctaHRtbC1lbWJlZF9fYnV0dG9ucy13cmFwcGVyIC5jay1idXR0b24ucmF3LWh0bWwtZW1iZWRfX3NhdmUtYnV0dG9uIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1idXR0b24tc2F2ZSk7XG5cdFx0fVxuLmNrLXdpZGdldC5yYXctaHRtbC1lbWJlZCAucmF3LWh0bWwtZW1iZWRfX2J1dHRvbnMtd3JhcHBlciAuY2stYnV0dG9uLnJhdy1odG1sLWVtYmVkX19jYW5jZWwtYnV0dG9uIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1idXR0b24tY2FuY2VsKTtcblx0XHR9XG4uY2std2lkZ2V0LnJhdy1odG1sLWVtYmVkIC5yYXctaHRtbC1lbWJlZF9fYnV0dG9ucy13cmFwcGVyIC5jay1idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0fVxuLmNrLXdpZGdldC5yYXctaHRtbC1lbWJlZFtkaXI9XCJydGxcIl0gLnJhdy1odG1sLWVtYmVkX19idXR0b25zLXdyYXBwZXIge1xuXHRcdGxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHR9XG4vKiBUaGUgZWRpdCBzb3VyY2UgZWxlbWVudC4gKi9cbi5jay13aWRnZXQucmF3LWh0bWwtZW1iZWQgLnJhdy1odG1sLWVtYmVkX19zb3VyY2Uge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0aGVpZ2h0OiB2YXIoLS1jay1odG1sLWVtYmVkLXNvdXJjZS1oZWlnaHQpO1xuXHRcdHdpZHRoOiB2YXIoLS1jay1odG1sLWVtYmVkLWNvbnRlbnQtd2lkdGgpO1xuXHRcdHJlc2l6ZTogbm9uZTtcblx0XHRtaW4td2lkdGg6IDA7XG5cdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0XHRmb250LWZhbWlseTogbW9ub3NwYWNlO1xuXHRcdHRhYi1zaXplOiA0O1xuXHRcdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcblx0XHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS1iYXNlKTsgLyogU2FmYXJpIG5lZWRzIHRoaXMuICovXG5cblx0XHQvKiBIVE1MIGNvZGUgaXMgZGlyZWN0aW9u4oCTYWdub3N0aWMuICovXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRkaXJlY3Rpb246IGx0cjtcblx0fVxuLmNrLXdpZGdldC5yYXctaHRtbC1lbWJlZCAucmF3LWh0bWwtZW1iZWRfX3NvdXJjZVtkaXNhYmxlZF0ge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2staHRtbC1lbWJlZC1zb3VyY2UtZGlzYWJsZWQtYmFja2dyb3VuZCk7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2staHRtbC1lbWJlZC1zb3VyY2UtZGlzYWJsZWQtY29sb3IpO1xuXG5cdFx0XHQvKiBTYWZhcmkgbmVlZHMgdGhpcyBmb3IgdGhlIHByb3BlciB0ZXh0IGNvbG9yIGluIGRpc2FibGVkIGlucHV0IChodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy84MzIwKS4gKi9cblx0XHRcdC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB2YXIoLS1jay1odG1sLWVtYmVkLXNvdXJjZS1kaXNhYmxlZC1jb2xvcik7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cbi8qIFRoZSBwcmV2aWV3IGRhdGEgY29udGFpbmVyLiAqL1xuLmNrLXdpZGdldC5yYXctaHRtbC1lbWJlZCAucmF3LWh0bWwtZW1iZWRfX3ByZXZpZXcge1xuXHRcdG1pbi1oZWlnaHQ6IHZhcigtLWNrLWh0bWwtZW1iZWQtY29udGVudC1taW4taGVpZ2h0KTtcblx0XHR3aWR0aDogdmFyKC0tY2staHRtbC1lbWJlZC1jb250ZW50LXdpZHRoKTtcblxuXHRcdC8qIERpc2FibGUgYWxsIG1vdXNlIGludGVyYWN0aW9uIGFzIGxvbmcgYXMgdGhlIGVkaXRvciBpcyBub3QgcmVhZOKAk29ubHkuICovXG5cdH1cbi5jay1lZGl0b3JfX2VkaXRhYmxlOm5vdCguY2stcmVhZC1vbmx5KSAuY2std2lkZ2V0LnJhdy1odG1sLWVtYmVkIC5yYXctaHRtbC1lbWJlZF9fcHJldmlldyB7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR9XG4uY2std2lkZ2V0LnJhdy1odG1sLWVtYmVkIC5yYXctaHRtbC1lbWJlZF9fcHJldmlldy1jb250ZW50IHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtZm9yZWdyb3VuZCk7XG5cdH1cbi5jay13aWRnZXQucmF3LWh0bWwtZW1iZWQgLnJhdy1odG1sLWVtYmVkX19wcmV2aWV3LWNvbnRlbnQgPiAqIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdH1cbi5jay13aWRnZXQucmF3LWh0bWwtZW1iZWQgLnJhdy1odG1sLWVtYmVkX19wcmV2aWV3LXBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogdmFyKC0tY2staHRtbC1lbWJlZC1zb3VyY2UtZGlzYWJsZWQtY29sb3IpXG5cdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLWltYWdlLWluc2VydC1pbnNlcnQtYnktdXJsLXdpZHRoOiAyNTBweDtcbn1cbi5jay5jay1pbWFnZS1pbnNlcnQtdXJsIHtcblx0LS1jay1pbnB1dC13aWR0aDogMTAwJTtcbn1cbi5jay5jay1pbWFnZS1pbnNlcnQtdXJsIC5jay1pbWFnZS1pbnNlcnQtdXJsX19hY3Rpb24tcm93IHtcblx0XHRncmlkLWNvbHVtbi1nYXA6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHR9XG4uY2suY2staW1hZ2UtaW5zZXJ0LXVybCAuY2staW1hZ2UtaW5zZXJ0LXVybF9fYWN0aW9uLXJvdyAuY2stYnV0dG9uLXNhdmUsXG5cdFx0LmNrLmNrLWltYWdlLWluc2VydC11cmwgLmNrLWltYWdlLWluc2VydC11cmxfX2FjdGlvbi1yb3cgLmNrLWJ1dHRvbi1jYW5jZWwge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRtaW4td2lkdGg6IGF1dG87XG5cdFx0fVxuLmNrLmNrLWltYWdlLWluc2VydC11cmwgLmNrLWltYWdlLWluc2VydC11cmxfX2FjdGlvbi1yb3cgLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItdGV4dCk7XG5cdFx0fVxuLmNrLmNrLWltYWdlLWluc2VydC1mb3JtID4gLmNrLmNrLWJ1dHRvbiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWltYWdlLWluc2VydC1mb3JtID4gLmNrLmNrLWJ1dHRvbiB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5bZGlyPVwicnRsXCJdIC5jay5jay1pbWFnZS1pbnNlcnQtZm9ybSA+IC5jay5jay1idXR0b24ge1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cbi5jay5jay1pbWFnZS1pbnNlcnQtZm9ybSA+IC5jay5jay1jb2xsYXBzaWJsZSB7XG5cblx0XHRtaW4td2lkdGg6IHZhcigtLWNrLWltYWdlLWluc2VydC1pbnNlcnQtYnktdXJsLXdpZHRoKTtcblx0fVxuLmNrLmNrLWltYWdlLWluc2VydC1mb3JtID4gLmNrLmNrLWNvbGxhcHNpYmxlOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdFx0fVxuLmNrLmNrLWltYWdlLWluc2VydC1mb3JtID4gLmNrLmNrLWNvbGxhcHNpYmxlOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHR9XG4vKiBUaGlzIGlzIHRoZSBjYXNlIHdoZW4gdGhlcmUgYXJlIG5vIG90aGVyIGludGVncmF0aW9ucyBjb25maWd1cmVkIHRoYW4gaW5zZXJ0IGJ5IFVSTCAqL1xuLmNrLmNrLWltYWdlLWluc2VydC1mb3JtID4gLmNrLmNrLWltYWdlLWluc2VydC11cmwge1xuXHRcdG1pbi13aWR0aDogdmFyKC0tY2staW1hZ2UtaW5zZXJ0LWluc2VydC1ieS11cmwtd2lkdGgpO1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHR9XG4uY2suY2staW1hZ2UtaW5zZXJ0LWZvcm06Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLWltYWdlLXVwbG9hZC1pY29uOiBoc2woMCwgMCUsIDEwMCUpO1xuXHQtLWNrLWNvbG9yLWltYWdlLXVwbG9hZC1pY29uLWJhY2tncm91bmQ6IGhzbCgxMjAsIDEwMCUsIDI3JSk7XG5cblx0LyogTWF0Y2ggdGhlIGljb24gc2l6ZSB3aXRoIHRoZSBsaW5rZWQgaW1hZ2UgaW5kaWNhdG9yIGJyb3VnaHQgYnkgdGhlIGxpbmsgaW1hZ2UgZmVhdHVyZS4gKi9cblx0LS1jay1pbWFnZS11cGxvYWQtaWNvbi1zaXplOiAyMDtcblx0LS1jay1pbWFnZS11cGxvYWQtaWNvbi13aWR0aDogMnB4O1xuXHQtLWNrLWltYWdlLXVwbG9hZC1pY29uLWlzLXZpc2libGU6IGNsYW1wKDBweCwgMTAwJSAtIDUwcHgsIDFweCk7XG59XG4uY2staW1hZ2UtdXBsb2FkLWNvbXBsZXRlLWljb24ge1xuXHRvcGFjaXR5OiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1pbWFnZS11cGxvYWQtaWNvbi1iYWNrZ3JvdW5kKTtcblx0YW5pbWF0aW9uLW5hbWU6IGNrLXVwbG9hZC1jb21wbGV0ZS1pY29uLXNob3csIGNrLXVwbG9hZC1jb21wbGV0ZS1pY29uLWhpZGU7XG5cdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzLCBmb3J3YXJkcztcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcywgNTAwbXM7XG5cblx0LyogVG8gbWFrZSBhbmltYXRpb24gc2NhbGFibGUuICovXG5cdGZvbnQtc2l6ZTogY2FsYygxcHggKiB2YXIoLS1jay1pbWFnZS11cGxvYWQtaWNvbi1zaXplKSk7XG5cblx0LyogSGlkZSBjb21wbGV0ZWQgdXBsb2FkIGljb24gYWZ0ZXIgMyBzZWNvbmRzLiAqL1xuXHRhbmltYXRpb24tZGVsYXk6IDBtcywgMzAwMG1zO1xuXG5cdC8qXG5cdCAqIFVzZSBDU1MgbWF0aCB0byBzaW11bGF0ZSBjb250YWluZXIgcXVlcmllcy5cblx0ICogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS90aGUtcmF2ZW4tdGVjaG5pcXVlLW9uZS1zdGVwLWNsb3Nlci10by1jb250YWluZXItcXVlcmllcy8jd2hhdC1hYm91dC1zaG93aW5nLWFuZC1oaWRpbmctdGhpbmdzXG5cdCAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR3aWR0aDogY2FsYyh2YXIoLS1jay1pbWFnZS11cGxvYWQtaWNvbi1pcy12aXNpYmxlKSAqIHZhcigtLWNrLWltYWdlLXVwbG9hZC1pY29uLXNpemUpKTtcblx0aGVpZ2h0OiBjYWxjKHZhcigtLWNrLWltYWdlLXVwbG9hZC1pY29uLWlzLXZpc2libGUpICogdmFyKC0tY2staW1hZ2UtdXBsb2FkLWljb24tc2l6ZSkpO1xuXG5cdC8qIFRoaXMgaXMgY2hlY2sgaWNvbiBlbGVtZW50IG1hZGUgZnJvbSBib3JkZXItd2lkdGggbWl4ZWQgd2l0aCBhbmltYXRpb25zLiAqL1xufVxuLmNrLWltYWdlLXVwbG9hZC1jb21wbGV0ZS1pY29uOjphZnRlciB7XG5cdFx0LyogQmVjYXVzZSBvZiBib3JkZXIgdHJhbnNmb3JtYXRpb24gd2UgbmVlZCB0byBcImhhcmQgY29kZVwiIGxlZnQgcG9zaXRpb24uICovXG5cdFx0bGVmdDogMjUlO1xuXG5cdFx0dG9wOiA1MCU7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0d2lkdGg6IDA7XG5cblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgtMSkgcm90YXRlKDEzNWRlZyk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG5cdFx0Ym9yZGVyLXRvcDogdmFyKC0tY2staW1hZ2UtdXBsb2FkLWljb24td2lkdGgpIHNvbGlkIHZhcigtLWNrLWNvbG9yLWltYWdlLXVwbG9hZC1pY29uKTtcblx0XHRib3JkZXItcmlnaHQ6IHZhcigtLWNrLWltYWdlLXVwbG9hZC1pY29uLXdpZHRoKSBzb2xpZCB2YXIoLS1jay1jb2xvci1pbWFnZS11cGxvYWQtaWNvbik7XG5cblx0XHRhbmltYXRpb24tbmFtZTogY2stdXBsb2FkLWNvbXBsZXRlLWljb24tY2hlY2s7XG5cdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcblx0XHRhbmltYXRpb24tZGVsYXk6IDUwMG1zO1xuXHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuXG5cdFx0LyogIzEwOTUuIFdoaWxlIHJlc2V0IGlzIG5vdCBwcm92aWRpbmcgcHJvcGVyIGJveC1zaXppbmcgZm9yIHBzZXVkb2VsZW1lbnRzLCB3ZSBuZWVkIHRvIGhhbmRsZSBpdC4gKi9cblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuLmNrLWltYWdlLXVwbG9hZC1jb21wbGV0ZS1pY29uIHtcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDBtcztcbn1cblxuXHRcdC5jay1pbWFnZS11cGxvYWQtY29tcGxldGUtaWNvbjo6YWZ0ZXIge1xuXHRcdFx0YW5pbWF0aW9uOiBub25lO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHdpZHRoOiAwLjNlbTtcblx0XHRcdGhlaWdodDogMC40NWVtO1xuXHRcdH1cblx0fVxuQGtleWZyYW1lcyBjay11cGxvYWQtY29tcGxldGUtaWNvbi1zaG93IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5Aa2V5ZnJhbWVzIGNrLXVwbG9hZC1jb21wbGV0ZS1pY29uLWhpZGUge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cbkBrZXlmcmFtZXMgY2stdXBsb2FkLWNvbXBsZXRlLWljb24tY2hlY2sge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR3aWR0aDogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdH1cblx0MzMlIHtcblx0XHR3aWR0aDogMC4zZW07XG5cdFx0aGVpZ2h0OiAwO1xuXHR9XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0d2lkdGg6IDAuM2VtO1xuXHRcdGhlaWdodDogMC40NWVtO1xuXHR9XG59XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXI6IGhzbCgwLCAwJSwgNzAlKTtcblx0LS1jay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyLXNpemU6IDMycHg7XG5cdC0tY2stdXBsb2FkLXBsYWNlaG9sZGVyLWltYWdlLWFzcGVjdC1yYXRpbzogMi44O1xufVxuLmNrIC5jay1pbWFnZS11cGxvYWQtcGxhY2Vob2xkZXIge1xuXHQvKiBXZSBuZWVkIHRvIGNvbnRyb2wgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIFNWRyBncmF5IGJhY2tncm91bmQuICovXG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW46IDA7XG59XG4uY2sgLmNrLWltYWdlLXVwbG9hZC1wbGFjZWhvbGRlci5pbWFnZS1pbmxpbmUge1xuXHRcdHdpZHRoOiBjYWxjKCAyICogdmFyKC0tY2stdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlci1zaXplKSAqIHZhcigtLWNrLXVwbG9hZC1wbGFjZWhvbGRlci1pbWFnZS1hc3BlY3QtcmF0aW8pICk7XG5cdH1cbi5jayAuY2staW1hZ2UtdXBsb2FkLXBsYWNlaG9sZGVyIGltZyB7XG5cdFx0Lypcblx0XHQgKiBUaGlzIGlzIGFuIGFyYml0cmFyeSBhc3BlY3QgZm9yIGEgMXgxIHB4IEdJRiB0byBkaXNwbGF5IHRvIHRoZSB1c2VyLiBOb3QgdG9vIHRhbGwsIG5vdCB0b28gc2hvcnQuXG5cdFx0ICogVGhlcmUncyBub3RoaW5nIHNwZWNpYWwgYWJvdXQgdGhpcyBudW1iZXIgZXhjZXB0IHRoYXQgaXQgc2hvdWxkIG1ha2UgdGhlIGltYWdlIHBsYWNlaG9sZGVyIGxvb2sgbGlrZVxuXHRcdCAqIGEgcmVhbCBpbWFnZSBkdXJpbmcgdGhpcyBzaG9ydCBwZXJpb2QgYWZ0ZXIgdGhlIHVwbG9hZCBzdGFydGVkIGFuZCBiZWZvcmUgdGhlIGltYWdlIHdhcyByZWFkIGZyb20gdGhlXG5cdFx0ICogZmlsZSBzeXN0ZW0gKGFuZCBhIHJpY2ggcHJldmlldyB3YXMgbG9hZGVkKS5cblx0XHQgKi9cblx0XHRhc3BlY3QtcmF0aW86IHZhcigtLWNrLXVwbG9hZC1wbGFjZWhvbGRlci1pbWFnZS1hc3BlY3QtcmF0aW8pO1xuXHR9XG4uY2sgLmNrLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXIge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuLmNrIC5jay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyOjpiZWZvcmUge1xuXHRcdHdpZHRoOiB2YXIoLS1jay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyLXNpemUpO1xuXHRcdGhlaWdodDogdmFyKC0tY2stdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlci1zaXplKTtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0Ym9yZGVyLXRvcDogM3B4IHNvbGlkIHZhcigtLWNrLWNvbG9yLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXIpO1xuXHRcdGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGFuaW1hdGlvbjogY2stdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlciAxcyBsaW5lYXIgaW5maW5pdGU7XG5cdH1cbkBrZXlmcmFtZXMgY2stdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlciB7XG5cdHRvIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSggMzYwZGVnICk7XG5cdH1cbn1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKiBTaG93aW5nIGFuaW1hdGlvbi4gKi9cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC5pbWFnZS5jay1hcHBlYXIsIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC5pbWFnZS1pbmxpbmUuY2stYXBwZWFyIHtcblx0XHRcdGFuaW1hdGlvbjogZmFkZUluIDcwMG1zO1xuXHRcdH1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuaW1hZ2UuY2stYXBwZWFyLCAuY2suY2stZWRpdG9yX19lZGl0YWJsZSAuaW1hZ2UtaW5saW5lLmNrLWFwcGVhciB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdGFuaW1hdGlvbjogbm9uZTtcblx0XHR9XG5cdFx0XHR9XG4vKiBVcGxvYWQgcHJvZ3Jlc3MgYmFyLiAqL1xuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLmltYWdlIC5jay1wcm9ncmVzcy1iYXIsXG5cdC5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC5pbWFnZS1pbmxpbmUgLmNrLXByb2dyZXNzLWJhciB7XG5cdFx0aGVpZ2h0OiAycHg7XG5cdFx0d2lkdGg6IDA7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItdXBsb2FkLWJhci1iYWNrZ3JvdW5kKTtcblx0XHR0cmFuc2l0aW9uOiB3aWR0aCAxMDBtcztcblx0fVxuQGtleWZyYW1lcyBmYWRlSW4ge1xuXHRmcm9tIHsgb3BhY2l0eTogMDsgfVxuXHR0byAgIHsgb3BhY2l0eTogMTsgfVxufVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qIENsYXNzIGFkZGVkIHRvIHNwYW4gZWxlbWVudCBzdXJyb3VuZGluZyBjdXJyZW50bHkgc2VsZWN0ZWQgbGluay4gKi9cbi5jayAuY2stbGlua19zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpbmstc2VsZWN0ZWQtYmFja2dyb3VuZCk7XG5cblx0LyogR2l2ZSBsaW5rZWQgaW5saW5lIGltYWdlcyBzb21lIG91dGxpbmUgdG8gbGV0IHRoZSB1c2VyIGtub3cgdGhleSBhcmUgYWxzbyBwYXJ0IG9mIHRoZSBsaW5rLiAqL1xufVxuLmNrIC5jay1saW5rX3NlbGVjdGVkIHNwYW4uaW1hZ2UtaW5saW5lIHtcblx0XHRvdXRsaW5lOiB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpIHNvbGlkIHZhcigtLWNrLWNvbG9yLWxpbmstc2VsZWN0ZWQtYmFja2dyb3VuZCk7XG5cdH1cbi8qXG4gKiBDbGFzc2VzIHVzZWQgYnkgdGhlIFwiZmFrZSB2aXN1YWwgc2VsZWN0aW9uXCIgZGlzcGxheWVkIGluIHRoZSBjb250ZW50IHdoZW4gYW4gaW5wdXRcbiAqIGluIHRoZSBsaW5rIFVJIGhhcyBmb2N1cyAodGhlIGJyb3dzZXIgZG9lcyBub3QgcmVuZGVyIHRoZSBuYXRpdmUgc2VsZWN0aW9uIGluIHRoaXMgc3RhdGUpLlxuICovXG4uY2sgLmNrLWZha2UtbGluay1zZWxlY3Rpb24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1saW5rLWZha2Utc2VsZWN0aW9uKTtcbn1cbi8qIEEgY29sbGFwc2VkIGZha2UgdmlzdWFsIHNlbGVjdGlvbi4gKi9cbi5jayAuY2stZmFrZS1saW5rLXNlbGVjdGlvbl9jb2xsYXBzZWQge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtdGV4dCk7XG5cdG1hcmdpbi1yaWdodDogLTFweDtcblx0b3V0bGluZTogc29saWQgMXB4IGhzbGEoMCwgMCUsIDEwMCUsIC41KTtcbn1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBNYWtlcyBlbGVtZW50IHVuc2VsZWN0YWJsZS5cbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEEgdmlzdWFsIHN0eWxlIG9mIGZvY3VzZWQgZWxlbWVudCdzIGJvcmRlci5cbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG4vKipcbiAqIEdpdmVzIGFuIGVsZW1lbnQgYSBkcm9wIHNoYWRvdyBzbyBpdCBsb29rcyBsaWtlIGEgZmxvYXRpbmcgcGFuZWwuXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4uY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b24uY2stbGluay1hY3Rpb25zX19wcmV2aWV3IHtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0fVxuLmNrLmNrLWxpbmstYWN0aW9ucyAuY2stYnV0dG9uLmNrLWxpbmstYWN0aW9uc19fcHJldmlldyAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRwYWRkaW5nOiAwIHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1saW5rLWRlZmF1bHQpO1xuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRcdC8qIE1hdGNoIHRoZSBib3ggbW9kZWwgb2YgdGhlIGxpbmsgZWRpdG9yIGZvcm0ncyBpbnB1dCBzbyB0aGUgYmFsbG9vblxuXHRcdFx0ZG9lcyBub3QgY2hhbmdlIHdpZHRoIHdoZW4gbW92aW5nIGJldHdlZW4gYWN0aW9ucyBhbmQgdGhlIGZvcm0uICovXG5cdFx0XHRtYXgtd2lkdGg6IHZhcigtLWNrLWlucHV0LXdpZHRoKTtcblx0XHRcdG1pbi13aWR0aDogM2VtO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cbi5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbi5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcgLmNrLWJ1dHRvbl9fbGFiZWw6aG92ZXIge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cbi5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbi5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcsXG5cdFx0LmNrLmNrLWxpbmstYWN0aW9ucyAuY2stYnV0dG9uLmNrLWxpbmstYWN0aW9uc19fcHJldmlldzpob3Zlcixcblx0XHQuY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b24uY2stbGluay1hY3Rpb25zX19wcmV2aWV3OmZvY3VzLFxuXHRcdC5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbi5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXc6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0fVxuLmNrLmNrLWxpbmstYWN0aW9ucyAuY2stYnV0dG9uLmNrLWxpbmstYWN0aW9uc19fcHJldmlldzphY3RpdmUge1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHR9XG4uY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b24uY2stbGluay1hY3Rpb25zX19wcmV2aWV3OmZvY3VzIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5bZGlyPVwibHRyXCJdIC5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0fVxuW2Rpcj1cInJ0bFwiXSAuY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0fVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHQuY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b24uY2stbGluay1hY3Rpb25zX19wcmV2aWV3IHtcblx0XHRcdG1hcmdpbjogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgMDtcblx0XHR9XG5cblx0XHRcdC5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbi5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHRcdFtkaXI9XCJsdHJcIl0gLmNrLmNrLWxpbmstYWN0aW9ucyAuY2stYnV0dG9uOm5vdCguY2stbGluay1hY3Rpb25zX19wcmV2aWV3KSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG5cblx0XHRcdFtkaXI9XCJydGxcIl0gLmNrLmNrLWxpbmstYWN0aW9ucyAuY2stYnV0dG9uOm5vdCguY2stbGluay1hY3Rpb25zX19wcmV2aWV3KSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG5cdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLypcbiAqIFN0eWxlIGxpbmsgZm9ybSBkaWZmZXJlbnRseSB3aGVuIG1hbnVhbCBkZWNvcmF0b3JzIGFyZSBhdmFpbGFibGUuXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbGluay9pc3N1ZXMvMTg2LlxuICovXG4uY2suY2stbGluay1mb3JtX2xheW91dC12ZXJ0aWNhbCB7XG5cdHBhZGRpbmc6IDA7XG5cdG1pbi13aWR0aDogdmFyKC0tY2staW5wdXQtd2lkdGgpO1xufVxuLmNrLmNrLWxpbmstZm9ybV9sYXlvdXQtdmVydGljYWwgLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0fVxuLmNrLmNrLWxpbmstZm9ybV9sYXlvdXQtdmVydGljYWwgLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2staW5wdXQtdGV4dCB7XG5cdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG4uY2suY2stbGluay1mb3JtX2xheW91dC12ZXJ0aWNhbCA+IC5jay1idXR0b24ge1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdG1hcmdpbjogMDtcblx0XHR3aWR0aDogNTAlO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdH1cbi5jay5jay1saW5rLWZvcm1fbGF5b3V0LXZlcnRpY2FsID4gLmNrLWJ1dHRvbjpub3QoOmZvY3VzKSB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdH1cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWxpbmstZm9ybV9sYXlvdXQtdmVydGljYWwgPiAuY2stYnV0dG9uIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG5bZGlyPVwicnRsXCJdIC5jay5jay1saW5rLWZvcm1fbGF5b3V0LXZlcnRpY2FsID4gLmNrLWJ1dHRvbiB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuW2Rpcj1cInJ0bFwiXSAuY2suY2stbGluay1mb3JtX2xheW91dC12ZXJ0aWNhbCA+IC5jay1idXR0b246bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0fVxuLyogVXNpbmcgYWRkaXRpb25hbCBgLmNrYCBjbGFzcyBmb3Igc3Ryb25nZXIgQ1NTIHNwZWNpZmljaXR5IHRoYW4gYC5jay5jay1saW5rLWZvcm0gPiA6bm90KDpmaXJzdC1jaGlsZClgLiAqL1xuLmNrLmNrLWxpbmstZm9ybV9sYXlvdXQtdmVydGljYWwgLmNrLmNrLWxpc3Qge1xuXHRcdG1hcmdpbjogMCB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblx0fVxuLmNrLmNrLWxpbmstZm9ybV9sYXlvdXQtdmVydGljYWwgLmNrLmNrLWxpc3QgLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24ge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cbi5jay5jay1saW5rLWZvcm1fbGF5b3V0LXZlcnRpY2FsIC5jay5jay1saXN0IC5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG46cm9vdCB7XG5cdC8qIE1hdGNoIHRoZSBpY29uIHNpemUgd2l0aCB0aGUgdXBsb2FkIGluZGljYXRvciBicm91Z2h0IGJ5IHRoZSBpbWFnZSB1cGxvYWQgZmVhdHVyZS4gKi9cblx0LS1jay1saW5rLWltYWdlLWluZGljYXRvci1pY29uLXNpemU6IDIwO1xuXHQtLWNrLWxpbmstaW1hZ2UtaW5kaWNhdG9yLWljb24taXMtdmlzaWJsZTogY2xhbXAoMHB4LCAxMDAlIC0gNTBweCwgMXB4KTtcbn1cbi8qIExpbmtlZCBpbWFnZSBpbmRpY2F0b3IgKi9cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIGZpZ3VyZS5pbWFnZSA+IGE6OmFmdGVyLCAuY2suY2stZWRpdG9yX19lZGl0YWJsZSBhIHNwYW4uaW1hZ2UtaW5saW5lOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXG5cdFx0XHQvKlxuXHRcdFx0ICogU21hbGxlciBpbWFnZXMgc2hvdWxkIGhhdmUgdGhlIGljb24gY2xvc2VyIHRvIHRoZSBib3JkZXIuXG5cdFx0XHQgKiBNYXRjaCB0aGUgaWNvbiBwb3NpdGlvbiB3aXRoIHRoZSB1cGxvYWQgaW5kaWNhdG9yIGJyb3VnaHQgYnkgdGhlIGltYWdlIHVwbG9hZCBmZWF0dXJlLlxuXHRcdFx0ICovXG5cdFx0XHR0b3A6IG1pbih2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSksIDYlKTtcblx0XHRcdHJpZ2h0OiBtaW4odmFyKC0tY2stc3BhY2luZy1tZWRpdW0pLCA2JSk7XG5cblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGhzbGEoMCwgMCUsIDAlLCAuNCk7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIyYVdWM1FtOTRQU0l3SURBZ01qQWdNakFpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaWJURXhMakEzTnlBeE5TQXVPVGt4TFRFdU5ERTJZUzQzTlM0M05TQXdJREVnTVNBeExqSXlPUzQ0Tm13dE1TNHhORGdnTVM0Mk5HRXVOelE0TGpjME9DQXdJREFnTVMwdU1qRTNMakl3TmlBMUxqSTFNU0ExTGpJMU1TQXdJREFnTVMwNExqVXdNeTAxTGprMU5TNDNOREV1TnpReElEQWdNQ0F4SUM0eE1pMHVNamMwYkRFdU1UUTNMVEV1TmpNNVlTNDNOUzQzTlNBd0lERWdNU0F4TGpJeU9DNDROa3cwTGprek15QXhNQzQzYkM0d01EWXVNREF6WVRNdU56VWdNeTQzTlNBd0lEQWdNQ0EyTGpFek1pQTBMakk1Tkd3dU1EQTJMakF3TkhwdE5TNDBPVFF0TlM0ek16VmhMamMwT0M0M05EZ2dNQ0F3SURFdExqRXlMakkzTkd3dE1TNHhORGNnTVM0Mk16bGhMamMxTGpjMUlEQWdNU0F4TFRFdU1qSTRMUzQ0Tm13dU9EWXRNUzR5TTJFekxqYzFJRE11TnpVZ01DQXdJREF0Tmk0eE5EUXROQzR6TURGc0xTNDROaUF4TGpJeU9XRXVOelV1TnpVZ01DQXdJREV0TVM0eU1qa3RMamcyYkRFdU1UUTRMVEV1TmpSaExqYzBPQzQzTkRnZ01DQXdJREVnTGpJeE55MHVNakEySURVdU1qVXhJRFV1TWpVeElEQWdNQ0F4SURndU5UQXpJRFV1T1RVMWVtMHROQzQxTmpNdE1pNDFNekpoTGpjMUxqYzFJREFnTUNBeElDNHhPRFFnTVM0d05EVnNMVE11TVRVMUlEUXVOVEExWVM0M05TNDNOU0F3SURFZ01TMHhMakl5T1MwdU9EWnNNeTR4TlRVdE5DNDFNRFpoTGpjMUxqYzFJREFnTUNBeElERXVNRFExTFM0eE9EUjZJaTgrUEM5emRtYytcIik7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDE0cHg7XG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblxuXHRcdFx0Lypcblx0XHRcdCogVXNlIENTUyBtYXRoIHRvIHNpbXVsYXRlIGNvbnRhaW5lciBxdWVyaWVzLlxuXHRcdFx0KiBodHRwczovL2Nzcy10cmlja3MuY29tL3RoZS1yYXZlbi10ZWNobmlxdWUtb25lLXN0ZXAtY2xvc2VyLXRvLWNvbnRhaW5lci1xdWVyaWVzLyN3aGF0LWFib3V0LXNob3dpbmctYW5kLWhpZGluZy10aGluZ3Ncblx0XHRcdCovXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0d2lkdGg6IGNhbGModmFyKC0tY2stbGluay1pbWFnZS1pbmRpY2F0b3ItaWNvbi1pcy12aXNpYmxlKSAqIHZhcigtLWNrLWxpbmstaW1hZ2UtaW5kaWNhdG9yLWljb24tc2l6ZSkpO1xuXHRcdFx0aGVpZ2h0OiBjYWxjKHZhcigtLWNrLWxpbmstaW1hZ2UtaW5kaWNhdG9yLWljb24taXMtdmlzaWJsZSkgKiB2YXIoLS1jay1saW5rLWltYWdlLWluZGljYXRvci1pY29uLXNpemUpKTtcblx0XHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyogV2hlbiB0aGVyZSBhcmUgbm8gbGlzdCBzdHlsZXMgYW5kIHRoZXJlIGlzIG5vIGNvbGxhcHNpYmxlLiAqL1xuLmNrLmNrLWxpc3QtcHJvcGVydGllcy5jay1saXN0LXByb3BlcnRpZXNfd2l0aG91dC1zdHlsZXMge1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHR9XG4uY2suY2stbGlzdC1wcm9wZXJ0aWVzLmNrLWxpc3QtcHJvcGVydGllc193aXRob3V0LXN0eWxlcyA+ICoge1xuXHRcdFx0bWluLXdpZHRoOiAxNGVtO1xuXHRcdH1cbi5jay5jay1saXN0LXByb3BlcnRpZXMuY2stbGlzdC1wcm9wZXJ0aWVzX3dpdGhvdXQtc3R5bGVzID4gKiArICoge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHRcdH1cbi8qXG5cdCAqIFdoZW4gdGhlIG51bWJlcmVkIGxpc3QgcHJvcGVydHkgZmllbGRzIChzdGFydCBhdCwgcmV2ZXJzZWQpIHNob3VsZCBiZSBkaXNwbGF5ZWQsXG5cdCAqIG1vcmUgaG9yaXpvbnRhbCBzcGFjZSBpcyBuZWVkZWQuIFJlY29uZmlndXJlIHRoZSBzdHlsZSBncmlkIHRvIGNyZWF0ZSB0aGF0IHNwYWNlLlxuXHQgKi9cbi5jay5jay1saXN0LXByb3BlcnRpZXMuY2stbGlzdC1wcm9wZXJ0aWVzX3dpdGgtbnVtYmVyZWQtcHJvcGVydGllcyA+IC5jay1saXN0LXN0eWxlcy1saXN0IHtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCA0LCBhdXRvICk7XG5cdFx0fVxuLyogV2hlbiBsaXN0IHN0eWxlcyBhcmUgcmVuZGVyZWQgYW5kIHByb3BlcnR5IGZpZWxkcyBhcmUgaW4gYSBjb2xsYXBzaWJsZS4gKi9cbi5jay5jay1saXN0LXByb3BlcnRpZXMuY2stbGlzdC1wcm9wZXJ0aWVzX3dpdGgtbnVtYmVyZWQtcHJvcGVydGllcyA+IC5jay1jb2xsYXBzaWJsZSB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdH1cbi5jay5jay1saXN0LXByb3BlcnRpZXMuY2stbGlzdC1wcm9wZXJ0aWVzX3dpdGgtbnVtYmVyZWQtcHJvcGVydGllcyA+IC5jay1jb2xsYXBzaWJsZSA+IC5jay1jb2xsYXBzaWJsZV9fY2hpbGRyZW4gPiAqIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuLmNrLmNrLWxpc3QtcHJvcGVydGllcy5jay1saXN0LXByb3BlcnRpZXNfd2l0aC1udW1iZXJlZC1wcm9wZXJ0aWVzID4gLmNrLWNvbGxhcHNpYmxlID4gLmNrLWNvbGxhcHNpYmxlX19jaGlsZHJlbiA+ICogKyAqIHtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdFx0XHRcdH1cbi5jay5jay1saXN0LXByb3BlcnRpZXMgLmNrLmNrLW51bWJlcmVkLWxpc3QtcHJvcGVydGllc19fc3RhcnQtaW5kZXggLmNrLWlucHV0IHtcblx0XHRtaW4td2lkdGg6IGF1dG87XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbi5jay5jay1saXN0LXByb3BlcnRpZXMgLmNrLmNrLW51bWJlcmVkLWxpc3QtcHJvcGVydGllc19fcmV2ZXJzZWQtb3JkZXIge1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS1jay1zcGFjaW5nLXRpbnkpKTtcblx0fVxuLmNrLmNrLWxpc3QtcHJvcGVydGllcyAuY2suY2stbnVtYmVyZWQtbGlzdC1wcm9wZXJ0aWVzX19yZXZlcnNlZC1vcmRlcjphY3RpdmUsIC5jay5jay1saXN0LXByb3BlcnRpZXMgLmNrLmNrLW51bWJlcmVkLWxpc3QtcHJvcGVydGllc19fcmV2ZXJzZWQtb3JkZXI6aG92ZXIge1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG46cm9vdCB7XG5cdC0tY2stbGlzdC1zdHlsZS1idXR0b24tc2l6ZTogNDRweDtcbn1cbi5jay5jay1saXN0LXN0eWxlcy1saXN0IHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoIDMsIGF1dG8gKTtcblx0cm93LWdhcDogdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRjb2x1bW4tZ2FwOiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xufVxuLmNrLmNrLWxpc3Qtc3R5bGVzLWxpc3QgLmNrLWJ1dHRvbiB7XG5cdFx0LyogTWFrZSB0aGUgYnV0dG9uIGxvb2sgbGlrZSBhIHRodW1ibmFpbCAodGhlIGljb24gXCJ0YWtlcyBpdCBhbGxcIikuICovXG5cdFx0d2lkdGg6IHZhcigtLWNrLWxpc3Qtc3R5bGUtYnV0dG9uLXNpemUpO1xuXHRcdGhlaWdodDogdmFyKC0tY2stbGlzdC1zdHlsZS1idXR0b24tc2l6ZSk7XG5cdFx0cGFkZGluZzogMDtcblxuXHRcdC8qXG5cdFx0ICogQnV0dG9ucyBhcmUgYWxpZ25lZCBieSB0aGUgZ3JpZCBzbyBkaXNhYmxlIGRlZmF1bHQgYnV0dG9uIG1hcmdpbnMgdG8gbm90IGNvbGxpZGUgd2l0aCB0aGVcblx0XHQgKiBnYXBzIGluIHRoZSBncmlkLlxuXHRcdCAqL1xuXHRcdG1hcmdpbjogMDtcblxuXHRcdC8qXG5cdFx0ICogTWFrZSBzdXJlIHRoZSBidXR0b24gYm9yZGVyICh3aGljaCBpcyBkaXNwbGF5ZWQgb24gZm9jdXMsIEJUVykgZG9lcyBub3Qgc3RlYWwgcGl4ZWxzXG5cdFx0ICogZnJvbSB0aGUgYnV0dG9uIGRpbWVuc2lvbnMgYW5kLCBhcyBhIHJlc3VsdCwgZGVjcmVhc2UgdGhlIHNpemUgb2YgdGhlIGljb25cblx0XHQgKiAod2hpY2ggYmVjb21lcyBibHVycnkgYXMgaXQgc2NhbGVzIGRvd24pLlxuXHRcdCAqL1xuXHRcdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHR9XG4uY2suY2stbGlzdC1zdHlsZXMtbGlzdCAuY2stYnV0dG9uIC5jay1pY29uIHtcblx0XHRcdHdpZHRoOiB2YXIoLS1jay1saXN0LXN0eWxlLWJ1dHRvbi1zaXplKTtcblx0XHRcdGhlaWdodDogdmFyKC0tY2stbGlzdC1zdHlsZS1idXR0b24tc2l6ZSk7XG5cdFx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbjpyb290IHtcblx0LS1jay1tZWRpYS1lbWJlZC1wbGFjZWhvbGRlci1pY29uLXNpemU6IDNlbTtcblxuXHQtLWNrLWNvbG9yLW1lZGlhLWVtYmVkLXBsYWNlaG9sZGVyLXVybC10ZXh0OiBoc2woMCwgMCUsIDQ2JSk7XG5cdC0tY2stY29sb3ItbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItdXJsLXRleHQtaG92ZXI6IHZhcigtLWNrLWNvbG9yLWJhc2UtdGV4dCk7XG59XG4uY2stbWVkaWFfX3dyYXBwZXIge1xuXHRtYXJnaW46IDAgYXV0bztcbn1cbi5jay1tZWRpYV9fd3JhcHBlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIHtcblx0XHRwYWRkaW5nOiBjYWxjKCAzICogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQpO1xuXHR9XG4uY2stbWVkaWFfX3dyYXBwZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uIHtcblx0XHRcdG1pbi13aWR0aDogdmFyKC0tY2stbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItaWNvbi1zaXplKTtcblx0XHRcdGhlaWdodDogdmFyKC0tY2stbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItaWNvbi1zaXplKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHR9XG4uY2stbWVkaWFfX3dyYXBwZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uIC5jay1pY29uIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdH1cbi5jay1tZWRpYV9fd3JhcHBlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybF9fdGV4dCB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItdXJsLXRleHQpO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdH1cbi5jay1tZWRpYV9fd3JhcHBlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybF9fdGV4dDpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1tZWRpYS1lbWJlZC1wbGFjZWhvbGRlci11cmwtdGV4dC1ob3Zlcik7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG4uY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cIm9wZW4uc3BvdGlmeS5jb21cIl0ge1xuXHRcdG1heC13aWR0aDogMzAwcHg7XG5cdFx0bWF4LWhlaWdodDogMzgwcHg7XG5cdH1cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiZ29vZ2xlLmNvbS9tYXBzXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX2ljb24sXG5cdC5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiZ29vLmdsL21hcHNcIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbixcblx0LmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJtYXBzLmdvb2dsZS5jb21cIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbixcblx0LmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJtYXBzLmFwcC5nb28uZ2xcIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5UQXVNemM0SWlCb1pXbG5hSFE5SWpJMU5DNHhOamNpSUhacFpYZENiM2c5SWpBZ01DQTJOaTR5TkRZZ05qY3VNalE0SWo0OFp5QjBjbUZ1YzJadmNtMDlJblJ5WVc1emJHRjBaU2d0TVRjeUxqVXpNU0F0TWpFNExqUTFOU2tnYzJOaGJHVW9Mams0TURFeUtTSStQSEpsWTNRZ2NuazlJalV1TWpNNElpQnllRDBpTlM0eU16Z2lJSGs5SWpJek1TNHpPVGtpSUhnOUlqRTNOaTR3TXpFaUlHaGxhV2RvZEQwaU5qQXVNRGs1SWlCM2FXUjBhRDBpTmpBdU1EazVJaUJtYVd4c1BTSWpNelJoTmpZNElpQndZV2x1ZEMxdmNtUmxjajBpYldGeWEyVnljeUJ6ZEhKdmEyVWdabWxzYkNJdlBqeHdZWFJvSUdROUlrMHlNRFl1TkRjM0lESTJNQzQ1YkMweU9DNDVPRGNnTWpndU9UZzNZVFV1TWpFNElEVXVNakU0SURBZ01DQXdJRE11TnpnZ01TNDJNV2cwT1M0Mk1qRmpNUzQyT1RRZ01DQXpMakU1TFM0M09UZ2dOQzR4TkRZdE1pNHdNemQ2SWlCbWFXeHNQU0lqTldNNE9HTTFJaTgrUEhCaGRHZ2daRDBpVFRJeU5pNDNORElnTWpJeUxqazRPR010T1M0eU5qWWdNQzB4Tmk0M056Y2dOeTR4TnkweE5pNDNOemNnTVRZdU1ERTBMakF3TnlBeUxqYzJNaTQyTmpNZ05TNDBOelFnTWk0d09UTWdOeTQ0TnpVdU5ETXVOekF6TGpneklERXVOREE0SURFdU1Ua2dNaTR4TURjdU16TXpMalV3TWk0Mk5TQXhMakF3TlM0NU5TQXhMalV3T0M0ek5ETXVORGMzTGpZM015NDVOVGN1T1RnNElERXVORFFnTVM0ek1TQXhMamMyT1NBeUxqVWdNeTQxTURJZ015NDJNemNnTlM0eE5qZ3VOemt6SURFdU1qYzFJREV1TmpneklESXVOalFnTWk0ME5qWWdNeTQ1T1NBeUxqTTJNeUEwTGpBNU5DQTBMakF3TnlBNExqQTVNaUEwTGpZZ01UTXVPVEUwZGk0d01USmpMakU0TWk0ME1USXVOVEUyTGpZMk5pNDROemt1TmpZM0xqUXdNeTB1TURBeExqYzJPQzB1TXpFMExqa3pMUzQzT1RrdU5qQXpMVFV1TnpVMklESXVNak00TFRrdU56STVJRFF1TlRnMUxURXpMamM1TkM0M09ESXRNUzR6TlNBeExqWTNNeTB5TGpjeE5TQXlMalEyTlMwekxqazVJREV1TVRNM0xURXVOalkySURJdU16STRMVE11TkNBekxqWXpPQzAxTGpFMk9TNHpNVFV0TGpRNE1pNDJORFV0TGprMk1pNDVPRGd0TVM0ME16a3VNeTB1TlRBekxqWXhOeTB4TGpBd05pNDVOUzB4TGpVd09DNHpOVGt0TGpjdU56WXRNUzQwTURRZ01TNHhPUzB5TGpFd055QXhMalF5TmkweUxqUXdNaUF5TFRVdU1URTBJREl1TURBMExUY3VPRGMxSURBdE9DNDRORFF0Tnk0MU1URXRNVFl1TURFMExURTJMamMzTmkweE5pNHdNVFI2SWlCbWFXeHNQU0lqWkdRMFlqTmxJaUJ3WVdsdWRDMXZjbVJsY2owaWJXRnlhMlZ5Y3lCemRISnZhMlVnWm1sc2JDSXZQanhsYkd4cGNITmxJSEo1UFNJMUxqVTJOQ0lnY25nOUlqVXVPREk0SWlCamVUMGlNak01TGpBd01pSWdZM2c5SWpJeU5pNDNORElpSUdacGJHdzlJaU00TURKa01qY2lJSEJoYVc1MExXOXlaR1Z5UFNKdFlYSnJaWEp6SUhOMGNtOXJaU0JtYVd4c0lpOCtQSEJoZEdnZ1pEMGlUVEU1TUM0ek1ERWdNak0zTGpJNE0yTXROQzQyTnlBd0xUZ3VORFUzSURNdU9EVXpMVGd1TkRVM0lEZ3VOakEyY3pNdU56ZzJJRGd1TmpBM0lEZ3VORFUzSURndU5qQTNZek11TURReklEQWdOQzQ0TURZdExqazFPQ0EyTGpNek55MHlMalV4TmlBeExqVXpMVEV1TlRVM0lESXVNRGczTFRNdU9URXpJREl1TURnM0xUWXVNamtnTUMwdU16WXlMUzR3TWpNdExqY3lNaTB1TURZMExURXVNRGM1YUMwNExqSTFOM1l6TGpBME0yZzBMamcxWXkwdU1UazNMamMxT1MwdU5UTXhJREV1TkRVdE1TNHdOVGdnTVM0NU9EWXRMamswTWk0NU5UZ3RNaTR3TWpnZ01TNDFORGd0TXk0NU1ERWdNUzQxTkRndE1pNDROellnTUMwMUxqSXdPQzB5TGpNM01pMDFMakl3T0MwMUxqSTVPU0F3TFRJdU9USTJJREl1TXpNeUxUVXVNams1SURVdU1qQTRMVFV1TWprNUlERXVNems1SURBZ01pNDJNVGd1TkRBM0lETXVOVGcwSURFdU1qa3piREl1TXpneExUSXVNemhqTUMwdU1EQXlMUzR3TURNdExqQXdOQzB1TURBMExTNHdNRFV0TVM0MU9EZ3RNUzQxTWpRdE15NDJNaTB5TGpJeE5TMDFMamsxTlMweUxqSXhOWHB0TkM0ME15QTFMalkyYkM0d01ETXVNREEyZGkwdU1EQXplaUlnWm1sc2JEMGlJMlptWmlJZ2NHRnBiblF0YjNKa1pYSTlJbTFoY210bGNuTWdjM1J5YjJ0bElHWnBiR3dpTHo0OGNHRjBhQ0JrUFNKTk1qRTFMakU0TkNBeU5URXVPVEk1YkMwM0xqazRJRGN1T1RjNUlESTRMalEzTnlBeU9DNDBOelZqTGpJNE55MHVOalE1TGpRME9TMHhMak0yTmk0ME5Ea3RNaTR4TWpOMkxUTXhMakUyTldNdExqUTJPUzQyTnpVdExqa3pOQ0F4TGpNME9TMHhMak00TWlBeUxqQXdOUzB1TnpreUlERXVNamMxTFRFdU5qZ3lJREl1TmpRdE1pNDBOalVnTXk0NU9TMHlMak0wTnlBMExqQTJOUzB6TGprNE1pQTRMakF6T0MwMExqVTROU0F4TXk0M09UUXRMakUyTWk0ME9EVXRMalV5Tnk0M09UZ3RMamt6TGpjNU9TMHVNell6TFM0d01ERXRMalk1TnkwdU1qVTFMUzQ0TnprdExqWTJOM1l0TGpBeE1tTXRMalU1TXkwMUxqZ3lNaTB5TGpJek55MDVMamd5TFRRdU5pMHhNeTQ1TVRRdExqYzRNeTB4TGpNMUxURXVOamN6TFRJdU56RTFMVEl1TkRZMkxUTXVPVGt0TVM0eE16Y3RNUzQyTmpZdE1pNHpNamN0TXk0MExUTXVOak0zTFRVdU1UWTViQzB1TURBeUxTNHdNRE42SWlCbWFXeHNQU0lqWXpOak0yTXpJaTgrUEhCaGRHZ2daRDBpVFRJeE1pNDVPRE1nTWpRNExqUTVOV3d0TXpZdU9UVXlJRE0yTGprMU0zWXVPREV5WVRVdU1qSTNJRFV1TWpJM0lEQWdNQ0F3SURVdU1qTTRJRFV1TWpNNGFERXVNREUxYkRNMUxqWTJOaTB6TlM0Mk5qWmhNVE0yTGpJM05TQXhNell1TWpjMUlEQWdNQ0F3TFRJdU56WTBMVE11T1NBek55NDFOelVnTXpjdU5UYzFJREFnTUNBd0xTNDVPRGt0TVM0ME5HTXRMakk1T1MwdU5UQXpMUzQyTVRZdE1TNHdNRFl0TGprMUxURXVOVEE0TFM0d09ETXRMakUyTWkwdU1UYzJMUzR6TWpZdExqSTJOQzB1TkRnNWVpSWdabWxzYkQwaUkyWmtaR00wWmlJZ2NHRnBiblF0YjNKa1pYSTlJbTFoY210bGNuTWdjM1J5YjJ0bElHWnBiR3dpTHo0OGNHRjBhQ0JrUFNKTk1qRXhMams1T0NBeU5qRXVNRGd6YkMwMkxqRTFNaUEyTGpFMU1TQXlOQzR5TmpRZ01qUXVNalkwYUM0M09ERmhOUzR5TWpjZ05TNHlNamNnTUNBd0lEQWdOUzR5TXprdE5TNHlNemgyTFRFdU1EUTFlaUlnWm1sc2JEMGlJMlptWmlJZ2NHRnBiblF0YjNKa1pYSTlJbTFoY210bGNuTWdjM1J5YjJ0bElHWnBiR3dpTHo0OEwyYytQQzl6ZG1jKyk7XG5cdH1cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiZmFjZWJvb2suY29tXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIge1xuXHRcdGJhY2tncm91bmQ6IGhzbCgyMjAsIDQ2JSwgNDglKTtcblx0fVxuLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJmYWNlYm9vay5jb21cIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaVB6NDhjM1puSUhkcFpIUm9QU0l4TURJMGNIZ2lJR2hsYVdkb2REMGlNVEF5TkhCNElpQjJhV1YzUW05NFBTSXdJREFnTVRBeU5DQXhNREkwSWlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaVBpQWdJQ0FnSUNBZ1BIUnBkR3hsUGtacGJHd2dNVHd2ZEdsMGJHVStJQ0FnSUR4a1pYTmpQa055WldGMFpXUWdkMmwwYUNCVGEyVjBZMmd1UEM5a1pYTmpQaUFnSUNBOFpHVm1jejQ4TDJSbFpuTStJQ0FnSUR4bklHbGtQU0pRWVdkbExURWlJSE4wY205clpUMGlibTl1WlNJZ2MzUnliMnRsTFhkcFpIUm9QU0l4SWlCbWFXeHNQU0p1YjI1bElpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlQaUFnSUNBZ0lDQWdQR2NnYVdROUltWk1iMmR2WDFkb2FYUmxJaUJtYVd4c1BTSWpSa1pHUmtaRklqNGdJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOT1RZM0xqUTROQ3d3SUV3MU5pNDFNVGNzTUNCRE1qVXVNekEwTERBZ01Dd3lOUzR6TURRZ01DdzFOaTQxTVRjZ1REQXNPVFkzTGpRNE15QkRNQ3c1T1RndU5qazBJREkxTGpJNU55d3hNREkwSURVMkxqVXlNaXd4TURJMElFdzFORGNzTVRBeU5DQk1OVFEzTERZeU9DQk1OREUwTERZeU9DQk1OREUwTERRM015Qk1OVFEzTERRM015Qk1OVFEzTERNMU9TNHdNamtnUXpVME55d3lNall1TnpZM0lEWXlOeTQzTnpNc01UVTBMamMwTnlBM05EVXVOelUyTERFMU5DNDNORGNnUXpnd01pNHlOamtzTVRVMExqYzBOeUE0TlRBdU9EUXlMREUxT0M0NU5UVWdPRFkxTERFMk1DNDRNellnVERnMk5Td3lPVGtnVERjNE15NHpPRFFzTWprNUxqQXpOeUJETnpFNUxqTTVNU3d5T1RrdU1ETTNJRGN3Tnl3ek1qa3VOVEk1SURjd055d3pOelF1TWpjeklFdzNNRGNzTkRjeklFdzROakF1TkRnM0xEUTNNeUJNT0RRd0xqVXdNU3cyTWpnZ1REY3dOeXcyTWpnZ1REY3dOeXd4TURJMElFdzVOamN1TkRnMExERXdNalFnUXprNU9DNDJPVGNzTVRBeU5DQXhNREkwTERrNU9DNDJPVGNnTVRBeU5DdzVOamN1TkRnMElFd3hNREkwTERVMkxqVXhOU0JETVRBeU5Dd3lOUzR6TURNZ09UazRMalk1Tnl3d0lEazJOeTQwT0RRc01DSWdhV1E5SWtacGJHd3RNU0krUEM5d1lYUm9QaUFnSUNBZ0lDQWdQQzluUGlBZ0lDQThMMmMrUEM5emRtYyspO1xuXHRcdH1cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiZmFjZWJvb2suY29tXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsX190ZXh0IHtcblx0XHRcdGNvbG9yOiBoc2woMjIwLCAxMDAlLCA5MCUpO1xuXHRcdH1cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiZmFjZWJvb2suY29tXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsX190ZXh0OmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6IGhzbCgwLCAwJSwgMTAwJSk7XG5cdFx0XHR9XG4uY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cImluc3RhZ3JhbS5jb21cIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlciB7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC0xMzVkZWcsaHNsKDI0NiwgMTAwJSwgMzklKSxoc2woMzAyLCAxMDAlLCAzNiUpLGhzbCgwLCAxMDAlLCA0OCUpKTtcblx0fVxuLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJpbnN0YWdyYW0uY29tXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpVlZSR0xUZ2lQejQ4YzNabklIZHBaSFJvUFNJMU1EUndlQ0lnYUdWcFoyaDBQU0kxTURSd2VDSWdkbWxsZDBKdmVEMGlNQ0F3SURVd05DQTFNRFFpSUhabGNuTnBiMjQ5SWpFdU1TSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJK0lDQWdJQ0FnSUNBOGRHbDBiR1UrWjJ4NWNHZ3RiRzluYjE5TllYa3lNREUyUEM5MGFYUnNaVDRnSUNBZ1BHUmxjMk0rUTNKbFlYUmxaQ0IzYVhSb0lGTnJaWFJqYUM0OEwyUmxjMk0rSUNBZ0lEeGtaV1p6UGlBZ0lDQWdJQ0FnUEhCdmJIbG5iMjRnYVdROUluQmhkR2d0TVNJZ2NHOXBiblJ6UFNJd0lEQXVNVFU1SURVd015NDROREVnTUM0eE5Ua2dOVEF6TGpnME1TQTFNRE11T1RRZ01DQTFNRE11T1RRaVBqd3ZjRzlzZVdkdmJqNGdJQ0FnUEM5a1pXWnpQaUFnSUNBOFp5QnBaRDBpWjJ4NWNHZ3RiRzluYjE5TllYa3lNREUySWlCemRISnZhMlU5SW01dmJtVWlJSE4wY205clpTMTNhV1IwYUQwaU1TSWdabWxzYkQwaWJtOXVaU0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWo0Z0lDQWdJQ0FnSUR4bklHbGtQU0pIY205MWNDMHpJajRnSUNBZ0lDQWdJQ0FnSUNBOGJXRnpheUJwWkQwaWJXRnpheTB5SWlCbWFXeHNQU0ozYUdsMFpTSStJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeDFjMlVnZUd4cGJtczZhSEpsWmowaUkzQmhkR2d0TVNJK1BDOTFjMlUrSUNBZ0lDQWdJQ0FnSUNBZ1BDOXRZWE5yUGlBZ0lDQWdJQ0FnSUNBZ0lEeG5JR2xrUFNKRGJHbHdMVElpUGp3dlp6NGdJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOTWpVeExqa3lNU3d3TGpFMU9TQkRNVGd6TGpVd015d3dMakUxT1NBeE56UXVPVEkwTERBdU5EUTVJREUwT0M0d05UUXNNUzQyTnpVZ1F6RXlNUzR5TkN3eUxqZzVPQ0F4TURJdU9USTNMRGN1TVRVM0lEZzJMamt3TXl3eE15NHpPRFVnUXpjd0xqTXpOeXd4T1M0NE1qSWdOVFl1TWpnNExESTRMalF6TmlBME1pNHlPRElzTkRJdU5EUXhJRU15T0M0eU56Y3NOVFl1TkRRM0lERTVMalkyTXl3M01DNDBPVFlnTVRNdU1qSTJMRGczTGpBMk1pQkROaTQ1T1Rnc01UQXpMakE0TmlBeUxqY3pPU3d4TWpFdU16azVJREV1TlRFMkxERTBPQzR5TVRNZ1F6QXVNamtzTVRjMUxqQTRNeUF3TERFNE15NDJOaklnTUN3eU5USXVNRGdnUXpBc016SXdMalE1TnlBd0xqSTVMRE15T1M0d056WWdNUzQxTVRZc016VTFMamswTmlCRE1pNDNNemtzTXpneUxqYzJJRFl1T1RrNExEUXdNUzR3TnpNZ01UTXVNakkyTERReE55NHdPVGNnUXpFNUxqWTJNeXcwTXpNdU5qWXpJREk0TGpJM055dzBORGN1TnpFeUlEUXlMakk0TWl3ME5qRXVOekU0SUVNMU5pNHlPRGdzTkRjMUxqY3lNeUEzTUM0ek16Y3NORGcwTGpNek55QTROaTQ1TURNc05Ea3dMamMzTlNCRE1UQXlMamt5Tnl3ME9UY3VNREF5SURFeU1TNHlOQ3cxTURFdU1qWXhJREUwT0M0d05UUXNOVEF5TGpRNE5DQkRNVGMwTGpreU5DdzFNRE11TnpFZ01UZ3pMalV3TXl3MU1EUWdNalV4TGpreU1TdzFNRFFnUXpNeU1DNHpNemdzTlRBMElETXlPQzQ1TVRjc05UQXpMamN4SURNMU5TNDNPRGNzTlRBeUxqUTROQ0JETXpneUxqWXdNU3cxTURFdU1qWXhJRFF3TUM0NU1UUXNORGszTGpBd01pQTBNVFl1T1RNNExEUTVNQzQzTnpVZ1F6UXpNeTQxTURRc05EZzBMak16TnlBME5EY3VOVFV6TERRM05TNDNNak1nTkRZeExqVTFPU3cwTmpFdU56RTRJRU0wTnpVdU5UWTBMRFEwTnk0M01USWdORGcwTGpFM09DdzBNek11TmpZeklEUTVNQzQyTVRZc05ERTNMakE1TnlCRE5EazJMamcwTXl3ME1ERXVNRGN6SURVd01TNHhNRElzTXpneUxqYzJJRFV3TWk0ek1qVXNNelUxTGprME5pQkROVEF6TGpVMU1Td3pNamt1TURjMklEVXdNeTQ0TkRFc016SXdMalE1TnlBMU1ETXVPRFF4TERJMU1pNHdPQ0JETlRBekxqZzBNU3d4T0RNdU5qWXlJRFV3TXk0MU5URXNNVGMxTGpBNE15QTFNREl1TXpJMUxERTBPQzR5TVRNZ1F6VXdNUzR4TURJc01USXhMak01T1NBME9UWXVPRFF6TERFd015NHdPRFlnTkRrd0xqWXhOaXc0Tnk0d05qSWdRelE0TkM0eE56Z3NOekF1TkRrMklEUTNOUzQxTmpRc05UWXVORFEzSURRMk1TNDFOVGtzTkRJdU5EUXhJRU0wTkRjdU5UVXpMREk0TGpRek5pQTBNek11TlRBMExERTVMamd5TWlBME1UWXVPVE00TERFekxqTTROU0JETkRBd0xqa3hOQ3czTGpFMU55QXpPREl1TmpBeExESXVPRGs0SURNMU5TNDNPRGNzTVM0Mk56VWdRek15T0M0NU1UY3NNQzQwTkRrZ016SXdMak16T0N3d0xqRTFPU0F5TlRFdU9USXhMREF1TVRVNUlGb2dUVEkxTVM0NU1qRXNORFV1TlRVZ1F6TXhPUzR4T0RZc05EVXVOVFVnTXpJM0xqRTFOQ3cwTlM0NE1EY2dNelV6TGpjeE9DdzBOeTR3TVRrZ1F6TTNPQzR5T0N3ME9DNHhNemtnTXpreExqWXhPU3cxTWk0eU5ETWdOREF3TGpRNU5pdzFOUzQyT1RNZ1F6UXhNaTR5TlRVc05qQXVNall6SURReU1DNDJORGNzTmpVdU56SXlJRFF5T1M0ME5qSXNOelF1TlRNNElFTTBNemd1TWpjNExEZ3pMak0xTXlBME5ETXVOek0zTERreExqYzBOU0EwTkRndU16QTNMREV3TXk0MU1EUWdRelExTVM0M05UY3NNVEV5TGpNNE1TQTBOVFV1T0RZeExERXlOUzQzTWlBME5UWXVPVGd4TERFMU1DNHlPRElnUXpRMU9DNHhPVE1zTVRjMkxqZzBOaUEwTlRndU5EVXNNVGcwTGpneE5DQTBOVGd1TkRVc01qVXlMakE0SUVNME5UZ3VORFVzTXpFNUxqTTBOU0EwTlRndU1Ua3pMRE15Tnk0ek1UTWdORFUyTGprNE1Td3pOVE11T0RjM0lFTTBOVFV1T0RZeExETTNPQzQwTXprZ05EVXhMamMxTnl3ek9URXVOemM0SURRME9DNHpNRGNzTkRBd0xqWTFOU0JETkRRekxqY3pOeXcwTVRJdU5ERTBJRFF6T0M0eU56Z3NOREl3TGpnd05pQTBNamt1TkRZeUxEUXlPUzQyTWpFZ1F6UXlNQzQyTkRjc05ETTRMalF6TnlBME1USXVNalUxTERRME15NDRPVFlnTkRBd0xqUTVOaXcwTkRndU5EWTJJRU16T1RFdU5qRTVMRFExTVM0NU1UWWdNemM0TGpJNExEUTFOaTR3TWlBek5UTXVOekU0TERRMU55NHhOQ0JETXpJM0xqRTFPQ3cwTlRndU16VXlJRE14T1M0eE9URXNORFU0TGpZd09TQXlOVEV1T1RJeExEUTFPQzQyTURrZ1F6RTROQzQyTlN3ME5UZ3VOakE1SURFM05pNDJPRFFzTkRVNExqTTFNaUF4TlRBdU1USXpMRFExTnk0eE5DQkRNVEkxTGpVMk1TdzBOVFl1TURJZ01URXlMakl5TWl3ME5URXVPVEUySURFd015NHpORFVzTkRRNExqUTJOaUJET1RFdU5UZzJMRFEwTXk0NE9UWWdPRE11TVRrMExEUXpPQzQwTXpjZ056UXVNemM1TERReU9TNDJNakVnUXpZMUxqVTJOQ3cwTWpBdU9EQTJJRFl3TGpFd05DdzBNVEl1TkRFMElEVTFMalV6TkN3ME1EQXVOalUxSUVNMU1pNHdPRFFzTXpreExqYzNPQ0EwTnk0NU9Dd3pOemd1TkRNNUlEUTJMamcyTERNMU15NDROemNnUXpRMUxqWTBPQ3d6TWpjdU16RXpJRFExTGpNNU1Td3pNVGt1TXpRMUlEUTFMak01TVN3eU5USXVNRGdnUXpRMUxqTTVNU3d4T0RRdU9ERTBJRFExTGpZME9Dd3hOell1T0RRMklEUTJMamcyTERFMU1DNHlPRElnUXpRM0xqazRMREV5TlM0M01pQTFNaTR3T0RRc01URXlMak00TVNBMU5TNDFNelFzTVRBekxqVXdOQ0JETmpBdU1UQTBMRGt4TGpjME5TQTJOUzQxTmpNc09ETXVNelV6SURjMExqTTNPU3czTkM0MU16Z2dRemd6TGpFNU5DdzJOUzQzTWpJZ09URXVOVGcyTERZd0xqSTJNeUF4TURNdU16UTFMRFUxTGpZNU15QkRNVEV5TGpJeU1pdzFNaTR5TkRNZ01USTFMalUyTVN3ME9DNHhNemtnTVRVd0xqRXlNeXcwTnk0d01Ua2dRekUzTmk0Mk9EY3NORFV1T0RBM0lERTROQzQyTlRVc05EVXVOVFVnTWpVeExqa3lNU3cwTlM0MU5TQmFJaUJwWkQwaVJtbHNiQzB4SWlCbWFXeHNQU0lqUmtaR1JrWkdJaUJ0WVhOclBTSjFjbXdvSTIxaGMyc3RNaWtpUGp3dmNHRjBhRDRnSUNBZ0lDQWdJRHd2Wno0Z0lDQWdJQ0FnSUR4d1lYUm9JR1E5SWsweU5URXVPVEl4TERNek5pNHdOVE1nUXpJd05TNDFORE1zTXpNMkxqQTFNeUF4TmpjdU9UUTNMREk1T0M0ME5UY2dNVFkzTGprME55d3lOVEl1TURnZ1F6RTJOeTQ1TkRjc01qQTFMamN3TWlBeU1EVXVOVFF6TERFMk9DNHhNRFlnTWpVeExqa3lNU3d4TmpndU1UQTJJRU15T1RndU1qazRMREUyT0M0eE1EWWdNek0xTGpnNU5Dd3lNRFV1TnpBeUlETXpOUzQ0T1RRc01qVXlMakE0SUVNek16VXVPRGswTERJNU9DNDBOVGNnTWprNExqSTVPQ3d6TXpZdU1EVXpJREkxTVM0NU1qRXNNek0yTGpBMU15QmFJRTB5TlRFdU9USXhMREV5TWk0M01UVWdRekU0TUM0ME56UXNNVEl5TGpjeE5TQXhNakl1TlRVMkxERTRNQzQyTXpNZ01USXlMalUxTml3eU5USXVNRGdnUXpFeU1pNDFOVFlzTXpJekxqVXlOaUF4T0RBdU5EYzBMRE00TVM0ME5EUWdNalV4TGpreU1Td3pPREV1TkRRMElFTXpNak11TXpZM0xETTRNUzQwTkRRZ016Z3hMakk0TlN3ek1qTXVOVEkySURNNE1TNHlPRFVzTWpVeUxqQTRJRU16T0RFdU1qZzFMREU0TUM0Mk16TWdNekl6TGpNMk55d3hNakl1TnpFMUlESTFNUzQ1TWpFc01USXlMamN4TlNCYUlpQnBaRDBpUm1sc2JDMDBJaUJtYVd4c1BTSWpSa1pHUmtaR0lqNDhMM0JoZEdnK0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk5ERTJMall5Tnl3eE1UY3VOakEwSUVNME1UWXVOakkzTERFek5DNHpJRFF3TXk0d09USXNNVFEzTGpnek5DQXpPRFl1TXprMkxERTBOeTQ0TXpRZ1F6TTJPUzQzTURFc01UUTNMamd6TkNBek5UWXVNVFkyTERFek5DNHpJRE0xTmk0eE5qWXNNVEUzTGpZd05DQkRNelUyTGpFMk5pd3hNREF1T1RBNElETTJPUzQzTURFc09EY3VNemN6SURNNE5pNHpPVFlzT0RjdU16Y3pJRU0wTURNdU1Ea3lMRGczTGpNM015QTBNVFl1TmpJM0xERXdNQzQ1TURnZ05ERTJMall5Tnl3eE1UY3VOakEwSWlCcFpEMGlSbWxzYkMwMUlpQm1hV3hzUFNJalJrWkdSa1pHSWo0OEwzQmhkR2crSUNBZ0lEd3ZaejQ4TDNOMlp6ND0pO1xuXHRcdH1cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4uY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cImluc3RhZ3JhbS5jb21cIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmxfX3RleHQge1xuXHRcdFx0Y29sb3I6IGhzbCgzMDIsIDEwMCUsIDk0JSk7XG5cdFx0fVxuLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJpbnN0YWdyYW0uY29tXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsX190ZXh0OmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6IGhzbCgwLCAwJSwgMTAwJSk7XG5cdFx0XHR9XG4uY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cInR3aXR0ZXIuY29tXCJdIC5jay5jay1tZWRpYV9fcGxhY2Vob2xkZXIge1xuXHRcdC8qIFVzZSBncmFkaWVudCB0byBjb250cmFzdCB3aXRoIGZvY3VzZWQgd2lkZ2V0IChja2VkaXRvci9ja2VkaXRvcjUtbWVkaWEtZW1iZWQjMjIpLiAqL1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCggdG8gcmlnaHQsIGhzbCgyMDEsIDg1JSwgNzAlKSwgaHNsKDIwMSwgODUlLCAzNSUpICk7XG5cdH1cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwidHdpdHRlci5jb21cIl0gLmNrLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWxkb2FYUmxJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjRQU0l3Y0hnaUlIazlJakJ3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJRFF3TUNBME1EQWlJSE4wZVd4bFBTSmxibUZpYkdVdFltRmphMmR5YjNWdVpEcHVaWGNnTUNBd0lEUXdNQ0EwTURBN0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajQ4YzNSNWJHVWdkSGx3WlQwaWRHVjRkQzlqYzNNaVBpNXpkREI3Wm1sc2JEb2pSa1pHUmtaR08zMDhMM04wZVd4bFBqeHdZWFJvSUdOc1lYTnpQU0p6ZERBaUlHUTlJazAwTURBc01qQXdZekFzTVRFd0xqVXRPRGt1TlN3eU1EQXRNakF3TERJd01GTXdMRE14TUM0MUxEQXNNakF3VXpnNUxqVXNNQ3d5TURBc01GTTBNREFzT0RrdU5TdzBNREFzTWpBd2VpQk5NVFl6TGpRc016QTFMalZqT0RndU55d3dMREV6Tnk0eUxUY3pMalVzTVRNM0xqSXRNVE0zTGpKak1DMHlMakVzTUMwMExqSXRNQzR4TFRZdU1tTTVMalF0Tmk0NExERTNMall0TVRVdU15d3lOQzR4TFRJMVl5MDRMallzTXk0NExURTNMamtzTmk0MExUSTNMamNzTnk0Mll6RXdMVFlzTVRjdU5pMHhOUzQwTERJeExqSXRNall1TjJNdE9TNHpMRFV1TlMweE9TNDJMRGt1TlMwek1DNDJMREV4TGpkakxUZ3VPQzA1TGpRdE1qRXVNeTB4TlM0eUxUTTFMakl0TVRVdU1tTXRNall1Tml3d0xUUTRMaklzTWpFdU5pMDBPQzR5TERRNExqSmpNQ3d6TGpnc01DNDBMRGN1TlN3eExqTXNNVEZqTFRRd0xqRXRNaTAzTlM0MkxUSXhMakl0T1RrdU5DMDFNQzQwWXkwMExqRXNOeTR4TFRZdU5Td3hOUzQwTFRZdU5Td3lOQzR5WXpBc01UWXVOeXc0TGpVc016RXVOU3d5TVM0MUxEUXdMakZqTFRjdU9TMHdMakl0TVRVdU15MHlMalF0TWpFdU9DMDJZekFzTUM0eUxEQXNNQzQwTERBc01DNDJZekFzTWpNdU5Dd3hOaTQyTERReUxqZ3NNemd1Tnl3ME55NHpZeTAwTERFdU1TMDRMak1zTVM0M0xURXlMamNzTVM0M1l5MHpMakVzTUMwMkxqRXRNQzR6TFRrdU1TMHdMamxqTmk0eExERTVMaklzTWpNdU9Td3pNeTR4TERRMUxETXpMalZqTFRFMkxqVXNNVEl1T1Mwek55NHpMREl3TGpZdE5Ua3VPU3d5TUM0Mll5MHpMamtzTUMwM0xqY3RNQzR5TFRFeExqVXRNQzQzUXpFeE1DNDRMREk1Tnk0MUxERXpOaTR5TERNd05TNDFMREUyTXk0MExETXdOUzQxSWk4K1BDOXpkbWMrKTtcblx0XHR9XG4uY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cInR3aXR0ZXIuY29tXCJdIC5jay5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsX190ZXh0IHtcblx0XHRcdGNvbG9yOiBoc2woMjAxLCAxMDAlLCA4NiUpO1xuXHRcdH1cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwidHdpdHRlci5jb21cIl0gLmNrLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmxfX3RleHQ6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogaHNsKDAsIDAlLCAxMDAlKTtcblx0XHRcdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG46cm9vdCB7XG5cdC0tY2stY29sb3ItbWVudGlvbi1iYWNrZ3JvdW5kOiBoc2xhKDM0MSwgMTAwJSwgMzAlLCAwLjEpO1xuXHQtLWNrLWNvbG9yLW1lbnRpb24tdGV4dDogaHNsKDM0MSwgMTAwJSwgMzAlKTtcbn1cbi5jay1jb250ZW50IC5tZW50aW9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbWVudGlvbi1iYWNrZ3JvdW5kKTtcblx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLW1lbnRpb24tdGV4dCk7XG59XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLXJlc3RyaWN0ZWQtZWRpdGluZy1leGNlcHRpb24tYmFja2dyb3VuZDogaHNsYSgzMSwgMTAwJSwgNjUlLCAuMik7XG5cdC0tY2stY29sb3ItcmVzdHJpY3RlZC1lZGl0aW5nLWV4Y2VwdGlvbi1ob3Zlci1iYWNrZ3JvdW5kOiBoc2xhKDMxLCAxMDAlLCA2NSUsIC4zNSk7XG5cdC0tY2stY29sb3ItcmVzdHJpY3RlZC1lZGl0aW5nLWV4Y2VwdGlvbi1icmFja2V0czogaHNsYSgzMSwgMTAwJSwgNDAlLCAuNCk7XG5cdC0tY2stY29sb3ItcmVzdHJpY3RlZC1lZGl0aW5nLXNlbGVjdGVkLWV4Y2VwdGlvbi1iYWNrZ3JvdW5kOiBoc2xhKDMxLCAxMDAlLCA2NSUsIC41KTtcblx0LS1jay1jb2xvci1yZXN0cmljdGVkLWVkaXRpbmctc2VsZWN0ZWQtZXhjZXB0aW9uLWJyYWNrZXRzOiBoc2xhKDMxLCAxMDAlLCA0MCUsIC42KTtcbn1cbi5jay1lZGl0b3JfX2VkaXRhYmxlIC5yZXN0cmljdGVkLWVkaXRpbmctZXhjZXB0aW9uIHtcblx0dHJhbnNpdGlvbjogLjJzIGVhc2UtaW4tb3V0IGJhY2tncm91bmQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLXJlc3RyaWN0ZWQtZWRpdGluZy1leGNlcHRpb24tYmFja2dyb3VuZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkO1xuXHRib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcblx0XHR0byByaWdodCxcblx0XHR2YXIoLS1jay1jb2xvci1yZXN0cmljdGVkLWVkaXRpbmctZXhjZXB0aW9uLWJyYWNrZXRzKSAwJSxcblx0XHR2YXIoLS1jay1jb2xvci1yZXN0cmljdGVkLWVkaXRpbmctZXhjZXB0aW9uLWJyYWNrZXRzKSA1cHgsXG5cdFx0aHNsYSgwLCAwJSwgMCUsIDApIDZweCxcblx0XHRoc2xhKDAsIDAlLCAwJSwgMCkgY2FsYygxMDAlIC0gNnB4KSxcblx0XHR2YXIoLS1jay1jb2xvci1yZXN0cmljdGVkLWVkaXRpbmctZXhjZXB0aW9uLWJyYWNrZXRzKSBjYWxjKDEwMCUgLSA1cHgpLFxuXHRcdHZhcigtLWNrLWNvbG9yLXJlc3RyaWN0ZWQtZWRpdGluZy1leGNlcHRpb24tYnJhY2tldHMpIDEwMCVcblx0KSAxO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbi5jay1lZGl0b3JfX2VkaXRhYmxlIC5yZXN0cmljdGVkLWVkaXRpbmctZXhjZXB0aW9uIHtcblx0XHR0cmFuc2l0aW9uOiBub25lO1xufVxuXHR9XG4uY2stZWRpdG9yX19lZGl0YWJsZSAucmVzdHJpY3RlZC1lZGl0aW5nLWV4Y2VwdGlvbi5yZXN0cmljdGVkLWVkaXRpbmctZXhjZXB0aW9uX3NlbGVjdGVkIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci1yZXN0cmljdGVkLWVkaXRpbmctc2VsZWN0ZWQtZXhjZXB0aW9uLWJhY2tncm91bmQpO1xuXHRcdGJvcmRlci1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0dG8gcmlnaHQsXG5cdFx0XHR2YXIoLS1jay1jb2xvci1yZXN0cmljdGVkLWVkaXRpbmctc2VsZWN0ZWQtZXhjZXB0aW9uLWJyYWNrZXRzKSAwJSxcblx0XHRcdHZhcigtLWNrLWNvbG9yLXJlc3RyaWN0ZWQtZWRpdGluZy1zZWxlY3RlZC1leGNlcHRpb24tYnJhY2tldHMpIDVweCxcblx0XHRcdHZhcigtLWNrLWNvbG9yLXJlc3RyaWN0ZWQtZWRpdGluZy1zZWxlY3RlZC1leGNlcHRpb24tYnJhY2tldHMpIGNhbGMoMTAwJSAtIDVweCksXG5cdFx0XHR2YXIoLS1jay1jb2xvci1yZXN0cmljdGVkLWVkaXRpbmctc2VsZWN0ZWQtZXhjZXB0aW9uLWJyYWNrZXRzKSAxMDAlXG5cdFx0KSAxO1xuXHR9XG4uY2stZWRpdG9yX19lZGl0YWJsZSAucmVzdHJpY3RlZC1lZGl0aW5nLWV4Y2VwdGlvbi5yZXN0cmljdGVkLWVkaXRpbmctZXhjZXB0aW9uX2NvbGxhcHNlZCB7XG5cdFx0LyogRW1wdHkgZXhjZXB0aW9uIHNob3VsZCBoYXZlIHRoZSBzYW1lIHdpZHRoIGFzIGV4Y2VwdGlvbiB3aXRoIGF0IGxlYXN0IDEgY2hhciAqL1xuXHRcdHBhZGRpbmctbGVmdDogMWNoO1xuXHR9XG4uY2stcmVzdHJpY3RlZC1lZGl0aW5nX21vZGVfcmVzdHJpY3RlZCB7XG5cdGN1cnNvcjogZGVmYXVsdDtcblxuXHQvKiBXZSBhbHNvIGhhdmUgdG8gb3ZlcnJpZGUgYWxsIGVsZW1lbnRzIGluc2lkZSB0aGUgcmVzdHJpY3RlZCBlZGl0YWJsZSB0byBwcmV2ZW50IGN1cnNvciBzd2l0Y2hpbmcgYmV0d2VlbiBkZWZhdWx0IGFuZCB0ZXh0XG5cdGR1cmluZyB0aGUgcG9pbnRlciBtb3ZlbWVudC4gKi9cbn1cbi5jay1yZXN0cmljdGVkLWVkaXRpbmdfbW9kZV9yZXN0cmljdGVkICoge1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxuLmNrLXJlc3RyaWN0ZWQtZWRpdGluZ19tb2RlX3Jlc3RyaWN0ZWQgLnJlc3RyaWN0ZWQtZWRpdGluZy1leGNlcHRpb24ge1xuXHRcdGN1cnNvcjogdGV4dDtcblx0fVxuLmNrLXJlc3RyaWN0ZWQtZWRpdGluZ19tb2RlX3Jlc3RyaWN0ZWQgLnJlc3RyaWN0ZWQtZWRpdGluZy1leGNlcHRpb24gKiB7XG5cdFx0XHRjdXJzb3I6IHRleHQ7XG5cdFx0fVxuLmNrLXJlc3RyaWN0ZWQtZWRpdGluZ19tb2RlX3Jlc3RyaWN0ZWQgLnJlc3RyaWN0ZWQtZWRpdGluZy1leGNlcHRpb246aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItcmVzdHJpY3RlZC1lZGl0aW5nLWV4Y2VwdGlvbi1ob3Zlci1iYWNrZ3JvdW5kKTtcblx0XHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLWNoYXJhY3Rlci1ncmlkLXRpbGUtc2l6ZTogMjRweDtcbn1cbi5jay5jay1jaGFyYWN0ZXItZ3JpZCB7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbi5jay5jay1jaGFyYWN0ZXItZ3JpZCAuY2stY2hhcmFjdGVyLWdyaWRfX3RpbGVzIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCh2YXIoLS1jay1jaGFyYWN0ZXItZ3JpZC10aWxlLXNpemUpLCAxZnIpKTtcblx0XHRtYXJnaW46IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpIHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRcdGdyaWQtZ2FwOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0fVxuLmNrLmNrLWNoYXJhY3Rlci1ncmlkIC5jay1jaGFyYWN0ZXItZ3JpZF9fdGlsZSB7XG5cdFx0d2lkdGg6IHZhcigtLWNrLWNoYXJhY3Rlci1ncmlkLXRpbGUtc2l6ZSk7XG5cdFx0aGVpZ2h0OiB2YXIoLS1jay1jaGFyYWN0ZXItZ3JpZC10aWxlLXNpemUpO1xuXHRcdG1pbi13aWR0aDogdmFyKC0tY2stY2hhcmFjdGVyLWdyaWQtdGlsZS1zaXplKTtcblx0XHRtaW4taGVpZ2h0OiB2YXIoLS1jay1jaGFyYWN0ZXItZ3JpZC10aWxlLXNpemUpO1xuXHRcdGZvbnQtc2l6ZTogMS41ZW07XG5cdFx0cGFkZGluZzogMDtcblx0XHR0cmFuc2l0aW9uOiAuMnMgZWFzZSBib3gtc2hhZG93O1xuXHRcdGJvcmRlcjogMDtcblx0fVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbi5jay5jay1jaGFyYWN0ZXItZ3JpZCAuY2stY2hhcmFjdGVyLWdyaWRfX3RpbGUge1xuXHRcdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0fVxuXHRcdH1cbi5jay5jay1jaGFyYWN0ZXItZ3JpZCAuY2stY2hhcmFjdGVyLWdyaWRfX3RpbGU6Zm9jdXM6bm90KCAuY2stZGlzYWJsZWQgKSxcblx0XHQuY2suY2stY2hhcmFjdGVyLWdyaWQgLmNrLWNoYXJhY3Rlci1ncmlkX190aWxlOmhvdmVyOm5vdCggLmNrLWRpc2FibGVkICkge1xuXHRcdFx0LyogRGlzYWJsZSB0aGUgZGVmYXVsdCAuY2stYnV0dG9uJ3MgYm9yZGVyIHJpbmcuICovXG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKSwgMCAwIDAgMnB4IHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcik7XG5cdFx0fVxuLyogTWFrZSBzdXJlIHRoZSBnbHlwaCBpcyByZW5kZXJlZCBpbiB0aGUgY2VudGVyIG9mIHRoZSBidXR0b24gKi9cbi5jay5jay1jaGFyYWN0ZXItZ3JpZCAuY2stY2hhcmFjdGVyLWdyaWRfX3RpbGUgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0bGluZS1oZWlnaHQ6IHZhcigtLWNrLWNoYXJhY3Rlci1ncmlkLXRpbGUtc2l6ZSk7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi5jay5jay1jaGFyYWN0ZXItaW5mbyB7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpIHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xufVxuLmNrLmNrLWNoYXJhY3Rlci1pbmZvID4gKiB7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdH1cbi5jay5jay1jaGFyYWN0ZXItaW5mbyAuY2stY2hhcmFjdGVyLWluZm9fX25hbWUge1xuXHRcdG1heC13aWR0aDogMjgwcHg7XG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxuLmNrLmNrLWNoYXJhY3Rlci1pbmZvIC5jay1jaGFyYWN0ZXItaW5mb19fY29kZSB7XG5cdFx0b3BhY2l0eTogLjY7XG5cdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi5jay5jay1zcGVjaWFsLWNoYXJhY3RlcnMtbmF2aWdhdGlvbiA+IC5jay1sYWJlbCB7XG5cdFx0bWF4LXdpZHRoOiAxNjBweDtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG4uY2suY2stc3BlY2lhbC1jaGFyYWN0ZXJzLW5hdmlnYXRpb24gPiAuY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbCB7XG5cdFx0LyogVGhlcmUgY291bGQgYmUgZG96ZW5zIG9mIGNhdGVnb3JpZXMgYXZhaWxhYmxlLiBVc2Ugc2Nyb2xsIHRvIHByZXZlbnQgYSAxMGU2cHggZHJvcGRvd24uICovXG5cdFx0bWF4LWhlaWdodDogMjUwcHg7XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdH1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4uY2suY2stc3BlY2lhbC1jaGFyYWN0ZXJzLW5hdmlnYXRpb24ge1xuXHRcdG1heC13aWR0aDogMTkwcHg7XG59XG5cblx0XHQuY2suY2stc3BlY2lhbC1jaGFyYWN0ZXJzLW5hdmlnYXRpb24gPiAuY2stZm9ybV9faGVhZGVyX19sYWJlbCB7XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0fVxuXHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLmNrLmNrLWRyb3Bkb3duLmNrLXN0eWxlLWRyb3Bkb3duLmNrLXN0eWxlLWRyb3Bkb3duX211bHRpcGxlLWFjdGl2ZSA+IC5jay1idXR0b24gPiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG46cm9vdCB7XG5cdC0tY2stc3R5bGUtcGFuZWwtYnV0dG9uLXdpZHRoOiAxMjBweDtcblx0LS1jay1zdHlsZS1wYW5lbC1idXR0b24taGVpZ2h0OiA4MHB4O1xuXHQtLWNrLXN0eWxlLXBhbmVsLWJ1dHRvbi1sYWJlbC1iYWNrZ3JvdW5kOiBoc2woMCwgMCUsIDk0LjElKTtcblx0LS1jay1zdHlsZS1wYW5lbC1idXR0b24taG92ZXItbGFiZWwtYmFja2dyb3VuZDogaHNsKDAsIDAlLCA5Mi4xJSk7XG5cdC0tY2stc3R5bGUtcGFuZWwtYnV0dG9uLWhvdmVyLWJvcmRlci1jb2xvcjogaHNsKDAsIDAlLCA3MCUpO1xufVxuLmNrLmNrLXN0eWxlLXBhbmVsIC5jay1zdHlsZS1ncmlkIHtcblx0cm93LWdhcDogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdGNvbHVtbi1nYXA6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xufVxuLmNrLmNrLXN0eWxlLXBhbmVsIC5jay1zdHlsZS1ncmlkIC5jay1zdHlsZS1ncmlkX19idXR0b24ge1xuXHRcdC0tY2stY29sb3ItYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0XHQtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXG5cdFx0cGFkZGluZzogMDtcblx0XHR3aWR0aDogdmFyKC0tY2stc3R5bGUtcGFuZWwtYnV0dG9uLXdpZHRoKTtcblx0XHRoZWlnaHQ6IHZhcigtLWNrLXN0eWxlLXBhbmVsLWJ1dHRvbi1oZWlnaHQpO1xuXG5cdFx0LyogTGV0IGRlZmF1bHQgLmNrLWJ1dHRvbiA6Zm9jdXMgc3R5bGVzIGFwcGx5ICovXG5cdH1cbi5jay5jay1zdHlsZS1wYW5lbCAuY2stc3R5bGUtZ3JpZCAuY2stc3R5bGUtZ3JpZF9fYnV0dG9uOm5vdCg6Zm9jdXMpIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHR9XG4uY2suY2stc3R5bGUtcGFuZWwgLmNrLXN0eWxlLWdyaWQgLmNrLXN0eWxlLWdyaWRfX2J1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRoZWlnaHQ6IDIycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjJweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZzogMCB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHR9XG4uY2suY2stc3R5bGUtcGFuZWwgLmNrLXN0eWxlLWdyaWQgLmNrLXN0eWxlLWdyaWRfX2J1dHRvbiAuY2stc3R5bGUtZ3JpZF9fYnV0dG9uX19wcmV2aWV3IHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdG9wYWNpdHk6IC45O1xuXG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHRcdFx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0XHR9XG4uY2suY2stc3R5bGUtcGFuZWwgLmNrLXN0eWxlLWdyaWQgLmNrLXN0eWxlLWdyaWRfX2J1dHRvbi5jay1kaXNhYmxlZCB7XG5cdFx0XHQtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWRpc2FibGVkLWJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJhc2UtZm9yZWdyb3VuZCk7XG5cblx0XHRcdC8qIExldCBkZWZhdWx0IC5jay1idXR0b24gOmZvY3VzIHN0eWxlcyBhcHBseSAqL1xuXHRcdH1cbi5jay5jay1zdHlsZS1wYW5lbCAuY2stc3R5bGUtZ3JpZCAuY2stc3R5bGUtZ3JpZF9fYnV0dG9uLmNrLWRpc2FibGVkOm5vdCg6Zm9jdXMpIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jay1zdHlsZS1wYW5lbC1idXR0b24tbGFiZWwtYmFja2dyb3VuZCk7XG5cdFx0XHR9XG4uY2suY2stc3R5bGUtcGFuZWwgLmNrLXN0eWxlLWdyaWQgLmNrLXN0eWxlLWdyaWRfX2J1dHRvbi5jay1kaXNhYmxlZCAuY2stc3R5bGUtZ3JpZF9fYnV0dG9uX19wcmV2aWV3IHtcblx0XHRcdFx0b3BhY2l0eTogLjQ7XG5cblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQpO1xuXHRcdFx0XHRmaWx0ZXI6IHNhdHVyYXRlKC4zKTtcblx0XHRcdH1cbi5jay5jay1zdHlsZS1wYW5lbCAuY2stc3R5bGUtZ3JpZCAuY2stc3R5bGUtZ3JpZF9fYnV0dG9uLmNrLW9uIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1hY3RpdmUpO1xuXHRcdH1cbi5jay5jay1zdHlsZS1wYW5lbCAuY2stc3R5bGUtZ3JpZCAuY2stc3R5bGUtZ3JpZF9fYnV0dG9uLmNrLW9uIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAtMXB4IDAgdmFyKC0tY2stY29sb3ItYmFzZS1hY3RpdmUpO1xuXHRcdFx0XHR6LWluZGV4OiAxOyAvKiBTdGF5IG9uIHRvcCBvZiB0aGUgcHJldmlldyB3aXRoIHRoZSBzaGFkb3cuICovXG5cdFx0XHR9XG4uY2suY2stc3R5bGUtcGFuZWwgLmNrLXN0eWxlLWdyaWQgLmNrLXN0eWxlLWdyaWRfX2J1dHRvbi5jay1vbjpob3ZlciB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1hY3RpdmUtZm9jdXMpO1xuXHRcdFx0fVxuLmNrLmNrLXN0eWxlLXBhbmVsIC5jay1zdHlsZS1ncmlkIC5jay1zdHlsZS1ncmlkX19idXR0b246bm90KC5jay1vbikgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1zdHlsZS1wYW5lbC1idXR0b24tbGFiZWwtYmFja2dyb3VuZCk7XG5cdFx0XHR9XG4uY2suY2stc3R5bGUtcGFuZWwgLmNrLXN0eWxlLWdyaWQgLmNrLXN0eWxlLWdyaWRfX2J1dHRvbjpub3QoLmNrLW9uKTpob3ZlciAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLXN0eWxlLXBhbmVsLWJ1dHRvbi1ob3Zlci1sYWJlbC1iYWNrZ3JvdW5kKTtcblx0XHRcdH1cbi5jay5jay1zdHlsZS1wYW5lbCAuY2stc3R5bGUtZ3JpZCAuY2stc3R5bGUtZ3JpZF9fYnV0dG9uOmhvdmVyOm5vdCguY2stZGlzYWJsZWQpOm5vdCguY2stb24pIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2stc3R5bGUtcGFuZWwtYnV0dG9uLWhvdmVyLWJvcmRlci1jb2xvcik7XG5cdFx0fVxuLmNrLmNrLXN0eWxlLXBhbmVsIC5jay1zdHlsZS1ncmlkIC5jay1zdHlsZS1ncmlkX19idXR0b246aG92ZXI6bm90KC5jay1kaXNhYmxlZCk6bm90KC5jay1vbikgLmNrLXN0eWxlLWdyaWRfX2J1dHRvbl9fcHJldmlldyB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLmNrLmNrLXN0eWxlLXBhbmVsIC5jay1zdHlsZS1wYW5lbF9fc3R5bGUtZ3JvdXAgPiAuY2stbGFiZWwge1xuXHRcdG1hcmdpbjogdmFyKC0tY2stc3BhY2luZy1sYXJnZSkgMDtcblx0fVxuLmNrLmNrLXN0eWxlLXBhbmVsIC5jay1zdHlsZS1wYW5lbF9fc3R5bGUtZ3JvdXA6Zmlyc3QtY2hpbGQgPiAuY2stbGFiZWwge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLXN0eWxlLXBhbmVsLW1heC1oZWlnaHQ6IDQ3MHB4O1xufVxuLmNrLmNrLXN0eWxlLXBhbmVsIHtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG1heC1oZWlnaHQ6IHZhcigtLWNrLXN0eWxlLXBhbmVsLW1heC1oZWlnaHQpO1xufVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWlucHV0LWNvbG9yID4gLmNrLmNrLWlucHV0LXRleHQge1xuXHRcdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcblx0fVxuW2Rpcj1cInJ0bFwiXSAuY2suY2staW5wdXQtY29sb3IgPiAuY2suY2staW5wdXQtdGV4dCB7XG5cdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0fVxuLyogTWFrZSBzdXJlIHRoZSBmb2N1c2VkIGlucHV0IGlzIGFsd2F5cyBvbiB0b3Agb2YgdGhlIGRyb3Bkb3duIGJ1dHRvbiBzbyBpdHNcblx0XHQgICBvdXRsaW5lIGFuZCBib3JkZXIgYXJlIG5ldmVyIGNyb3BwZWQgKGFsc28gd2hlbiB0aGUgaW5wdXQgaXMgcmVhZC1vbmx5KS4gKi9cbi5jay5jay1pbnB1dC1jb2xvciA+IC5jay5jay1pbnB1dC10ZXh0OmZvY3VzIHtcblx0XHRcdHotaW5kZXg6IDA7XG5cdFx0fVxuLmNrLmNrLWlucHV0LWNvbG9yID4gLmNrLmNrLWRyb3Bkb3duID4gLmNrLmNrLWJ1dHRvbi5jay1pbnB1dC1jb2xvcl9fYnV0dG9uIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuW2Rpcj1cImx0clwiXSAuY2suY2staW5wdXQtY29sb3IgPiAuY2suY2stZHJvcGRvd24gPiAuY2suY2stYnV0dG9uLmNrLWlucHV0LWNvbG9yX19idXR0b24ge1xuXHRcdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHR9XG5bZGlyPVwibHRyXCJdIC5jay5jay1pbnB1dC1jb2xvciA+IC5jay5jay1kcm9wZG93biA+IC5jay5jay1idXR0b24uY2staW5wdXQtY29sb3JfX2J1dHRvbjpub3QoOmZvY3VzKSB7XG5cdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0fVxuW2Rpcj1cInJ0bFwiXSAuY2suY2staW5wdXQtY29sb3IgPiAuY2suY2stZHJvcGRvd24gPiAuY2suY2stYnV0dG9uLmNrLWlucHV0LWNvbG9yX19idXR0b24ge1xuXHRcdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdH1cbltkaXI9XCJydGxcIl0gLmNrLmNrLWlucHV0LWNvbG9yID4gLmNrLmNrLWRyb3Bkb3duID4gLmNrLmNrLWJ1dHRvbi5jay1pbnB1dC1jb2xvcl9fYnV0dG9uOm5vdCg6Zm9jdXMpIHtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0fVxuLmNrLmNrLWlucHV0LWNvbG9yID4gLmNrLmNrLWRyb3Bkb3duID4gLmNrLmNrLWJ1dHRvbi5jay1pbnB1dC1jb2xvcl9fYnV0dG9uLmNrLWRpc2FibGVkIHtcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItaW5wdXQtZGlzYWJsZWQtYmFja2dyb3VuZCk7XG5cdFx0XHR9XG4uY2suY2staW5wdXQtY29sb3IgPiAuY2suY2stZHJvcGRvd24gPiAuY2suY2stYnV0dG9uLmNrLWlucHV0LWNvbG9yX19idXR0b24gPiAuY2suY2staW5wdXQtY29sb3JfX2J1dHRvbl9fcHJldmlldyB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cblx0XHRcdFx0d2lkdGg6IDIwcHg7XG5cdFx0XHRcdGhlaWdodDogMjBweDtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItaW5wdXQtYm9yZGVyKTtcblx0XHRcdH1cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWlucHV0LWNvbG9yID4gLmNrLmNrLWRyb3Bkb3duID4gLmNrLmNrLWJ1dHRvbi5jay1pbnB1dC1jb2xvcl9fYnV0dG9uID4gLmNrLmNrLWlucHV0LWNvbG9yX19idXR0b25fX3ByZXZpZXcsXG5cdC5jay5jay1pbnB1dC1jb2xvciA+IC5jay5jay1kcm9wZG93biA+IC5jay5jay1idXR0b24uY2staW5wdXQtY29sb3JfX2J1dHRvbiA+IC5jay5jay1pbnB1dC1jb2xvcl9fYnV0dG9uX19wcmV2aWV3LmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdH1cbi5jay5jay1pbnB1dC1jb2xvciA+IC5jay5jay1kcm9wZG93biA+IC5jay5jay1idXR0b24uY2staW5wdXQtY29sb3JfX2J1dHRvbiA+IC5jay5jay1pbnB1dC1jb2xvcl9fYnV0dG9uX19wcmV2aWV3ID4gLmNrLmNrLWlucHV0LWNvbG9yX19idXR0b25fX3ByZXZpZXdfX25vLWNvbG9yLWluZGljYXRvciB7XG5cdFx0XHRcdFx0dG9wOiAtMzAlO1xuXHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IDE1MCU7XG5cdFx0XHRcdFx0d2lkdGg6IDglO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IGhzbCgwLCAxMDAlLCA1MCUpO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdFx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuXHRcdFx0XHR9XG4uY2suY2staW5wdXQtY29sb3IgLmNrLmNrLWlucHV0LWNvbG9yX19yZW1vdmUtY29sb3Ige1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IGNhbGModmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgLyAyKSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdH1cbi5jay5jay1pbnB1dC1jb2xvciAuY2suY2staW5wdXQtY29sb3JfX3JlbW92ZS1jb2xvcjpub3QoOmZvY3VzKSB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItaW5wdXQtYm9yZGVyKTtcblx0XHR9XG5bZGlyPVwibHRyXCJdIC5jay5jay1pbnB1dC1jb2xvciAuY2suY2staW5wdXQtY29sb3JfX3JlbW92ZS1jb2xvciB7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0fVxuW2Rpcj1cInJ0bFwiXSAuY2suY2staW5wdXQtY29sb3IgLmNrLmNrLWlucHV0LWNvbG9yX19yZW1vdmUtY29sb3Ige1xuXHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0fVxuLmNrLmNrLWlucHV0LWNvbG9yIC5jay5jay1pbnB1dC1jb2xvcl9fcmVtb3ZlLWNvbG9yIC5jay5jay1pY29uIHtcblx0XHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0fVxuW2Rpcj1cInJ0bFwiXSAuY2suY2staW5wdXQtY29sb3IgLmNrLmNrLWlucHV0LWNvbG9yX19yZW1vdmUtY29sb3IgLmNrLmNrLWljb24ge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi5jay5jay1mb3JtIHtcblx0cGFkZGluZzogMCAwIHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xufVxuLmNrLmNrLWZvcm06Zm9jdXMge1xuXHRcdC8qIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNDc3MyAqL1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cbi5jay5jay1mb3JtIC5jay5jay1pbnB1dC10ZXh0IHtcblx0XHRtaW4td2lkdGg6IDEwMCU7XG5cdFx0d2lkdGg6IDA7XG5cdH1cbi5jay5jay1mb3JtIC5jay5jay1kcm9wZG93biB7XG5cdFx0bWluLXdpZHRoOiAxMDAlO1xuXHR9XG4uY2suY2stZm9ybSAuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19idXR0b246bm90KDpmb2N1cykge1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdFx0XHR9XG4uY2suY2stZm9ybSAuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19idXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLmNrLmNrLWZvcm1fX3JvdyB7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpIHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpIDA7XG5cblx0LyogSWdub3JlIGxhYmVscyB0aGF0IHdvcmsgYXMgZmllbGRzZXQgbGVnZW5kcyAqL1xufVxuW2Rpcj1cImx0clwiXSAuY2suY2stZm9ybV9fcm93ID4gKjpub3QoLmNrLWxhYmVsKSArICoge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdH1cbltkaXI9XCJydGxcIl0gLmNrLmNrLWZvcm1fX3JvdyA+ICo6bm90KC5jay1sYWJlbCkgKyAqIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblx0fVxuLmNrLmNrLWZvcm1fX3JvdyA+IC5jay1sYWJlbCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWluLXdpZHRoOiAxMDAlO1xuXHR9XG4uY2suY2stZm9ybV9fcm93LmNrLXRhYmxlLWZvcm1fX2FjdGlvbi1yb3cge1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHR9XG4uY2suY2stZm9ybV9fcm93LmNrLXRhYmxlLWZvcm1fX2FjdGlvbi1yb3cgLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItdGV4dCk7XG5cdFx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbjpyb290IHtcblx0LS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tcGFkZGluZzogMTBweDtcblx0LS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tYm94LWhlaWdodDogMTFweDtcblx0LS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tYm94LXdpZHRoOiAxMnB4O1xuXHQtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtbWFyZ2luOiAxcHg7XG59XG4uY2sgLmNrLWluc2VydC10YWJsZS1kcm9wZG93bl9fZ3JpZCB7XG5cdC8qIFRoZSB3aWR0aCBvZiBhIGNvbnRhaW5lciBzaG91bGQgbWF0Y2ggMTAgaXRlbXMgaW4gYSByb3cgc28gdGhlcmUgd2lsbCBiZSBhIDEweDEwIGdyaWQuICovXG5cdHdpZHRoOiBjYWxjKHZhcigtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtd2lkdGgpICogMTAgKyB2YXIoLS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tYm94LW1hcmdpbikgKiAyMCArIHZhcigtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1wYWRkaW5nKSAqIDIpO1xuXHRwYWRkaW5nOiB2YXIoLS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tcGFkZGluZykgdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLXBhZGRpbmcpIDA7XG59XG4uY2sgLmNrLWluc2VydC10YWJsZS1kcm9wZG93bl9fbGFiZWwsXG4uY2tbZGlyPXJ0bF0gLmNrLWluc2VydC10YWJsZS1kcm9wZG93bl9fbGFiZWwge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uY2sgLmNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ncmlkLWJveCB7XG5cdG1pbi13aWR0aDogdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC13aWR0aCk7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtaGVpZ2h0KTtcblx0bWFyZ2luOiB2YXIoLS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tYm94LW1hcmdpbik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogMXB4O1xuXHRvdXRsaW5lOiBub25lO1xuXHR0cmFuc2l0aW9uOiBub25lO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbi5jayAuY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWdyaWQtYm94IHtcblx0XHR0cmFuc2l0aW9uOiBub25lO1xufVxuXHR9XG4uY2sgLmNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ncmlkLWJveDpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuLmNrIC5jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tZ3JpZC1ib3guY2stb24ge1xuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1mb2N1cy1vdXRlci1zaGFkb3cpO1xuXHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLmNrLmNrLXRhYmxlLWNlbGwtcHJvcGVydGllcy1mb3JtIHtcblx0d2lkdGg6IDMyMHB4O1xufVxuLmNrLmNrLXRhYmxlLWNlbGwtcHJvcGVydGllcy1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtY2VsbC1wcm9wZXJ0aWVzLWZvcm1fX3BhZGRpbmctcm93IHtcblx0XHRcdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHdpZHRoOiAyNSU7XG5cdFx0fVxuLmNrLmNrLXRhYmxlLWNlbGwtcHJvcGVydGllcy1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtY2VsbC1wcm9wZXJ0aWVzLWZvcm1fX2FsaWdubWVudC1yb3cgLmNrLmNrLXRvb2xiYXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXG5cdFx0XHRcdC8qIENvbXBlbnNhdGUgZm9yIG1pc3NpbmcgaW5wdXQgbGFiZWwgdGhhdCB3b3VsZCBwdXNoIHRoZSBtYXJnaW4gKHRvb2xiYXIgaGFzIG5vIGlucHV0cykuICovXG5cdFx0XHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdFx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbjpyb290IHtcblx0LS1jay1jb2xvci1zZWxlY3Rvci1mb2N1c2VkLWNlbGwtYmFja2dyb3VuZDogaHNsYSgyMTIsIDkwJSwgODAlLCAuMyk7XG59XG4vKipcblx0XHQgKiBXaGlsZSBzZXR0aW5nIG91dGxpbmUgaXMgZmluZSwgdGhlIGJvcmRlciBzaG91bGQgbm90IGJlIG1vZGlmaWVkIGhlcmVcblx0XHQgKiBiZWNhdXNlIGl0IG92ZXJyaWRlcyB0aGUgZGVmYXVsdCB0YWJsZSBjZWxsIGJvcmRlciBjb2xvciB3aGljaCBpcyBub3QgZXhwZWN0ZWQuXG5cdFx0ICogU28gZG8gbm90IHVzZSBgQG1peGluIGNrLWZvY3VzLXJpbmc7YCBoZXJlLCBvciBhbnkgb3RoZXIgYm9yZGVyIHN0eWxlcy5cblx0XHQgKiBTZWUgbW9yZTogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTY5Nzlcblx0XHQgKi9cbi5jay13aWRnZXQudGFibGUgdGQuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGUuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGVfZm9jdXNlZCxcblx0XHQuY2std2lkZ2V0LnRhYmxlIHRoLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlX2ZvY3VzZWQsXG5cdFx0LmNrLXdpZGdldC50YWJsZSB0ZC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZTpmb2N1cyxcblx0XHQuY2std2lkZ2V0LnRhYmxlIHRoLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlOmZvY3VzIHtcblx0XHRcdC8qIEEgdmVyeSBzbGlnaHQgYmFja2dyb3VuZCB0byBoaWdobGlnaHQgdGhlIGZvY3VzZWQgY2VsbCAqL1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itc2VsZWN0b3ItZm9jdXNlZC1jZWxsLWJhY2tncm91bmQpO1xuXHRcdFx0b3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcik7XG5cdFx0XHRvdXRsaW5lLW9mZnNldDogLTFweDsgLyogcHJvZ3Jlc3NpdmUgZW5oYW5jZW1lbnQgLSBubyBJRSBzdXBwb3J0ICovXG5cdFx0fVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLXRhYmxlLXByb3BlcnRpZXMtZXJyb3ItYXJyb3ctc2l6ZTogNnB4O1xuXHQtLWNrLXRhYmxlLXByb3BlcnRpZXMtbWluLWVycm9yLXdpZHRoOiAxNTBweDtcbn1cbi5jay5jay10YWJsZS1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtZm9ybV9fYm9yZGVyLXJvdyAuY2stbGFiZWxlZC1maWVsZC12aWV3ID4gLmNrLWxhYmVsIHtcblx0XHRcdFx0XHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS10aW55KTtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdH1cbi5jay5jay10YWJsZS1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtZm9ybV9fYm9yZGVyLXJvdyAuY2stdGFibGUtZm9ybV9fYm9yZGVyLXN0eWxlLFxuXHRcdFx0LmNrLmNrLXRhYmxlLWZvcm0gLmNrLWZvcm1fX3Jvdy5jay10YWJsZS1mb3JtX19ib3JkZXItcm93IC5jay10YWJsZS1mb3JtX19ib3JkZXItd2lkdGgge1xuXHRcdFx0XHR3aWR0aDogODBweDtcblx0XHRcdFx0bWluLXdpZHRoOiA4MHB4O1xuXHRcdFx0XHRtYXgtd2lkdGg6IDgwcHg7XG5cdFx0XHR9XG4uY2suY2stdGFibGUtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLWZvcm1fX2RpbWVuc2lvbnMtcm93IHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLWZvcm1fX3Jvdy5jay10YWJsZS1mb3JtX19kaW1lbnNpb25zLXJvdyAuY2stdGFibGUtZm9ybV9fZGltZW5zaW9ucy1yb3dfX3dpZHRoLFxuXHRcdFx0LmNrLmNrLXRhYmxlLWZvcm0gLmNrLWZvcm1fX3Jvdy5jay10YWJsZS1mb3JtX19kaW1lbnNpb25zLXJvdyAuY2stdGFibGUtZm9ybV9fZGltZW5zaW9ucy1yb3dfX2hlaWdodCB7XG5cdFx0XHRcdG1hcmdpbjogMFxuXHRcdFx0fVxuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLWZvcm1fX3Jvdy5jay10YWJsZS1mb3JtX19kaW1lbnNpb25zLXJvdyAuY2stdGFibGUtZm9ybV9fZGltZW5zaW9uLW9wZXJhdG9yIHtcblx0XHRcdFx0YWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0aGVpZ2h0OiB2YXIoLS1jay11aS1jb21wb25lbnQtbWluLWhlaWdodCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiB2YXIoLS1jay11aS1jb21wb25lbnQtbWluLWhlaWdodCk7XG5cdFx0XHRcdG1hcmdpbjogMCB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHRcdH1cbi5jay5jay10YWJsZS1mb3JtIC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0fVxuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXMge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1lcnJvcik7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0XHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpIHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKTtcblx0XHRcdG1pbi13aWR0aDogdmFyKC0tY2stdGFibGUtcHJvcGVydGllcy1taW4tZXJyb3Itd2lkdGgpO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHRhbmltYXRpb246IGNrLXRhYmxlLWZvcm0tbGFiZWxlZC12aWV3LXN0YXR1cy1hcHBlYXIgLjE1cyBlYXNlIGJvdGg7XG5cdFx0fVxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stdGFibGUtZm9ybSAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX3N0YXR1cyxcblx0LmNrLmNrLXRhYmxlLWZvcm0gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXMuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0fVxuLyogVGhlIGFycm93IHBvaW50aW5nIHRvd2FyZHMgdGhlIGZpZWxkLiAqL1xuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXM6OmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1jay1jb2xvci1iYXNlLWVycm9yKSB0cmFuc3BhcmVudDtcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwIHZhcigtLWNrLXRhYmxlLXByb3BlcnRpZXMtZXJyb3ItYXJyb3ctc2l6ZSkgdmFyKC0tY2stdGFibGUtcHJvcGVydGllcy1lcnJvci1hcnJvdy1zaXplKSB2YXIoLS1jay10YWJsZS1wcm9wZXJ0aWVzLWVycm9yLWFycm93LXNpemUpO1xuXHRcdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0fVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbi5jay5jay10YWJsZS1mb3JtIC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcgLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlld19fc3RhdHVzIHtcblx0XHRcdFx0YW5pbWF0aW9uOiBub25lO1xuXHRcdH1cblx0XHRcdH1cbi8qIEhpZGUgdGhlIGVycm9yIGJhbGxvb24gd2hlbiB0aGUgZmllbGQgaXMgYmx1cnJlZC4gTWFrZXMgdGhlIGV4cGVyaWVuY2UgbXVjaCBtb3JlIGNsZWFyLiAqL1xuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2staW5wdXQuY2stZXJyb3I6bm90KDpmb2N1cykgKyAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXMge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5Aa2V5ZnJhbWVzIGNrLXRhYmxlLWZvcm0tbGFiZWxlZC12aWV3LXN0YXR1cy1hcHBlYXIge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4uY2suY2stdGFibGUtcHJvcGVydGllcy1mb3JtIHtcblx0d2lkdGg6IDMyMHB4O1xufVxuLmNrLmNrLXRhYmxlLXByb3BlcnRpZXMtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLXByb3BlcnRpZXMtZm9ybV9fYWxpZ25tZW50LXJvdyB7XG5cdFx0XHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuLmNrLmNrLXRhYmxlLXByb3BlcnRpZXMtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLXByb3BlcnRpZXMtZm9ybV9fYWxpZ25tZW50LXJvdyAuY2suY2stdG9vbGJhciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cblx0XHRcdFx0LyogQ29tcGVuc2F0ZSBmb3IgbWlzc2luZyBpbnB1dCBsYWJlbCB0aGF0IHdvdWxkIHB1c2ggdGhlIG1hcmdpbiAodG9vbGJhciBoYXMgbm8gaW5wdXRzKS4gKi9cblx0XHRcdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0XHR9XG4uY2suY2stdGFibGUtcHJvcGVydGllcy1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtcHJvcGVydGllcy1mb3JtX19hbGlnbm1lbnQtcm93IC5jay5jay10b29sYmFyIC5jay10b29sYmFyX19pdGVtcyA+ICoge1xuXHRcdFx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdFx0XHR9XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLXRhYmxlLXNlbGVjdGVkLWNlbGwtYmFja2dyb3VuZDogaHNsYSgyMDgsIDkwJSwgODAlLCAuMyk7XG59XG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAudGFibGUgdGFibGUgdGQuY2stZWRpdG9yX19lZGl0YWJsZV9zZWxlY3RlZCxcblx0LmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLnRhYmxlIHRhYmxlIHRoLmNrLWVkaXRvcl9fZWRpdGFibGVfc2VsZWN0ZWQge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0b3V0bGluZTogdW5zZXQ7XG5cdFx0Ym94LXNoYWRvdzogdW5zZXQ7XG5cblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy82NDQ2ICovXG5cdH1cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC50YWJsZSB0YWJsZSB0ZC5jay1lZGl0b3JfX2VkaXRhYmxlX3NlbGVjdGVkOmFmdGVyLCAuY2suY2stZWRpdG9yX19lZGl0YWJsZSAudGFibGUgdGFibGUgdGguY2stZWRpdG9yX19lZGl0YWJsZV9zZWxlY3RlZDphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stdGFibGUtc2VsZWN0ZWQtY2VsbC1iYWNrZ3JvdW5kKTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHR9XG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAudGFibGUgdGFibGUgdGQuY2stZWRpdG9yX19lZGl0YWJsZV9zZWxlY3RlZCA6OnNlbGVjdGlvbixcblx0XHQuY2suY2stZWRpdG9yX19lZGl0YWJsZSAudGFibGUgdGFibGUgdGguY2stZWRpdG9yX19lZGl0YWJsZV9zZWxlY3RlZCA6OnNlbGVjdGlvbixcblx0XHQuY2suY2stZWRpdG9yX19lZGl0YWJsZSAudGFibGUgdGFibGUgdGQuY2stZWRpdG9yX19lZGl0YWJsZV9zZWxlY3RlZDpmb2N1cyxcblx0XHQuY2suY2stZWRpdG9yX19lZGl0YWJsZSAudGFibGUgdGFibGUgdGguY2stZWRpdG9yX19lZGl0YWJsZV9zZWxlY3RlZDpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG4vKlxuXHRcdCAqIFRvIHJlZHVjZSB0aGUgYW1vdW50IG9mIG5vaXNlLCBhbGwgd2lkZ2V0cyBpbiB0aGUgdGFibGUgc2VsZWN0aW9uIGhhdmUgbm8gb3V0bGluZSBhbmQgbm8gc2VsZWN0aW9uIGhhbmRsZS5cblx0XHQgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTQ5MS5cblx0XHQgKi9cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC50YWJsZSB0YWJsZSB0ZC5jay1lZGl0b3JfX2VkaXRhYmxlX3NlbGVjdGVkIC5jay13aWRnZXQsIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC50YWJsZSB0YWJsZSB0aC5jay1lZGl0b3JfX2VkaXRhYmxlX3NlbGVjdGVkIC5jay13aWRnZXQge1xuXHRcdFx0b3V0bGluZTogdW5zZXQ7XG5cdFx0fVxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLnRhYmxlIHRhYmxlIHRkLmNrLWVkaXRvcl9fZWRpdGFibGVfc2VsZWN0ZWQgLmNrLXdpZGdldCA+IC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUsIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC50YWJsZSB0YWJsZSB0aC5jay1lZGl0b3JfX2VkaXRhYmxlX3NlbGVjdGVkIC5jay13aWRnZXQgPiAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBBIHZpc3VhbCBzdHlsZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBib3JkZXIuXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEEgaGVscGVyIHRvIGNvbWJpbmUgbXVsdGlwbGUgc2hhZG93cy5cbiAqL1xuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzczogM3B4O1xuXHQtLWNrLXdpZGdldC1oYW5kbGVyLWljb24tc2l6ZTogMTZweDtcblx0LS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tZHVyYXRpb246IDIwMG1zO1xuXHQtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1jdXJ2ZTogZWFzZTtcblxuXHQtLWNrLWNvbG9yLXdpZGdldC1ibHVycmVkLWJvcmRlcjogaHNsKDAsIDAlLCA4NyUpO1xuXHQtLWNrLWNvbG9yLXdpZGdldC1ob3Zlci1ib3JkZXI6IGhzbCg0MywgMTAwJSwgNjIlKTtcblx0LS1jay1jb2xvci13aWRnZXQtZWRpdGFibGUtZm9jdXMtYmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0LS1jay1jb2xvci13aWRnZXQtZHJhZy1oYW5kbGVyLWljb24tY29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG59XG4uY2sgLmNrLXdpZGdldCB7XG5cdG91dGxpbmUtd2lkdGg6IHZhcigtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzcyk7XG5cdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRvdXRsaW5lLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogb3V0bGluZS1jb2xvciB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1jdXJ2ZSk7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuLmNrIC5jay13aWRnZXQge1xuXHRcdHRyYW5zaXRpb246IG5vbmU7XG59XG5cdH1cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF9zZWxlY3RlZCxcblx0LmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkOmhvdmVyIHtcblx0XHRvdXRsaW5lOiB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpIHNvbGlkIHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcik7XG5cdH1cbi5jayAuY2std2lkZ2V0OmhvdmVyIHtcblx0XHRvdXRsaW5lLWNvbG9yOiB2YXIoLS1jay1jb2xvci13aWRnZXQtaG92ZXItYm9yZGVyKTtcblx0fVxuLmNrIC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZSB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG5cdC8qIFRoZSA6Zm9jdXMgc3R5bGUgaXMgYXBwbGllZCBiZWZvcmUgLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlX2ZvY3VzZWQgY2xhc3MgaXMgcmVuZGVyZWQgaW4gdGhlIHZpZXcuXG5cdFRoZXNlIHN0eWxlcyBzaG93IGEgZGlmZmVyZW50IGJvcmRlciBmb3IgYSBibGluayBvZiBhbiBleWUsIHNvIGA6Zm9jdXNgIG5lZWQgdG8gaGF2ZSBzYW1lIHN0eWxlcyBhcHBsaWVkLiAqL1xufVxuLmNrIC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZS5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZV9mb2N1c2VkLFxuXHQuY2sgLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiB2YXIoLS1jay1pbm5lci1zaGFkb3cpLCAwIDA7XG5cdH1cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogbm9uZSkge1xuXHRcdC5jayAuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGUuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGVfZm9jdXNlZCwgLmNrIC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZTpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci13aWRnZXQtZWRpdGFibGUtZm9jdXMtYmFja2dyb3VuZCk7XG5cdFx0fVxuXHR9XG4vKipcblx0XHQgKiBGb2N1cyBib3JkZXIgc2hvdWxkIG5vdCBiZSBhcHBsaWVkIHRvIHRhYmxlIGNlbGxzIGJlY2F1c2UgaXQgb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IHRhYmxlIGNlbGwgYm9yZGVyIGNvbG9yLlxuXHRcdCAqIEluIG90aGVyIHdvcmRzIC0gaW4gc29tZSBzY2VuYXJpb3MsIHRoZSBwYXJ0IG9mIHRoZSB0YWJsZSBjZWxsIGJvcmRlciBoYXMgZm9jdXMgY29sb3Igc3R5bGUsIHdoaWNoIGlzIG5vdCBleHBlY3RlZCBiZWhhdmlvclxuXHRcdCAqIGJlY2F1c2UgaXQgc2hvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSB0YWJsZSBjZWxsIGJvcmRlciBjb2xvci5cblx0XHQgKi9cbi5jayAuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGUuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGVfZm9jdXNlZDpub3QodGQsIHRoKSwgLmNrIC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZTpmb2N1czpub3QodGQsIHRoKSB7XG5cdFx0XHQvKiBEaXNhYmxlIG5hdGl2ZSBvdXRsaW5lLiAqL1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdGJvcmRlcjogdmFyKC0tY2stZm9jdXMtcmluZyk7XG5cdFx0fVxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZSAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlIHtcblx0XHRwYWRkaW5nOiA0cHg7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRcdC8qIEJhY2tncm91bmQgYW5kIG9wYWNpdHkgd2lsbCBiZSBhbmltYXRlZCBhcyB0aGUgaGFuZGxlciBzaG93cyB1cCBvciB0aGUgd2lkZ2V0IGdldHMgc2VsZWN0ZWQuICovXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0b3BhY2l0eTogMDtcblxuXHRcdC8qIFRyYW5zaXRpb246XG5cdFx0ICAgKiBiYWNrZ3JvdW5kLWNvbG9yIGZvciB0aGUgLmNrLXdpZGdldF9zZWxlY3RlZCBzdGF0ZSBjaGFuZ2UsXG5cdFx0ICAgKiB2aXNpYmlsaXR5IGZvciBoaWRpbmcgdGhlIGhhbmRsZXIsXG5cdFx0ICAgKiBvcGFjaXR5IGZvciB0aGUgcHJvcGVyIGxvb2sgb2YgdGhlIGljb24gd2hlbiB0aGUgaGFuZGxlciBkaXNhcHBlYXJzLiAqL1xuXHRcdHRyYW5zaXRpb246XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWN1cnZlKSxcblx0XHRcdHZpc2liaWxpdHkgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tY3VydmUpLFxuXHRcdFx0b3BhY2l0eSB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1jdXJ2ZSk7XG5cblx0XHQvKiBNYWtlIG9ubHkgdG9wIGNvcm5lcnMgcm91bmQuICovXG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cykgdmFyKC0tY2stYm9yZGVyLXJhZGl1cykgMCAwO1xuXG5cdFx0LyogUGxhY2UgdGhlIGRyYWcgaGFuZGxlciBvdXRzaWRlIHRoZSB3aWRnZXQgd3JhcHBlci4gKi9cblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXHRcdGxlZnQ6IGNhbGMoMHB4IC0gdmFyKC0tY2std2lkZ2V0LW91dGxpbmUtdGhpY2tuZXNzKSk7XG5cdFx0dG9wOiAwO1xuXHR9XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZSAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlIHtcblx0XHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdH1cblx0XHR9XG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUgLmNrLWljb24ge1xuXHRcdFx0LyogTWFrZSBzdXJlIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBpY29uIGFyZSBpbmRlcGVuZGVudCBvZiB0aGUgZm9uLXNpemUgb2YgdGhlIGNvbnRlbnQuICovXG5cdFx0XHR3aWR0aDogdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItaWNvbi1zaXplKTtcblx0XHRcdGhlaWdodDogdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItaWNvbi1zaXplKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci13aWRnZXQtZHJhZy1oYW5kbGVyLWljb24tY29sb3IpO1xuXG5cdFx0XHQvKiBUaGUgXCJzZWxlY3RlZFwiIHBhcnQgb2YgdGhlIGljb24gaXMgaW52aXNpYmxlIGJ5IGRlZmF1bHQgKi9cblx0XHR9XG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUgLmNrLWljb24gLmNrLWljb25fX3NlbGVjdGVkLWluZGljYXRvciB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cblx0XHRcdFx0LyogTm90ZTogVGhlIGFuaW1hdGlvbiBpcyBsb25nZXIgb24gcHVycG9zZS4gU2ltcGx5IGZlZWxzIGJldHRlci4gKi9cblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tY3VydmUpO1xuXHRcdFx0fVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSAuY2staWNvbiAuY2staWNvbl9fc2VsZWN0ZWQtaW5kaWNhdG9yIHtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdFx0XHR9XG4vKiBBZHZlcnRpc2UgdXNpbmcgdGhlIGxvb2sgb2YgdGhlIGljb24gdGhhdCBvbmNlIGNsaWNrZWQgdGhlIGhhbmRsZXIsIHRoZSB3aWRnZXQgd2lsbCBiZSBzZWxlY3RlZC4gKi9cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZTpob3ZlciAuY2staWNvbiAuY2staWNvbl9fc2VsZWN0ZWQtaW5kaWNhdG9yIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuLyogU2hvdyB0aGUgc2VsZWN0aW9uIGhhbmRsZXIgb24gbW91c2UgaG92ZXIgb3ZlciB0aGUgd2lkZ2V0LCBidXQgbm90IGZvciBuZXN0ZWQgd2lkZ2V0cy4gKi9cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGU6aG92ZXIgPiAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLXdpZGdldC1ob3Zlci1ib3JkZXIpO1xuXHR9XG4vKiBTaG93IHRoZSBzZWxlY3Rpb24gaGFuZGxlciB3aGVuIHRoZSB3aWRnZXQgaXMgc2VsZWN0ZWQsIGJ1dCBub3QgZm9yIG5lc3RlZCB3aWRnZXRzLiAqL1xuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZS5jay13aWRnZXRfc2VsZWN0ZWQgPiAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlLCAuY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlLmNrLXdpZGdldF9zZWxlY3RlZDpob3ZlciA+IC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcik7XG5cblx0XHRcdC8qIFdoZW4gdGhlIHdpZGdldCBpcyBzZWxlY3RlZCwgbm90aWZ5IHRoZSB1c2VyIHVzaW5nIHRoZSBwcm9wZXIgbG9vayBvZiB0aGUgaWNvbi4gKi9cblx0XHR9XG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlLmNrLXdpZGdldF9zZWxlY3RlZCA+IC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUgLmNrLWljb24gLmNrLWljb25fX3NlbGVjdGVkLWluZGljYXRvciwgLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZS5jay13aWRnZXRfc2VsZWN0ZWQ6aG92ZXIgPiAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlIC5jay1pY29uIC5jay1pY29uX19zZWxlY3RlZC1pbmRpY2F0b3Ige1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuLyogSW4gYSBSVEwgZW52aXJvbm1lbnQsIGFsaWduIHRoZSBzZWxlY3Rpb24gaGFuZGxlciB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgd2lkZ2V0ICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuLmNrW2Rpcj1cInJ0bFwiXSAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSB7XG5cdGxlZnQ6IGF1dG87XG5cdHJpZ2h0OiBjYWxjKDBweCAtIHZhcigtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzcykpO1xufVxuLyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNjQxNSAqL1xuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stcmVhZC1vbmx5IC5jay13aWRnZXQge1xuXHQvKiBQcmV2ZW50IHRoZSA6aG92ZXIgb3V0bGluZSBmcm9tIHNob3dpbmcgdXAgYmVjYXVzZSBvZiB0aGUgdXNlZCBvdXRsaW5lLWNvbG9yIHRyYW5zaXRpb24uICovXG5cdHRyYW5zaXRpb246IG5vbmU7XG59XG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1yZWFkLW9ubHkgLmNrLXdpZGdldDpub3QoLmNrLXdpZGdldF9zZWxlY3RlZCkge1xuXHRcdC8qIERpc2FibGUgdmlzdWFsIGVmZmVjdHMgb2YgaG92ZXIvYWN0aXZlIHdpZGdldCB3aGVuIENLRWRpdG9yIGlzIGluIHJlYWRPbmx5IG1vZGUuXG5cdFx0ICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xMjYxXG5cdFx0ICpcblx0XHQgKiBMZWF2ZSB0aGUgdW5pdCBiZWNhdXNlIHRoaXMgY3VzdG9tIHByb3BlcnR5IGlzIHVzZWQgaW4gY2FsYygpIGJ5IG90aGVyIGZlYXR1cmVzLlxuXHRcdCAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNjc3NVxuXHRcdCAqL1xuXHRcdC0tY2std2lkZ2V0LW91dGxpbmUtdGhpY2tuZXNzOiAwcHg7XG5cdH1cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLXJlYWQtb25seSAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSxcblx0XHQuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1yZWFkLW9ubHkgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGU6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWJsdXJyZWQtYm9yZGVyKTtcblx0XHR9XG4vKiBTdHlsZSB0aGUgd2lkZ2V0IHdoZW4gaXQncyBzZWxlY3RlZCBidXQgdGhlIGVkaXRhYmxlIGl0IGJlbG9uZ3MgdG8gbG9zdCBmb2N1cy4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1ibHVycmVkIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkLFxuXHQuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1ibHVycmVkIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkOmhvdmVyIHtcblx0XHRvdXRsaW5lLWNvbG9yOiB2YXIoLS1jay1jb2xvci13aWRnZXQtYmx1cnJlZC1ib3JkZXIpO1xuXHR9XG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1ibHVycmVkIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkLmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUgPiAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlLFxuXHRcdFx0LmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stYmx1cnJlZCAuY2std2lkZ2V0LmNrLXdpZGdldF9zZWxlY3RlZC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlOmhvdmVyID4gLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSxcblx0XHRcdC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWJsdXJyZWQgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0ZWQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZSA+IC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGU6aG92ZXIsXG5cdFx0XHQuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1ibHVycmVkIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkLmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGU6aG92ZXIgPiAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWJsdXJyZWQtYm9yZGVyKTtcblx0XHRcdH1cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlID4gLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlOmZpcnN0LWNoaWxkLFxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgYmxvY2txdW90ZSA+IC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZTpmaXJzdC1jaGlsZCB7XG5cdC8qIERvIG5vdCBjcm9wIHNlbGVjdGlvbiBoYW5kbGVyIGlmIGEgd2lkZ2V0IGlzIGEgZmlyc3QtY2hpbGQgaW4gdGhlIGJsb2NrcXVvdGUgb3IgaW4gdGhlIHJvb3QgZWRpdGFibGUuXG5cdEluIGZhY3QsIGFueXRoaW5nIHdpdGggb3ZlcmZsb3c6IGhpZGRlbi5cblx0aHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1ibG9jay1xdW90ZS9pc3N1ZXMvMjhcblx0aHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS13aWRnZXQvaXNzdWVzLzQ0XG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtd2lkZ2V0L2lzc3Vlcy82NiAqL1xuXHRtYXJnaW4tdG9wOiBjYWxjKDFlbSArIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWljb24tc2l6ZSkpO1xufVxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cbjpyb290IHtcblx0LS1jay1yZXNpemVyLXNpemU6IDEwcHg7XG5cblx0LyogU2V0IHRoZSByZXNpemVyIHdpdGggYSA1MCUgb2Zmc2V0LiAqL1xuXHQtLWNrLXJlc2l6ZXItb2Zmc2V0OiBjYWxjKCAoIHZhcigtLWNrLXJlc2l6ZXItc2l6ZSkgLyAtMiApIC0gMnB4KTtcblx0LS1jay1yZXNpemVyLWJvcmRlci13aWR0aDogMXB4O1xufVxuLmNrIC5jay13aWRnZXRfX3Jlc2l6ZXIge1xuXHRvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItcmVzaXplcik7XG59XG4uY2sgLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlIHtcblx0d2lkdGg6IHZhcigtLWNrLXJlc2l6ZXItc2l6ZSk7XG5cdGhlaWdodDogdmFyKC0tY2stcmVzaXplci1zaXplKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKTtcblx0Ym9yZGVyOiB2YXIoLS1jay1yZXNpemVyLWJvcmRlci13aWR0aCkgc29saWQgaHNsKDAsIDAlLCAxMDAlKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stcmVzaXplci1ib3JkZXItcmFkaXVzKTtcbn1cbi5jayAuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUtdG9wLWxlZnQge1xuXHRcdHRvcDogdmFyKC0tY2stcmVzaXplci1vZmZzZXQpO1xuXHRcdGxlZnQ6IHZhcigtLWNrLXJlc2l6ZXItb2Zmc2V0KTtcblx0fVxuLmNrIC5jay13aWRnZXRfX3Jlc2l6ZXJfX2hhbmRsZS5jay13aWRnZXRfX3Jlc2l6ZXJfX2hhbmRsZS10b3AtcmlnaHQge1xuXHRcdHRvcDogdmFyKC0tY2stcmVzaXplci1vZmZzZXQpO1xuXHRcdHJpZ2h0OiB2YXIoLS1jay1yZXNpemVyLW9mZnNldCk7XG5cdH1cbi5jayAuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUtYm90dG9tLXJpZ2h0IHtcblx0XHRib3R0b206IHZhcigtLWNrLXJlc2l6ZXItb2Zmc2V0KTtcblx0XHRyaWdodDogdmFyKC0tY2stcmVzaXplci1vZmZzZXQpO1xuXHR9XG4uY2sgLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlLWJvdHRvbS1sZWZ0IHtcblx0XHRib3R0b206IHZhcigtLWNrLXJlc2l6ZXItb2Zmc2V0KTtcblx0XHRsZWZ0OiB2YXIoLS1jay1yZXNpemVyLW9mZnNldCk7XG5cdH1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG46cm9vdCB7XG5cdC0tY2std2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1zaXplOiAyMHB4O1xuXHQtLWNrLWNvbG9yLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24tYWN0aXZlOiB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xuXHQtLWNrLWNvbG9yLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24taG92ZXI6IHZhcigtLWNrLWNvbG9yLXdpZGdldC1ob3Zlci1ib3JkZXIpO1xuXHQtLWNrLWNvbG9yLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24tYmx1cnJlZC1lZGl0YWJsZTogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWJsdXJyZWQtYm9yZGVyKTtcblx0LS1jay1jb2xvci13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLXJhZGFyLXN0YXJ0LWFscGhhOiAwO1xuXHQtLWNrLWNvbG9yLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24tcmFkYXItZW5kLWFscGhhOiAuMztcblx0LS1jay1jb2xvci13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLWljb246IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG59XG4vKlxuXHQgKiBTdHlsZXMgb2YgdGhlIHR5cGUgYXJvdW5kIGJ1dHRvbnNcblx0ICovXG4uY2sgLmNrLXdpZGdldCAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uIHtcblx0XHR3aWR0aDogdmFyKC0tY2std2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1zaXplKTtcblx0XHRoZWlnaHQ6IHZhcigtLWNrLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24tc2l6ZSk7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itd2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbik7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTAwcHg7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1jdXJ2ZSksIGJhY2tncm91bmQgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tY3VydmUpO1xuXG5cdFx0b3BhY2l0eTogMDtcblxuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuLmNrIC5jay13aWRnZXQgLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbiB7XG5cdFx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHR9XG5cdFx0fVxuLmNrIC5jay13aWRnZXQgLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbiBzdmcge1xuXHRcdFx0d2lkdGg6IDEwcHg7XG5cdFx0XHRoZWlnaHQ6IDhweDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzIGVhc2U7XG5cdFx0XHRtYXJnaW4tdG9wOiAxcHg7XG5cdFx0fVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbi5jayAuY2std2lkZ2V0IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24gc3ZnIHtcblx0XHRcdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0XHR9XG5cdFx0XHR9XG4uY2sgLmNrLXdpZGdldCAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uIHN2ZyAqIHtcblx0XHRcdFx0c3Ryb2tlLWRhc2hhcnJheTogMTA7XG5cdFx0XHRcdHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuXG5cdFx0XHRcdGZpbGw6IG5vbmU7XG5cdFx0XHRcdHN0cm9rZTogdmFyKC0tY2stY29sb3Itd2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1pY29uKTtcblx0XHRcdFx0c3Ryb2tlLXdpZHRoOiAxLjVweDtcblx0XHRcdFx0c3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuXHRcdFx0XHRzdHJva2UtbGluZWpvaW46IHJvdW5kO1xuXHRcdFx0fVxuLmNrIC5jay13aWRnZXQgLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbiBzdmcgbGluZSB7XG5cdFx0XHRcdHN0cm9rZS1kYXNoYXJyYXk6IDc7XG5cdFx0XHR9XG4uY2sgLmNrLXdpZGdldCAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uOmhvdmVyIHtcblx0XHRcdC8qXG5cdFx0XHQgKiBEaXNwbGF5IHRoZSBcInNvbmFyXCIgYXJvdW5kIHRoZSBidXR0b24gd2hlbiBob3ZlcmVkLlxuXHRcdFx0ICovXG5cdFx0XHRhbmltYXRpb246IGNrLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24tc29uYXIgMXMgZWFzZSBpbmZpbml0ZTtcblxuXHRcdFx0Lypcblx0XHRcdCAqIEFuaW1hdGUgYWN0aXZlIGJ1dHRvbidzIGljb24uXG5cdFx0XHQgKi9cblx0XHR9XG4uY2sgLmNrLXdpZGdldCAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uOmhvdmVyIHN2ZyBwb2x5bGluZSB7XG5cdFx0XHRcdFx0YW5pbWF0aW9uOiBjay13aWRnZXQtdHlwZS1hcm91bmQtYXJyb3ctZGFzaCAycyBsaW5lYXI7XG5cdFx0XHRcdH1cbi5jayAuY2std2lkZ2V0IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b246aG92ZXIgc3ZnIGxpbmUge1xuXHRcdFx0XHRcdGFuaW1hdGlvbjogY2std2lkZ2V0LXR5cGUtYXJvdW5kLWFycm93LXRpcC1kYXNoIDJzIGxpbmVhcjtcblx0XHRcdFx0fVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbi5jayAuY2std2lkZ2V0IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b246aG92ZXIge1xuXHRcdFx0XHRhbmltYXRpb246IG5vbmU7XG5cdFx0fVxuXHRcdFx0XHRcdC5jayAuY2std2lkZ2V0IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b246aG92ZXIgc3ZnIHBvbHlsaW5lIHtcblx0XHRcdFx0XHRcdGFuaW1hdGlvbjogbm9uZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQuY2sgLmNrLXdpZGdldCAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uOmhvdmVyIHN2ZyBsaW5lIHtcblx0XHRcdFx0XHRcdGFuaW1hdGlvbjogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHR9XG4vKlxuXHQgKiBTaG93IHR5cGUgYXJvdW5kIGJ1dHRvbnMgd2hlbiB0aGUgd2lkZ2V0IGdldHMgc2VsZWN0ZWQgb3IgYmVpbmcgaG92ZXJlZC5cblx0ICovXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0ZWQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24sIC5jayAuY2std2lkZ2V0OmhvdmVyID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0XHR9XG4vKlxuXHQgKiBTdHlsZXMgZm9yIHRoZSBidXR0b25zIHdoZW4gdGhlIHdpZGdldCBpcyBOT1Qgc2VsZWN0ZWQgKGJ1dCB0aGUgYnV0dG9ucyBhcmUgdmlzaWJsZVxuXHQgKiBhbmQgc3RpbGwgY2FuIGJlIGhvdmVyZWQpLlxuXHQgKi9cbi5jayAuY2std2lkZ2V0Om5vdCguY2std2lkZ2V0X3NlbGVjdGVkKSA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbiB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itd2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1ob3Zlcik7XG5cdH1cbi8qXG5cdCAqIFN0eWxlcyBmb3IgdGhlIGJ1dHRvbnMgd2hlbjpcblx0ICogLSB0aGUgd2lkZ2V0IGlzIHNlbGVjdGVkLFxuXHQgKiAtIG9yIHRoZSBidXR0b24gaXMgYmVpbmcgaG92ZXJlZCAocmVnYXJkbGVzcyBvZiB0aGUgd2lkZ2V0IHN0YXRlKS5cblx0ICovXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0ZWQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24sXG5cdC5jayAuY2std2lkZ2V0ID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLWFjdGl2ZSk7XG5cdH1cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF9zZWxlY3RlZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbjo6YWZ0ZXIsIC5jayAuY2std2lkZ2V0ID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uOmhvdmVyOjphZnRlciB7XG5cdFx0XHR3aWR0aDogY2FsYyh2YXIoLS1jay13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLXNpemUpIC0gMnB4KTtcblx0XHRcdGhlaWdodDogY2FsYyh2YXIoLS1jay13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLXNpemUpIC0gMnB4KTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgaHNsYSgwLDAlLDEwMCUsMCkgMCUsIGhzbGEoMCwwJSwxMDAlLC4zKSAxMDAlKTtcblx0XHR9XG4vKlxuXHQgKiBTdHlsZXMgZm9yIHRoZSBcImJlZm9yZVwiIGJ1dHRvbiB3aGVuIHRoZSB3aWRnZXQgaGFzIGEgc2VsZWN0aW9uIGhhbmRsZS4gQmVjYXVzZSBzb21lIHNwYWNlXG5cdCAqIGlzIGNvbnN1bWVkIGJ5IHRoZSBoYW5kbGUsIHRoZSBidXR0b24gbXVzdCBiZSBtb3ZlZCBzbGlnaHRseSB0byB0aGUgcmlnaHQgdG8gbGV0IGl0IGJyZWF0aGUuXG5cdCAqL1xuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZSA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbl9iZWZvcmUge1xuXHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHR9XG4vKlxuXHQgKiBTdHlsZXMgZm9yIHRoZSBob3Jpem9udGFsIFwiZmFrZSBjYXJldFwiIHdoaWNoIGlzIGRpc3BsYXllZCB3aGVuIHRoZSB1c2VyIG5hdmlnYXRlcyB1c2luZyB0aGUga2V5Ym9hcmQuXG5cdCAqL1xuLmNrIC5jay13aWRnZXQgLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2Zha2UtY2FyZXQge1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdGFuaW1hdGlvbjogY2std2lkZ2V0LXR5cGUtYXJvdW5kLWZha2UtY2FyZXQtcHVsc2UgbGluZWFyIDFzIGluZmluaXRlIG5vcm1hbCBmb3J3YXJkcztcblxuXHRcdC8qXG5cdFx0ICogVGhlIHNlbWktdHJhbnNwYXJlbnQtb3V0bGluZStiYWNrZ3JvdW5kIGNvbWJvIGltcHJvdmVzIHRoZSBjb250cmFzdFxuXHRcdCAqIHdoZW4gdGhlIGJhY2tncm91bmQgdW5kZXJuZWF0aCB0aGUgZmFrZSBjYXJldCBpcyBkYXJrLlxuXHRcdCAqL1xuXHRcdG91dGxpbmU6IHNvbGlkIDFweCBoc2xhKDAsIDAlLCAxMDAlLCAuNSk7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS10ZXh0KTtcblx0fVxuLypcblx0ICogU3R5bGVzIG9mIHRoZSB3aWRnZXQgd2hlbiB0aGUgXCJmYWtlIGNhcmV0XCIgaXMgYmxpbmtpbmcgKGUuZy4gdXBvbiBrZXlib2FyZCBuYXZpZ2F0aW9uKS5cblx0ICogRGVzcGl0ZSB0aGUgd2lkZ2V0IGJlaW5nIHBoeXNpY2FsbHkgc2VsZWN0ZWQgaW4gdGhlIG1vZGVsLCBpdHMgb3V0bGluZSBzaG91bGQgZGlzYXBwZWFyLlxuXHQgKi9cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF9zZWxlY3RlZC5jay13aWRnZXRfdHlwZS1hcm91bmRfc2hvdy1mYWtlLWNhcmV0X2JlZm9yZSxcblx0XHQuY2sgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0ZWQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9hZnRlciB7XG5cdFx0XHRvdXRsaW5lLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG4vKlxuXHRcdCAqIFdoZW4gdGhlIFwiZmFrZSBjYXJldFwiIGlzIHZpc2libGUgd2Ugc2ltdWxhdGUgdGhhdCB0aGUgd2lkZ2V0IGlzIG5vdCBzZWxlY3RlZFxuXHRcdCAqIChkZXNwaXRlIGJlaW5nIHBoeXNpY2FsbHkgc2VsZWN0ZWQpLCBzbyB0aGUgb3V0bGluZSBjb2xvciBzaG91bGQgYmUgZm9yIHRoZVxuXHRcdCAqIHVuc2VsZWN0ZWQgd2lkZ2V0LlxuXHRcdCAqL1xuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9iZWZvcmUuY2std2lkZ2V0X3NlbGVjdGVkOmhvdmVyLCAuY2sgLmNrLXdpZGdldC5jay13aWRnZXRfdHlwZS1hcm91bmRfc2hvdy1mYWtlLWNhcmV0X2FmdGVyLmNrLXdpZGdldF9zZWxlY3RlZDpob3ZlciB7XG5cdFx0XHRvdXRsaW5lLWNvbG9yOiB2YXIoLS1jay1jb2xvci13aWRnZXQtaG92ZXItYm9yZGVyKTtcblx0XHR9XG4vKlxuXHRcdCAqIFN0eWxlcyBvZiB0aGUgdHlwZSBhcm91bmQgYnV0dG9ucyB3aGVuIHRoZSBcImZha2UgY2FyZXRcIiBpcyBibGlua2luZyAoZS5nLiB1cG9uIGtleWJvYXJkIG5hdmlnYXRpb24pLlxuXHRcdCAqIEluIHRoaXMgc3RhdGUsIHRoZSB0eXBlIGFyb3VuZCBidXR0b25zIHdvdWxkIGNvbGxpZGUgd2l0aCB0aGUgZmFrZSBjYXJldHMgc28gdGhleSBzaG91bGQgZGlzYXBwZWFyLlxuXHRcdCAqL1xuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9iZWZvcmUgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24sIC5jayAuY2std2lkZ2V0LmNrLXdpZGdldF90eXBlLWFyb3VuZF9zaG93LWZha2UtY2FyZXRfYWZ0ZXIgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24ge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdH1cbi8qXG5cdFx0ICogRmFrZSBob3Jpem9udGFsIGNhcmV0IGludGVncmF0aW9uIHdpdGggdGhlIHNlbGVjdGlvbiBoYW5kbGUuIFdoZW4gdGhlIGNhcmV0IGlzIHZpc2libGUsIHNpbXBseVxuXHRcdCAqIGhpZGUgdGhlIGhhbmRsZSBiZWNhdXNlIGl0IGludGVyc2VjdHMgd2l0aCB0aGUgY2FyZXQgKGFuZCBkb2VzIG5vdCBtYWtlIG11Y2ggc2Vuc2UgYW55d2F5KS5cblx0XHQgKi9cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF90eXBlLWFyb3VuZF9zaG93LWZha2UtY2FyZXRfYmVmb3JlLmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUuY2std2lkZ2V0X3NlbGVjdGVkID4gLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSwgLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9hZnRlci5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlLmNrLXdpZGdldF9zZWxlY3RlZCA+IC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUsIC5jayAuY2std2lkZ2V0LmNrLXdpZGdldF90eXBlLWFyb3VuZF9zaG93LWZha2UtY2FyZXRfYmVmb3JlLmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUuY2std2lkZ2V0X3NlbGVjdGVkOmhvdmVyID4gLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSwgLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9hZnRlci5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlLmNrLXdpZGdldF9zZWxlY3RlZDpob3ZlciA+IC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDBcblx0XHRcdFx0fVxuLypcblx0XHQgKiBGYWtlIGhvcml6b250YWwgY2FyZXQgaW50ZWdyYXRpb24gd2l0aCB0aGUgcmVzaXplIFVJLiBXaGVuIHRoZSBjYXJldCBpcyB2aXNpYmxlLCBzaW1wbHlcblx0XHQgKiBoaWRlIHRoZSByZXNpemUgVUkgYmVjYXVzZSBpdCBjcmVhdGVzIHRvbyBtdWNoIG5vaXNlLiBJdCBjYW4gYmUgdmlzaWJsZSB3aGVuIHRoZSB1c2VyXG5cdFx0ICogaG92ZXJzIHRoZSB3aWRnZXQsIHRob3VnaC5cblx0XHQgKi9cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF90eXBlLWFyb3VuZF9zaG93LWZha2UtY2FyZXRfYmVmb3JlLmNrLXdpZGdldF9zZWxlY3RlZC5jay13aWRnZXRfd2l0aC1yZXNpemVyID4gLmNrLXdpZGdldF9fcmVzaXplciwgLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9hZnRlci5jay13aWRnZXRfc2VsZWN0ZWQuY2std2lkZ2V0X3dpdGgtcmVzaXplciA+IC5jay13aWRnZXRfX3Jlc2l6ZXIge1xuXHRcdFx0b3BhY2l0eTogMFxuXHRcdH1cbi8qXG4gKiBTdHlsZXMgZm9yIHRoZSBcImJlZm9yZVwiIGJ1dHRvbiB3aGVuIHRoZSB3aWRnZXQgaGFzIGEgc2VsZWN0aW9uIGhhbmRsZSBpbiBhbiBSVEwgZW52aXJvbm1lbnQuXG4gKiBUaGUgc2VsZWN0aW9uIGhhbmRsZXIgaXMgYWxpZ25lZCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgd2lkZ2V0IHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gY3JlYXRlXG4gKiBhZGRpdGlvbmFsIHNwYWNlIGZvciBpdCBuZXh0IHRvIHRoZSBcImJlZm9yZVwiIGJ1dHRvbi5cbiAqL1xuLmNrW2Rpcj1cInJ0bFwiXSAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUgLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uX2JlZm9yZSB7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG4vKlxuICogSGlkZSB0eXBlIGFyb3VuZCBidXR0b25zIHdoZW4gdGhlIHdpZGdldCBpcyBzZWxlY3RlZCBhcyBhIGNoaWxkIG9mIGEgc2VsZWN0ZWRcbiAqIG5lc3RlZCBlZGl0YWJsZSAoZS5nLiBtdWxpdC1jZWxsIHRhYmxlIHNlbGVjdGlvbikuXG4gKlxuICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzcyNjMuXG4gKi9cbi5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX3NlbGVjdGVkIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uLCAuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9zZWxlY3RlZCAuY2std2lkZ2V0OmhvdmVyID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uIHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHR9XG4vKlxuICogU3R5bGVzIGZvciB0aGUgYnV0dG9ucyB3aGVuIHRoZSB3aWRnZXQgaXMgc2VsZWN0ZWQgYnV0IHRoZSB1c2VyIGNsaWNrZWQgb3V0c2lkZSBvZiB0aGUgZWRpdG9yIChibHVycmVkIHRoZSBlZGl0b3IpLlxuICovXG4uY2stZWRpdG9yX19lZGl0YWJsZS5jay1ibHVycmVkIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uOm5vdCg6aG92ZXIpIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itd2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1ibHVycmVkLWVkaXRhYmxlKTtcbn1cbi5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWJsdXJyZWQgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0ZWQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b246bm90KDpob3Zlcikgc3ZnICoge1xuXHRcdHN0cm9rZTogaHNsKDAsMCUsNjAlKTtcblx0fVxuQGtleWZyYW1lcyBjay13aWRnZXQtdHlwZS1hcm91bmQtYXJyb3ctZGFzaCB7XG5cdDAlIHtcblx0XHRzdHJva2UtZGFzaG9mZnNldDogMTA7XG5cdH1cblx0MjAlLCAxMDAlIHtcblx0XHRzdHJva2UtZGFzaG9mZnNldDogMDtcblx0fVxufVxuQGtleWZyYW1lcyBjay13aWRnZXQtdHlwZS1hcm91bmQtYXJyb3ctdGlwLWRhc2gge1xuXHQwJSwgMjAlIHtcblx0XHRzdHJva2UtZGFzaG9mZnNldDogNztcblx0fVxuXHQ0MCUsIDEwMCUge1xuXHRcdHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuXHR9XG59XG5Aa2V5ZnJhbWVzIGNrLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24tc29uYXIge1xuXHQwJSB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMCBoc2xhKHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlci1jb29yZGluYXRlcyksIHZhcigtLWNrLWNvbG9yLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24tcmFkYXItc3RhcnQtYWxwaGEpKTtcblx0fVxuXHQ1MCUge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDVweCBoc2xhKHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlci1jb29yZGluYXRlcyksIHZhcigtLWNrLWNvbG9yLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24tcmFkYXItZW5kLWFscGhhKSk7XG5cdH1cblx0MTAwJSB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgNXB4IGhzbGEodmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyLWNvb3JkaW5hdGVzKSwgdmFyKC0tY2stY29sb3Itd2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1yYWRhci1zdGFydC1hbHBoYSkpO1xuXHR9XG59XG5Aa2V5ZnJhbWVzIGNrLXdpZGdldC10eXBlLWFyb3VuZC1mYWtlLWNhcmV0LXB1bHNlIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0NDklIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHQ5OSUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2stY29udGVudCBjb2RlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLCAwJSwgNzglLCAwLjMpO1xuXHRwYWRkaW5nOiAuMTVlbTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuY2stY29kZV9zZWxlY3RlZCAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsIDAlLCA3OCUsIDAuNSk7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay1jb250ZW50IGJsb2NrcXVvdGUge1xuXHQvKiBTZWUgIzEyICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1ibG9jay1xdW90ZS9pc3N1ZXMvMTUgKi9cblx0cGFkZGluZy1yaWdodDogMS41ZW07XG5cdHBhZGRpbmctbGVmdDogMS41ZW07XG5cblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRib3JkZXItbGVmdDogc29saWQgNXB4IGhzbCgwLCAwJSwgODAlKTtcbn1cblxuLmNrLWNvbnRlbnRbZGlyPVwicnRsXCJdIGJsb2NrcXVvdGUge1xuXHRib3JkZXItbGVmdDogMDtcblx0Ym9yZGVyLXJpZ2h0OiBzb2xpZCA1cHggaHNsKDAsIDAlLCA4MCUpO1xufVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC8qIEJhc2VkIG9uIGRlZmF1bHQgQ0tCb3ggdGhlbWUgY29sb3JzICovXG5cdC0tY2staW1hZ2UtcHJvY2Vzc2luZy1oaWdobGlnaHQtY29sb3I6IGhzbCgyMjAsIDEwJSwgOTglKTtcblx0LS1jay1pbWFnZS1wcm9jZXNzaW5nLWJhY2tncm91bmQtY29sb3I6IGhzbCgyMjAsIDEwJSwgOTAlKTtcbn1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLmltYWdlLmltYWdlLXByb2Nlc3Npbmcge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLmltYWdlLmltYWdlLXByb2Nlc3Npbmc6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdFx0OTBkZWcsXG5cdFx0XHRcdFx0dmFyKC0tY2staW1hZ2UtcHJvY2Vzc2luZy1iYWNrZ3JvdW5kLWNvbG9yKSxcblx0XHRcdFx0XHR2YXIoLS1jay1pbWFnZS1wcm9jZXNzaW5nLWhpZ2hsaWdodC1jb2xvciksXG5cdFx0XHRcdFx0dmFyKC0tY2staW1hZ2UtcHJvY2Vzc2luZy1iYWNrZ3JvdW5kLWNvbG9yKVxuXHRcdFx0XHQpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcblxuXHRcdFx0XHRhbmltYXRpb246IGNrLWltYWdlLXByb2Nlc3NpbmctYW5pbWF0aW9uIDJzIGxpbmVhciBpbmZpbml0ZTtcblx0XHRcdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLmltYWdlLmltYWdlLXByb2Nlc3NpbmcgaW1nIHtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0fVxuXG5Aa2V5ZnJhbWVzIGNrLWltYWdlLXByb2Nlc3NpbmctYW5pbWF0aW9uIHtcblx0MCUge1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDIwMCUgMDtcblx0fVxuXHQxMDAlIHtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwJSAwO1xuXHR9XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG5cdCAqIFZlcnRpY2FsIGRyb3AgdGFyZ2V0IChpbiB0ZXh0KS5cblx0ICovXG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC5jay5jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtcG9zaXRpb24ge1xuXHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLmNrLmNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1wb3NpdGlvbiBzcGFuIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHdpZHRoOiAwO1xuXHRcdH1cblxuLypcblx0ICogU3R5bGVzIG9mIHRoZSB3aWRnZXQgYmVpbmcgZHJhZ2dlZCAoaXRzIHByZXZpZXcpLlxuXHQgKi9cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLmNrLXdpZGdldDotd2Via2l0LWRyYWcgPiAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuY2std2lkZ2V0Oi13ZWJraXQtZHJhZyA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG4uY2suY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWxpbmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2stY29udGVudCBwcmUge1xuXHRwYWRkaW5nOiAxZW07XG5cdGNvbG9yOiBoc2woMCwgMCUsIDIwLjglKTtcblx0YmFja2dyb3VuZDogaHNsYSgwLCAwJSwgNzglLCAwLjMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCBoc2woMCwgMCUsIDc3JSk7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblxuXHQvKiBDb2RlIGJsb2NrIGFyZSBsYW5ndWFnZSBkaXJlY3Rpb27igJNhZ25vc3RpYy4gKi9cblx0dGV4dC1hbGlnbjogbGVmdDtcblx0ZGlyZWN0aW9uOiBsdHI7XG5cblx0dGFiLXNpemU6IDQ7XG5cdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcblxuXHQvKiBEb24ndCBpbmhlcml0IHRoZSBzdHlsZSwgZS5nLiB3aGVuIGluIGEgYmxvY2sgcXVvdGUuICovXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblxuXHQvKiBEb24ndCBsZXQgdGhlIGNvZGUgYmUgc3F1YXNoZWQgZS5nLiB3aGVuIGluIGEgdGFibGUgY2VsbC4gKi9cblx0bWluLXdpZHRoOiAyMDBweDtcbn1cblxuLmNrLWNvbnRlbnQgcHJlIGNvZGUge1xuXHRcdGJhY2tncm91bmQ6IHVuc2V0O1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSBwcmUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIHByZVtkYXRhLWxhbmd1YWdlXTo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IGF0dHIoZGF0YS1sYW5ndWFnZSk7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1lZGl0b3Ige1xuXHQvKiBBbGwgdGhlIGVsZW1lbnRzIHdpdGhpbiBgLmNrLWVkaXRvcmAgYXJlIHBvc2l0aW9uZWQgcmVsYXRpdmVseSB0byBpdC5cblx0IElmIGFueSBlbGVtZW50IG5lZWRzIHRvIGJlIHBvc2l0aW9uZWQgd2l0aCByZXNwZWN0IHRvIHRoZSA8Ym9keT4sIGV0Yy4sXG5cdCBpdCBtdXN0IGxhbmQgb3V0c2lkZSBvZiB0aGUgYC5jay1lZGl0b3JgIGluIERPTS4gKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2suY2stZWRpdG9yIC5jay1lZGl0b3JfX3RvcCAuY2stc3RpY2t5LXBhbmVsIC5jay10b29sYmFyIHtcblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LWVkaXRvci1jbGFzc2ljL2lzc3Vlcy82MiAqL1xuXHRcdHotaW5kZXg6IHZhcigtLWNrLXotcGFuZWwpO1xuXHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1tZW51LWJhciB7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLXRvb2xiYXItYm9yZGVyKTtcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyogU2VlIGNrZWRpdG9yL2NrZWRpdG9yNSM5MzYuICovXG4uY2suY2stcGxhY2Vob2xkZXIsXG4uY2sgLmNrLXBsYWNlaG9sZGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNrLmNrLXBsYWNlaG9sZGVyOjpiZWZvcmUsIC5jayAuY2stcGxhY2Vob2xkZXI6OmJlZm9yZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Y29udGVudDogYXR0cihkYXRhLXBsYWNlaG9sZGVyKTtcblxuXHRcdC8qIFNlZSBja2VkaXRvci9ja2VkaXRvcjUjNDY5LiAqL1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5cbi8qIFNlZSBja2VkaXRvci9ja2VkaXRvcjUjMTk4Ny4gKi9cbi5jay5jay1yZWFkLW9ubHkgLmNrLXBsYWNlaG9sZGVyOjpiZWZvcmUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuLypcbiAqIFJ1bGVzIGZvciB0aGUgYGNrLXBsYWNlaG9sZGVyYCBhcmUgbG9hZGVkIGJlZm9yZSB0aGUgcnVsZXMgZm9yIGBjay1yZXNldF9hbGxgIGluIHRoZSBiYXNlIENLRWRpdG9yIDUgRExMIGJ1aWxkLlxuICogVGhpcyBmaXggb3ZlcndyaXRlcyB0aGUgaW5jb3JyZWN0bHkgc2V0IGBwb3NpdGlvbjogc3RhdGljYCBmcm9tIGBjay1yZXNldF9hbGxgLlxuICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzExNDE4LlxuICovXG4uY2suY2stcmVzZXRfYWxsIC5jay1wbGFjZWhvbGRlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyogRWxlbWVudHMgbWFya2VkIGJ5IHRoZSBSZW5kZXJlciBhcyBoaWRkZW4gc2hvdWxkIGJlIGludmlzaWJsZSBpbiB0aGUgZWRpdG9yLiAqL1xuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgc3BhbltkYXRhLWNrLXVuc2FmZS1lbGVtZW50XSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay1maW5kLXJlc3VsdCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWhpZ2hsaWdodC1iYWNrZ3JvdW5kKTtcblx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLXRleHQpO1xufVxuXG4uY2stZmluZC1yZXN1bHRfc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kOiBoc2woMjksIDEwMCUsIDYwJSk7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0gLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9faW5wdXRzLCAuY2suY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtIC5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2FjdGlvbnMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHQvKiBUaGUgaW5wdXRzIGFyZWEgc3R5bGVzICovXG5cdH1cblxuLmNrLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybSAuY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtX19pbnB1dHMuY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtX19pbnB1dHMgLmNrLXJlc3VsdHMtY291bnRlciwgLmNrLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybSAuY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtX19hY3Rpb25zLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9faW5wdXRzIC5jay1yZXN1bHRzLWNvdW50ZXIge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyogVGhlIHZhbHVlcyBzaG91bGQgYmUgc3luY2hyb25pemVkIHdpdGggdGhlIFwiRk9OVF9TSVpFX1BSRVNFVF9VTklUU1wiIG9iamVjdCBpbiB0aGUgXCIvc3JjL2ZvbnRzaXplL3V0aWxzLmpzXCIgZmlsZS4gKi9cblxuLyogU3R5bGVzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBgLmNrLWNvbnRlbnRgIGNsYXNzLlxuU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzY2MzYgKi9cbi5jay1jb250ZW50IC50ZXh0LXRpbnkge1xuXHRcdGZvbnQtc2l6ZTogLjdlbTtcblx0fVxuLmNrLWNvbnRlbnQgLnRleHQtc21hbGwge1xuXHRcdGZvbnQtc2l6ZTogLjg1ZW07XG5cdH1cbi5jay1jb250ZW50IC50ZXh0LWJpZyB7XG5cdFx0Zm9udC1zaXplOiAxLjRlbTtcblx0fVxuLmNrLWNvbnRlbnQgLnRleHQtaHVnZSB7XG5cdFx0Zm9udC1zaXplOiAxLjhlbTtcblx0fVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2staGVhZGluZ19oZWFkaW5nMSAuY2stYnV0dG9uX19sYWJlbCB7XG5cdGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLmNrLmNrLWhlYWRpbmdfaGVhZGluZzIgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRmb250LXNpemU6IDE3cHg7XG59XG5cbi5jay5jay1oZWFkaW5nX2hlYWRpbmczIC5jay1idXR0b25fX2xhYmVsIHtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4uY2tbY2xhc3MqPVwiY2staGVhZGluZ19oZWFkaW5nXCJdIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1oaWdobGlnaHQtbWFya2VyLXllbGxvdzogaHNsKDYwLCA5NyUsIDczJSk7XG5cdC0tY2staGlnaGxpZ2h0LW1hcmtlci1ncmVlbjogaHNsKDEyMCwgOTMlLCA2OCUpO1xuXHQtLWNrLWhpZ2hsaWdodC1tYXJrZXItcGluazogaHNsKDM0NSwgOTYlLCA3MyUpO1xuXHQtLWNrLWhpZ2hsaWdodC1tYXJrZXItYmx1ZTogaHNsKDIwMSwgOTclLCA3MiUpO1xuXHQtLWNrLWhpZ2hsaWdodC1wZW4tcmVkOiBoc2woMCwgODUlLCA0OSUpO1xuXHQtLWNrLWhpZ2hsaWdodC1wZW4tZ3JlZW46IGhzbCgxMTIsIDEwMCUsIDI3JSk7XG59XG5cbi5jay1jb250ZW50IC5tYXJrZXIteWVsbG93IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1oaWdobGlnaHQtbWFya2VyLXllbGxvdyk7XG5cdH1cbi5jay1jb250ZW50IC5tYXJrZXItZ3JlZW4ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWhpZ2hsaWdodC1tYXJrZXItZ3JlZW4pO1xuXHR9XG4uY2stY29udGVudCAubWFya2VyLXBpbmsge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWhpZ2hsaWdodC1tYXJrZXItcGluayk7XG5cdH1cbi5jay1jb250ZW50IC5tYXJrZXItYmx1ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2staGlnaGxpZ2h0LW1hcmtlci1ibHVlKTtcblx0fVxuXG4uY2stY29udGVudCAucGVuLXJlZCB7XG5cdFx0Y29sb3I6IHZhcigtLWNrLWhpZ2hsaWdodC1wZW4tcmVkKTtcblxuXHRcdC8qIE92ZXJyaWRlIGRlZmF1bHQgeWVsbG93IGJhY2tncm91bmQgb2YgYDxtYXJrPmAgZnJvbSB1c2VyIGFnZW50IHN0eWxlc2hlZXQgKi9cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0fVxuLmNrLWNvbnRlbnQgLnBlbi1ncmVlbiB7XG5cdFx0Y29sb3I6IHZhcigtLWNrLWhpZ2hsaWdodC1wZW4tZ3JlZW4pO1xuXG5cdFx0LyogT3ZlcnJpZGUgZGVmYXVsdCB5ZWxsb3cgYmFja2dyb3VuZCBvZiBgPG1hcms+YCBmcm9tIHVzZXIgYWdlbnQgc3R5bGVzaGVldCAqL1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cblxuLmNrLWVkaXRvcl9fZWRpdGFibGUgLmNrLWhvcml6b250YWwtbGluZSB7XG5cdC8qIE5lY2Vzc2FyeSB0byByZW5kZXIgcHJvcGVybHkgbmV4dCB0byBmbG9hdGVkIG9iamVjdHMsIGUuZy4gc2lkZSBpbWFnZSBjYXNlLiAqL1xuXHRkaXNwbGF5OiBmbG93LXJvb3Q7XG59XG5cbi5jay1jb250ZW50IGhyIHtcblx0bWFyZ2luOiAxNXB4IDA7XG5cdGhlaWdodDogNHB4O1xuXHRiYWNrZ3JvdW5kOiBoc2woMCwgMCUsIDg3JSk7XG5cdGJvcmRlcjogMDtcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyogVGhlIGZlYXR1cmUgY29udGFpbmVyLiAqL1xuLmNrLXdpZGdldC5yYXctaHRtbC1lbWJlZCB7XG5cdC8qIEdpdmUgdGhlIGVtYmVkIHNvbWUgYWlyLiAqL1xuXHQvKiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGVxdWFsIHRvIC0tY2stc3BhY2luZy1sYXJnZSB2YXJpYWJsZSBpZiB1c2VkIGluIHRoZSBlZGl0b3IgY29udGV4dFxuXHR0byBhdm9pZCB0aGUgY29udGVudCBqdW1waW5nIChTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTgyNSkuICovXG5cdG1hcmdpbjogMC45ZW0gYXV0bztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbG93LXJvb3Q7XG5cblx0LyogR2l2ZSB0aGUgaHRtbCBlbWJlZCBzb21lIG1pbmltYWwgd2lkdGggaW4gdGhlIGNvbnRlbnQgdG8gcHJldmVudCB0aGVtXG5cdGZyb20gYmVpbmcgXCJzcXVhc2hlZFwiIGluIHRpZ2h0IHNwYWNlcywgZS5nLiBpbiB0YWJsZSBjZWxscyAoaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvODMzMSkgKi9cblx0bWluLXdpZHRoOiAxNWVtO1xuXG5cdC8qIERvbid0IGluaGVyaXQgdGhlIHN0eWxlLCBlLmcuIHdoZW4gaW4gYSBibG9jayBxdW90ZS4gKi9cblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXG5cdC8qIC0tLS0tIEVtZWJlZCBsYWJlbCBpbiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbn1cbi5jay13aWRnZXQucmF3LWh0bWwtZW1iZWQ6OmJlZm9yZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdFx0LyogTWFrZSBzdXJlIHRoZSBjb250ZW50IGRvZXMgbm90IGNvdmVyIHRoZSBsYWJlbC4gKi9cblx0XHR6LWluZGV4OiAxO1xuXHR9XG4vKiAtLS0tLSBFbWViZWQgaW50ZXJuYWxzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhlIHN3aXRjaCBtb2RlIGJ1dHRvbiB3cmFwcGVyLiAqL1xuLmNrLXdpZGdldC5yYXctaHRtbC1lbWJlZCAucmF3LWh0bWwtZW1iZWRfX2J1dHRvbnMtd3JhcHBlciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuLmNrLXdpZGdldC5yYXctaHRtbC1lbWJlZCAucmF3LWh0bWwtZW1iZWRfX3ByZXZpZXcge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbi5jay13aWRnZXQucmF3LWh0bWwtZW1iZWQgLnJhdy1odG1sLWVtYmVkX19wcmV2aWV3LWNvbnRlbnQge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW46IGF1dG87XG5cblx0XHQvKiBHaXZlcyBzcGFjaW5nIHRvIHRoZSBzbWFsbCByZW5kZXJhYmxlIGVsZW1lbnRzLCBzbyB0aGV5IGFsd2F5cyBjb3ZlciB0aGUgcGxhY2Vob2xkZXIuICovXG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0Ym9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcblx0XHRib3JkZXItc3BhY2luZzogN3B4O1xuXHR9XG4uY2std2lkZ2V0LnJhdy1odG1sLWVtYmVkIC5yYXctaHRtbC1lbWJlZF9fcHJldmlldy1wbGFjZWhvbGRlciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2staHRtbC1vYmplY3QtZW1iZWQtdW5mb2N1c2VkLW91dGxpbmUtd2lkdGg6IDFweDtcbn1cblxuLmNrLXdpZGdldC5odG1sLW9iamVjdC1lbWJlZCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tY2stZm9udC1zaXplLWJhc2UpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQpO1xuXHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0LyogTGVhdmUgc3BhY2UgZm9yIGxhYmVsICovXG5cdHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWNrLWZvbnQtc2l6ZS10aW55KSArIHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpKTtcblx0bWluLXdpZHRoOiBjYWxjKDc2cHggKyB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSk7XG59XG5cbi5jay13aWRnZXQuaHRtbC1vYmplY3QtZW1iZWQ6bm90KC5jay13aWRnZXRfc2VsZWN0ZWQpOm5vdCg6aG92ZXIpIHtcblx0XHRvdXRsaW5lOiB2YXIoLS1jay1odG1sLW9iamVjdC1lbWJlZC11bmZvY3VzZWQtb3V0bGluZS13aWR0aCkgZGFzaGVkIHZhcigtLWNrLWNvbG9yLXdpZGdldC1ibHVycmVkLWJvcmRlcik7XG5cdH1cblxuLmNrLXdpZGdldC5odG1sLW9iamVjdC1lbWJlZDo6YmVmb3JlIHtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Y29udGVudDogYXR0cihkYXRhLWh0bWwtb2JqZWN0LWVtYmVkLWxhYmVsKTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0YmFja2dyb3VuZDogaHNsKDBkZWcgMCUgNjAlKTtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWN1cnZlKTtcblx0XHRwYWRkaW5nOiBjYWxjKHZhcigtLWNrLXNwYWNpbmctdGlueSkgKyB2YXIoLS1jay1odG1sLW9iamVjdC1lbWJlZC11bmZvY3VzZWQtb3V0bGluZS13aWR0aCkpIHZhcigtLWNrLXNwYWNpbmctc21hbGwpIHZhcigtLWNrLXNwYWNpbmctdGlueSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogMCAwIHZhcigtLWNrLWJvcmRlci1yYWRpdXMpIHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tY2stZm9udC1zaXplLXRpbnkpO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1jay1mb250LWZhY2UpO1xuXHR9XG5cbi8qIE1ha2Ugc3BhY2UgZm9yIGxhYmVsLiAqL1xuXG4uY2std2lkZ2V0Lmh0bWwtb2JqZWN0LWVtYmVkIC5jay13aWRnZXRfX3R5cGUtYXJvdW5kIC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24uY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uX2JlZm9yZSB7XG5cdFx0bWFyZ2luLWxlZnQ6IDUwcHg7XG5cdH1cblxuLmNrLXdpZGdldC5odG1sLW9iamVjdC1lbWJlZCAuaHRtbC1vYmplY3QtZW1iZWRfX2NvbnRlbnQge1xuXHRcdC8qIERpc2FibGUgdXNlciBpbnRlcmFjdGlvbiB3aXRoIGVtYmVkIGNvbnRlbnQgKi9cblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0fVxuXG5kaXYuY2std2lkZ2V0Lmh0bWwtb2JqZWN0LWVtYmVkIHtcblx0bWFyZ2luOiAxZW0gYXV0bztcbn1cblxuc3Bhbi5jay13aWRnZXQuaHRtbC1vYmplY3QtZW1iZWQge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLWltYWdlLWNhcHRpb24tYmFja2dyb3VuZDogaHNsKDAsIDAlLCA5NyUpO1xuXHQtLWNrLWNvbG9yLWltYWdlLWNhcHRpb24tdGV4dDogaHNsKDAsIDAlLCAyMCUpO1xuXHQtLWNrLWNvbG9yLWltYWdlLWNhcHRpb24taGlnaGxpZ2h0ZWQtYmFja2dyb3VuZDogaHNsKDUyZGVnIDEwMCUgNTAlKTtcbn1cblxuLyogQ29udGVudCBzdHlsZXMgKi9cbi5jay1jb250ZW50IC5pbWFnZSA+IGZpZ2NhcHRpb24ge1xuXHRkaXNwbGF5OiB0YWJsZS1jYXB0aW9uO1xuXHRjYXB0aW9uLXNpZGU6IGJvdHRvbTtcblx0d29yZC1icmVhazogYnJlYWstd29yZDtcblx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWltYWdlLWNhcHRpb24tdGV4dCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLWltYWdlLWNhcHRpb24tYmFja2dyb3VuZCk7XG5cdHBhZGRpbmc6IC42ZW07XG5cdGZvbnQtc2l6ZTogLjc1ZW07XG5cdG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuXG5cdC8qIEltcHJvdmUgcGxhY2Vob2xkZXIgcmVuZGVyaW5nIGluIGhpZ2gtY29uc3RyYXN0IG1vZGUgKGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE0OTA3KS4gKi9cbn1cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4uY2stY29udGVudCAuaW1hZ2UgPiBmaWdjYXB0aW9uIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblx0XHRjb2xvcjogdW5zZXQ7XG59XG5cdH1cblxuLyogRWRpdGluZyBzdHlsZXMgKi9cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogbm9uZSkge1xuXHRcdC5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC5pbWFnZSA+IGZpZ2NhcHRpb24uaW1hZ2VfX2NhcHRpb25faGlnaGxpZ2h0ZWQge1xuXHRcdGFuaW1hdGlvbjogY2staW1hZ2UtY2FwdGlvbi1oaWdobGlnaHQgLjZzIGVhc2Utb3V0O1xuXHRcdH1cblx0fVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC5pbWFnZSA+IGZpZ2NhcHRpb24uaW1hZ2VfX2NhcHRpb25faGlnaGxpZ2h0ZWQge1xuXHRcdGFuaW1hdGlvbjogbm9uZTtcbn1cblx0fVxuXG5Aa2V5ZnJhbWVzIGNrLWltYWdlLWNhcHRpb24taGlnaGxpZ2h0IHtcblx0MCUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLWltYWdlLWNhcHRpb24taGlnaGxpZ2h0ZWQtYmFja2dyb3VuZCk7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci1pbWFnZS1jYXB0aW9uLWJhY2tncm91bmQpO1xuXHR9XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1pbWFnZS1pbnNlcnQtdXJsIHtcblx0d2lkdGg6IDQwMHB4O1xuXHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSAwO1xufVxuXG4uY2suY2staW1hZ2UtaW5zZXJ0LXVybCAuY2staW1hZ2UtaW5zZXJ0LXVybF9fYWN0aW9uLXJvdyB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qIFByZXNlcnZlIGFzcGVjdCByYXRpbyBvZiB0aGUgcmVzaXplZCBpbWFnZSBhZnRlciBpbnRyb2R1Y2luZyBpbWFnZSBoZWlnaHQgYXR0cmlidXRlLiAqL1xuLmNrLWNvbnRlbnQgaW1nLmltYWdlX3Jlc2l6ZWQge1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi5jay1jb250ZW50IC5pbWFnZS5pbWFnZV9yZXNpemVkIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHQvKlxuXHRUaGUgYDxmaWd1cmU+YCBlbGVtZW50IGZvciByZXNpemVkIGltYWdlcyBtdXN0IG5vdCB1c2UgYGRpc3BsYXk6dGFibGVgIGFzIGJyb3dzZXJzIGRvIG5vdCBzdXBwb3J0IGBtYXgtd2lkdGhgIGZvciBpdCB3ZWxsLlxuXHRTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDAxOTYwNC9jaHJvbWUtc2FmYXJpLWlnbm9yaW5nLW1heC13aWR0aC1pbi10YWJsZS8xNDQyMDY5MSMxNDQyMDY5MSBmb3IgbW9yZS5cblx0Rm9ydHVuYXRlbHksIHNpbmNlIHdlIGNvbnRyb2wgdGhlIHdpZHRoLCB0aGVyZSBpcyBubyByaXNrIHRoYXQgdGhlIGltYWdlIHdpbGwgbG9vayBiYWQuXG5cdCovXG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uY2stY29udGVudCAuaW1hZ2UuaW1hZ2VfcmVzaXplZCBpbWcge1xuXHRcdC8qIEZvciByZXNpemVkIGltYWdlcyBpdCBpcyB0aGUgYDxmaWd1cmU+YCBlbGVtZW50IHRoYXQgZGV0ZXJtaW5lcyB0aGUgaW1hZ2Ugd2lkdGguICovXG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuLmNrLWNvbnRlbnQgLmltYWdlLmltYWdlX3Jlc2l6ZWQgPiBmaWdjYXB0aW9uIHtcblx0XHQvKiBUaGUgYDxmaWd1cmU+YCBlbGVtZW50IHVzZXMgYGRpc3BsYXk6YmxvY2tgLCBzbyBgPGZpZ2NhcHRpb24+YCBhbHNvIGhhcyB0by4gKi9cblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG4vKiBUaGUgcmVzaXplZCBpbmxpbmUgaW1hZ2UgbmVzdGVkIGluIHRoZSB0YWJsZSBzaG91bGQgcmVzcGVjdCBpdHMgcGFyZW50IHNpemUuXG5cdFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy85MTE3LiAqL1xuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSB0ZCAuaW1hZ2UtaW5saW5lLmltYWdlX3Jlc2l6ZWQgaW1nLCAuY2suY2stZWRpdG9yX19lZGl0YWJsZSB0aCAuaW1hZ2UtaW5saW5lLmltYWdlX3Jlc2l6ZWQgaW1nIHtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC10ZXh0LmNrLXJlc2l6ZS1pbWFnZS1idXR0b24gLmNrLWJ1dHRvbl9faWNvbiB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG59XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC10ZXh0LmNrLXJlc2l6ZS1pbWFnZS1idXR0b24gLmNrLWJ1dHRvbl9faWNvbiB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcbn1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stcmVzaXplLWltYWdlLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdHdpZHRoOiA0ZW07XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1pbWFnZS1jdXN0b20tcmVzaXplLWZvcm0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5jay5jay1pbWFnZS1jdXN0b20tcmVzaXplLWZvcm0gLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cbi5jay5jay1pbWFnZS1jdXN0b20tcmVzaXplLWZvcm0gLmNrLWxhYmVsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cbi5jay5jay1pbWFnZS1jdXN0b20tcmVzaXplLWZvcm0ge1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcbn1cblxuXHRcdC5jay5jay1pbWFnZS1jdXN0b20tcmVzaXplLWZvcm0gLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdH1cblxuXHRcdC5jay5jay1pbWFnZS1jdXN0b20tcmVzaXplLWZvcm0gLmNrLWJ1dHRvbiB7XG5cdFx0XHRmbGV4LWJhc2lzOiA1MCU7XG5cdFx0fVxuXHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nOiAxLjVlbTtcblx0LS1jay1pbmxpbmUtaW1hZ2Utc3R5bGUtc3BhY2luZzogY2FsYyh2YXIoLS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nKSAvIDIpO1xufVxuXG4vKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE2MzE3ICovXG5cbi8qIFByb3ZpZGVzIGEgbWluaW1hbCBzaWRlIG1hcmdpbiBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0IGFsaWduZWQgaW1hZ2VzLCBzbyB0aGF0IHRoZSB1c2VyIGhhcyBhIHZpc3VhbCBmZWVkYmFja1xuXHRcdGNvbmZpcm1pbmcgc3VjY2Vzc2Z1bCBhcHBsaWNhdGlvbiBvZiB0aGUgc3R5bGUgaWYgaW1hZ2Ugd2lkdGggZXhjZWVkcyB0aGUgZWRpdG9yJ3Mgc2l6ZS5cblx0XHRTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTM0MiAqL1xuXG4uY2stY29udGVudCAuaW1hZ2UuaW1hZ2Utc3R5bGUtYmxvY2stYWxpZ24tbGVmdCxcblx0XHQuY2stY29udGVudCAuaW1hZ2UuaW1hZ2Utc3R5bGUtYmxvY2stYWxpZ24tcmlnaHQge1xuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nKSk7XG5cdFx0fVxuXG4vKiBBbGxvd3MgZGlzcGxheWluZyBtdWx0aXBsZSBmbG9hdGluZyBpbWFnZXMgaW4gdGhlIHNhbWUgbGluZS5cblx0XHRTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTE4MyNpc3N1ZWNvbW1lbnQtODA0OTg4MTMyICovXG5cbi5jay1jb250ZW50IC5pbWFnZS5pbWFnZS1zdHlsZS1hbGlnbi1sZWZ0LFxuXHRcdC5jay1jb250ZW50IC5pbWFnZS5pbWFnZS1zdHlsZS1hbGlnbi1yaWdodCB7XG5cdFx0XHRjbGVhcjogbm9uZTtcblx0XHR9XG5cbi5jay1jb250ZW50IC5pbWFnZS5pbWFnZS1zdHlsZS1zaWRlIHtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nKTtcblx0XHRcdG1heC13aWR0aDogNTAlO1xuXHRcdH1cblxuLmNrLWNvbnRlbnQgLmltYWdlLmltYWdlLXN0eWxlLWFsaWduLWxlZnQge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLWltYWdlLXN0eWxlLXNwYWNpbmcpO1xuXHRcdH1cblxuLmNrLWNvbnRlbnQgLmltYWdlLmltYWdlLXN0eWxlLWFsaWduLXJpZ2h0IHtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nKTtcblx0XHR9XG5cbi5jay1jb250ZW50IC5pbWFnZS5pbWFnZS1zdHlsZS1ibG9jay1hbGlnbi1yaWdodCB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHR9XG5cbi5jay1jb250ZW50IC5pbWFnZS5pbWFnZS1zdHlsZS1ibG9jay1hbGlnbi1sZWZ0IHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdH1cblxuLmNrLWNvbnRlbnQgLmltYWdlLXN0eWxlLWFsaWduLWNlbnRlciB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHR9XG5cbi5jay1jb250ZW50IC5pbWFnZS1zdHlsZS1hbGlnbi1sZWZ0IHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLWltYWdlLXN0eWxlLXNwYWNpbmcpO1xuXHR9XG5cbi5jay1jb250ZW50IC5pbWFnZS1zdHlsZS1hbGlnbi1yaWdodCB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nKTtcblx0fVxuXG4vKiBTaW11bGF0ZXMgbWFyZ2luIGNvbGxhcHNpbmcgd2l0aCB0aGUgcHJlY2VkaW5nIHBhcmFncmFwaCwgd2hpY2ggZG9lcyBub3Qgd29yayBmb3IgdGhlIGZsb2F0aW5nIGVsZW1lbnRzLiAqL1xuXG4uY2stY29udGVudCBwICsgLmltYWdlLmltYWdlLXN0eWxlLWFsaWduLWxlZnQsXG5cdC5jay1jb250ZW50IHAgKyAuaW1hZ2UuaW1hZ2Utc3R5bGUtYWxpZ24tcmlnaHQsXG5cdC5jay1jb250ZW50IHAgKyAuaW1hZ2UuaW1hZ2Utc3R5bGUtc2lkZSB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXG4uY2stY29udGVudCAuaW1hZ2UtaW5saW5lLmltYWdlLXN0eWxlLWFsaWduLWxlZnQsXG5cdFx0LmNrLWNvbnRlbnQgLmltYWdlLWlubGluZS5pbWFnZS1zdHlsZS1hbGlnbi1yaWdodCB7XG5cdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1pbmxpbmUtaW1hZ2Utc3R5bGUtc3BhY2luZyk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1jay1pbmxpbmUtaW1hZ2Utc3R5bGUtc3BhY2luZyk7XG5cdFx0fVxuXG4uY2stY29udGVudCAuaW1hZ2UtaW5saW5lLmltYWdlLXN0eWxlLWFsaWduLWxlZnQge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1pbmxpbmUtaW1hZ2Utc3R5bGUtc3BhY2luZyk7XG5cdFx0fVxuXG4uY2stY29udGVudCAuaW1hZ2UtaW5saW5lLmltYWdlLXN0eWxlLWFsaWduLXJpZ2h0IHtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1pbmxpbmUtaW1hZ2Utc3R5bGUtc3BhY2luZyk7XG5cdFx0fVxuXG4vKiBUaGUgYnV0dG9uIHNob3VsZCBkaXNwbGF5IGFzIGEgcmVndWxhciBkcm9wLWRvd24gaWYgdGhlIGFjdGlvbiBidXR0b25cblx0aXMgZm9yY2VkIHRvIGZpcmUgdGhlIHNhbWUgYWN0aW9uIGFzIHRoZSBhcnJvdyBidXR0b24uICovXG5cbi5jay5jay1zcGxpdGJ1dHRvbi5jay1zcGxpdGJ1dHRvbl9mbGF0dGVuOmhvdmVyID4gLmNrLXNwbGl0YnV0dG9uX19hY3Rpb246bm90KC5jay1kaXNhYmxlZCksXG5cdFx0XHQuY2suY2stc3BsaXRidXR0b24uY2stc3BsaXRidXR0b25fZmxhdHRlbi5jay1zcGxpdGJ1dHRvbl9vcGVuID4gLmNrLXNwbGl0YnV0dG9uX19hY3Rpb246bm90KC5jay1kaXNhYmxlZCksXG5cdFx0XHQuY2suY2stc3BsaXRidXR0b24uY2stc3BsaXRidXR0b25fZmxhdHRlbjpob3ZlciA+IC5jay1zcGxpdGJ1dHRvbl9fYXJyb3c6bm90KC5jay1kaXNhYmxlZCksXG5cdFx0XHQuY2suY2stc3BsaXRidXR0b24uY2stc3BsaXRidXR0b25fZmxhdHRlbi5jay1zcGxpdGJ1dHRvbl9vcGVuID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdzpub3QoLmNrLWRpc2FibGVkKSxcblx0XHRcdC5jay5jay1zcGxpdGJ1dHRvbi5jay1zcGxpdGJ1dHRvbl9mbGF0dGVuOmhvdmVyID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdzpub3QoLmNrLWRpc2FibGVkKTpub3QoOmhvdmVyKSxcblx0XHRcdC5jay5jay1zcGxpdGJ1dHRvbi5jay1zcGxpdGJ1dHRvbl9mbGF0dGVuLmNrLXNwbGl0YnV0dG9uX29wZW4gPiAuY2stc3BsaXRidXR0b25fX2Fycm93Om5vdCguY2stZGlzYWJsZWQpOm5vdCg6aG92ZXIpIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stY29sb3ItYnV0dG9uLW9uLWJhY2tncm91bmQpO1xuXHRcdFx0fVxuXG4uY2suY2stc3BsaXRidXR0b24uY2stc3BsaXRidXR0b25fZmxhdHRlbjpob3ZlciA+IC5jay1zcGxpdGJ1dHRvbl9fYWN0aW9uOm5vdCguY2stZGlzYWJsZWQpOjphZnRlciwgLmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX2ZsYXR0ZW4uY2stc3BsaXRidXR0b25fb3BlbiA+IC5jay1zcGxpdGJ1dHRvbl9fYWN0aW9uOm5vdCguY2stZGlzYWJsZWQpOjphZnRlciwgLmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX2ZsYXR0ZW46aG92ZXIgPiAuY2stc3BsaXRidXR0b25fX2Fycm93Om5vdCguY2stZGlzYWJsZWQpOjphZnRlciwgLmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX2ZsYXR0ZW4uY2stc3BsaXRidXR0b25fb3BlbiA+IC5jay1zcGxpdGJ1dHRvbl9fYXJyb3c6bm90KC5jay1kaXNhYmxlZCk6OmFmdGVyLCAuY2suY2stc3BsaXRidXR0b24uY2stc3BsaXRidXR0b25fZmxhdHRlbjpob3ZlciA+IC5jay1zcGxpdGJ1dHRvbl9fYXJyb3c6bm90KC5jay1kaXNhYmxlZCk6bm90KDpob3Zlcik6OmFmdGVyLCAuY2suY2stc3BsaXRidXR0b24uY2stc3BsaXRidXR0b25fZmxhdHRlbi5jay1zcGxpdGJ1dHRvbl9vcGVuID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdzpub3QoLmNrLWRpc2FibGVkKTpub3QoOmhvdmVyKTo6YWZ0ZXIge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblxuLmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX2ZsYXR0ZW4uY2stc3BsaXRidXR0b25fb3Blbjpob3ZlciA+IC5jay1zcGxpdGJ1dHRvbl9fYWN0aW9uOm5vdCguY2stZGlzYWJsZWQpLFxuXHRcdFx0LmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX2ZsYXR0ZW4uY2stc3BsaXRidXR0b25fb3Blbjpob3ZlciA+IC5jay1zcGxpdGJ1dHRvbl9fYXJyb3c6bm90KC5jay1kaXNhYmxlZCksXG5cdFx0XHQuY2suY2stc3BsaXRidXR0b24uY2stc3BsaXRidXR0b25fZmxhdHRlbi5jay1zcGxpdGJ1dHRvbl9vcGVuOmhvdmVyID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdzpub3QoLmNrLWRpc2FibGVkKTpub3QoOmhvdmVyKSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1vbi1ob3Zlci1iYWNrZ3JvdW5kKTtcblx0XHRcdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLXRleHQtYWx0ZXJuYXRpdmUtZm9ybSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4uY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtIC5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG4uY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtIC5jay1sYWJlbCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXG4uY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtIHtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG59XG5cblx0XHQuY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtIC5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdFx0ZmxleC1iYXNpczogMTAwJTtcblx0XHR9XG5cblx0XHQuY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtIC5jay1idXR0b24ge1xuXHRcdFx0ZmxleC1iYXNpczogNTAlO1xuXHRcdH1cblx0fVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuaW1hZ2UsXG5cdC5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC5pbWFnZS1pbmxpbmUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG4vKiBVcGxvYWQgcHJvZ3Jlc3MgYmFyLiAqL1xuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuaW1hZ2UgLmNrLXByb2dyZXNzLWJhcixcblx0LmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLmltYWdlLWlubGluZSAuY2stcHJvZ3Jlc3MtYmFyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLWltYWdlLXVwbG9hZC1jb21wbGV0ZS1pY29uIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHQvKlxuXHQgKiBTbWFsbGVyIGltYWdlcyBzaG91bGQgaGF2ZSB0aGUgaWNvbiBjbG9zZXIgdG8gdGhlIGJvcmRlci5cblx0ICogTWF0Y2ggdGhlIGljb24gcG9zaXRpb24gd2l0aCB0aGUgbGlua2VkIGltYWdlIGluZGljYXRvciBicm91Z2h0IGJ5IHRoZSBsaW5rIGltYWdlIGZlYXR1cmUuXG5cdCAqL1xuXHR0b3A6IG1pbih2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSksIDYlKTtcblx0cmlnaHQ6IG1pbih2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSksIDYlKTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHR6LWluZGV4OiAxO1xufVxuXG4uY2staW1hZ2UtdXBsb2FkLWNvbXBsZXRlLWljb246OmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0fVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2sgLmNrLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG59XG5cbi5jayAuY2stdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlcjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLWNvbnRlbnQgLmltYWdlIHtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRjbGVhcjogYm90aDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHQvKiBNYWtlIHN1cmUgdGhlcmUgaXMgc29tZSBzcGFjZSBiZXR3ZWVuIHRoZSBjb250ZW50IGFuZCB0aGUgaW1hZ2UuIENlbnRlciBpbWFnZSBieSBkZWZhdWx0LiAqL1xuXHRcdC8qIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgZXF1YWwgdG8gLS1jay1zcGFjaW5nLWxhcmdlIHZhcmlhYmxlIGlmIHVzZWQgaW4gdGhlIGVkaXRvciBjb250ZXh0XG5cdCBcdHRvIGF2b2lkIHRoZSBjb250ZW50IGp1bXBpbmcgKFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy85ODI1KS4gKi9cblx0XHRtYXJnaW46IDAuOWVtIGF1dG87XG5cblx0XHQvKiBNYWtlIHN1cmUgdGhlIGNhcHRpb24gd2lsbCBiZSBkaXNwbGF5ZWQgcHJvcGVybHkgKFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTg3MCkuICovXG5cdFx0bWluLXdpZHRoOiA1MHB4O1xuXHR9XG5cbi5jay1jb250ZW50IC5pbWFnZSBpbWcge1xuXHRcdFx0LyogUHJldmVudCB1bm5lY2Vzc2FyeSBtYXJnaW5zIGNhdXNlZCBieSBsaW5lLWhlaWdodCAoc2VlICM0NCkuICovXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0LyogQ2VudGVyIHRoZSBpbWFnZSBpZiBpdHMgd2lkdGggaXMgc21hbGxlciB0aGFuIHRoZSBjb250ZW50J3Mgd2lkdGguICovXG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblxuXHRcdFx0LyogTWFrZSBzdXJlIHRoZSBpbWFnZSBuZXZlciBleGNlZWRzIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgY29udGFpbmVyIChja2VkaXRvci9ja2VkaXRvcjUtdWkjNjcpLiAqL1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXG5cdFx0XHQvKiBNYWtlIHN1cmUgdGhlIGltYWdlIGlzIG5ldmVyIHNtYWxsZXIgdGhhbiB0aGUgcGFyZW50IGNvbnRhaW5lciAoU2VlOiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy85MzAwKS4gKi9cblx0XHRcdG1pbi13aWR0aDogMTAwJTtcblxuXHRcdFx0LyogS2VlcCBwcm9wb3J0aW9ucyBvZiB0aGUgYmxvY2sgaW1hZ2UgaWYgdGhlIGhlaWdodCBpcyBzZXQgYW5kIHRoZSBpbWFnZSBpcyB3aWRlciB0aGFuIHRoZSBlZGl0b3Igd2lkdGguXG5cdFx0XHRTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTQ1NDIuICovXG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0fVxuXG4uY2stY29udGVudCAuaW1hZ2UtaW5saW5lIHtcblx0XHQvKlxuXHRcdCAqIE5vcm1hbGx5LCB0aGUgLmltYWdlLWlubGluZSB3b3VsZCBoYXZlIFwiZGlzcGxheTogaW5saW5lLWJsb2NrXCIgYW5kIFwiaW1nIHsgd2lkdGg6IDEwMCUgfVwiICh0byBmb2xsb3cgdGhlIHdyYXBwZXIgd2hpbGUgcmVzaXppbmcpLlxuXHRcdCAqIFVuZm9ydHVuYXRlbHksIHRvZ2V0aGVyIHdpdGggXCJzcmNzZXRcIiwgaXQgZ2V0cyBhdXRvbWF0aWNhbGx5IHN0cmV0Y2hlZCB1cCB0byB0aGUgd2lkdGggb2YgdGhlIGVkaXRpbmcgcm9vdC5cblx0XHQgKiBUaGlzIHN0cmFuZ2UgYmVoYXZpb3IgZG9lcyBub3QgaGFwcGVuIHdpdGggaW5saW5lLWZsZXguXG5cdFx0ICovXG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cblx0XHQvKiBXaGlsZSBiZWluZyByZXNpemVkLCBkb24ndCBhbGxvdyB0aGUgaW1hZ2UgdG8gZXhjZWVkIHRoZSB3aWR0aCBvZiB0aGUgZWRpdGluZyByb290LiAqL1xuXHRcdG1heC13aWR0aDogMTAwJTtcblxuXHRcdC8qIFRoaXMgaXMgcmVxdWlyZWQgYnkgU2FmYXJpIHRvIHJlc2l6ZSBpbWFnZXMgaW4gYSBzZW5zaWJsZSB3YXkuIFdpdGhvdXQgdGhpcywgdGhlIGJyb3dzZXIgYnJlYWtzIHRoZSByYXRpby4gKi9cblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuXHRcdC8qIFdoZW4gdGhlIHBpY3R1cmUgaXMgcHJlc2VudCBpdCBtdXN0IGFjdCBhcyBhIGZsZXggY29udGFpbmVyIHRvIGxldCB0aGUgaW1nIHJlc2l6ZSBwcm9wZXJseSAqL1xuXHR9XG5cbi5jay1jb250ZW50IC5pbWFnZS1pbmxpbmUgcGljdHVyZSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdH1cblxuLyogV2hlbiB0aGUgcGljdHVyZSBpcyBwcmVzZW50LCBpdCBtdXN0IGFjdCBsaWtlIGEgcmVzaXphYmxlIGltZy4gKi9cblxuLmNrLWNvbnRlbnQgLmltYWdlLWlubGluZSBwaWN0dXJlLFxuXHRcdC5jay1jb250ZW50IC5pbWFnZS1pbmxpbmUgaW1nIHtcblx0XHRcdC8qIFRoaXMgaXMgbmVjZXNzYXJ5IGZvciB0aGUgaW1nIHRvIHNwYW4gdGhlIGVudGlyZSAuaW1hZ2UtaW5saW5lIHdyYXBwZXIgYW5kIHRvIHJlc2l6ZSBwcm9wZXJseS4gKi9cblx0XHRcdGZsZXgtZ3JvdzogMTtcblx0XHRcdGZsZXgtc2hyaW5rOiAxO1xuXG5cdFx0XHQvKiBQcmV2ZW50cyBvdmVyZmxvd2luZyB0aGUgZWRpdGluZyByb290IGJvdW5kYXJpZXMgd2hlbiBhbiBpbmxpbmUgaW1hZ2UgaXMgdmVyeSB3aWRlLiAqL1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdH1cblxuLypcblx0ICogSW5oZXJ0aXQgdGhlIGNvbnRlbnQgc3R5bGVzIHBhZGRpbmcgb2YgdGhlIDxmaWdjYXB0aW9uPiBpbiBjYXNlIHRoZSBpbnRlZ3JhdGlvbiBvdmVycmlkZXMgYHRleHQtYWxpZ246IGNlbnRlcmBcblx0ICogb2YgYC5pbWFnZWAgKGUuZy4gdG8gdGhlIGxlZnQvcmlnaHQpLiBUaGlzIGVuc3VyZXMgdGhlIHBsYWNlaG9sZGVyIHN0YXlzIGF0IHRoZSBwYWRkaW5nIGp1c3QgbGlrZSB0aGUgbmF0aXZlXG5cdCAqIGNhcmV0IGRvZXMsIGFuZCBub3QgYXQgdGhlIGVkZ2Ugb2YgPGZpZ2NhcHRpb24+LlxuXHQgKi9cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLmltYWdlID4gZmlnY2FwdGlvbi5jay1wbGFjZWhvbGRlcjo6YmVmb3JlIHtcblx0XHRwYWRkaW5nLWxlZnQ6IGluaGVyaXQ7XG5cdFx0cGFkZGluZy1yaWdodDogaW5oZXJpdDtcblxuXHRcdC8qXG5cdFx0ICogTWFrZSBzdXJlIHRoZSBpbWFnZSBjYXB0aW9uIHBsYWNlaG9sZGVyIGRvZXNuJ3Qgb3ZlcmZsb3cgdGhlIHBsYWNlaG9sZGVyIGFyZWEuXG5cdFx0ICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzkxNjIuXG5cdFx0ICovXG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR9XG5cbi8qXG5cdCAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNTExNS5cblx0ICovXG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC5pbWFnZSB7XG5cdFx0ei1pbmRleDogMTtcblxuXHRcdC8qXG5cdFx0ICogTWFrZSBzdXJlIHRoZSBzZWxlY3RlZCBpbWFnZSBhbHdheXMgc3RheXMgb24gdG9wIG9mIGl0cyBzaWJsaW5ncy5cblx0XHQgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTEwOC5cblx0XHQgKi9cblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuaW1hZ2UuY2std2lkZ2V0X3NlbGVjdGVkIHtcblx0XHRcdHotaW5kZXg6IDI7XG5cdFx0fVxuXG4vKlxuXHQgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTUxMTUuXG5cdCAqL1xuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuaW1hZ2UtaW5saW5lIHtcblx0XHR6LWluZGV4OiAxO1xuXG5cdFx0Lypcblx0XHQgKiBNYWtlIHN1cmUgdGhlIHNlbGVjdGVkIGlubGluZSBpbWFnZSBhbHdheXMgc3RheXMgb24gdG9wIG9mIGl0cyBzaWJsaW5ncy5cblx0XHQgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTEwOC5cblx0XHQgKi9cblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuaW1hZ2UtaW5saW5lLmNrLXdpZGdldF9zZWxlY3RlZCB7XG5cdFx0XHR6LWluZGV4OiAyO1xuXG5cdFx0XHQvKlxuXHRcdFx0ICogTWFrZSBzdXJlIHRoZSBuYXRpdmUgYnJvd3NlciBzZWxlY3Rpb24gc3R5bGUgaXMgbm90IGRpc3BsYXllZC5cblx0XHRcdCAqIElubGluZSBpbWFnZSB3aWRnZXRzIGhhdmUgdGhlaXIgb3duIHN0eWxlcyBmb3IgdGhlIHNlbGVjdGVkIHN0YXRlIGFuZFxuXHRcdFx0ICogbGVhdmluZyB0aGlzIHVwIHRvIHRoZSBicm93c2VyIGlzIGFza2luZyBmb3IgYSB2aXN1YWwgY29sbGlzaW9uLlxuXHRcdFx0ICovXG5cdFx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuaW1hZ2UtaW5saW5lLmNrLXdpZGdldF9zZWxlY3RlZCA6OnNlbGVjdGlvbiB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cbi8qIEtlZXAgcHJvcG9ydGlvbnMgb2YgdGhlIGlubGluZSBpbWFnZSBpZiB0aGUgaGVpZ2h0IGlzIHNldCBhbmQgdGhlIGltYWdlIGlzIHdpZGVyIHRoYW4gdGhlIGVkaXRvciB3aWR0aC5cblx0U2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE0NTQyLiAqL1xuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuaW1hZ2UtaW5saW5lIGltZyB7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cbi8qIFRoZSBpbmxpbmUgaW1hZ2UgbmVzdGVkIGluIHRoZSB0YWJsZSBzaG91bGQgaGF2ZSBpdHMgb3JpZ2luYWwgc2l6ZSBpZiBub3QgcmVzaXplZC5cblx0U2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzkxMTcuICovXG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIHRkIC5pbWFnZS1pbmxpbmUgaW1nLCAuY2suY2stZWRpdG9yX19lZGl0YWJsZSB0aCAuaW1hZ2UtaW5saW5lIGltZyB7XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0fVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSBpbWcuaW1hZ2VfcGxhY2Vob2xkZXIge1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuXHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qIExpbmtlZCBpbWFnZSBpbmRpY2F0b3IgKi9cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgZmlndXJlLmltYWdlID4gYTo6YWZ0ZXIsIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlIGEgc3Bhbi5pbWFnZS1pbmxpbmU6OmFmdGVyIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdH1cblxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stbGluay1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5jay5jay1saW5rLWFjdGlvbnMgLmNrLWxpbmstYWN0aW9uc19fcHJldmlldyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cbi5jay5jay1saW5rLWFjdGlvbnMgLmNrLWxpbmstYWN0aW9uc19fcHJldmlldyAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblxuLmNrLmNrLWxpbmstYWN0aW9ucyB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xufVxuXG5cdFx0LmNrLmNrLWxpbmstYWN0aW9ucyAuY2stbGluay1hY3Rpb25zX19wcmV2aWV3IHtcblx0XHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0fVxuXG5cdFx0LmNrLmNrLWxpbmstYWN0aW9ucyAuY2stYnV0dG9uOm5vdCguY2stbGluay1hY3Rpb25zX19wcmV2aWV3KSB7XG5cdFx0XHRmbGV4LWJhc2lzOiA1MCU7XG5cdFx0fVxuXHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1saW5rLWZvcm0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmNrLmNrLWxpbmstZm9ybSAuY2stbGFiZWwge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblxuLmNrLmNrLWxpbmstZm9ybSB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xufVxuXG5cdFx0LmNrLmNrLWxpbmstZm9ybSAuY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0XHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0fVxuXG5cdFx0LmNrLmNrLWxpbmstZm9ybSAuY2stYnV0dG9uIHtcblx0XHRcdGZsZXgtYmFzaXM6IDUwJTtcblx0XHR9XG5cdH1cblxuLypcbiAqIFN0eWxlIGxpbmsgZm9ybSBkaWZmZXJlbnRseSB3aGVuIG1hbnVhbCBkZWNvcmF0b3JzIGFyZSBhdmFpbGFibGUuXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbGluay9pc3N1ZXMvMTg2LlxuICovXG4uY2suY2stbGluay1mb3JtX2xheW91dC12ZXJ0aWNhbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdC8qXG5cdCAqIFdoZXRoZXIgdGhlIGZvcm0gaXMgaW4gdGhlIHJlc3BvbnNpdmUgbW9kZSBvciBub3QsIGlmIHRoZXJlIGFyZSBkZWNvcmF0b3IgYnV0dG9uc1xuXHQgKiBrZWVwIHRoZSB0b3AgbWFyZ2luIG9mIGFjdGlvbiBidXR0b25zIG1lZGl1bS5cblx0ICovXG59XG4uY2suY2stbGluay1mb3JtX2xheW91dC12ZXJ0aWNhbCAuY2stYnV0dG9uLmNrLWJ1dHRvbi1zYXZlLFxuXHRcdC5jay5jay1saW5rLWZvcm1fbGF5b3V0LXZlcnRpY2FsIC5jay1idXR0b24uY2stYnV0dG9uLWNhbmNlbCB7XG5cdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdFx0fVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2stZWRpdG9yX19lZGl0YWJsZSAuY2stbGlzdC1ib2d1cy1wYXJhZ3JhcGgge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWxpc3Qtc3R5bGVzLWxpc3Qge1xuXHRkaXNwbGF5OiBncmlkO1xufVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2stY29udGVudCBvbCB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbn1cblxuLmNrLWNvbnRlbnQgb2wgb2wge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItbGF0aW47XG5cdH1cblxuLmNrLWNvbnRlbnQgb2wgb2wgb2wge1xuXHRcdFx0bGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjtcblx0XHR9XG5cbi5jay1jb250ZW50IG9sIG9sIG9sIG9sIHtcblx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiB1cHBlci1sYXRpbjtcblx0XHRcdH1cblxuLmNrLWNvbnRlbnQgb2wgb2wgb2wgb2wgb2wge1xuXHRcdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItcm9tYW47XG5cdFx0XHRcdH1cblxuLmNrLWNvbnRlbnQgdWwge1xuXHRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG59XG5cbi5jay1jb250ZW50IHVsIHVsIHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcblx0fVxuXG4uY2stY29udGVudCB1bCB1bCB1bCB7XG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcblx0XHR9XG5cbi5jay1jb250ZW50IHVsIHVsIHVsIHVsIHtcblx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7XG5cdFx0XHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay10b2RvLWxpc3QtY2hlY2ttYXJrLXNpemU6IDE2cHg7XG59XG5cbi8qXG4gKiBUby1kbyBsaXN0IGNvbnRlbnQgc3R5bGVzLlxuICovXG4uY2stY29udGVudCAudG9kby1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cbi5jay1jb250ZW50IC50b2RvLWxpc3QgbGkge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdH1cbi5jay1jb250ZW50IC50b2RvLWxpc3QgbGkgLnRvZG8tbGlzdCB7XG5cdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0fVxuLmNrLWNvbnRlbnQgLnRvZG8tbGlzdCAudG9kby1saXN0X19sYWJlbCA+IGlucHV0IHtcblx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHdpZHRoOiB2YXIoLS1jay10b2RvLWxpc3QtY2hlY2ttYXJrLXNpemUpO1xuXHRcdFx0aGVpZ2h0OiB2YXIoLS1jay10b2RvLWxpc3QtY2hlY2ttYXJrLXNpemUpO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdC8qIE5lZWRlZCBvbiBpT1MgKi9cblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdC8qIExUUiBzdHlsZXMgKi9cblx0XHRcdGxlZnQ6IC0yNXB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAtMTVweDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHQvKiBSVEwgc3R5bGVzICovXG5cdFx0fVxuLmNrLWNvbnRlbnRbZGlyPXJ0bF0gLnRvZG8tbGlzdCAudG9kby1saXN0X19sYWJlbCA+IGlucHV0IHtcblx0XHRsZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRyaWdodDogLTI1cHg7XG5cdFx0bWFyZ2luLWxlZnQ6IC0xNXB4O1xuXHR9XG4uY2stY29udGVudCAudG9kby1saXN0IC50b2RvLWxpc3RfX2xhYmVsID4gaW5wdXQ6OmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIGhzbCgwLCAwJSwgMjAlKTtcblx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0dHJhbnNpdGlvbjogMjUwbXMgZWFzZS1pbi1vdXQgYm94LXNoYWRvdztcblx0fVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbi5jay1jb250ZW50IC50b2RvLWxpc3QgLnRvZG8tbGlzdF9fbGFiZWwgPiBpbnB1dDo6YmVmb3JlIHtcblx0XHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdH1cblx0XHR9XG4uY2stY29udGVudCAudG9kby1saXN0IC50b2RvLWxpc3RfX2xhYmVsID4gaW5wdXQ6OmFmdGVyIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0Y29udGVudDogJyc7XG5cblx0XHQvKiBDYWxjdWxhdGUgdGljayBwb3NpdGlvbiwgc2l6ZSBhbmQgYm9yZGVyLXdpZHRoIHByb3BvcnRpb25hbCB0byB0aGUgY2hlY2ttYXJrIHNpemUuICovXG5cdFx0bGVmdDogY2FsYyggdmFyKC0tY2stdG9kby1saXN0LWNoZWNrbWFyay1zaXplKSAvIDMgKTtcblx0XHR0b3A6IGNhbGMoIHZhcigtLWNrLXRvZG8tbGlzdC1jaGVja21hcmstc2l6ZSkgLyA1LjMgKTtcblx0XHR3aWR0aDogY2FsYyggdmFyKC0tY2stdG9kby1saXN0LWNoZWNrbWFyay1zaXplKSAvIDUuMyApO1xuXHRcdGhlaWdodDogY2FsYyggdmFyKC0tY2stdG9kby1saXN0LWNoZWNrbWFyay1zaXplKSAvIDIuNiApO1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItd2lkdGg6IDAgY2FsYyggdmFyKC0tY2stdG9kby1saXN0LWNoZWNrbWFyay1zaXplKSAvIDggKSBjYWxjKCB2YXIoLS1jay10b2RvLWxpc3QtY2hlY2ttYXJrLXNpemUpIC8gOCApIDA7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHR9XG4uY2stY29udGVudCAudG9kby1saXN0IC50b2RvLWxpc3RfX2xhYmVsID4gaW5wdXRbY2hlY2tlZF06OmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBoc2woMTI2LCA2NCUsIDQxJSk7XG5cdFx0XHRib3JkZXItY29sb3I6IGhzbCgxMjYsIDY0JSwgNDElKTtcblx0XHR9XG4uY2stY29udGVudCAudG9kby1saXN0IC50b2RvLWxpc3RfX2xhYmVsID4gaW5wdXRbY2hlY2tlZF06OmFmdGVyIHtcblx0XHRcdGJvcmRlci1jb2xvcjogaHNsKDAsIDAlLCAxMDAlKTtcblx0XHR9XG4uY2stY29udGVudCAudG9kby1saXN0IC50b2RvLWxpc3RfX2xhYmVsIC50b2RvLWxpc3RfX2xhYmVsX19kZXNjcmlwdGlvbiB7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdH1cbi5jay1jb250ZW50IC50b2RvLWxpc3QgLnRvZG8tbGlzdF9fbGFiZWwudG9kby1saXN0X19sYWJlbF93aXRob3V0LWRlc2NyaXB0aW9uIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR9XG5cbi8qXG4gKiBUby1kbyBsaXN0IGVkaXRpbmcgdmlldyBzdHlsZXMuXG4gKi9cbi8qXG5cdCAqIFRvLWRvIGxpc3Qgc2hvdWxkIGJlIGludGVyYWN0aXZlIG9ubHkgZHVyaW5nIHRoZSBlZGl0aW5nXG5cdCAqIChodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8yMDkwKS5cblx0ICovXG4uY2stZWRpdG9yX19lZGl0YWJsZS5jay1jb250ZW50IC50b2RvLWxpc3QgLnRvZG8tbGlzdF9fbGFiZWwgPiBpbnB1dCxcblx0LmNrLWVkaXRvcl9fZWRpdGFibGUuY2stY29udGVudCAudG9kby1saXN0IC50b2RvLWxpc3RfX2xhYmVsID4gc3Bhbltjb250ZW50ZWRpdGFibGU9ZmFsc2VdID4gaW5wdXQge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stY29udGVudCAudG9kby1saXN0IC50b2RvLWxpc3RfX2xhYmVsID4gaW5wdXQ6aG92ZXI6OmJlZm9yZSwgLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stY29udGVudCAudG9kby1saXN0IC50b2RvLWxpc3RfX2xhYmVsID4gc3Bhbltjb250ZW50ZWRpdGFibGU9ZmFsc2VdID4gaW5wdXQ6aG92ZXI6OmJlZm9yZSB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCA1cHggaHNsYSgwLCAwJSwgMCUsIDAuMSk7XG5cdFx0fVxuLypcblx0ICogRG9jdW1lbnQgTGlzdHMgLSBlZGl0aW5nIHZpZXcgaGFzIGFuIGFkZGl0aW9uYWwgc3BhbiBhcm91bmQgY2hlY2tib3guXG5cdCAqL1xuLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stY29udGVudCAudG9kby1saXN0IC50b2RvLWxpc3RfX2xhYmVsID4gc3Bhbltjb250ZW50ZWRpdGFibGU9ZmFsc2VdID4gaW5wdXQge1xuXHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOiB2YXIoLS1jay10b2RvLWxpc3QtY2hlY2ttYXJrLXNpemUpO1xuXHRcdGhlaWdodDogdmFyKC0tY2stdG9kby1saXN0LWNoZWNrbWFyay1zaXplKTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdC8qIE5lZWRlZCBvbiBpT1MgKi9cblx0XHRib3JkZXI6IDA7XG5cdFx0LyogTFRSIHN0eWxlcyAqL1xuXHRcdGxlZnQ6IC0yNXB4O1xuXHRcdG1hcmdpbi1yaWdodDogLTE1cHg7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0LyogUlRMIHN0eWxlcyAqL1xuXHR9XG4uY2stZWRpdG9yX19lZGl0YWJsZS5jay1jb250ZW50W2Rpcj1ydGxdIC50b2RvLWxpc3QgLnRvZG8tbGlzdF9fbGFiZWwgPiBzcGFuW2NvbnRlbnRlZGl0YWJsZT1mYWxzZV0gPiBpbnB1dCB7XG5cdFx0bGVmdDogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0cmlnaHQ6IC0yNXB4O1xuXHRcdG1hcmdpbi1sZWZ0OiAtMTVweDtcblx0fVxuLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stY29udGVudCAudG9kby1saXN0IC50b2RvLWxpc3RfX2xhYmVsID4gc3Bhbltjb250ZW50ZWRpdGFibGU9ZmFsc2VdID4gaW5wdXQ6OmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIGhzbCgwLCAwJSwgMjAlKTtcblx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0dHJhbnNpdGlvbjogMjUwbXMgZWFzZS1pbi1vdXQgYm94LXNoYWRvdztcblx0fVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbi5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWNvbnRlbnQgLnRvZG8tbGlzdCAudG9kby1saXN0X19sYWJlbCA+IHNwYW5bY29udGVudGVkaXRhYmxlPWZhbHNlXSA+IGlucHV0OjpiZWZvcmUge1xuXHRcdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0fVxuXHRcdH1cbi5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWNvbnRlbnQgLnRvZG8tbGlzdCAudG9kby1saXN0X19sYWJlbCA+IHNwYW5bY29udGVudGVkaXRhYmxlPWZhbHNlXSA+IGlucHV0OjphZnRlciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXG5cdFx0LyogQ2FsY3VsYXRlIHRpY2sgcG9zaXRpb24sIHNpemUgYW5kIGJvcmRlci13aWR0aCBwcm9wb3J0aW9uYWwgdG8gdGhlIGNoZWNrbWFyayBzaXplLiAqL1xuXHRcdGxlZnQ6IGNhbGMoIHZhcigtLWNrLXRvZG8tbGlzdC1jaGVja21hcmstc2l6ZSkgLyAzICk7XG5cdFx0dG9wOiBjYWxjKCB2YXIoLS1jay10b2RvLWxpc3QtY2hlY2ttYXJrLXNpemUpIC8gNS4zICk7XG5cdFx0d2lkdGg6IGNhbGMoIHZhcigtLWNrLXRvZG8tbGlzdC1jaGVja21hcmstc2l6ZSkgLyA1LjMgKTtcblx0XHRoZWlnaHQ6IGNhbGMoIHZhcigtLWNrLXRvZG8tbGlzdC1jaGVja21hcmstc2l6ZSkgLyAyLjYgKTtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIGNhbGMoIHZhcigtLWNrLXRvZG8tbGlzdC1jaGVja21hcmstc2l6ZSkgLyA4ICkgY2FsYyggdmFyKC0tY2stdG9kby1saXN0LWNoZWNrbWFyay1zaXplKSAvIDggKSAwO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0fVxuLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stY29udGVudCAudG9kby1saXN0IC50b2RvLWxpc3RfX2xhYmVsID4gc3Bhbltjb250ZW50ZWRpdGFibGU9ZmFsc2VdID4gaW5wdXRbY2hlY2tlZF06OmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBoc2woMTI2LCA2NCUsIDQxJSk7XG5cdFx0XHRib3JkZXItY29sb3I6IGhzbCgxMjYsIDY0JSwgNDElKTtcblx0XHR9XG4uY2stZWRpdG9yX19lZGl0YWJsZS5jay1jb250ZW50IC50b2RvLWxpc3QgLnRvZG8tbGlzdF9fbGFiZWwgPiBzcGFuW2NvbnRlbnRlZGl0YWJsZT1mYWxzZV0gPiBpbnB1dFtjaGVja2VkXTo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiBoc2woMCwgMCUsIDEwMCUpO1xuXHRcdH1cbi5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWNvbnRlbnQgLnRvZG8tbGlzdCAudG9kby1saXN0X19sYWJlbC50b2RvLWxpc3RfX2xhYmVsX3dpdGhvdXQtZGVzY3JpcHRpb24gaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLWNvbnRlbnQgLm1lZGlhIHtcblx0LyogRG9uJ3QgYWxsb3cgZmxvYXRlZCBjb250ZW50IG92ZXJsYXAgdGhlIG1lZGlhLlxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LW1lZGlhLWVtYmVkL2lzc3Vlcy81MyAqL1xuXHRjbGVhcjogYm90aDtcblxuXHQvKiBNYWtlIHN1cmUgdGhlcmUgaXMgc29tZSBzcGFjZSBiZXR3ZWVuIHRoZSBjb250ZW50IGFuZCB0aGUgbWVkaWEuICovXG5cdC8qIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgZXF1YWwgdG8gLS1jay1zcGFjaW5nLWxhcmdlIHZhcmlhYmxlIGlmIHVzZWQgaW4gdGhlIGVkaXRvciBjb250ZXh0XG5cdHRvIGF2b2lkIHRoZSBjb250ZW50IGp1bXBpbmcgKFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy85ODI1KS4gKi9cblx0bWFyZ2luOiAwLjllbSAwO1xuXG5cdC8qIE1ha2Ugc3VyZSBtZWRpYSBpcyBub3Qgb3ZlcnJpZGVuIHdpdGggQm9vdHN0cmFwIGRlZmF1bHQgYGZsZXhgIHZhbHVlLlxuXHRTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzEzNzMuICovXG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdC8qIEdpdmUgdGhlIG1lZGlhIHNvbWUgbWluaW1hbCB3aWR0aCBpbiB0aGUgY29udGVudCB0byBwcmV2ZW50IHRoZW1cblx0ZnJvbSBiZWluZyBcInNxdWFzaGVkXCIgaW4gdGlnaHQgc3BhY2VzLCBlLmcuIGluIHRhYmxlIGNlbGxzICgjNDQpICovXG5cdG1pbi13aWR0aDogMTVlbTtcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLW1lZGlhX193cmFwcGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybCB7XG5cdFx0XHQvKiBPdGhlcndpc2UgdGhlIFVSTCB3aWxsIG92ZXJmbG93IHdoZW4gdGhlIGNvbnRlbnQgaXMgdmVyeSBuYXJyb3cuICovXG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybCAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmxfX3RleHQge1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblxuLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJ0d2l0dGVyLmNvbVwiXSAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uICosIC5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiZ29vZ2xlLmNvbS9tYXBzXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX2ljb24gKiwgLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJnb28uZ2wvbWFwc1wiXSAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uICosIC5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwibWFwcy5nb29nbGUuY29tXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX2ljb24gKiwgLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJtYXBzLmFwcC5nb28uZ2xcIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiAqLCAuY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cImZhY2Vib29rLmNvbVwiXSAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uICosIC5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiaW5zdGFncmFtLmNvbVwiXSAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uICoge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cbi8qIERpc2FibGUgYWxsIG1vdXNlIGludGVyYWN0aW9uIGFzIGxvbmcgYXMgdGhlIGVkaXRvciBpcyBub3QgcmVhZOKAk29ubHkuXG4gICBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LW1lZGlhLWVtYmVkL2lzc3Vlcy81OCAqL1xuLmNrLWVkaXRvcl9fZWRpdGFibGU6bm90KC5jay1yZWFkLW9ubHkpIC5jay1tZWRpYV9fd3JhcHBlciA+ICo6bm90KC5jay1tZWRpYV9fcGxhY2Vob2xkZXIpIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIERpc2FibGUgYWxsIG1vdXNlIGludGVyYWN0aW9uIHdoZW4gdGhlIHdpZGdldCBpcyBub3Qgc2VsZWN0ZWQgKGUuZy4gdG8gYXZvaWQgb3BlbmluZyBsaW5rcyBieSBhY2NpZGVudCkuXG4gICBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LW1lZGlhLWVtYmVkL2lzc3Vlcy8xOCAqL1xuLmNrLWVkaXRvcl9fZWRpdGFibGU6bm90KC5jay1yZWFkLW9ubHkpIC5jay13aWRnZXQ6bm90KC5jay13aWRnZXRfc2VsZWN0ZWQpIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLXZlcnRpY2FsLWZvcm0gLmNrLWJ1dHRvbjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0d2lkdGg6IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAtMXB4O1xuXHRcdHRvcDogLTFweDtcblx0XHRib3R0b206IC0xcHg7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXG4uY2stdmVydGljYWwtZm9ybSAuY2stYnV0dG9uOmZvY3VzOjphZnRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdFx0LmNrLmNrLXJlc3BvbnNpdmUtZm9ybSAuY2stYnV0dG9uOjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHdpZHRoOiAwO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiAtMXB4O1xuXHRcdFx0XHR0b3A6IC0xcHg7XG5cdFx0XHRcdGJvdHRvbTogLTFweDtcblx0XHRcdFx0ei1pbmRleDogMTtcblx0XHRcdH1cblxuXHRcdFx0LmNrLmNrLXJlc3BvbnNpdmUtZm9ybSAuY2stYnV0dG9uOmZvY3VzOjphZnRlciB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLW1lZGlhLWZvcm0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleC13cmFwOiBub3dyYXA7XG5cdHdpZHRoOiA0MDBweDtcbn1cblxuLmNrLmNrLW1lZGlhLWZvcm0gLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cbi5jay5jay1tZWRpYS1mb3JtIC5jay1sYWJlbCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG4uY2suY2stbWVkaWEtZm9ybSAuY2staW5wdXQge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cbi5jay5jay1tZWRpYS1mb3JtIHtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG59XG5cblx0XHQuY2suY2stbWVkaWEtZm9ybSAuY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0XHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0fVxuXG5cdFx0LmNrLmNrLW1lZGlhLWZvcm0gLmNrLWJ1dHRvbiB7XG5cdFx0XHRmbGV4LWJhc2lzOiA1MCU7XG5cdFx0fVxuXHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1tZW50aW9uLWxpc3QtbWF4LWhlaWdodDogMzAwcHg7XG59XG5cbi5jay5jay1tZW50aW9ucyB7XG5cdG1heC1oZWlnaHQ6IHZhcigtLWNrLW1lbnRpb24tbGlzdC1tYXgtaGVpZ2h0KTtcblxuXHRvdmVyZmxvdy15OiBhdXRvO1xuXG5cdC8qIFByZXZlbnQgdW5uZWNlc3NhcnkgaG9yaXpvbnRhbCBzY3JvbGxiYXIgaW4gU2FmYXJpXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbWVudGlvbi9pc3N1ZXMvNDEgKi9cblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXG5cdG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG5cblx0LyogUHJldmVudCB1bm5lY2Vzc2FyeSB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gU2FmYXJpXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbWVudGlvbi9pc3N1ZXMvNDEgKi9cbn1cblxuLmNrLmNrLW1lbnRpb25zID4gLmNrLWxpc3RfX2l0ZW0ge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0ZmxleC1zaHJpbms6IDA7XG5cdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLW1pbmltYXAtdHJhY2tlci1iYWNrZ3JvdW5kOiAyMDgsIDAlLCA1MSU7XG5cdC0tY2stY29sb3ItbWluaW1hcC1pZnJhbWUtb3V0bGluZTogaHNsKDBkZWcgMCUgNzUlKTtcblx0LS1jay1jb2xvci1taW5pbWFwLWlmcmFtZS1zaGFkb3c6IGhzbCgwZGVnIDAlIDAlIC8gMTElKTtcblx0LS1jay1jb2xvci1taW5pbWFwLXByb2dyZXNzLWJhY2tncm91bmQ6IGhzbCgwLDAlLDQwJSk7XG59XG5cbi5jay5jay1taW5pbWFwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcbn1cblxuLmNrLmNrLW1pbmltYXAsXG5cdC5jay5jay1taW5pbWFwIGlmcmFtZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG5cbi5jay5jay1taW5pbWFwIGlmcmFtZSB7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItbWluaW1hcC1pZnJhbWUtb3V0bGluZSk7XG5cdFx0Ym94LXNoYWRvdzogMCAycHggNXB4IHZhcigtLWNrLWNvbG9yLW1pbmltYXAtaWZyYW1lLXNoYWRvdyk7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cbi5jay5jay1taW5pbWFwIC5jay5jay1taW5pbWFwX19wb3NpdGlvbi10cmFja2VyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dG9wOiAwO1xuXHRcdGJhY2tncm91bmQ6IGhzbGEoIHZhcigtLWNrLWNvbG9yLW1pbmltYXAtdHJhY2tlci1iYWNrZ3JvdW5kKSwgLjIgKTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQgMTAwbXMgZWFzZS1pbi1vdXQ7XG5cdH1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblxuLmNrLmNrLW1pbmltYXAgLmNrLmNrLW1pbmltYXBfX3Bvc2l0aW9uLXRyYWNrZXIge1xuXHRcdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0fVxuXHRcdH1cblxuLmNrLmNrLW1pbmltYXAgLmNrLmNrLW1pbmltYXBfX3Bvc2l0aW9uLXRyYWNrZXI6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDpoc2xhKCB2YXIoLS1jay1jb2xvci1taW5pbWFwLXRyYWNrZXItYmFja2dyb3VuZCksIC4zICk7XG5cdFx0fVxuXG4uY2suY2stbWluaW1hcCAuY2suY2stbWluaW1hcF9fcG9zaXRpb24tdHJhY2tlci5jay1taW5pbWFwX19wb3NpdGlvbi10cmFja2VyX2RyYWdnaW5nLFxuXHRcdC5jay5jay1taW5pbWFwIC5jay5jay1taW5pbWFwX19wb3NpdGlvbi10cmFja2VyLmNrLW1pbmltYXBfX3Bvc2l0aW9uLXRyYWNrZXJfZHJhZ2dpbmc6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDpoc2xhKCB2YXIoLS1jay1jb2xvci1taW5pbWFwLXRyYWNrZXItYmFja2dyb3VuZCksIC40ICk7XG5cdFx0fVxuXG4uY2suY2stbWluaW1hcCAuY2suY2stbWluaW1hcF9fcG9zaXRpb24tdHJhY2tlci5jay1taW5pbWFwX19wb3NpdGlvbi10cmFja2VyX2RyYWdnaW5nOjphZnRlciwgLmNrLmNrLW1pbmltYXAgLmNrLmNrLW1pbmltYXBfX3Bvc2l0aW9uLXRyYWNrZXIuY2stbWluaW1hcF9fcG9zaXRpb24tdHJhY2tlcl9kcmFnZ2luZzpob3Zlcjo6YWZ0ZXIge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXG4uY2suY2stbWluaW1hcCAuY2suY2stbWluaW1hcF9fcG9zaXRpb24tdHJhY2tlcjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogYXR0cihkYXRhLXByb2dyZXNzKSBcIiVcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNXB4O1xuXHRcdFx0cmlnaHQ6IDVweDtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLW1pbmltYXAtcHJvZ3Jlc3MtYmFja2dyb3VuZCk7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdFx0XHRwYWRkaW5nOiAycHggNHB4O1xuXHRcdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXMgZWFzZS1pbi1vdXQ7XG5cdFx0fVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXG4uY2suY2stbWluaW1hcCAuY2suY2stbWluaW1hcF9fcG9zaXRpb24tdHJhY2tlcjo6YWZ0ZXIge1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHRcdH1cblx0XHRcdH1cblxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2stY29udGVudCAucGFnZS1icmVhayB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y2xlYXI6IGJvdGg7XG5cdHBhZGRpbmc6IDVweCAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmNrLWNvbnRlbnQgLnBhZ2UtYnJlYWs6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMnB4IGRhc2hlZCBoc2woMCwgMCUsIDc3JSk7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuLmNrLWNvbnRlbnQgLnBhZ2UtYnJlYWtfX2xhYmVsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXHRwYWRkaW5nOiAuM2VtIC42ZW07XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRib3JkZXI6IDFweCBzb2xpZCBoc2woMCwgMCUsIDc3JSk7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0Zm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIFRhaG9tYSwgVmVyZGFuYSwgU2Fucy1TZXJpZjtcblx0Zm9udC1zaXplOiAwLjc1ZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRjb2xvcjogaHNsKDAsIDAlLCAyMCUpO1xuXHRiYWNrZ3JvdW5kOiBoc2woMCwgMCUsIDEwMCUpO1xuXHRib3gtc2hhZG93OiAycHggMnB4IDFweCBoc2xhKDAsIDAlLCAwJSwgMC4xNSk7XG5cblx0LyogRGlzYWJsZSB0aGUgcG9zc2liaWxpdHkgdG8gc2VsZWN0IHRoZSBsYWJlbCB0ZXh0IGJ5IHRoZSB1c2VyLiAqL1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vKiBEbyBub3Qgc2hvdyB0aGUgcGFnZSBicmVhayBlbGVtZW50IGluc2lkZSB0aGUgcHJpbnQgcHJldmlldyB3aW5kb3cuICovXG5AbWVkaWEgcHJpbnQge1xuXHQuY2stY29udGVudCAucGFnZS1icmVhayB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdFx0LmNrLWNvbnRlbnQgLnBhZ2UtYnJlYWs6OmFmdGVyIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdC8qXG5cdCAqIEZyb20gdGltZSB0byB0aW1lIHBsYWNpbmcgcGFnZS1icmVhayBkaXJlY3RseSBhZnRlciBhIGJsb2NrIGVsZW1lbnQgd2l0aCBtYXJnaW4gY2F1c2VzIGFwcGVuZGluZyBhIG5ldyBibGFuayBwYWdlIGluIHBhZ2luYXRpb24gbW9kZS5cblx0ICogUmVtb3ZpbmcgbWFyZ2luLWJvdHRvbSBmcm9tIHRoZSBibG9jayBlbGVtZW50IGZpeGVzIHRoYXQgaXNzdWUgYW5kIHRoZSBtYXJnaW4gaXMgbm90IGJlaW5nIG1vdmVkIHRvIHRoZSBuZXh0IGJsYW5rIHBhZ2UuXG5cdCAqXG5cdCAqIEtlZXAgdGhpcyBpbiBzeW5jIHdpdGggdGhlIHBhZ2luYXRpb24gcGx1Z2lucy5cblx0ICovXG5cdC5jay1jb250ZW50ICo6aGFzKCsgLnBhZ2UtYnJlYWspIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1zaG93LWJsb2Nrcy1ib3JkZXItY29sb3I6IGhzbCgwLCAwJSwgNDYlKTtcbn1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGFkZHJlc3Mge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdFx0LyogRml4IGZvciBNdWx0aS1yb290IGVkaXRvclxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNTk2OSAqL1xuXHR9XG5cbltkaXI9bHRyXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgYWRkcmVzcyB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMycgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkFERFJFU1M8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDFweCAxcHg7XG5cdH1cblxuW2Rpcj1ydGxdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBhZGRyZXNzIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+QUREUkVTUzwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMXB4KSAxcHg7XG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGFkZHJlc3M6bm90KC5jay13aWRnZXRfc2VsZWN0ZWQpOm5vdCguY2std2lkZ2V0OmhvdmVyKSB7XG5cdFx0b3V0bGluZTogMXB4IGRhc2hlZCB2YXIoLS1jay1zaG93LWJsb2Nrcy1ib3JkZXItY29sb3IpO1xuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGFkZHJlc3Mge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5BRERSRVNTPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggMXB4O1xuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGFkZHJlc3Mge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpOyB0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsIDApJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzEwMCUnIHRleHQtYW5jaG9yPSdlbmQnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5BRERSRVNTPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxcHgpIDFweDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgYXNpZGUge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdFx0LyogRml4IGZvciBNdWx0aS1yb290IGVkaXRvclxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNTk2OSAqL1xuXHR9XG5cbltkaXI9bHRyXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgYXNpZGUge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5BU0lERTwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPXJ0bF0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGFzaWRlIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+QVNJREU8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBhc2lkZTpub3QoLmNrLXdpZGdldF9zZWxlY3RlZCk6bm90KC5jay13aWRnZXQ6aG92ZXIpIHtcblx0XHRvdXRsaW5lOiAxcHggZGFzaGVkIHZhcigtLWNrLXNob3ctYmxvY2tzLWJvcmRlci1jb2xvcik7XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgYXNpZGUge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5BU0lERTwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBhc2lkZSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCk7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwgMCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMTAwJScgdGV4dC1hbmNob3I9J2VuZCcgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkFTSURFPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxcHgpIDFweDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgYmxvY2txdW90ZSB7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0XHQvKiBGaXggZm9yIE11bHRpLXJvb3QgZWRpdG9yXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE1OTY5ICovXG5cdH1cblxuW2Rpcj1sdHJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBibG9ja3F1b3RlIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PSczJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+QkxPQ0tRVU9URTwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPXJ0bF0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGJsb2NrcXVvdGUge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpOyB0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsIDApJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzEwMCUnIHRleHQtYW5jaG9yPSdlbmQnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5CTE9DS1FVT1RFPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxcHgpIDFweDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgYmxvY2txdW90ZTpub3QoLmNrLXdpZGdldF9zZWxlY3RlZCk6bm90KC5jay13aWRnZXQ6aG92ZXIpIHtcblx0XHRvdXRsaW5lOiAxcHggZGFzaGVkIHZhcigtLWNrLXNob3ctYmxvY2tzLWJvcmRlci1jb2xvcik7XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgYmxvY2txdW90ZSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMycgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkJMT0NLUVVPVEU8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDFweCAxcHg7XG5cdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgYmxvY2txdW90ZSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCk7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwgMCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMTAwJScgdGV4dC1hbmNob3I9J2VuZCcgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkJMT0NLUVVPVEU8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBkZXRhaWxzIHtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRcdC8qIEZpeCBmb3IgTXVsdGktcm9vdCBlZGl0b3Jcblx0aHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTU5NjkgKi9cblx0fVxuXG5bZGlyPWx0cl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGRldGFpbHMge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5ERVRBSUxTPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggMXB4O1xuXHR9XG5cbltkaXI9cnRsXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgZGV0YWlscyB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCk7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwgMCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMTAwJScgdGV4dC1hbmNob3I9J2VuZCcgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkRFVEFJTFM8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBkZXRhaWxzOm5vdCguY2std2lkZ2V0X3NlbGVjdGVkKTpub3QoLmNrLXdpZGdldDpob3Zlcikge1xuXHRcdG91dGxpbmU6IDFweCBkYXNoZWQgdmFyKC0tY2stc2hvdy1ibG9ja3MtYm9yZGVyLWNvbG9yKTtcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBkZXRhaWxzIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PSczJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+REVUQUlMUzwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBkZXRhaWxzIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+REVUQUlMUzwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMXB4KSAxcHg7XG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGRpdjpub3QoLmNrLXdpZGdldCwgLmNrLXdpZGdldCAqKSB7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0XHQvKiBGaXggZm9yIE11bHRpLXJvb3QgZWRpdG9yXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE1OTY5ICovXG5cdH1cblxuW2Rpcj1sdHJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBkaXY6bm90KC5jay13aWRnZXQsIC5jay13aWRnZXQgKikge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5ESVY8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDFweCAxcHg7XG5cdH1cblxuW2Rpcj1ydGxdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBkaXY6bm90KC5jay13aWRnZXQsIC5jay13aWRnZXQgKikge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpOyB0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsIDApJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzEwMCUnIHRleHQtYW5jaG9yPSdlbmQnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5ESVY8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBkaXY6bm90KC5jay13aWRnZXQsIC5jay13aWRnZXQgKik6bm90KC5jay13aWRnZXRfc2VsZWN0ZWQpOm5vdCguY2std2lkZ2V0OmhvdmVyKSB7XG5cdFx0b3V0bGluZTogMXB4IGRhc2hlZCB2YXIoLS1jay1zaG93LWJsb2Nrcy1ib3JkZXItY29sb3IpO1xuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGRpdjpub3QoLmNrLXdpZGdldCwgLmNrLXdpZGdldCAqKSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMycgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkRJVjwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBkaXY6bm90KC5jay13aWRnZXQsIC5jay13aWRnZXQgKikge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpOyB0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsIDApJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzEwMCUnIHRleHQtYW5jaG9yPSdlbmQnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5ESVY8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBmb290ZXIge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdFx0LyogRml4IGZvciBNdWx0aS1yb290IGVkaXRvclxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNTk2OSAqL1xuXHR9XG5cbltkaXI9bHRyXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgZm9vdGVyIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PSczJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+Rk9PVEVSPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggMXB4O1xuXHR9XG5cbltkaXI9cnRsXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgZm9vdGVyIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+Rk9PVEVSPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxcHgpIDFweDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgZm9vdGVyOm5vdCguY2std2lkZ2V0X3NlbGVjdGVkKTpub3QoLmNrLXdpZGdldDpob3Zlcikge1xuXHRcdG91dGxpbmU6IDFweCBkYXNoZWQgdmFyKC0tY2stc2hvdy1ibG9ja3MtYm9yZGVyLWNvbG9yKTtcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBmb290ZXIge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5GT09URVI8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDFweCAxcHg7XG5cdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgZm9vdGVyIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+Rk9PVEVSPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxcHgpIDFweDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDEge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdFx0LyogRml4IGZvciBNdWx0aS1yb290IGVkaXRvclxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNTk2OSAqL1xuXHR9XG5cbltkaXI9bHRyXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDEge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5IMTwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPXJ0bF0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGgxIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+SDE8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBoMTpub3QoLmNrLXdpZGdldF9zZWxlY3RlZCk6bm90KC5jay13aWRnZXQ6aG92ZXIpIHtcblx0XHRvdXRsaW5lOiAxcHggZGFzaGVkIHZhcigtLWNrLXNob3ctYmxvY2tzLWJvcmRlci1jb2xvcik7XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDEge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5IMTwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBoMSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCk7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwgMCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMTAwJScgdGV4dC1hbmNob3I9J2VuZCcgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkgxPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxcHgpIDFweDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDIge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdFx0LyogRml4IGZvciBNdWx0aS1yb290IGVkaXRvclxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNTk2OSAqL1xuXHR9XG5cbltkaXI9bHRyXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDIge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5IMjwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPXJ0bF0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGgyIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+SDI8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBoMjpub3QoLmNrLXdpZGdldF9zZWxlY3RlZCk6bm90KC5jay13aWRnZXQ6aG92ZXIpIHtcblx0XHRvdXRsaW5lOiAxcHggZGFzaGVkIHZhcigtLWNrLXNob3ctYmxvY2tzLWJvcmRlci1jb2xvcik7XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDIge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5IMjwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBoMiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCk7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwgMCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMTAwJScgdGV4dC1hbmNob3I9J2VuZCcgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkgyPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxcHgpIDFweDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDMge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdFx0LyogRml4IGZvciBNdWx0aS1yb290IGVkaXRvclxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNTk2OSAqL1xuXHR9XG5cbltkaXI9bHRyXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDMge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5IMzwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPXJ0bF0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGgzIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+SDM8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBoMzpub3QoLmNrLXdpZGdldF9zZWxlY3RlZCk6bm90KC5jay13aWRnZXQ6aG92ZXIpIHtcblx0XHRvdXRsaW5lOiAxcHggZGFzaGVkIHZhcigtLWNrLXNob3ctYmxvY2tzLWJvcmRlci1jb2xvcik7XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDMge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5IMzwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBoMyB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCk7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwgMCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMTAwJScgdGV4dC1hbmNob3I9J2VuZCcgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkgzPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxcHgpIDFweDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDQge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdFx0LyogRml4IGZvciBNdWx0aS1yb290IGVkaXRvclxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNTk2OSAqL1xuXHR9XG5cbltkaXI9bHRyXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDQge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5INDwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPXJ0bF0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGg0IHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+SDQ8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBoNDpub3QoLmNrLXdpZGdldF9zZWxlY3RlZCk6bm90KC5jay13aWRnZXQ6aG92ZXIpIHtcblx0XHRvdXRsaW5lOiAxcHggZGFzaGVkIHZhcigtLWNrLXNob3ctYmxvY2tzLWJvcmRlci1jb2xvcik7XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDQge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5INDwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBoNCB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCk7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwgMCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMTAwJScgdGV4dC1hbmNob3I9J2VuZCcgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkg0PC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxcHgpIDFweDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDUge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdFx0LyogRml4IGZvciBNdWx0aS1yb290IGVkaXRvclxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNTk2OSAqL1xuXHR9XG5cbltkaXI9bHRyXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDUge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5INTwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPXJ0bF0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGg1IHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+SDU8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBoNTpub3QoLmNrLXdpZGdldF9zZWxlY3RlZCk6bm90KC5jay13aWRnZXQ6aG92ZXIpIHtcblx0XHRvdXRsaW5lOiAxcHggZGFzaGVkIHZhcigtLWNrLXNob3ctYmxvY2tzLWJvcmRlci1jb2xvcik7XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDUge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5INTwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBoNSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCk7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwgMCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMTAwJScgdGV4dC1hbmNob3I9J2VuZCcgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkg1PC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxcHgpIDFweDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDYge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdFx0LyogRml4IGZvciBNdWx0aS1yb290IGVkaXRvclxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNTk2OSAqL1xuXHR9XG5cbltkaXI9bHRyXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDYge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5INjwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPXJ0bF0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGg2IHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+SDY8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBoNjpub3QoLmNrLXdpZGdldF9zZWxlY3RlZCk6bm90KC5jay13aWRnZXQ6aG92ZXIpIHtcblx0XHRvdXRsaW5lOiAxcHggZGFzaGVkIHZhcigtLWNrLXNob3ctYmxvY2tzLWJvcmRlci1jb2xvcik7XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaDYge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5INjwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBoNiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCk7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwgMCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMTAwJScgdGV4dC1hbmNob3I9J2VuZCcgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkg2PC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxcHgpIDFweDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaGVhZGVyIHtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRcdC8qIEZpeCBmb3IgTXVsdGktcm9vdCBlZGl0b3Jcblx0aHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTU5NjkgKi9cblx0fVxuXG5bZGlyPWx0cl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGhlYWRlciB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMycgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkhFQURFUjwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPXJ0bF0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGhlYWRlciB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCk7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwgMCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMTAwJScgdGV4dC1hbmNob3I9J2VuZCcgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkhFQURFUjwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMXB4KSAxcHg7XG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGhlYWRlcjpub3QoLmNrLXdpZGdldF9zZWxlY3RlZCk6bm90KC5jay13aWRnZXQ6aG92ZXIpIHtcblx0XHRvdXRsaW5lOiAxcHggZGFzaGVkIHZhcigtLWNrLXNob3ctYmxvY2tzLWJvcmRlci1jb2xvcik7XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgaGVhZGVyIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PSczJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+SEVBREVSPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggMXB4O1xuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIGhlYWRlciB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCk7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwgMCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMTAwJScgdGV4dC1hbmNob3I9J2VuZCcgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkhFQURFUjwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMXB4KSAxcHg7XG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIG1haW4ge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdFx0LyogRml4IGZvciBNdWx0aS1yb290IGVkaXRvclxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNTk2OSAqL1xuXHR9XG5cbltkaXI9bHRyXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgbWFpbiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMycgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPk1BSU48L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDFweCAxcHg7XG5cdH1cblxuW2Rpcj1ydGxdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBtYWluIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+TUFJTjwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMXB4KSAxcHg7XG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIG1haW46bm90KC5jay13aWRnZXRfc2VsZWN0ZWQpOm5vdCguY2std2lkZ2V0OmhvdmVyKSB7XG5cdFx0b3V0bGluZTogMXB4IGRhc2hlZCB2YXIoLS1jay1zaG93LWJsb2Nrcy1ib3JkZXItY29sb3IpO1xuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIG1haW4ge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5NQUlOPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggMXB4O1xuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIG1haW4ge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpOyB0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsIDApJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzEwMCUnIHRleHQtYW5jaG9yPSdlbmQnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5NQUlOPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxcHgpIDFweDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgbmF2IHtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRcdC8qIEZpeCBmb3IgTXVsdGktcm9vdCBlZGl0b3Jcblx0aHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTU5NjkgKi9cblx0fVxuXG5bZGlyPWx0cl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIG5hdiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMycgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPk5BVjwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPXJ0bF0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIG5hdiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCk7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwgMCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMTAwJScgdGV4dC1hbmNob3I9J2VuZCcgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPk5BVjwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMXB4KSAxcHg7XG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIG5hdjpub3QoLmNrLXdpZGdldF9zZWxlY3RlZCk6bm90KC5jay13aWRnZXQ6aG92ZXIpIHtcblx0XHRvdXRsaW5lOiAxcHggZGFzaGVkIHZhcigtLWNrLXNob3ctYmxvY2tzLWJvcmRlci1jb2xvcik7XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgbmF2IHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PSczJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+TkFWPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggMXB4O1xuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIG5hdiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCk7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwgMCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMTAwJScgdGV4dC1hbmNob3I9J2VuZCcgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPk5BVjwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMXB4KSAxcHg7XG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIHByZSB7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0XHQvKiBGaXggZm9yIE11bHRpLXJvb3QgZWRpdG9yXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE1OTY5ICovXG5cdH1cblxuW2Rpcj1sdHJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBwcmUge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5QUkU8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDFweCAxcHg7XG5cdH1cblxuW2Rpcj1ydGxdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBwcmUge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpOyB0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsIDApJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzEwMCUnIHRleHQtYW5jaG9yPSdlbmQnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5QUkU8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBwcmU6bm90KC5jay13aWRnZXRfc2VsZWN0ZWQpOm5vdCguY2std2lkZ2V0OmhvdmVyKSB7XG5cdFx0b3V0bGluZTogMXB4IGRhc2hlZCB2YXIoLS1jay1zaG93LWJsb2Nrcy1ib3JkZXItY29sb3IpO1xuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIHByZSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMycgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPlBSRTwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBwcmUge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpOyB0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsIDApJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzEwMCUnIHRleHQtYW5jaG9yPSdlbmQnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5QUkU8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBvbCB7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0XHQvKiBGaXggZm9yIE11bHRpLXJvb3QgZWRpdG9yXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE1OTY5ICovXG5cdH1cblxuW2Rpcj1sdHJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBvbCB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMycgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPk9MPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggMXB4O1xuXHR9XG5cbltkaXI9cnRsXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgb2wge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpOyB0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsIDApJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzEwMCUnIHRleHQtYW5jaG9yPSdlbmQnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5PTDwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMXB4KSAxcHg7XG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIG9sOm5vdCguY2std2lkZ2V0X3NlbGVjdGVkKTpub3QoLmNrLXdpZGdldDpob3Zlcikge1xuXHRcdG91dGxpbmU6IDFweCBkYXNoZWQgdmFyKC0tY2stc2hvdy1ibG9ja3MtYm9yZGVyLWNvbG9yKTtcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBvbCB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMycgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPk9MPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggMXB4O1xuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIG9sIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+T0w8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSB1bCB7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0XHQvKiBGaXggZm9yIE11bHRpLXJvb3QgZWRpdG9yXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE1OTY5ICovXG5cdH1cblxuW2Rpcj1sdHJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSB1bCB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMycgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPlVMPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggMXB4O1xuXHR9XG5cbltkaXI9cnRsXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgdWwge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpOyB0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsIDApJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzEwMCUnIHRleHQtYW5jaG9yPSdlbmQnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5VTDwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMXB4KSAxcHg7XG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIHVsOm5vdCguY2std2lkZ2V0X3NlbGVjdGVkKTpub3QoLmNrLXdpZGdldDpob3Zlcikge1xuXHRcdG91dGxpbmU6IDFweCBkYXNoZWQgdmFyKC0tY2stc2hvdy1ibG9ja3MtYm9yZGVyLWNvbG9yKTtcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSB1bCB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMycgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPlVMPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggMXB4O1xuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIHVsIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+VUw8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBwIHtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRcdC8qIEZpeCBmb3IgTXVsdGktcm9vdCBlZGl0b3Jcblx0aHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTU5NjkgKi9cblx0fVxuXG5bZGlyPWx0cl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIHAge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5QPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggMXB4O1xuXHR9XG5cbltkaXI9cnRsXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgcCB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCk7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwgMCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMTAwJScgdGV4dC1hbmNob3I9J2VuZCcgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPlA8L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBwOm5vdCguY2std2lkZ2V0X3NlbGVjdGVkKTpub3QoLmNrLXdpZGdldDpob3Zlcikge1xuXHRcdG91dGxpbmU6IDFweCBkYXNoZWQgdmFyKC0tY2stc2hvdy1ibG9ja3MtYm9yZGVyLWNvbG9yKTtcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBwIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PSczJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+UDwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IDFweDtcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBwIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+UDwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMXB4KSAxcHg7XG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIHNlY3Rpb24ge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdFx0LyogRml4IGZvciBNdWx0aS1yb290IGVkaXRvclxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNTk2OSAqL1xuXHR9XG5cbltkaXI9bHRyXSAuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgc2VjdGlvbiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMycgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPlNFQ1RJT048L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDFweCAxcHg7XG5cdH1cblxuW2Rpcj1ydGxdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSBzZWN0aW9uIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+U0VDVElPTjwvdGV4dD48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMXB4KSAxcHg7XG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIHNlY3Rpb246bm90KC5jay13aWRnZXRfc2VsZWN0ZWQpOm5vdCguY2std2lkZ2V0OmhvdmVyKSB7XG5cdFx0b3V0bGluZTogMXB4IGRhc2hlZCB2YXIoLS1jay1zaG93LWJsb2Nrcy1ib3JkZXItY29sb3IpO1xuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIHNlY3Rpb24ge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5TRUNUSU9OPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggMXB4O1xuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIHNlY3Rpb24ge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpOyB0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsIDApJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzEwMCUnIHRleHQtYW5jaG9yPSdlbmQnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5TRUNUSU9OPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxcHgpIDFweDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgOndoZXJlKGZpZ3VyZS5pbWFnZSwgZmlndXJlLnRhYmxlKSBmaWdjYXB0aW9uIHtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRcdC8qIEZpeCBmb3IgTXVsdGktcm9vdCBlZGl0b3Jcblx0aHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTU5NjkgKi9cblx0fVxuXG5bZGlyPWx0cl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIDp3aGVyZShmaWd1cmUuaW1hZ2UsIGZpZ3VyZS50YWJsZSkgZmlnY2FwdGlvbiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMycgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkZJR0NBUFRJT048L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDFweCAxcHg7XG5cdH1cblxuW2Rpcj1ydGxdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSA6d2hlcmUoZmlndXJlLmltYWdlLCBmaWd1cmUudGFibGUpIGZpZ2NhcHRpb24ge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpOyB0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsIDApJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzEwMCUnIHRleHQtYW5jaG9yPSdlbmQnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5GSUdDQVBUSU9OPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxcHgpIDFweDtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkgOndoZXJlKGZpZ3VyZS5pbWFnZSwgZmlndXJlLnRhYmxlKSBmaWdjYXB0aW9uOm5vdCguY2std2lkZ2V0X3NlbGVjdGVkKTpub3QoLmNrLXdpZGdldDpob3Zlcikge1xuXHRcdG91dGxpbmU6IDFweCBkYXNoZWQgdmFyKC0tY2stc2hvdy1ibG9ja3MtYm9yZGVyLWNvbG9yKTtcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lLmNrLXNob3ctYmxvY2tzOm5vdCguY2std2lkZ2V0KSA6d2hlcmUoZmlndXJlLmltYWdlLCBmaWd1cmUudGFibGUpIGZpZ2NhcHRpb24ge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyA+PHRleHQgc3R5bGU9J3BhaW50LW9yZGVyOnN0cm9rZSBmaWxsOyBjbGlwLXBhdGg6IGluc2V0KC0zcHgpJyBzdHJva2U9JyUyM0VBRUFFQScgc3Ryb2tlLXdpZHRoPScxMycgZG9taW5hbnQtYmFzZWxpbmU9J21pZGRsZScgZmlsbD0nYmxhY2snIHg9JzMnIHk9JzcnIGZvbnQtc2l6ZT0nOXB4JyBmb250LWZhbWlseT0nQ29uc29sYXMsICUyMkx1Y2lkYSBDb25zb2xlJTIyLCAlMjJMdWNpZGEgU2FucyBUeXBld3JpdGVyJTIyLCAlMjJEZWphVnUgU2FucyBNb25vJTIyLCAlMjJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8lMjIsICUyMkxpYmVyYXRpb24gTW9ubyUyMiwgTW9uYWNvLCAlMjJDb3VyaWVyIE5ldyUyMiwgQ291cmllciwgbW9ub3NwYWNlJz5GSUdDQVBUSU9OPC90ZXh0Pjwvc3ZnPlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggMXB4O1xuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stc2hvdy1ibG9ja3M6bm90KC5jay13aWRnZXQpIDp3aGVyZShmaWd1cmUuaW1hZ2UsIGZpZ3VyZS50YWJsZSkgZmlnY2FwdGlvbiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCk7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwgMCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMTAwJScgdGV4dC1hbmNob3I9J2VuZCcgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPkZJR0NBUFRJT048L3RleHQ+PC9zdmc+XCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xuXHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogSW1wbGVtZW50cyByb3VuZGVkIGNvcm5lciBpbnRlcmZhY2UgZm9yIC5jay1yb3VuZGVkLWNvcm5lcnMgY2xhc3MuXG4gKlxuICogQHNlZSAkY2stYm9yZGVyLXJhZGl1c1xuICovXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuLyoqXG4gKiBBIHZpc3VhbCBzdHlsZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBib3JkZXIuXG4gKi9cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEEgaGVscGVyIHRvIGNvbWJpbmUgbXVsdGlwbGUgc2hhZG93cy5cbiAqL1xuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG5cbi5jay1zb3VyY2UtZWRpdGluZy1hcmVhIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY2stc291cmNlLWVkaXRpbmctYXJlYTo6YWZ0ZXIsXG4uY2stc291cmNlLWVkaXRpbmctYXJlYSB0ZXh0YXJlYSB7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRtYXJnaW46IDA7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRsaW5lLWhlaWdodDogdmFyKC0tY2stbGluZS1oZWlnaHQtYmFzZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tY2stZm9udC1zaXplLW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG5cdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLmNrLXNvdXJjZS1lZGl0aW5nLWFyZWE6OmFmdGVyIHtcblx0Y29udGVudDogYXR0cihkYXRhLXZhbHVlKSBcIiBcIjtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmNrLXNvdXJjZS1lZGl0aW5nLWFyZWEgdGV4dGFyZWEge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHJlc2l6ZTogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblxuXHRib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay1zb3VyY2UtZWRpdGluZy1hcmVhIHRleHRhcmVhLFxuXHQuY2stc291cmNlLWVkaXRpbmctYXJlYSB0ZXh0YXJlYS5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG5cdH1cblxuLmNrLXNvdXJjZS1lZGl0aW5nLWFyZWEgdGV4dGFyZWE6bm90KFtyZWFkb25seV0pOmZvY3VzIHtcblx0XHQvKiBEaXNhYmxlIG5hdGl2ZSBvdXRsaW5lLiAqL1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym9yZGVyOiB2YXIoLS1jay1mb2N1cy1yaW5nKTtcblx0XHRib3gtc2hhZG93OiB2YXIoLS1jay1pbm5lci1zaGFkb3cpLCAwIDA7XG5cdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWNoYXJhY3Rlci1ncmlkIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY2suY2stY2hhcmFjdGVyLWdyaWQgLmNrLWNoYXJhY3Rlci1ncmlkX190aWxlcyB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0fVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stY2hhcmFjdGVyLWluZm8ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBOb3RlOiBUaGlzIGZpbGUgc2hvdWxkIGNvbnRhaW4gdGhlIHdpcmVmcmFtZSBzdHlsZXMgb25seS4gQnV0IHNpbmNlIHRoZXJlIGFyZSBubyBzdWNoIHN0eWxlcyxcbiAqIGl0IGFjdHMgYXMgYSBtZXNzYWdlIHRvIHRoZSBidWlsZGVyIHRlbGxpbmcgdGhhdCBpdCBzaG91bGQgbG9vayBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc3R5bGVzXG4gKiAqKmluIHRoZSB0aGVtZSoqIHdoZW4gY29tcGlsaW5nIHRoZSBlZGl0b3IuXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLXNwZWNpYWwtY2hhcmFjdGVycyA+IC5jay1kaWFsb2dfX2NvbnRlbnQgPiBkaXYge1xuXHRcdHdpZHRoOiAzNTBweDtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLWNvbHVtbi1nYXA6IDBweDtcblx0XHRncmlkLXJvdy1nYXA6IDBweDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyIGF1dG87XG5cdH1cblxuLmNrLmNrLXNwZWNpYWwtY2hhcmFjdGVycyA+IC5jay1kaWFsb2dfX2NvbnRlbnQgPiBkaXYgPiAuY2stY2hhcmFjdGVyLWNhdGVnb3JpZXMge1xuXHRcdFx0Z3JpZC1hcmVhOiAxIC8gMSAvIDIgLyAyO1xuXHRcdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pIHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRcdH1cblxuLmNrLmNrLXNwZWNpYWwtY2hhcmFjdGVycyA+IC5jay1kaWFsb2dfX2NvbnRlbnQgPiBkaXYgPiAuY2stY2hhcmFjdGVyLWNhdGVnb3JpZXMgPiAuY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0XHRcdFx0cGFkZGluZy10b3A6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuLmNrLmNrLXNwZWNpYWwtY2hhcmFjdGVycyA+IC5jay1kaWFsb2dfX2NvbnRlbnQgPiBkaXYgPiAuY2stY2hhcmFjdGVyLWNhdGVnb3JpZXMgPiAuY2stbGFiZWxlZC1maWVsZC12aWV3IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX3N0YXR1cyB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1lcnJvcik7XG5cdFx0XHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdFx0XHRcdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zbWFsbCkgdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRcdFx0XHRcdG1pbi13aWR0aDogdmFyKC0tY2stdGFibGUtcHJvcGVydGllcy1taW4tZXJyb3Itd2lkdGgpO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0XHRcdGFuaW1hdGlvbjogY2stdGFibGUtZm9ybS1sYWJlbGVkLXZpZXctc3RhdHVzLWFwcGVhciAuMTVzIGVhc2UgYm90aDtcblxuXHRcdFx0XHRcdC8qIFRoZSBhcnJvdyBwb2ludGluZyB0b3dhcmRzIHRoZSBmaWVsZC4gKi9cblx0XHRcdFx0fVxuXG4uY2suY2stc3BlY2lhbC1jaGFyYWN0ZXJzID4gLmNrLWRpYWxvZ19fY29udGVudCA+IGRpdiA+IC5jay1jaGFyYWN0ZXItY2F0ZWdvcmllcyA+IC5jay1sYWJlbGVkLWZpZWxkLXZpZXcgLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlld19fc3RhdHVzOjphZnRlciB7XG5cdFx0XHRcdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWNrLWNvbG9yLWJhc2UtZXJyb3IpIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwIHZhcigtLWNrLXRhYmxlLXByb3BlcnRpZXMtZXJyb3ItYXJyb3ctc2l6ZSkgdmFyKC0tY2stdGFibGUtcHJvcGVydGllcy1lcnJvci1hcnJvdy1zaXplKSB2YXIoLS1jay10YWJsZS1wcm9wZXJ0aWVzLWVycm9yLWFycm93LXNpemUpO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdFx0XHR9XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cbi5jay5jay1zcGVjaWFsLWNoYXJhY3RlcnMgPiAuY2stZGlhbG9nX19jb250ZW50ID4gZGl2ID4gLmNrLWNoYXJhY3Rlci1jYXRlZ29yaWVzID4gLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXMge1xuXHRcdFx0XHRcdFx0YW5pbWF0aW9uOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG4vKiBIaWRlIHRoZSBlcnJvciBiYWxsb29uIHdoZW4gdGhlIGZpZWxkIGlzIGJsdXJyZWQuIE1ha2VzIHRoZSBleHBlcmllbmNlIG11Y2ggbW9yZSBjbGVhci4gKi9cblxuLmNrLmNrLXNwZWNpYWwtY2hhcmFjdGVycyA+IC5jay1kaWFsb2dfX2NvbnRlbnQgPiBkaXYgPiAuY2stY2hhcmFjdGVyLWNhdGVnb3JpZXMgPiAuY2stbGFiZWxlZC1maWVsZC12aWV3IC5jay1pbnB1dC5jay1lcnJvcjpub3QoOmZvY3VzKSArIC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX3N0YXR1cyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXG4uY2suY2stc3BlY2lhbC1jaGFyYWN0ZXJzID4gLmNrLWRpYWxvZ19fY29udGVudCA+IGRpdiA+IC5jay1jaGFyYWN0ZXItY2F0ZWdvcmllcyA+IC5jay1sYWJlbGVkLWZpZWxkLXZpZXcgPiAuY2stbGFiZWwge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogdmFyKC0tY2stZm9udC1zaXplLXRpbnkpO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0fVxuXG4uY2suY2stc3BlY2lhbC1jaGFyYWN0ZXJzID4gLmNrLWRpYWxvZ19fY29udGVudCA+IGRpdiA+IC5jay1jaGFyYWN0ZXItY2F0ZWdvcmllcyAuY2stZHJvcGRvd24ge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cbi5jay5jay1zcGVjaWFsLWNoYXJhY3RlcnMgPiAuY2stZGlhbG9nX19jb250ZW50ID4gZGl2ID4gLmNrLWNoYXJhY3Rlci1jYXRlZ29yaWVzIC5jay1kcm9wZG93biA+IGJ1dHRvbjpub3QoOmZvY3VzKSB7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdFx0XHRcdFx0fVxuXG4uY2suY2stc3BlY2lhbC1jaGFyYWN0ZXJzID4gLmNrLWRpYWxvZ19fY29udGVudCA+IGRpdiA+IC5jay1jaGFyYWN0ZXItY2F0ZWdvcmllcyAuY2stZHJvcGRvd24gPiBidXR0b24gPiBzcGFuIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdH1cblxuLmNrLmNrLXNwZWNpYWwtY2hhcmFjdGVycyA+IC5jay1kaWFsb2dfX2NvbnRlbnQgPiBkaXYgPiAuY2stY2hhcmFjdGVyLWdyaWQge1xuXHRcdFx0Z3JpZC1hcmVhOiAyIC8gMSAvIDMgLyAyO1xuXHRcdFx0bWF4LWhlaWdodDogMjAwcHg7XG5cdFx0fVxuXG4uY2suY2stc3BlY2lhbC1jaGFyYWN0ZXJzID4gLmNrLWRpYWxvZ19fY29udGVudCA+IGRpdiA+IC5jay1jaGFyYWN0ZXItaW5mbyB7XG5cdFx0XHRncmlkLWFyZWE6IDMgLyAxIC8gNCAvIDI7XG5cdFx0fVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stc3R5bGUtcGFuZWwtY29sdW1uczogMztcbn1cblxuLmNrLmNrLXN0eWxlLXBhbmVsIC5jay1zdHlsZS1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tY2stc3R5bGUtcGFuZWwtY29sdW1ucyksYXV0byk7XG5cdGp1c3RpZnktY29udGVudDogc3RhcnQ7XG59XG5cbi5jay5jay1zdHlsZS1wYW5lbCAuY2stc3R5bGUtZ3JpZCAuY2stc3R5bGUtZ3JpZF9fYnV0dG9uIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cbi5jay5jay1zdHlsZS1wYW5lbCAuY2stc3R5bGUtZ3JpZCAuY2stc3R5bGUtZ3JpZF9fYnV0dG9uIC5jay1zdHlsZS1ncmlkX19idXR0b25fX3ByZXZpZXcge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLWNvbnRlbnQgLnRhYmxlIHtcblx0LyogR2l2ZSB0aGUgdGFibGUgd2lkZ2V0IHNvbWUgYWlyIGFuZCBjZW50ZXIgaXQgaG9yaXpvbnRhbGx5ICovXG5cdC8qIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgZXF1YWwgdG8gLS1jay1zcGFjaW5nLWxhcmdlIHZhcmlhYmxlIGlmIHVzZWQgaW4gdGhlIGVkaXRvciBjb250ZXh0XG5cdHRvIGF2b2lkIHRoZSBjb250ZW50IGp1bXBpbmcgKFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy85ODI1KS4gKi9cblx0bWFyZ2luOiAwLjllbSBhdXRvO1xuXHRkaXNwbGF5OiB0YWJsZTtcbn1cblxuLmNrLWNvbnRlbnQgLnRhYmxlIHRhYmxlIHtcblx0XHQvKiBUaGUgdGFibGUgY2VsbHMgc2hvdWxkIGhhdmUgc2xpZ2h0IGJvcmRlcnMgKi9cblx0XHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRcdGJvcmRlci1zcGFjaW5nOiAwO1xuXG5cdFx0LyogVGFibGUgd2lkdGggYW5kIGhlaWdodCBhcmUgc2V0IG9uIHRoZSBwYXJlbnQgPGZpZ3VyZT4uIE1ha2Ugc3VyZSB0aGUgdGFibGUgaW5zaWRlIHN0cmV0Y2hlc1xuXHRcdHRvIHRoZSBmdWxsIGRpbWVuc2lvbnMgb2YgdGhlIGNvbnRhaW5lciAoaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNjE4NikuICovXG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0LyogVGhlIG91dGVyIGJvcmRlciBvZiB0aGUgdGFibGUgc2hvdWxkIGJlIHNsaWdodGx5IGRhcmtlciB0aGFuIHRoZSBpbm5lciBsaW5lcy5cblx0XHRBbHNvIHNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRhYmxlL2lzc3Vlcy81MC4gKi9cblx0XHRib3JkZXI6IDFweCBkb3VibGUgaHNsKDAsIDAlLCA3MCUpO1xuXHR9XG5cbi5jay1jb250ZW50IC50YWJsZSB0YWJsZSB0ZCxcblx0XHQuY2stY29udGVudCAudGFibGUgdGFibGUgdGgge1xuXHRcdFx0bWluLXdpZHRoOiAyZW07XG5cdFx0XHRwYWRkaW5nOiAuNGVtO1xuXG5cdFx0XHQvKiBUaGUgYm9yZGVyIGlzIGluaGVyaXRlZCBmcm9tIC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZSBzdHlsZXMsIHNvIHRoZW9yZXRpY2FsbHkgaXQncyBub3QgbmVjZXNzYXJ5IGhlcmUuXG5cdFx0XHRIb3dldmVyLCB0aGUgYm9yZGVyIGlzIGEgY29udGVudCBzdHlsZSwgc28gaXQgc2hvdWxkIHVzZSAuY2stY29udGVudCAoc28gaXQgd29ya3Mgb3V0c2lkZSB0aGUgZWRpdG9yKS5cblx0XHRcdEhlbmNlLCB0aGUgZHVwbGljYXRpb24uIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy82MzE0ICovXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCBoc2woMCwgMCUsIDc1JSk7XG5cdFx0fVxuXG4uY2stY29udGVudCAudGFibGUgdGFibGUgdGgge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRiYWNrZ3JvdW5kOiBoc2xhKDAsIDAlLCAwJSwgNSUpO1xuXHRcdH1cblxuLyoqXG4gKiBFeHBhbmRpbmcgdGhlIHRhYmxlIHRvIHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgcGFyZW50IGNvbnRhaW5lciBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0YWJsZXNcbiAqIGFyZSByZW5kZXJlZCBpbnNpZGUgPGZpZ3VyZT4gZWxlbWVudHMsIHdoaWNoIGlzIGtpbmRhIGJ1Z2d5IGluIHRhYmxlIGhlaWdodCBjYWxjdWxhdGlvbi5cbiAqIFdoaWxlIHNldHRpbmcgYGhlaWdodDogMTAwJWAgZml4ZXMgdGhlIGlzc3VlIGluIHRoZSBlZGl0aW5nIG1vZGUgZGVzY3JpYmVkIGhlcmU6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy82MTg2XG4gKlxuICogaXQncyBjYXVzaW5nIGFub3RoZXIgaXNzdWUgd2l0aCB0aGUgdGFibGUgaGVpZ2h0IGluIHRoZSBwcmludCBwcmV2aWV3IG1vZGUgaGVyZTpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE2ODU2XG4gKlxuICogRm9yIG5vdywgcmVzZXR0aW5nIHRoZSBoZWlnaHQgdG8gYGluaXRpYWxgIGluIHRoZSBwcmludCBtb2RlIHdvcmtzIGFzIGEgd29ya2Fyb3VuZC5cbiAqL1xuQG1lZGlhIHByaW50IHtcblx0LmNrLWNvbnRlbnQgLnRhYmxlIHRhYmxlIHtcblx0XHRoZWlnaHQ6IGluaXRpYWw7XG5cdH1cbn1cblxuLyogVGV4dCBhbGlnbm1lbnQgb2YgdGhlIHRhYmxlIGhlYWRlciBzaG91bGQgbWF0Y2ggdGhlIGVkaXRvciBzZXR0aW5ncyBhbmQgb3ZlcnJpZGUgdGhlIG5hdGl2ZSBicm93c2VyIHN0eWxpbmcsXG53aGVuIGNvbnRlbnQgaXMgYXZhaWxhYmxlIG91dHNpZGUgdGhlIGVkaXRvci4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzY2MzggKi9cbi5jay1jb250ZW50W2Rpcj1cInJ0bFwiXSAudGFibGUgdGgge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNrLWNvbnRlbnRbZGlyPVwibHRyXCJdIC50YWJsZSB0aCB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jay1lZGl0b3JfX2VkaXRhYmxlIC5jay10YWJsZS1ib2d1cy1wYXJhZ3JhcGgge1xuXHQvKlxuXHQgKiBVc2UgZGlzcGxheTppbmxpbmUtYmxvY2sgdG8gZm9yY2UgQ2hyb21lL1NhZmFyaSB0byBsaW1pdCB0ZXh0IG11dGF0aW9ucyB0byB0aGlzIGVsZW1lbnQuXG5cdCAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy82MDYyLlxuXHQgKi9cblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdC8qXG5cdCAqIElubGluZSBIVE1MIGVsZW1lbnRzIG5lc3RlZCBpbiB0aGUgc3BhbiBzaG91bGQgYWx3YXlzIGJlIGRpbWVuc2lvbmVkIGluIHJlbGF0aW9uIHRvIHRoZSB3aG9sZSBjZWxsIHdpZHRoLlxuXHQgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTExNy5cblx0ICovXG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2sgLmNrLWluc2VydC10YWJsZS1kcm9wZG93bl9fZ3JpZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWZvcm1fX3JvdyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0LyogSWdub3JlIGxhYmVscyB0aGF0IHdvcmsgYXMgZmllbGRzZXQgbGVnZW5kcyAqL1xufVxuXG4uY2suY2stZm9ybV9fcm93ID4gKjpub3QoLmNrLWxhYmVsKSB7XG5cdFx0ZmxleC1ncm93OiAxO1xuXHR9XG5cbi5jay5jay1mb3JtX19yb3cuY2stdGFibGUtZm9ybV9fYWN0aW9uLXJvdyAuY2stYnV0dG9uLXNhdmUsXG5cdFx0LmNrLmNrLWZvcm1fX3Jvdy5jay10YWJsZS1mb3JtX19hY3Rpb24tcm93IC5jay1idXR0b24tY2FuY2VsIHtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLXRhYmxlLWNlbGwtcHJvcGVydGllcy1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtY2VsbC1wcm9wZXJ0aWVzLWZvcm1fX2FsaWdubWVudC1yb3cge1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdH1cblxuLmNrLmNrLXRhYmxlLWNlbGwtcHJvcGVydGllcy1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtY2VsbC1wcm9wZXJ0aWVzLWZvcm1fX2FsaWdubWVudC1yb3cgLmNrLmNrLXRvb2xiYXI6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0LyogNCBidXR0b25zIG91dCBvZiA3IChoLWFsaWdubWVudCArIHYtYWxpZ25tZW50KSA9IDAuNTcgKi9cblx0XHRcdFx0XHRmbGV4LWdyb3c6IDAuNTc7XG5cdFx0XHRcdH1cblxuLmNrLmNrLXRhYmxlLWNlbGwtcHJvcGVydGllcy1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtY2VsbC1wcm9wZXJ0aWVzLWZvcm1fX2FsaWdubWVudC1yb3cgLmNrLmNrLXRvb2xiYXI6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0XHQvKiAzIGJ1dHRvbnMgb3V0IG9mIDcgKGgtYWxpZ25tZW50ICsgdi1hbGlnbm1lbnQpID0gMC40MyAqL1xuXHRcdFx0XHRcdGZsZXgtZ3JvdzogMC40Mztcblx0XHRcdFx0fVxuXG4uY2suY2stdGFibGUtY2VsbC1wcm9wZXJ0aWVzLWZvcm0gLmNrLWZvcm1fX3Jvdy5jay10YWJsZS1jZWxsLXByb3BlcnRpZXMtZm9ybV9fYWxpZ25tZW50LXJvdyAuY2suY2stdG9vbGJhciAuY2stYnV0dG9uIHtcblx0XHRcdFx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0XHRcdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWlucHV0LWNvbG9yIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLmNrLmNrLWlucHV0LWNvbG9yID4gaW5wdXQuY2suY2staW5wdXQtdGV4dCB7XG5cdFx0bWluLXdpZHRoOiBhdXRvO1xuXHRcdGZsZXgtZ3JvdzogMTtcblx0fVxuXG4uY2suY2staW5wdXQtY29sb3IgPiBkaXYuY2suY2stZHJvcGRvd24ge1xuXHRcdG1pbi13aWR0aDogYXV0bztcblxuXHRcdC8qIFRoaXMgZHJvcGRvd24gaGFzIG5vIGFycm93IGJ1dCBhIGNvbG9yIHByZXZpZXcgaW5zdGVhZC4gKi9cblx0fVxuXG4uY2suY2staW5wdXQtY29sb3IgPiBkaXYuY2suY2stZHJvcGRvd24gPiAuY2staW5wdXQtY29sb3JfX2J1dHRvbiAuY2stZHJvcGRvd25fX2Fycm93IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG4uY2suY2staW5wdXQtY29sb3IgLmNrLmNrLWlucHV0LWNvbG9yX19idXR0b24ge1xuXHRcdC8qIFJlc29sdmluZyBpc3N1ZSB3aXRoIG1pc2FsaWduZWQgYnV0dG9ucyBvbiBTYWZhcmkgKHNlZSAjMTA1ODkpICovXG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxuXG4uY2suY2staW5wdXQtY29sb3IgLmNrLmNrLWlucHV0LWNvbG9yX19idXR0b24gLmNrLmNrLWlucHV0LWNvbG9yX19idXR0b25fX3ByZXZpZXcge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR9XG5cbi5jay5jay1pbnB1dC1jb2xvciAuY2suY2staW5wdXQtY29sb3JfX2J1dHRvbiAuY2suY2staW5wdXQtY29sb3JfX2J1dHRvbl9fcHJldmlldyA+IC5jay5jay1pbnB1dC1jb2xvcl9fYnV0dG9uX19wcmV2aWV3X19uby1jb2xvci1pbmRpY2F0b3Ige1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stdGFibGUtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLWZvcm1fX2JvcmRlci1yb3cge1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdH1cblxuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLWZvcm1fX3Jvdy5jay10YWJsZS1mb3JtX19iYWNrZ3JvdW5kLXJvdyB7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0fVxuXG4uY2suY2stdGFibGUtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLWZvcm1fX2RpbWVuc2lvbnMtcm93IHtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXG4uY2suY2stdGFibGUtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLWZvcm1fX2RpbWVuc2lvbnMtcm93IC5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHR9XG5cbi5jay5jay10YWJsZS1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtZm9ybV9fZGltZW5zaW9ucy1yb3cgLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2suY2stZHJvcGRvd24ge1xuXHRcdFx0XHRcdGZsZXgtZ3JvdzogMDtcblx0XHRcdFx0fVxuXG4uY2suY2stdGFibGUtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLWZvcm1fX2RpbWVuc2lvbnMtcm93IC5jay10YWJsZS1mb3JtX19kaW1lbnNpb24tb3BlcmF0b3Ige1xuXHRcdFx0XHRmbGV4LWdyb3c6IDA7XG5cdFx0XHR9XG5cbi5jay5jay10YWJsZS1mb3JtIC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdC8qIEFsbG93IGFic29sdXRlIHBvc2l0aW9uaW5nIG9mIHRoZSBzdGF0dXMgKGVycm9yKSBiYWxsb29ucy4gKi9cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXMge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0Ym90dG9tOiBjYWxjKCAtMSAqIHZhcigtLWNrLXRhYmxlLXByb3BlcnRpZXMtZXJyb3ItYXJyb3ctc2l6ZSkgKTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsMTAwJSk7XG5cblx0XHRcdC8qIE1ha2Ugc3VyZSB0aGUgYmFsbG9vbiBzdGF0dXMgc3RheXMgb24gdG9wIG9mIG90aGVyIGZvcm0gZWxlbWVudHMuICovXG5cdFx0XHR6LWluZGV4OiAxO1xuXG5cdFx0XHQvKiBUaGUgYXJyb3cgcG9pbnRpbmcgdG93YXJkcyB0aGUgZmllbGQuICovXG5cdFx0fVxuXG4uY2suY2stdGFibGUtZm9ybSAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX3N0YXR1czo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogY2FsYyggLTEgKiB2YXIoLS1jay10YWJsZS1wcm9wZXJ0aWVzLWVycm9yLWFycm93LXNpemUpICk7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCAtNTAlICk7XG5cdFx0XHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay10YWJsZS1wcm9wZXJ0aWVzLWZvcm0gLmNrLWZvcm1fX3Jvdy5jay10YWJsZS1wcm9wZXJ0aWVzLWZvcm1fX2FsaWdubWVudC1yb3cge1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0ZmxleC1iYXNpczogMDtcblx0XHRcdGFsaWduLWNvbnRlbnQ6IGJhc2VsaW5lO1xuXHRcdH1cblxuLmNrLmNrLXRhYmxlLXByb3BlcnRpZXMtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLXByb3BlcnRpZXMtZm9ybV9fYWxpZ25tZW50LXJvdyAuY2suY2stdG9vbGJhciAuY2stdG9vbGJhcl9faXRlbXMge1xuXHRcdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLXNlbGVjdG9yLWNhcHRpb24tYmFja2dyb3VuZDogaHNsKDAsIDAlLCA5NyUpO1xuXHQtLWNrLWNvbG9yLXNlbGVjdG9yLWNhcHRpb24tdGV4dDogaHNsKDAsIDAlLCAyMCUpO1xuXHQtLWNrLWNvbG9yLXNlbGVjdG9yLWNhcHRpb24taGlnaGxpZ2h0ZWQtYmFja2dyb3VuZDogaHNsKDUyZGVnIDEwMCUgNTAlKTtcbn1cblxuLyogQ29udGVudCBzdHlsZXMgKi9cbi5jay1jb250ZW50IC50YWJsZSA+IGZpZ2NhcHRpb24ge1xuXHRkaXNwbGF5OiB0YWJsZS1jYXB0aW9uO1xuXHRjYXB0aW9uLXNpZGU6IHRvcDtcblx0d29yZC1icmVhazogYnJlYWstd29yZDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tY2stY29sb3Itc2VsZWN0b3ItY2FwdGlvbi10ZXh0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stY29sb3Itc2VsZWN0b3ItY2FwdGlvbi1iYWNrZ3JvdW5kKTtcblx0cGFkZGluZzogLjZlbTtcblx0Zm9udC1zaXplOiAuNzVlbTtcblx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7XG5cblx0LyogSW1wcm92ZSBwbGFjZWhvbGRlciByZW5kZXJpbmcgaW4gaGlnaC1jb25zdHJhc3QgbW9kZSAoaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTQ5MDcpLiAqL1xufVxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcblx0XHQuY2stY29udGVudCAudGFibGUgPiBmaWdjYXB0aW9uIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblx0XHRjb2xvcjogdW5zZXQ7XG5cdFx0fVxuXHR9XG5cbi8qIEVkaXRpbmcgc3R5bGVzICovXG5AbWVkaWEgKGZvcmNlZC1jb2xvcnM6IG5vbmUpIHtcblx0XHQuY2suY2stZWRpdG9yX19lZGl0YWJsZSAudGFibGUgPiBmaWdjYXB0aW9uLnRhYmxlX19jYXB0aW9uX2hpZ2hsaWdodGVkIHtcblx0XHRcdGFuaW1hdGlvbjogY2stdGFibGUtY2FwdGlvbi1oaWdobGlnaHQgLjZzIGVhc2Utb3V0O1xuXHRcdH1cblx0fVxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLnRhYmxlID4gZmlnY2FwdGlvbi5jay1wbGFjZWhvbGRlcjo6YmVmb3JlIHtcblx0XHRwYWRkaW5nLWxlZnQ6IGluaGVyaXQ7XG5cdFx0cGFkZGluZy1yaWdodDogaW5oZXJpdDtcblxuXHRcdC8qXG5cdFx0ICogTWFrZSBzdXJlIHRoZSB0YWJsZSBjYXB0aW9uIHBsYWNlaG9sZGVyIGRvZXNuJ3Qgb3ZlcmZsb3cgdGhlIHBsYWNlaG9sZGVyIGFyZWEuXG5cdFx0ICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzkxNjIuXG5cdFx0ICovXG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR9XG5cbkBrZXlmcmFtZXMgY2stdGFibGUtY2FwdGlvbi1oaWdobGlnaHQge1xuXHQwJSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stY29sb3Itc2VsZWN0b3ItY2FwdGlvbi1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kKTtcblx0fVxuXG5cdDEwMCUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLXNlbGVjdG9yLWNhcHRpb24tYmFja2dyb3VuZCk7XG5cdH1cbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLXNlbGVjdG9yLWNvbHVtbi1yZXNpemVyLWhvdmVyOiB2YXIoLS1jay1jb2xvci1iYXNlLWFjdGl2ZSk7XG5cdC0tY2stdGFibGUtY29sdW1uLXJlc2l6ZXItd2lkdGg6IDdweDtcblxuXHQvKiBUaGUgb2Zmc2V0IHVzZWQgZm9yIGFic29sdXRlIHBvc2l0aW9uaW5nIG9mIHRoZSByZXNpemVyIGVsZW1lbnQsIHNvIHRoYXQgaXQgaXMgcGxhY2VkIGV4YWN0bHkgYWJvdmUgdGhlIGNlbGwgYm9yZGVyLlxuXHQgICBUaGUgdmFsdWUgaXM6IG1pbnVzIGhhbGYgdGhlIHdpZHRoIG9mIHRoZSByZXNpemVyIGRlY3JlYXNlZCBhZGRpdGlvbmFseSBieSB0aGUgaGFsZiB0aGUgd2lkdGggb2YgdGhlIGJvcmRlciAoMC41cHgpLiAqL1xuXHQtLWNrLXRhYmxlLWNvbHVtbi1yZXNpemVyLXBvc2l0aW9uLW9mZnNldDogY2FsYyh2YXIoLS1jay10YWJsZS1jb2x1bW4tcmVzaXplci13aWR0aCkgKiAtMC41IC0gMC41cHgpO1xufVxuXG4uY2stY29udGVudCAudGFibGUgLmNrLXRhYmxlLXJlc2l6ZWQge1xuXHR0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuXG4uY2stY29udGVudCAudGFibGUgdGFibGUge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY2stY29udGVudCAudGFibGUgdGQsXG4uY2stY29udGVudCAudGFibGUgdGgge1xuXHQvKiBUbyBwcmV2ZW50IHRleHQgb3ZlcmZsb3dpbmcgYmV5b25kIGl0cyBjZWxsIHdoZW4gY29sdW1ucyBhcmUgcmVzaXplZCBieSByZXNpemUgaGFuZGxlclxuXHQoaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9wdWxsLzE0Mzc5I2lzc3VlY29tbWVudC0xNTg5NDYwOTc4KS4gKi9cblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAudGFibGUgLmNrLXRhYmxlLWNvbHVtbi1yZXNpemVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0cmlnaHQ6IHZhcigtLWNrLXRhYmxlLWNvbHVtbi1yZXNpemVyLXBvc2l0aW9uLW9mZnNldCk7XG5cdHdpZHRoOiB2YXIoLS1jay10YWJsZS1jb2x1bW4tcmVzaXplci13aWR0aCk7XG5cdGN1cnNvcjogY29sLXJlc2l6ZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdHotaW5kZXg6IHZhcigtLWNrLXotZGVmYXVsdCk7XG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWNvbHVtbi1yZXNpemVfZGlzYWJsZWQgLnRhYmxlIC5jay10YWJsZS1jb2x1bW4tcmVzaXplciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFRoZSByZXNpemVyIGVsZW1lbnRzLCB3aGljaCBhcmUgZXh0ZW5kZWQgdG8gYW4gZXh0cmVtZWx5IGhpZ2ggaGVpZ2h0LCBicmVhayB0aGUgZHJhZyAmIGRyb3AgZmVhdHVyZSBpbiBDaHJvbWUuIFRvIG1ha2UgaXQgd29yayBhZ2FpbixcbiAgIGFsbCByZXNpemVycyBtdXN0IGJlIGhpZGRlbiB3aGlsZSB0aGUgdGFibGUgaXMgZHJhZ2dlZC4gKi9cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC50YWJsZVtkcmFnZ2FibGVdIC5jay10YWJsZS1jb2x1bW4tcmVzaXplciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC50YWJsZSAuY2stdGFibGUtY29sdW1uLXJlc2l6ZXI6aG92ZXIsXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAudGFibGUgLmNrLXRhYmxlLWNvbHVtbi1yZXNpemVyX19hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci1zZWxlY3Rvci1jb2x1bW4tcmVzaXplci1ob3Zlcik7XG5cdG9wYWNpdHk6IDAuMjU7XG5cdC8qIFRoZSByZXNpemVyIGVsZW1lbnQgcmVzaWRlcyBpbiBlYWNoIGNlbGwgc28gdG8gb2NjdXB5IHRoZSBlbnRpcmUgaGVpZ2h0IG9mIHRoZSB0YWJsZSwgd2hpY2ggaXMgdW5rbm93biBmcm9tIGEgQ1NTIHBvaW50IG9mIHZpZXcsXG5cdCAgIGl0IGlzIGV4dGVuZGVkIHRvIGFuIGV4dHJlbWVseSBoaWdoIGhlaWdodC4gRXZlbiBmb3Igc2NyZWVucyB3aXRoIGEgdmVyeSBoaWdoIHBpeGVsIGRlbnNpdHksIHRoZSByZXNpemVyIHdpbGwgZnVsZmlsbCBpdHMgcm9sZSBhc1xuXHQgICBpdCBzaG91bGQsIGkuZS4gZm9yIGEgc2NyZWVuIG9mIDQ3NiBwcGkgdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgcmVzaXplciB3aWxsIHRha2Ugb3ZlciAzNTAgc2hlZXRzIG9mIEE0IGZvcm1hdCwgd2hpY2ggaXMgdG90YWxseVxuXHQgICB1bnJlYWxpc3RpYyBoZWlnaHQgZm9yIGEgc2luZ2xlIHRhYmxlLiAqL1xuXHR0b3A6IC05OTk5OTlweDtcblx0Ym90dG9tOiAtOTk5OTk5cHg7XG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlW2Rpcj1ydGxdIC50YWJsZSAuY2stdGFibGUtY29sdW1uLXJlc2l6ZXIge1xuXHRsZWZ0OiB2YXIoLS1jay10YWJsZS1jb2x1bW4tcmVzaXplci1wb3NpdGlvbi1vZmZzZXQpO1xuXHRyaWdodDogdW5zZXQ7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBjbGFzcyB3aGljaCBoaWRlcyBhbiBlbGVtZW50IGluIERPTS5cbiAqL1xuXG4uY2staGlkZGVuIHtcblx0LyogT3ZlcnJpZGUgc2VsZWN0b3Igc3BlY2lmaWNpdHkuIE90aGVyd2lzZSwgYWxsIGVsZW1lbnRzIHdpdGggc29tZSBkaXNwbGF5XG5cdHN0eWxlIGRlZmluZWQgd2lsbCBvdmVycmlkZSB0aGlzIG9uZSwgd2hpY2ggaXMgbm90IGEgZGVzaXJlZCByZXN1bHQuICovXG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG46cm9vdCB7XG5cdC0tY2stei1kZWZhdWx0OiAxO1xuXHQtLWNrLXotcGFuZWw6IGNhbGMoIHZhcigtLWNrLXotZGVmYXVsdCkgKyA5OTkgKTtcblx0LS1jay16LWRpYWxvZzogOTk5OTtcbn1cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG4vKipcbiAqIEEgY2xhc3MgdGhhdCBkaXNhYmxlcyBhbGwgdHJhbnNpdGlvbnMgb2YgdGhlIGVsZW1lbnQgYW5kIGl0cyBjaGlsZHJlbi5cbiAqL1xuLmNrLXRyYW5zaXRpb25zLWRpc2FibGVkLFxuLmNrLXRyYW5zaXRpb25zLWRpc2FibGVkICoge1xuXHR0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuOnJvb3Qge1xuXHQtLWNrLXBvd2VyZWQtYnktbGluZS1oZWlnaHQ6IDEwcHg7XG5cdC0tY2stcG93ZXJlZC1ieS1wYWRkaW5nLXZlcnRpY2FsOiAycHg7XG5cdC0tY2stcG93ZXJlZC1ieS1wYWRkaW5nLWhvcml6b250YWw6IDRweDtcblx0LS1jay1wb3dlcmVkLWJ5LXRleHQtY29sb3I6IGhzbCgwLCAwJSwgMzElKTtcblx0LS1jay1wb3dlcmVkLWJ5LWJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHQtLWNrLXBvd2VyZWQtYnktYmFja2dyb3VuZDogaHNsKDAsIDAlLCAxMDAlKTtcblx0LS1jay1wb3dlcmVkLWJ5LWJvcmRlci1jb2xvcjogdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKTtcbn1cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLXBvd2VyZWQtYnktYmFsbG9vbiB7XG5cdC0tY2stYm9yZGVyLXJhZGl1czogdmFyKC0tY2stcG93ZXJlZC1ieS1ib3JkZXItcmFkaXVzKTtcblxuXHRib3gtc2hhZG93OiBub25lO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1wb3dlcmVkLWJ5LWJhY2tncm91bmQpO1xuXHRtaW4taGVpZ2h0OiB1bnNldDtcblx0ei1pbmRleDogY2FsYyggdmFyKC0tY2stei1wYW5lbCkgLSAxICk7XG59XG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1wb3dlcmVkLWJ5LWJhbGxvb24gLmNrLmNrLXBvd2VyZWQtYnkge1xuXHRcdGxpbmUtaGVpZ2h0OiB2YXIoLS1jay1wb3dlcmVkLWJ5LWxpbmUtaGVpZ2h0KTtcblx0fVxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stcG93ZXJlZC1ieS1iYWxsb29uIC5jay5jay1wb3dlcmVkLWJ5IGEge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRvcGFjaXR5OiAuNjY7XG5cdFx0XHRmaWx0ZXI6IGdyYXlzY2FsZSg4MCUpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHZhcigtLWNrLXBvd2VyZWQtYnktbGluZS1oZWlnaHQpO1xuXHRcdFx0cGFkZGluZzogdmFyKC0tY2stcG93ZXJlZC1ieS1wYWRkaW5nLXZlcnRpY2FsKSB2YXIoLS1jay1wb3dlcmVkLWJ5LXBhZGRpbmctaG9yaXpvbnRhbCk7XG5cdFx0fVxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stcG93ZXJlZC1ieS1iYWxsb29uIC5jay5jay1wb3dlcmVkLWJ5IC5jay1wb3dlcmVkLWJ5X19sYWJlbCB7XG5cdFx0XHRmb250LXNpemU6IDcuNXB4O1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0uMnB4O1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAycHg7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDRweDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2stcG93ZXJlZC1ieS10ZXh0LWNvbG9yKTtcblxuXHRcdH1cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLXBvd2VyZWQtYnktYmFsbG9vbiAuY2suY2stcG93ZXJlZC1ieSAuY2staWNvbiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1wb3dlcmVkLWJ5LWJhbGxvb24gLmNrLmNrLXBvd2VyZWQtYnk6aG92ZXIgYSB7XG5cdFx0XHRcdGZpbHRlcjogZ3JheXNjYWxlKDAlKTtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLXBvd2VyZWQtYnktYmFsbG9vbltjbGFzcyo9XCJwb3NpdGlvbl9pbnNpZGVcIl0ge1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLXBvd2VyZWQtYnktYmFsbG9vbltjbGFzcyo9XCJwb3NpdGlvbl9ib3JkZXJcIl0ge1xuXHRcdGJvcmRlcjogdmFyKC0tY2stZm9jdXMtcmluZyk7XG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jay1wb3dlcmVkLWJ5LWJvcmRlci1jb2xvcik7XG5cdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBNYWtlcyBlbGVtZW50IHVuc2VsZWN0YWJsZS5cbiAqL1xuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWJ1dHRvbixcbmEuY2suY2stYnV0dG9uIHtcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1idXR0b24sIFtkaXI9XCJsdHJcIl0gYS5jay5jay1idXR0b24ge1xuXHRcdGp1c3RpZnktY29udGVudDogbGVmdDtcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1idXR0b24sIFtkaXI9XCJydGxcIl0gYS5jay5jay1idXR0b24ge1xuXHRcdGp1c3RpZnktY29udGVudDogcmlnaHQ7XG5cdH1cblxuLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCwgYS5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC10ZXh0IC5jay1idXR0b25fX2xhYmVsLCBhLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC10ZXh0IC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cbi8qIENlbnRlciB0aGUgaWNvbiBob3Jpem9udGFsbHkgaW4gYSBidXR0b24gd2l0aG91dCB0ZXh0LiAqL1xuXG4uY2suY2stYnV0dG9uOm5vdCguY2stYnV0dG9uX3dpdGgtdGV4dCksICBhLmNrLmNrLWJ1dHRvbjpub3QoLmNrLWJ1dHRvbl93aXRoLXRleHQpICB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fdG9nZ2xlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiAuY2stYnV0dG9uX190b2dnbGUgLmNrLWJ1dHRvbl9fdG9nZ2xlX19pbm5lciB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1saXN0LWl0ZW0tYnV0dG9uIHtcblx0bWluLWhlaWdodDogdW5zZXQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItcmFkaXVzOiAwO1xufVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1saXN0LWl0ZW0tYnV0dG9uIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWxpc3QtaXRlbS1idXR0b24ge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWxpc3QtaXRlbS1idXR0b24uY2stbGlzdC1pdGVtLWJ1dHRvbl90b2dnbGVhYmxlIHtcblx0XHRcdHBhZGRpbmctbGVmdDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stbGlzdC1pdGVtLWJ1dHRvbi5jay1saXN0LWl0ZW0tYnV0dG9uX3RvZ2dsZWFibGUge1xuXHRcdFx0cGFkZGluZy1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cblxuLmNrLmNrLWxpc3QtaXRlbS1idXR0b24gLmNrLWxpc3QtaXRlbS1idXR0b25fX2NoZWNrLWhvbGRlciB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0d2lkdGg6IC45ZW07XG5cdFx0aGVpZ2h0OiAuOWVtO1xuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWxpc3QtaXRlbS1idXR0b24gLmNrLWxpc3QtaXRlbS1idXR0b25fX2NoZWNrLWhvbGRlciB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWxpc3QtaXRlbS1idXR0b24gLmNrLWxpc3QtaXRlbS1idXR0b25fX2NoZWNrLWhvbGRlciB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cblxuLmNrLmNrLWxpc3QtaXRlbS1idXR0b24gLmNrLWxpc3QtaXRlbS1idXR0b25fX2NoZWNrLWljb24ge1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stY29sbGFwc2libGUuY2stY29sbGFwc2libGVfY29sbGFwc2VkID4gLmNrLWNvbGxhcHNpYmxlX19jaGlsZHJlbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stY29sb3ItZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jb2xvci1waWNrZXItaGV4LWlucHV0IHtcblx0d2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4uY29sb3ItcGlja2VyLWhleC1pbnB1dCAuY2suY2staW5wdXQge1xuXHRcdG1pbi13aWR0aDogdW5zZXQ7XG5cdH1cblxuLmNrLmNrLWNvbG9yLXBpY2tlcl9fcm93IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleC13cmFwOiBub3dyYXA7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSAwIDA7XG5cdHdpZHRoOiB1bnNldDtcbn1cblxuLmNrLmNrLWNvbG9yLXBpY2tlcl9fcm93IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdHBhZGRpbmctdG9wOiB1bnNldDtcblx0fVxuXG4uY2suY2stY29sb3ItcGlja2VyX19yb3cgLmNrLmNrLWlucHV0LXRleHQge1xuXHRcdHdpZHRoOiB1bnNldDtcblx0fVxuXG4uY2suY2stY29sb3ItcGlja2VyX19yb3cgLmNrLWNvbG9yLXBpY2tlcl9faGFzaC12aWV3IHtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tY2stc3BhY2luZy10aW55KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyogVmlldyBmcmFnbWVudCB3aXRoIGNvbG9yIGdyaWRzLiAqL1xuXG4uY2suY2stY29sb3Itc2VsZWN0b3IgLmNrLWNvbG9yLWdyaWRzLWZyYWdtZW50IC5jay1idXR0b24uY2stY29sb3Itc2VsZWN0b3JfX3JlbW92ZS1jb2xvcixcblx0XHQuY2suY2stY29sb3Itc2VsZWN0b3IgLmNrLWNvbG9yLWdyaWRzLWZyYWdtZW50IC5jay1idXR0b24uY2stY29sb3Itc2VsZWN0b3JfX2NvbG9yLXBpY2tlciB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWNvbG9yLXNlbGVjdG9yIC5jay1jb2xvci1ncmlkcy1mcmFnbWVudCAuY2stYnV0dG9uLmNrLWNvbG9yLXNlbGVjdG9yX19yZW1vdmUtY29sb3IsIFtkaXI9XCJydGxcIl0gLmNrLmNrLWNvbG9yLXNlbGVjdG9yIC5jay1jb2xvci1ncmlkcy1mcmFnbWVudCAuY2stYnV0dG9uLmNrLWNvbG9yLXNlbGVjdG9yX19jb2xvci1waWNrZXIge1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdH1cblxuLyogVmlldyBmcmFnbWVudCB3aXRoIGEgY29sb3IgcGlja2VyLiAqL1xuXG4uY2suY2stY29sb3Itc2VsZWN0b3IgLmNrLWNvbG9yLXBpY2tlci1mcmFnbWVudCAuY2suY2stY29sb3Itc2VsZWN0b3JfYWN0aW9uLWJhciB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuXHRcdH1cblxuLmNrLmNrLWNvbG9yLXNlbGVjdG9yIC5jay1jb2xvci1waWNrZXItZnJhZ21lbnQgLmNrLmNrLWNvbG9yLXNlbGVjdG9yX2FjdGlvbi1iYXIgLmNrLWJ1dHRvbi1zYXZlLFxuXHRcdFx0LmNrLmNrLWNvbG9yLXNlbGVjdG9yIC5jay1jb2xvci1waWNrZXItZnJhZ21lbnQgLmNrLmNrLWNvbG9yLXNlbGVjdG9yX2FjdGlvbi1iYXIgLmNrLWJ1dHRvbi1jYW5jZWwge1xuXHRcdFx0XHRmbGV4OiAxXG5cdFx0XHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1kaWFsb2cgLmNrLmNrLWRpYWxvZ19fYWN0aW9ucyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1kaWFsb2ctb3ZlcmxheSB7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xuXG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0dG9wOiAwO1xufVxuXG4uY2suY2stZGlhbG9nLW92ZXJsYXkuY2stZGlhbG9nLW92ZXJsYXlfX3RyYW5zcGFyZW50IHtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRhbmltYXRpb246IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0fVxuXG4uY2suY2stZGlhbG9nIHtcblx0b3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcblx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5jay5jay1kaWFsb2cgLmNrLmNrLWZvcm1fX2hlYWRlciAge1xuXHRcdGZsZXgtc2hyaW5rOiAwO1xuXHR9XG5cbi8qIE1vZGFscyBzaG91bGQgbm90IGJlIGRyYWdnYWJsZS4gKi9cblxuLmNrLmNrLWRpYWxvZzpub3QoLmNrLWRpYWxvZ19tb2RhbCkgLmNrLmNrLWZvcm1fX2hlYWRlciAuY2stZm9ybV9faGVhZGVyX19sYWJlbCB7XG5cdFx0XHRjdXJzb3I6IGdyYWI7XG5cdFx0fVxuXG4uY2suY2stZGlhbG9nLW92ZXJsYXkuY2stZGlhbG9nLW92ZXJsYXlfX3RyYW5zcGFyZW50IC5jay5jay1kaWFsb2cge1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWRyb3Bkb3duLW1heC13aWR0aDogNzV2dztcbn1cblxuLmNrLmNrLWRyb3Bkb3duIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX2Fycm93IHtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR6LWluZGV4OiB2YXIoLS1jay16LWRlZmF1bHQpO1xuXHR9XG5cbi8qIERyb3Bkb3duIGJ1dHRvbiBzaG91bGQgc3BhbiBob3Jpem9udGFsbHksIGUuZy4gaW4gdmVydGljYWwgdG9vbGJhcnMgKi9cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0ei1pbmRleDogdmFyKC0tY2stei1wYW5lbCk7XG5cdFx0bWF4LXdpZHRoOiB2YXIoLS1jay1kcm9wZG93bi1tYXgtd2lkdGgpO1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHR9XG5cbi5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbC12aXNpYmxlIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cbi5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbF9uZSxcblx0XHQuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfbncsXG5cdFx0LmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwuY2stZHJvcGRvd25fX3BhbmVsX24sXG5cdFx0LmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwuY2stZHJvcGRvd25fX3BhbmVsX25tdyxcblx0XHQuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfbm1lIHtcblx0XHRcdGJvdHRvbTogMTAwJTtcblx0XHR9XG5cbi5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbF9zZSxcblx0XHQuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfc3csXG5cdFx0LmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwuY2stZHJvcGRvd25fX3BhbmVsX3Ntdyxcblx0XHQuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfc21lLFxuXHRcdC5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbF9zIHtcblx0XHRcdC8qXG5cdFx0XHQgKiBVc2luZyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAxMDAlLCAwICkgY2F1c2VzIGJsdXJyeSBkcm9wZG93biBvbiBDaHJvbWUgNjctNzgrIG9uIG5vbi1yZXRpbmEgZGlzcGxheXMuXG5cdFx0XHQgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTA1My5cblx0XHRcdCAqL1xuXHRcdFx0dG9wOiAxMDAlO1xuXHRcdFx0Ym90dG9tOiBhdXRvO1xuXHRcdH1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwuY2stZHJvcGRvd25fX3BhbmVsX25lLFxuXHRcdC5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbF9zZSB7XG5cdFx0XHRsZWZ0OiAwcHg7XG5cdFx0fVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfbncsXG5cdFx0LmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwuY2stZHJvcGRvd25fX3BhbmVsX3N3IHtcblx0XHRcdHJpZ2h0OiAwcHg7XG5cdFx0fVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfcyxcblx0XHQuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfbiB7XG5cdFx0XHQvKiBQb3NpdGlvbmluZyBwYW5lbHMgcmVsYXRpdmUgdG8gdGhlIGNlbnRlciBvZiB0aGUgYnV0dG9uICovXG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0fVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfbm13LFxuXHRcdC5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbF9zbXcge1xuXHRcdFx0LyogUG9zaXRpb25pbmcgcGFuZWxzIHJlbGF0aXZlIHRvIHRoZSBtaWRkbGUtd2VzdCBvZiB0aGUgYnV0dG9uICovXG5cdFx0XHRsZWZ0OiA3NSU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTc1JSk7XG5cdFx0fVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfbm1lLFxuXHRcdC5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbF9zbWUge1xuXHRcdFx0LyogUG9zaXRpb25pbmcgcGFuZWxzIHJlbGF0aXZlIHRvIHRoZSBtaWRkbGUtZWFzdCBvZiB0aGUgYnV0dG9uICovXG5cdFx0XHRsZWZ0OiAyNSU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSk7XG5cdFx0fVxuXG4vKlxuICogVG9vbGJhciBkcm9wZG93biBwYW5lbHMgc2hvdWxkIGJlIGFsd2F5cyBhYm92ZSB0aGUgVUkgKGVnLiBvdGhlciBkcm9wZG93biBwYW5lbHMpIGZyb20gdGhlIGVkaXRvcidzIGNvbnRlbnQuXG4gKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNzg3NFxuICovXG4uY2suY2stdG9vbGJhciAuY2stZHJvcGRvd25fX3BhbmVsIHtcblx0ei1pbmRleDogY2FsYyggdmFyKC0tY2stei1wYW5lbCkgKyAxICk7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1zcGxpdGJ1dHRvbiB7XG5cdC8qIEVuYWJsZSBmb250IHNpemUgaW5oZXJpdGFuY2UsIHdoaWNoIGFsbG93cyBmbHVpZCBVSSBzY2FsaW5nLiAqL1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG59XG5cbi5jay5jay1zcGxpdGJ1dHRvbiAuY2stc3BsaXRidXR0b25fX2FjdGlvbjpmb2N1cyB7XG5cdFx0ei1pbmRleDogY2FsYyh2YXIoLS1jay16LWRlZmF1bHQpICsgMSk7XG5cdH1cblxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stdG9vbGJhci1kcm9wZG93bi1tYXgtd2lkdGg6IDYwdnc7XG59XG5cbi5jay5jay10b29sYmFyLWRyb3Bkb3duID4gLmNrLWRyb3Bkb3duX19wYW5lbCB7XG5cdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzU1ODYgKi9cblx0d2lkdGg6IG1heC1jb250ZW50O1xuXHRtYXgtd2lkdGg6IHZhcigtLWNrLXRvb2xiYXItZHJvcGRvd24tbWF4LXdpZHRoKTtcbn1cblxuLmNrLmNrLXRvb2xiYXItZHJvcGRvd24gPiAuY2stZHJvcGRvd25fX3BhbmVsIC5jay1idXR0b246Zm9jdXMge1xuXHRcdFx0ei1pbmRleDogY2FsYyh2YXIoLS1jay16LWRlZmF1bHQpICsgMSk7XG5cdFx0fVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZHJvcGRvd24tbWVudS1saXN0X19uZXN0ZWQtbWVudV9fYnV0dG9uID4gLmNrLWRyb3Bkb3duLW1lbnUtbGlzdF9fbmVzdGVkLW1lbnVfX2J1dHRvbl9fYXJyb3cge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0ei1pbmRleDogdmFyKC0tY2stei1kZWZhdWx0KTtcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stZHJvcGRvd24tbWVudV9fbmVzdGVkLW1lbnVfX3BhbmVsIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRtYXgtaGVpZ2h0OiAzMTRweDsgLyogV2l0aCB0aGUgZGVmYXVsdCBzZXR0aW5ncywgdGhpcyBpcyBlcXVhbCB0byAxMCBtZW51IGl0ZW1zLiAqL1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHR6LWluZGV4OiBjYWxjKHZhcigtLWNrLXotcGFuZWwpICsgMSk7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51IHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1hcmlhLWxpdmUtYW5ub3VuY2VyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAtMTAwMDBweDtcblx0dG9wOiAtMTAwMDBweDtcbn1cblxuLmNrLmNrLWFyaWEtbGl2ZS1yZWdpb24tbGlzdCB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWZvcm1fX2hlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5jay5jay1mb3JtX19oZWFkZXIgaDIuY2stZm9ybV9faGVhZGVyX19sYWJlbCB7XG5cdFx0ZmxleC1ncm93OiAxO1xuXHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1pY29uIHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5jay5jay12b2ljZS1sYWJlbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcgPiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG4uY2suY2stbGFiZWxlZC1maWVsZC12aWV3IC5jay5jay1sYWJlbCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogTWFrZXMgZWxlbWVudCB1bnNlbGVjdGFibGUuXG4gKi9cblxuLmNrLmNrLWxpc3Qge1xuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jay5jay1saXN0IC5jay1saXN0X19pdGVtLFxuXHQuY2suY2stbGlzdCAuY2stbGlzdF9fc2VwYXJhdG9yIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG4vKiBNYWtlIHN1cmUgdGhhdCB3aGF0ZXZlciBjaGlsZCBvZiB0aGUgbGlzdCBpdGVtIGdldHMgZm9jdXMsIGl0IHJlbWFpbnMgb24gdGhlXG5cdHRvcC4gVGhhbmtzIHRvIHRoYXQsIHN0eWxlcyBsaWtlIGJveC1zaGFkb3csIG91dGxpbmUsIGV0Yy4gYXJlIG5vdCBtYXNrZWQgYnlcblx0YWRqYWNlbnQgbGlzdCBpdGVtcy4gKi9cblxuLmNrLmNrLWxpc3QgLmNrLWxpc3RfX2l0ZW0gPiAqOmZvY3VzIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogdmFyKC0tY2stei1kZWZhdWx0KTtcblx0fVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC8qIE1ha2Ugc3VyZSB0aGUgYmFsbG9vbiBhcnJvdyBkb2VzIG5vdCBmbG9hdCBvdmVyIGl0cyBjaGlsZHJlbi4gKi9cblx0LS1jay1iYWxsb29uLXBhbmVsLWFycm93LXotaW5kZXg6IGNhbGModmFyKC0tY2stei1kZWZhdWx0KSAtIDMpO1xufVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHR6LWluZGV4OiB2YXIoLS1jay16LXBhbmVsKTtcbn1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF93aXRoLWFycm93OjpiZWZvcmUsXG5cdFx0LmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF93aXRoLWFycm93OjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF93aXRoLWFycm93OjpiZWZvcmUge1xuXHRcdFx0ei1pbmRleDogdmFyKC0tY2stYmFsbG9vbi1wYW5lbC1hcnJvdy16LWluZGV4KTtcblx0XHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfd2l0aC1hcnJvdzo6YWZ0ZXIge1xuXHRcdFx0ei1pbmRleDogY2FsYyh2YXIoLS1jay1iYWxsb29uLXBhbmVsLWFycm93LXotaW5kZXgpICsgMSk7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd19uXCJdOjpiZWZvcmUge1xuXHRcdFx0ei1pbmRleDogdmFyKC0tY2stYmFsbG9vbi1wYW5lbC1hcnJvdy16LWluZGV4KTtcblx0XHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X25cIl06OmFmdGVyIHtcblx0XHRcdHotaW5kZXg6IGNhbGModmFyKC0tY2stYmFsbG9vbi1wYW5lbC1hcnJvdy16LWluZGV4KSArIDEpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWxbY2xhc3MqPVwiYXJyb3dfc1wiXTo6YmVmb3JlIHtcblx0XHRcdHotaW5kZXg6IHZhcigtLWNrLWJhbGxvb24tcGFuZWwtYXJyb3ctei1pbmRleCk7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd19zXCJdOjphZnRlciB7XG5cdFx0XHR6LWluZGV4OiBjYWxjKHZhcigtLWNrLWJhbGxvb24tcGFuZWwtYXJyb3ctei1pbmRleCkgKyAxKTtcblx0XHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfdmlzaWJsZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrIC5jay1iYWxsb29uLXJvdGF0b3JfX25hdmlnYXRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogQnV0dG9ucyBpbnNpZGUgYSB0b29sYmFyIHNob3VsZCBiZSBjZW50ZXJlZCB3aGVuIHJvdGF0b3IgYmFyIGlzIHdpZGVyLlxuICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXVpL2lzc3Vlcy80OTVcbiAqL1xuLmNrIC5jay1iYWxsb29uLXJvdGF0b3JfX2NvbnRlbnQgLmNrLXRvb2xiYXIge1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrIC5jay1mYWtlLXBhbmVsIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdC8qIEZha2UgcGFuZWxzIHNob3VsZCBiZSBwbGFjZWQgdW5kZXIgbWFpbiBiYWxsb29uIGNvbnRlbnQuICovXG5cdHotaW5kZXg6IGNhbGModmFyKC0tY2stei1wYW5lbCkgLSAxKTtcbn1cblxuLmNrIC5jay1mYWtlLXBhbmVsIGRpdiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmNrIC5jay1mYWtlLXBhbmVsIGRpdjpudGgtY2hpbGQoIDEgKSB7XG5cdHotaW5kZXg6IDI7XG59XG5cbi5jayAuY2stZmFrZS1wYW5lbCBkaXY6bnRoLWNoaWxkKCAyICkge1xuXHR6LWluZGV4OiAxO1xufVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stc3RpY2t5LXBhbmVsIC5jay1zdGlja3ktcGFuZWxfX2NvbnRlbnRfc3RpY2t5IHtcblx0XHR6LWluZGV4OiB2YXIoLS1jay16LXBhbmVsKTsgLyogIzMxNSAqL1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDA7XG5cdH1cblxuLmNrLmNrLXN0aWNreS1wYW5lbCAuY2stc3RpY2t5LXBhbmVsX19jb250ZW50X3N0aWNreV9ib3R0b20tbGltaXQge1xuXHRcdHRvcDogYXV0bztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWF1dG9jb21wbGV0ZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNrLmNrLWF1dG9jb21wbGV0ZSA+IC5jay1zZWFyY2hfX3Jlc3VsdHMge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiB2YXIoLS1jay16LXBhbmVsKTtcblx0fVxuXG4uY2suY2stYXV0b2NvbXBsZXRlID4gLmNrLXNlYXJjaF9fcmVzdWx0cy5jay1zZWFyY2hfX3Jlc3VsdHNfbiB7XG5cdFx0XHRib3R0b206IDEwMCU7XG5cdFx0fVxuXG4uY2suY2stYXV0b2NvbXBsZXRlID4gLmNrLXNlYXJjaF9fcmVzdWx0cy5jay1zZWFyY2hfX3Jlc3VsdHNfcyB7XG5cdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRib3R0b206IGF1dG87XG5cdFx0fVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stc2VhcmNoID4gLmNrLWxhYmVsZWQtZmllbGQtdmlldyA+IC5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX2lucHV0LXdyYXBwZXIgPiAuY2staWNvbiB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLXNlYXJjaCA+IC5jay1sYWJlbGVkLWZpZWxkLXZpZXcgPiAuY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyID4gLmNrLWljb24ge1xuXHRcdFx0XHRsZWZ0OiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stc2VhcmNoID4gLmNrLWxhYmVsZWQtZmllbGQtdmlldyA+IC5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX2lucHV0LXdyYXBwZXIgPiAuY2staWNvbiB7XG5cdFx0XHRcdHJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdH1cblxuLmNrLmNrLXNlYXJjaCA+IC5jay1sYWJlbGVkLWZpZWxkLXZpZXcgLmNrLXNlYXJjaF9fcmVzZXQge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0fVxuXG4uY2suY2stc2VhcmNoID4gLmNrLXNlYXJjaF9fcmVzdWx0cyA+IC5jay1zZWFyY2hfX2luZm8gPiBzcGFuOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cbi8qIEhpZGUgdGhlIGZpbHRlcmVkIHZpZXcgd2hlbiBub3RoaW5nIHdhcyBmb3VuZCAqL1xuXG4uY2suY2stc2VhcmNoID4gLmNrLXNlYXJjaF9fcmVzdWx0cyA+IC5jay1zZWFyY2hfX2luZm86bm90KC5jay1oaWRkZW4pIH4gKiB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1oaWdobGlnaHRlZC10ZXh0IG1hcmsge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1oaWdobGlnaHQtYmFja2dyb3VuZCk7XG5cdHZlcnRpY2FsLWFsaWduOiBpbml0aWFsO1xuXHRmb250LXdlaWdodDogaW5oZXJpdDtcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBNYWtlcyBlbGVtZW50IHVuc2VsZWN0YWJsZS5cbiAqL1xuXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay10b29sdGlwIHtcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblxuXHR6LWluZGV4OiBjYWxjKCB2YXIoLS1jay16LWRpYWxvZykgKyAxMDAgKTtcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLXRvb2xiYXItc3Bpbm5lci1zaXplOiAxOHB4O1xufVxuXG4uY2suY2stc3Bpbm5lci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2suY2stc3Bpbm5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRtYXJnaW46IDAgYXV0bztcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR6LWluZGV4OiAxO1xufVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIE1ha2VzIGVsZW1lbnQgdW5zZWxlY3RhYmxlLlxuICovXG5cbi5jay5jay10b29sYmFyIHtcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jay5jay10b29sYmFyID4gLmNrLXRvb2xiYXJfX2l0ZW1zIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRmbGV4LWdyb3c6IDE7XG5cblx0fVxuXG4uY2suY2stdG9vbGJhciAuY2suY2stdG9vbGJhcl9fc2VwYXJhdG9yIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHQvKlxuXHRcdCAqIEEgbGVhZGluZyBvciB0cmFpbGluZyBzZXBhcmF0b3IgbWFrZXMgbm8gc2Vuc2UgKHNlcGFyYXRlcyBmcm9tIG5vdGhpbmcgb24gb25lIHNpZGUpLlxuXHRcdCAqIEZvciBpbnN0YW5jZSwgaXQgY2FuIGhhcHBlbiB3aGVuIHRvb2xiYXIgaXRlbXMgKGFsc28gc2VwYXJhdG9ycykgYXJlIGdldHRpbmcgZ3JvdXBlZCBvbmUgYnkgb25lIGFuZFxuXHRcdCAqIG1vdmVkIHRvIGFub3RoZXIgdG9vbGJhciBpbiB0aGUgZHJvcGRvd24uXG5cdFx0ICovXG5cdH1cblxuLmNrLmNrLXRvb2xiYXIgLmNrLmNrLXRvb2xiYXJfX3NlcGFyYXRvcjpmaXJzdC1jaGlsZCxcblx0XHQuY2suY2stdG9vbGJhciAuY2suY2stdG9vbGJhcl9fc2VwYXJhdG9yOmxhc3QtY2hpbGQge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cbi5jay5jay10b29sYmFyIC5jay10b29sYmFyX19saW5lLWJyZWFrIHtcblx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHR9XG5cbi5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfZ3JvdXBpbmcgPiAuY2stdG9vbGJhcl9faXRlbXMge1xuXHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHR9XG5cbi5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfdmVydGljYWwgPiAuY2stdG9vbGJhcl9faXRlbXMge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdH1cblxuLmNrLmNrLXRvb2xiYXIuY2stdG9vbGJhcl9mbG9hdGluZyA+IC5jay10b29sYmFyX19pdGVtcyB7XG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdH1cblxuLmNrLmNrLXRvb2xiYXIgPiAuY2suY2stdG9vbGJhcl9fZ3JvdXBlZC1kcm9wZG93biA+IC5jay1kcm9wZG93bl9fYnV0dG9uIC5jay1kcm9wZG93bl9fYXJyb3cge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1ibG9jay10b29sYmFyLWJ1dHRvbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogdmFyKC0tY2stei1kZWZhdWx0KTtcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLW1lbnUtYmFyX19tZW51ID4gLmNrLW1lbnUtYmFyX19tZW51X19idXR0b24gPiAuY2stbWVudS1iYXJfX21lbnVfX2J1dHRvbl9fYXJyb3cge1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHotaW5kZXg6IHZhcigtLWNrLXotZGVmYXVsdCk7XG5cdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLW1lbnUtYmFyLW1lbnUtbWF4LXdpZHRoOiA3NXZ3O1xuXHQtLWNrLW1lbnUtYmFyLW5lc3RlZC1tZW51LWhvcml6b250YWwtb2Zmc2V0OiA1cHg7XG59XG5cbi5jay5jay1tZW51LWJhcl9fbWVudSA+IC5jay5jay1tZW51LWJhcl9fbWVudV9fcGFuZWwge1xuXHR6LWluZGV4OiB2YXIoLS1jay16LXBhbmVsKTtcblx0bWF4LXdpZHRoOiB2YXIoLS1jay1tZW51LWJhci1tZW51LW1heC13aWR0aCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmNrLmNrLW1lbnUtYmFyX19tZW51ID4gLmNrLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbC5jay1tZW51LWJhcl9fbWVudV9fcGFuZWxfcG9zaXRpb25fbmUsXG5cdC5jay5jay1tZW51LWJhcl9fbWVudSA+IC5jay5jay1tZW51LWJhcl9fbWVudV9fcGFuZWwuY2stbWVudS1iYXJfX21lbnVfX3BhbmVsX3Bvc2l0aW9uX253IHtcblx0XHRib3R0b206IDEwMCU7XG5cdH1cblxuLmNrLmNrLW1lbnUtYmFyX19tZW51ID4gLmNrLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbC5jay1tZW51LWJhcl9fbWVudV9fcGFuZWxfcG9zaXRpb25fc2UsXG5cdC5jay5jay1tZW51LWJhcl9fbWVudSA+IC5jay5jay1tZW51LWJhcl9fbWVudV9fcGFuZWwuY2stbWVudS1iYXJfX21lbnVfX3BhbmVsX3Bvc2l0aW9uX3N3IHtcblx0XHR0b3A6IDEwMCU7XG5cdFx0Ym90dG9tOiBhdXRvO1xuXHR9XG5cbi5jay5jay1tZW51LWJhcl9fbWVudSA+IC5jay5jay1tZW51LWJhcl9fbWVudV9fcGFuZWwuY2stbWVudS1iYXJfX21lbnVfX3BhbmVsX3Bvc2l0aW9uX25lLFxuXHQuY2suY2stbWVudS1iYXJfX21lbnUgPiAuY2suY2stbWVudS1iYXJfX21lbnVfX3BhbmVsLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl9zZSB7XG5cdFx0bGVmdDogMHB4O1xuXHR9XG5cbi5jay5jay1tZW51LWJhcl9fbWVudSA+IC5jay5jay1tZW51LWJhcl9fbWVudV9fcGFuZWwuY2stbWVudS1iYXJfX21lbnVfX3BhbmVsX3Bvc2l0aW9uX253LFxuXHQuY2suY2stbWVudS1iYXJfX21lbnUgPiAuY2suY2stbWVudS1iYXJfX21lbnVfX3BhbmVsLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl9zdyB7XG5cdFx0cmlnaHQ6IDBweDtcblx0fVxuXG4uY2suY2stbWVudS1iYXJfX21lbnUgPiAuY2suY2stbWVudS1iYXJfX21lbnVfX3BhbmVsLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl9lcyxcblx0LmNrLmNrLW1lbnUtYmFyX19tZW51ID4gLmNrLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbC5jay1tZW51LWJhcl9fbWVudV9fcGFuZWxfcG9zaXRpb25fZW4ge1xuXHRcdGxlZnQ6IGNhbGMoIDEwMCUgLSB2YXIoLS1jay1tZW51LWJhci1uZXN0ZWQtbWVudS1ob3Jpem9udGFsLW9mZnNldCkgKTtcblx0fVxuXG4uY2suY2stbWVudS1iYXJfX21lbnUgPiAuY2suY2stbWVudS1iYXJfX21lbnVfX3BhbmVsLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl9lcyB7XG5cdFx0dG9wOiAwcHg7XG5cdH1cblxuLmNrLmNrLW1lbnUtYmFyX19tZW51ID4gLmNrLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbC5jay1tZW51LWJhcl9fbWVudV9fcGFuZWxfcG9zaXRpb25fZW4ge1xuXHRcdGJvdHRvbTogMHB4O1xuXHR9XG5cbi5jay5jay1tZW51LWJhcl9fbWVudSA+IC5jay5jay1tZW51LWJhcl9fbWVudV9fcGFuZWwuY2stbWVudS1iYXJfX21lbnVfX3BhbmVsX3Bvc2l0aW9uX3dzLFxuXHQuY2suY2stbWVudS1iYXJfX21lbnUgPiAuY2suY2stbWVudS1iYXJfX21lbnVfX3BhbmVsLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl93biB7XG5cdFx0cmlnaHQ6IGNhbGMoIDEwMCUgLSB2YXIoLS1jay1tZW51LWJhci1uZXN0ZWQtbWVudS1ob3Jpem9udGFsLW9mZnNldCkgKTtcblx0fVxuXG4uY2suY2stbWVudS1iYXJfX21lbnUgPiAuY2suY2stbWVudS1iYXJfX21lbnVfX3BhbmVsLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl93cyB7XG5cdFx0dG9wOiAwcHg7XG5cdH1cblxuLmNrLmNrLW1lbnUtYmFyX19tZW51ID4gLmNrLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbC5jay1tZW51LWJhcl9fbWVudV9fcGFuZWxfcG9zaXRpb25fd24ge1xuXHRcdGJvdHRvbTogMHB4O1xuXHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1tZW51LWJhcl9fbWVudSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1jb2xvci1yZXNpemVyOiB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xuXHQtLWNrLWNvbG9yLXJlc2l6ZXItdG9vbHRpcC1iYWNrZ3JvdW5kOiBoc2woMCwgMCUsIDE1JSk7XG5cdC0tY2stY29sb3ItcmVzaXplci10b29sdGlwLXRleHQ6IGhzbCgwLCAwJSwgOTUlKTtcblxuXHQtLWNrLXJlc2l6ZXItYm9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdC0tY2stcmVzaXplci10b29sdGlwLW9mZnNldDogMTBweDtcblx0LS1jay1yZXNpemVyLXRvb2x0aXAtaGVpZ2h0OiBjYWxjKHZhcigtLWNrLXNwYWNpbmctc21hbGwpICogMiArIDEwcHgpO1xufVxuXG4uY2sgLmNrLXdpZGdldCB7XG5cdC8qIFRoaXMgaXMgbmVjY2Vzc2FyeSBmb3IgdHlwZSBhcm91bmQgVUkgdG8gYmUgcG9zaXRpb25lZCBwcm9wZXJseS4gKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIHtcblx0LyogTWFrZSB0aGUgd2lkZ2V0IHdyYXBwZXIgYSByZWxhdGl2ZSBwb3NpdGlvbmluZyBjb250YWluZXIgZm9yIHRoZSBkcmFnIGhhbmRsZS4gKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0fVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUgLmNrLWljb24ge1xuXHRcdFx0LyogTWFrZSBzdXJlIHRoZSBpY29uIGluIG5vdCBhIHN1YmplY3QgdG8gZm9udC1zaXplIG9yIGxpbmUtaGVpZ2h0IHRvIGF2b2lkXG5cdFx0XHR1bm5lY2Vzc2FyeSBzcGFjaW5nIGFyb3VuZCBpdC4gKi9cblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuLyogU2hvdyB0aGUgc2VsZWN0aW9uIGhhbmRsZSBvbiBtb3VzZSBob3ZlciBvdmVyIHRoZSB3aWRnZXQsIGJ1dCBub3QgZm9yIG5lc3RlZCB3aWRnZXRzLiAqL1xuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlOmhvdmVyID4gLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSB7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0fVxuXG4vKiBTaG93IHRoZSBzZWxlY3Rpb24gaGFuZGxlIHdoZW4gdGhlIHdpZGdldCBpcyBzZWxlY3RlZCwgYnV0IG5vdCBmb3IgbmVzdGVkIHdpZGdldHMuICovXG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUuY2std2lkZ2V0X3NlbGVjdGVkID4gLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSB7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0fVxuXG4uY2sgLmNrLXNpemUtdmlldyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXJlc2l6ZXItdG9vbHRpcC1iYWNrZ3JvdW5kKTtcblx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLXJlc2l6ZXItdG9vbHRpcC10ZXh0KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItcmVzaXplci10b29sdGlwLXRleHQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1yZXNpemVyLWJvcmRlci1yYWRpdXMpO1xuXHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS10aW55KTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDAgdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdGhlaWdodDogdmFyKC0tY2stcmVzaXplci10b29sdGlwLWhlaWdodCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1jay1yZXNpemVyLXRvb2x0aXAtaGVpZ2h0KTtcbn1cblxuLmNrIC5jay1zaXplLXZpZXcuY2stb3JpZW50YXRpb24tdG9wLWxlZnQsXG5cdC5jayAuY2stc2l6ZS12aWV3LmNrLW9yaWVudGF0aW9uLXRvcC1yaWdodCxcblx0LmNrIC5jay1zaXplLXZpZXcuY2stb3JpZW50YXRpb24tYm90dG9tLXJpZ2h0LFxuXHQuY2sgLmNrLXNpemUtdmlldy5jay1vcmllbnRhdGlvbi1ib3R0b20tbGVmdCxcblx0LmNrIC5jay1zaXplLXZpZXcuY2stb3JpZW50YXRpb24tYWJvdmUtY2VudGVyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdH1cblxuLmNrIC5jay1zaXplLXZpZXcuY2stb3JpZW50YXRpb24tdG9wLWxlZnQge1xuXHRcdHRvcDogdmFyKC0tY2stcmVzaXplci10b29sdGlwLW9mZnNldCk7XG5cdFx0bGVmdDogdmFyKC0tY2stcmVzaXplci10b29sdGlwLW9mZnNldCk7XG5cdH1cblxuLmNrIC5jay1zaXplLXZpZXcuY2stb3JpZW50YXRpb24tdG9wLXJpZ2h0IHtcblx0XHR0b3A6IHZhcigtLWNrLXJlc2l6ZXItdG9vbHRpcC1vZmZzZXQpO1xuXHRcdHJpZ2h0OiB2YXIoLS1jay1yZXNpemVyLXRvb2x0aXAtb2Zmc2V0KTtcblx0fVxuXG4uY2sgLmNrLXNpemUtdmlldy5jay1vcmllbnRhdGlvbi1ib3R0b20tcmlnaHQge1xuXHRcdGJvdHRvbTogdmFyKC0tY2stcmVzaXplci10b29sdGlwLW9mZnNldCk7XG5cdFx0cmlnaHQ6IHZhcigtLWNrLXJlc2l6ZXItdG9vbHRpcC1vZmZzZXQpO1xuXHR9XG5cbi5jayAuY2stc2l6ZS12aWV3LmNrLW9yaWVudGF0aW9uLWJvdHRvbS1sZWZ0IHtcblx0XHRib3R0b206IHZhcigtLWNrLXJlc2l6ZXItdG9vbHRpcC1vZmZzZXQpO1xuXHRcdGxlZnQ6IHZhcigtLWNrLXJlc2l6ZXItdG9vbHRpcC1vZmZzZXQpO1xuXHR9XG5cbi8qIENsYXNzIGFwcGxpZWQgaWYgdGhlIHdpZGdldCBpcyB0b28gc21hbGwgdG8gY29udGFpbiB0aGUgc2l6ZSBsYWJlbCAqL1xuXG4uY2sgLmNrLXNpemUtdmlldy5jay1vcmllbnRhdGlvbi1hYm92ZS1jZW50ZXIge1xuXHRcdHRvcDogY2FsYyh2YXIoLS1jay1yZXNpemVyLXRvb2x0aXAtaGVpZ2h0KSAqIC0xKTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG5cdH1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrIC5jay13aWRnZXRfd2l0aC1yZXNpemVyIHtcblx0LyogTWFrZSB0aGUgd2lkZ2V0IHdyYXBwZXIgYSByZWxhdGl2ZSBwb3NpdGlvbmluZyBjb250YWluZXIgZm9yIHRoZSBkcmFnIGhhbmRsZS4gKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2sgLmNrLXdpZGdldF9fcmVzaXplciB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHQvKiBUaGUgd3JhcHBlciBpdHNlbGYgc2hvdWxkIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgcG9pbnRlciBkZXZpY2UsIG9ubHkgdGhlIGhhbmRsZXMgc2hvdWxkLiAqL1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG59XG5cbi5jay1mb2N1c2VkIC5jay13aWRnZXRfd2l0aC1yZXNpemVyLmNrLXdpZGdldF9zZWxlY3RlZCA+IC5jay13aWRnZXRfX3Jlc2l6ZXIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cbi5jayAuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0LyogUmVzaXplcnMgYXJlIHRoZSBvbmx5IFVJIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGludGVyZmVyZSB3aXRoIGEgcG9pbnRlciBkZXZpY2UuICovXG5cdHBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG5cbi5jayAuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUtdG9wLWxlZnQsXG5cdC5jayAuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUtYm90dG9tLXJpZ2h0IHtcblx0XHRjdXJzb3I6IG53c2UtcmVzaXplO1xuXHR9XG5cbi5jayAuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUtdG9wLXJpZ2h0LFxuXHQuY2sgLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlLWJvdHRvbS1sZWZ0IHtcblx0XHRjdXJzb3I6IG5lc3ctcmVzaXplO1xuXHR9XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG5cdCAqIFN0eWxlcyBvZiB0aGUgdHlwZSBhcm91bmQgYnV0dG9uc1xuXHQgKi9cblxuLmNrIC5jay13aWRnZXQgLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0ei1pbmRleDogdmFyKC0tY2stei1kZWZhdWx0KTtcblx0fVxuXG4uY2sgLmNrLXdpZGdldCAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uIHN2ZyB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdHotaW5kZXg6IGNhbGModmFyKC0tY2stei1kZWZhdWx0KSArIDIpO1xuXHRcdH1cblxuLmNrIC5jay13aWRnZXQgLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbi5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b25fYmVmb3JlIHtcblx0XHRcdC8qIFBsYWNlIGl0IGluIHRoZSBtaWRkbGUgb2YgdGhlIG91dGxpbmUgKi9cblx0XHRcdHRvcDogY2FsYygtMC41ICogdmFyKC0tY2std2lkZ2V0LW91dGxpbmUtdGhpY2tuZXNzKSk7XG5cdFx0XHRsZWZ0OiBtaW4oMTAlLCAzMHB4KTtcblxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdH1cblxuLmNrIC5jay13aWRnZXQgLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbi5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b25fYWZ0ZXIge1xuXHRcdFx0LyogUGxhY2UgaXQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgb3V0bGluZSAqL1xuXHRcdFx0Ym90dG9tOiBjYWxjKC0wLjUgKiB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpKTtcblx0XHRcdHJpZ2h0OiBtaW4oMTAlLCAzMHB4KTtcblxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG5cdFx0fVxuXG4vKlxuXHQgKiBTdHlsZXMgZm9yIHRoZSBidXR0b25zIHdoZW46XG5cdCAqIC0gdGhlIHdpZGdldCBpcyBzZWxlY3RlZCxcblx0ICogLSBvciB0aGUgYnV0dG9uIGlzIGJlaW5nIGhvdmVyZWQgKHJlZ2FyZGxlc3Mgb2YgdGhlIHdpZGdldCBzdGF0ZSkuXG5cdCAqL1xuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0ZWQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b246OmFmdGVyLCAuY2sgLmNrLXdpZGdldCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbjpob3Zlcjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAxcHg7XG5cdFx0XHRsZWZ0OiAxcHg7XG5cdFx0XHR6LWluZGV4OiBjYWxjKHZhcigtLWNrLXotZGVmYXVsdCkgKyAxKTtcblx0XHR9XG5cbi8qXG5cdCAqIFN0eWxlcyBmb3IgdGhlIGhvcml6b250YWwgXCJmYWtlIGNhcmV0XCIgd2hpY2ggaXMgZGlzcGxheWVkIHdoZW4gdGhlIHVzZXIgbmF2aWdhdGVzIHVzaW5nIHRoZSBrZXlib2FyZC5cblx0ICovXG5cbi5jayAuY2std2lkZ2V0ID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fZmFrZS1jYXJldCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0fVxuXG4vKlxuXHQgKiBXaGVuIHRoZSB3aWRnZXQgaXMgaG92ZXJlZCB0aGUgXCJmYWtlIGNhcmV0XCIgd291bGQgbm9ybWFsbHkgYmUgbmFycm93ZXIgdGhhbiB0aGVcblx0ICogZXh0cmEgb3V0bGluZSBkaXNwbGF5ZWQgYXJvdW5kIHRoZSB3aWRnZXQuIExldCdzIGV4dGVuZCB0aGUgXCJmYWtlIGNhcmV0XCIgdG8gbWF0Y2hcblx0ICogdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHdpZGdldC5cblx0ICovXG5cbi5jayAuY2std2lkZ2V0OmhvdmVyID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fZmFrZS1jYXJldCB7XG5cdFx0bGVmdDogY2FsYyggLTEgKiB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpICk7XG5cdFx0cmlnaHQ6IGNhbGMoIC0xICogdmFyKC0tY2std2lkZ2V0LW91dGxpbmUtdGhpY2tuZXNzKSApO1xuXHR9XG5cbi8qXG5cdCAqIFN0eWxlcyBmb3IgdGhlIGhvcml6b250YWwgXCJmYWtlIGNhcmV0XCIgd2hlbiBpdCBzaG91bGQgYmUgZGlzcGxheWVkIGJlZm9yZSB0aGUgd2lkZ2V0IChiYWNrd2FyZCBrZXlib2FyZCBuYXZpZ2F0aW9uKS5cblx0ICovXG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF90eXBlLWFyb3VuZF9zaG93LWZha2UtY2FyZXRfYmVmb3JlID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fZmFrZS1jYXJldCB7XG5cdFx0dG9wOiBjYWxjKCAtMSAqIHZhcigtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzcykgLSAxcHggKTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG4vKlxuXHQgKiBTdHlsZXMgZm9yIHRoZSBob3Jpem9udGFsIFwiZmFrZSBjYXJldFwiIHdoZW4gaXQgc2hvdWxkIGJlIGRpc3BsYXllZCBhZnRlciB0aGUgd2lkZ2V0IChmb3J3YXJkIGtleWJvYXJkIG5hdmlnYXRpb24pLlxuXHQgKi9cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9hZnRlciA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2Zha2UtY2FyZXQge1xuXHRcdGJvdHRvbTogY2FsYyggLTEgKiB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpIC0gMXB4ICk7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuLypcbiAqIEludGVncmF0aW9uIHdpdGggdGhlIHJlYWQtb25seSBtb2RlIG9mIHRoZSBlZGl0b3IuXG4gKi9cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLXJlYWQtb25seSAuY2std2lkZ2V0X190eXBlLWFyb3VuZCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG4gKiBJbnRlZ3JhdGlvbiB3aXRoIHRoZSByZXN0cmljdGVkIGVkaXRpbmcgbW9kZSAoZmVhdHVyZSkgb2YgdGhlIGVkaXRvci5cbiAqL1xuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stcmVzdHJpY3RlZC1lZGl0aW5nX21vZGVfcmVzdHJpY3RlZCAuY2std2lkZ2V0X190eXBlLWFyb3VuZCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG4gKiBJbnRlZ3JhdGlvbiB3aXRoIHRoZSAjaXNFbmFibGVkIHByb3BlcnR5IG9mIHRoZSBXaWRnZXRUeXBlQXJvdW5kIHBsdWdpbi5cbiAqL1xuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2std2lkZ2V0X190eXBlLWFyb3VuZF9kaXNhYmxlZCAuY2std2lkZ2V0X190eXBlLWFyb3VuZCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWNrZWRpdG9yNS5jc3MubWFwICovIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyogUmVzZXQgKi9cbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS11aS9nbG9iYWxzL2dsb2JhbHMuY3NzXCI7XG5cbi8qIENvbXBvbmVudHMgKi9cbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvYnV0dG9uL3N3aXRjaGJ1dHRvbi5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2J1dHRvbi9saXN0aXRlbWJ1dHRvbi5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2NvbGxhcHNpYmxlL2NvbGxhcHNpYmxlLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvY29sb3JncmlkL2NvbG9yZ3JpZC5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2NvbG9yc2VsZWN0b3IvY29sb3JzZWxlY3Rvci5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nYWN0aW9ucy5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvZHJvcGRvd24vbGlzdGRyb3Bkb3duLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvZHJvcGRvd24vc3BsaXRidXR0b24uY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9kcm9wZG93bi90b29sYmFyZHJvcGRvd24uY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9kcm9wZG93bi9tZW51L2Ryb3Bkb3dubWVudWJ1dHRvbi5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2Ryb3Bkb3duL21lbnUvZHJvcGRvd25tZW51bGlzdGl0ZW0uY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9kcm9wZG93bi9tZW51L2Ryb3Bkb3dubWVudWxpc3RpdGVtYnV0dG9uLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvZHJvcGRvd24vbWVudS9kcm9wZG93bm1lbnVwYW5lbC5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2VkaXRvcnVpL2FjY2Vzc2liaWxpdHloZWxwLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvZWRpdG9ydWkvZWRpdG9ydWkuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9mb3JtaGVhZGVyL2Zvcm1oZWFkZXIuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9pY29uL2ljb24uY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2xhYmVsL2xhYmVsLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvbGFiZWxlZGZpZWxkL2xhYmVsZWRmaWVsZHZpZXcuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9sYWJlbGVkaW5wdXQvbGFiZWxlZGlucHV0LmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvbGlzdC9saXN0LmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvbWVudWJhci9tZW51YmFyLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvbWVudWJhci9tZW51YmFybWVudS5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL21lbnViYXIvbWVudWJhcm1lbnVidXR0b24uY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9tZW51YmFyL21lbnViYXJtZW51bGlzdGl0ZW0uY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9tZW51YmFyL21lbnViYXJtZW51bGlzdGl0ZW1idXR0b24uY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9tZW51YmFyL21lbnViYXJtZW51cGFuZWwuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9wYW5lbC9iYWxsb29ucGFuZWwuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9wYW5lbC9iYWxsb29ucm90YXRvci5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL3BhbmVsL2Zha2VwYW5lbC5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL3BhbmVsL3N0aWNreXBhbmVsLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1mb3JtL3Jlc3BvbnNpdmVmb3JtLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL3NwaW5uZXIvc3Bpbm5lci5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL3RleHRhcmVhL3RleHRhcmVhLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvdG9vbGJhci9ibG9ja3Rvb2xiYXIuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY3NzXCI7XG5cbi8qIEVkaXRvciAqL1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LWVkaXRvci1jbGFzc2ljL2NsYXNzaWNlZGl0b3IuY3NzXCI7XG5cbi8qIFBsdWdpbnMgKi9cbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS1jbGlwYm9hcmQvY2xpcGJvYXJkLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LWNvZGUtYmxvY2svY29kZWJsb2NrLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LWVuZ2luZS9wbGFjZWhvbGRlci5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS1maW5kLWFuZC1yZXBsYWNlL2ZpbmRhbmRyZXBsYWNlZm9ybS5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS1oZWFkaW5nL2hlYWRpbmcuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtaG9yaXpvbnRhbC1saW5lL2hvcml6b250YWxsaW5lLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LWh0bWwtZW1iZWQvaHRtbGVtYmVkLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LWltYWdlL2ltYWdlaW5zZXJ0LmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LWltYWdlL2ltYWdldXBsb2FkLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LWltYWdlL2ltYWdldXBsb2FkaWNvbi5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS1pbWFnZS9pbWFnZXVwbG9hZGxvYWRlci5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS1pbWFnZS9pbWFnZXVwbG9hZHByb2dyZXNzLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LWxpbmsvbGluay5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS1saW5rL2xpbmthY3Rpb25zLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LWxpbmsvbGlua2Zvcm0uY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtbGluay9saW5raW1hZ2UuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtbGlzdC9saXN0cHJvcGVydGllcy5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS1saXN0L2xpc3RzdHlsZXMuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtbWVkaWEtZW1iZWQvbWVkaWFlbWJlZGVkaXRpbmcuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtbWVudGlvbi9tZW50aW9uLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXJlc3RyaWN0ZWQtZWRpdGluZy9yZXN0cmljdGVkZWRpdGluZy5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS1zcGVjaWFsLWNoYXJhY3RlcnMvY2hhcmFjdGVyZ3JpZC5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS1zcGVjaWFsLWNoYXJhY3RlcnMvY2hhcmFjdGVyaW5mby5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS1zcGVjaWFsLWNoYXJhY3RlcnMvc3BlY2lhbGNoYXJhY3RlcnMuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtc3R5bGUvc3R5bGUuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtc3R5bGUvc3R5bGVncmlkLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXN0eWxlL3N0eWxlZ3JvdXAuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtc3R5bGUvc3R5bGVwYW5lbC5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS10YWJsZS9jb2xvcmlucHV0LmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXRhYmxlL2Zvcm0uY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdGFibGUvZm9ybXJvdy5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS10YWJsZS9pbnNlcnR0YWJsZS5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS10YWJsZS90YWJsZWNlbGxwcm9wZXJ0aWVzLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXRhYmxlL3RhYmxlZWRpdGluZy5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS10YWJsZS90YWJsZWZvcm0uY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtdGFibGUvdGFibGVwcm9wZXJ0aWVzLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXRhYmxlL3RhYmxlc2VsZWN0aW9uLmNzc1wiO1xuQGltcG9ydCBcIi4vY2tlZGl0b3I1LXdpZGdldC93aWRnZXQuY3NzXCI7XG5AaW1wb3J0IFwiLi9ja2VkaXRvcjUtd2lkZ2V0L3dpZGdldHJlc2l6ZS5jc3NcIjtcbkBpbXBvcnQgXCIuL2NrZWRpdG9yNS13aWRnZXQvd2lkZ2V0dHlwZWFyb3VuZC5jc3NcIjtcbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCIuL19jb2xvcnMuY3NzXCI7XG5AaW1wb3J0IFwiLi9fZGlzYWJsZWQuY3NzXCI7XG5AaW1wb3J0IFwiLi9fZm9jdXMuY3NzXCI7XG5AaW1wb3J0IFwiLi9fZm9udHMuY3NzXCI7XG5AaW1wb3J0IFwiLi9fcmVzZXQuY3NzXCI7XG5AaW1wb3J0IFwiLi9fcm91bmRlZC5jc3NcIjtcbkBpbXBvcnQgXCIuL19zaGFkb3cuY3NzXCI7XG5AaW1wb3J0IFwiLi9fc3BhY2luZy5jc3NcIjtcbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQ6IFx0XHRcdFx0XHRcdFx0XHRoc2woMCwgMCUsIDk4JSk7XG5cdC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0aHNsKDAsIDAlLCAxMDAlKTtcblx0LS1jay1jb2xvci1iYXNlLWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0aHNsKDIyMCwgNiUsIDgxJSk7XG5cdC0tY2stY29sb3ItYmFzZS1hY3Rpb246IFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgxMDQsIDUwLjIlLCA0Mi41JSk7XG5cdC0tY2stY29sb3ItYmFzZS1mb2N1czogXHRcdFx0XHRcdFx0XHRcdFx0XHRoc2woMjA5LCA5MiUsIDcwJSk7XG5cdC0tY2stY29sb3ItYmFzZS10ZXh0OiBcdFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgwLCAwJSwgMjAlKTtcblx0LS1jay1jb2xvci1iYXNlLWFjdGl2ZTogXHRcdFx0XHRcdFx0XHRcdFx0aHNsKDIxOC4xLCAxMDAlLCA1OCUpO1xuXHQtLWNrLWNvbG9yLWJhc2UtYWN0aXZlLWZvY3VzOlx0XHRcdFx0XHRcdFx0XHRoc2woMjE4LjIsIDEwMCUsIDUyLjUlKTtcblx0LS1jay1jb2xvci1iYXNlLWVycm9yOlx0XHRcdFx0XHRcdFx0XHRcdFx0aHNsKDE1LCAxMDAlLCA0MyUpO1xuXG5cdC8qIC0tIEdlbmVyaWMgY29sb3JzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItZm9jdXMtYm9yZGVyLWNvb3JkaW5hdGVzOiBcdFx0XHRcdFx0XHQyMTgsIDgxLjglLCA1Ni45JTtcblx0LS1jay1jb2xvci1mb2N1cy1ib3JkZXI6IFx0XHRcdFx0XHRcdFx0XHRcdGhzbCh2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXItY29vcmRpbmF0ZXMpKTtcblx0LS1jay1jb2xvci1mb2N1cy1vdXRlci1zaGFkb3c6XHRcdFx0XHRcdFx0XHRcdGhzbCgyMTIuNCwgODkuMyUsIDg5JSk7XG5cdC0tY2stY29sb3ItZm9jdXMtZGlzYWJsZWQtc2hhZG93Olx0XHRcdFx0XHRcdFx0aHNsYSgyMDksIDkwJSwgNzIlLC4zKTtcblx0LS1jay1jb2xvci1mb2N1cy1lcnJvci1zaGFkb3c6XHRcdFx0XHRcdFx0XHRcdGhzbGEoOSwxMDAlLDU2JSwuMyk7XG5cdC0tY2stY29sb3ItdGV4dDogXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtdGV4dCk7XG5cdC0tY2stY29sb3Itc2hhZG93LWRyb3A6IFx0XHRcdFx0XHRcdFx0XHRcdGhzbGEoMCwgMCUsIDAlLCAwLjE1KTtcblx0LS1jay1jb2xvci1zaGFkb3ctZHJvcC1hY3RpdmU6XHRcdFx0XHRcdFx0XHRcdGhzbGEoMCwgMCUsIDAlLCAwLjIpO1xuXHQtLWNrLWNvbG9yLXNoYWRvdy1pbm5lcjogXHRcdFx0XHRcdFx0XHRcdFx0aHNsYSgwLCAwJSwgMCUsIDAuMSk7XG5cblx0LyogLS0gQnV0dG9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHR0cmFuc3BhcmVudDtcblx0LS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiBcdFx0XHRcdGhzbCgwLCAwJSwgOTQuMSUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiBcdFx0XHRcdGhzbCgwLCAwJSwgOTQuMSUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWRpc2FibGVkLWJhY2tncm91bmQ6IFx0XHRcdFx0dHJhbnNwYXJlbnQ7XG5cblx0LS1jay1jb2xvci1idXR0b24tb24tYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0XHRoc2woMjEyLCAxMDAlLCA5Ny4xJSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLW9uLWhvdmVyLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdGhzbCgyMTEuNywgMTAwJSwgOTIuOSUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1vbi1hY3RpdmUtYmFja2dyb3VuZDogXHRcdFx0XHRcdGhzbCgyMTEuNywgMTAwJSwgOTIuOSUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1vbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0aHNsKDIxMSwgMTUlLCA5NSUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1vbi1jb2xvcjpcdFx0XHRcdFx0XHRcdFx0XHRoc2woMjE4LjEsIDEwMCUsIDU4JSk7XG5cblxuXHQtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1hY3Rpb24pO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24taG92ZXItYmFja2dyb3VuZDogXHRcdFx0XHRcdGhzbCgxMDQsIDUzLjIlLCA0MC4yJSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi1hY3RpdmUtYmFja2dyb3VuZDogXHRcdFx0XHRoc2woMTA0LCA1My4yJSwgNDAuMiUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tZGlzYWJsZWQtYmFja2dyb3VuZDogXHRcdFx0XHRoc2woMTA0LCA0NCUsIDU4JSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi10ZXh0OiBcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuXHQtLWNrLWNvbG9yLWJ1dHRvbi1zYXZlOiBcdFx0XHRcdFx0XHRcdFx0XHRoc2woMTIwLCAxMDAlLCAyNyUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1jYW5jZWw6IFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgxNSwgMTAwJSwgNDMlKTtcblxuXHQtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24tb2ZmLWJhY2tncm91bmQ6XHRcdFx0XHRcdGhzbCgwLCAwJSwgNTcuNiUpO1xuXHQtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24tb2ZmLWhvdmVyLWJhY2tncm91bmQ6XHRcdFx0XHRoc2woMCwgMCUsIDQ5JSk7XG5cdC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1vbi1iYWNrZ3JvdW5kOlx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tYmFja2dyb3VuZCk7XG5cdC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1vbi1ob3Zlci1iYWNrZ3JvdW5kOlx0XHRcdFx0aHNsKDEwNCwgNTMuMiUsIDQwLjIlKTtcblx0LS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLWlubmVyLWJhY2tncm91bmQ6XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1pbm5lci1zaGFkb3c6XHRcdFx0XHRcdFx0aHNsYSgwLCAwJSwgMCUsIDAuMSk7XG5cblx0LyogLS0gRHJvcGRvd24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1kcm9wZG93bi1wYW5lbC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLWRyb3Bkb3duLXBhbmVsLWJvcmRlcjogXHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cblx0LyogLS0gRGlhbG9nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1kaWFsb2ctYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWN1c3RvbS1iYWNrZ3JvdW5kKTtcblx0LS1jay1jb2xvci1kaWFsb2ctZm9ybS1oZWFkZXItYm9yZGVyOiBcdFx0XHRcdFx0XHR2YXIoLS1jay1jdXN0b20tYm9yZGVyKTtcblxuXHQvKiAtLSBJbnB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLWlucHV0LWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLWlucHV0LWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHQtLWNrLWNvbG9yLWlucHV0LWVycm9yLWJvcmRlcjpcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1lcnJvcik7XG5cdC0tY2stY29sb3ItaW5wdXQtdGV4dDogXHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLXRleHQpO1xuXHQtLWNrLWNvbG9yLWlucHV0LWRpc2FibGVkLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdGhzbCgwLCAwJSwgOTUlKTtcblx0LS1jay1jb2xvci1pbnB1dC1kaXNhYmxlZC1ib3JkZXI6IFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHQtLWNrLWNvbG9yLWlucHV0LWRpc2FibGVkLXRleHQ6IFx0XHRcdFx0XHRcdFx0aHNsKDAsIDAlLCA0NiUpO1xuXG5cdC8qIC0tIExpc3QgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItbGlzdC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0LS1jay1jb2xvci1saXN0LWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZCk7XG5cdC0tY2stY29sb3ItbGlzdC1idXR0b24tb24tYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYnV0dG9uLW9uLWNvbG9yKTtcblx0LS1jay1jb2xvci1saXN0LWJ1dHRvbi1vbi1iYWNrZ3JvdW5kLWZvY3VzOiBcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1vbi1jb2xvcik7XG5cdC0tY2stY29sb3ItbGlzdC1idXR0b24tb24tdGV4dDpcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuXHQvKiAtLSBQYW5lbCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLXBhbmVsLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLXBhbmVsLWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXG5cdC8qIC0tIFRvb2xiYXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItdG9vbGJhci1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0LS1jay1jb2xvci10b29sYmFyLWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXG5cdC8qIC0tIFRvb2x0aXAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItdG9vbHRpcC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS10ZXh0KTtcblx0LS1jay1jb2xvci10b29sdGlwLXRleHQ6IFx0XHRcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cblx0LyogLS0gRW5naW5lIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1lbmdpbmUtcGxhY2Vob2xkZXItdGV4dDogXHRcdFx0XHRcdFx0aHNsKDAsIDAlLCA0NCUpO1xuXG5cdC8qIC0tIFVwbG9hZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItdXBsb2FkLWJhci1iYWNrZ3JvdW5kOlx0XHQgXHRcdFx0XHRcdGhzbCgyMDksIDkyJSwgNzAlKTtcblxuXHQvKiAtLSBMaW5rIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1saW5rLWRlZmF1bHQ6XHRcdFx0XHRcdFx0XHRcdFx0aHNsKDI0MCwgMTAwJSwgNDclKTtcblx0LS1jay1jb2xvci1saW5rLXNlbGVjdGVkLWJhY2tncm91bmQ6XHRcdFx0XHRcdFx0aHNsYSgyMDEsIDEwMCUsIDU2JSwgMC4xKTtcblx0LS1jay1jb2xvci1saW5rLWZha2Utc2VsZWN0aW9uOlx0XHRcdFx0XHRcdFx0XHRoc2xhKDIwMSwgMTAwJSwgNTYlLCAwLjMpO1xuXG5cdC8qIC0tIFNlYXJjaCByZXN1bHQgaGlnaGxpZ2h0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLWhpZ2hsaWdodC1iYWNrZ3JvdW5kOlx0XHRcdFx0XHRcdFx0aHNsKDYwLCAxMDAlLCA1MCUpO1xuXG5cdC8qIC0tIEdlbmVyaWMgY29sb3JzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLWxpZ2h0LXJlZDpcdFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgwLCAxMDAlLCA5MCUpO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQvKipcblx0ICogQW4gb3BhY2l0eSB2YWx1ZSBvZiBkaXNhYmxlZCBVSSBpdGVtLlxuXHQgKi9cblx0LS1jay1kaXNhYmxlZC1vcGFjaXR5OiAuNTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LyoqXG5cdCAqIFRoZSBnZW9tZXRyeSBvZiB0aGUgb2YgZm9jdXNlZCBlbGVtZW50J3Mgb3V0ZXIgc2hhZG93LlxuXHQgKi9cblx0LS1jay1mb2N1cy1vdXRlci1zaGFkb3ctZ2VvbWV0cnk6IDAgMCAwIDNweDtcblxuXHQvKipcblx0ICogQSB2aXN1YWwgc3R5bGUgb2YgZm9jdXNlZCBlbGVtZW50J3Mgb3V0ZXIgc2hhZG93LlxuXHQgKi9cblx0LS1jay1mb2N1cy1vdXRlci1zaGFkb3c6IHZhcigtLWNrLWZvY3VzLW91dGVyLXNoYWRvdy1nZW9tZXRyeSkgdmFyKC0tY2stY29sb3ItZm9jdXMtb3V0ZXItc2hhZG93KTtcblxuXHQvKipcblx0ICogQSB2aXN1YWwgc3R5bGUgb2YgZm9jdXNlZCBlbGVtZW50J3Mgb3V0ZXIgc2hhZG93ICh3aGVuIGRpc2FibGVkKS5cblx0ICovXG5cdC0tY2stZm9jdXMtZGlzYWJsZWQtb3V0ZXItc2hhZG93OiB2YXIoLS1jay1mb2N1cy1vdXRlci1zaGFkb3ctZ2VvbWV0cnkpIHZhcigtLWNrLWNvbG9yLWZvY3VzLWRpc2FibGVkLXNoYWRvdyk7XG5cblx0LyoqXG5cdCAqIEEgdmlzdWFsIHN0eWxlIG9mIGZvY3VzZWQgZWxlbWVudCdzIG91dGVyIHNoYWRvdyAod2hlbiBoYXMgZXJyb3JzKS5cblx0ICovXG5cdC0tY2stZm9jdXMtZXJyb3Itb3V0ZXItc2hhZG93OiB2YXIoLS1jay1mb2N1cy1vdXRlci1zaGFkb3ctZ2VvbWV0cnkpIHZhcigtLWNrLWNvbG9yLWZvY3VzLWVycm9yLXNoYWRvdyk7XG5cblx0LyoqXG5cdCAqIEEgdmlzdWFsIHN0eWxlIG9mIGZvY3VzZWQgZWxlbWVudCdzIGJvcmRlciBvciBvdXRsaW5lLlxuXHQgKi9cblx0LS1jay1mb2N1cy1yaW5nOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1mb250LXNpemUtYmFzZTogMTNweDtcblx0LS1jay1saW5lLWhlaWdodC1iYXNlOiAxLjg0NjE1O1xuXHQtLWNrLWZvbnQtZmFjZTogSGVsdmV0aWNhLCBBcmlhbCwgVGFob21hLCBWZXJkYW5hLCBTYW5zLVNlcmlmO1xuXG5cdC0tY2stZm9udC1zaXplLXRpbnk6IDAuN2VtO1xuXHQtLWNrLWZvbnQtc2l6ZS1zbWFsbDogMC43NWVtO1xuXHQtLWNrLWZvbnQtc2l6ZS1ub3JtYWw6IDFlbTtcblx0LS1jay1mb250LXNpemUtYmlnOiAxLjRlbTtcblx0LS1jay1mb250LXNpemUtbGFyZ2U6IDEuOGVtO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQvKiBUaGlzIGlzIHN1cGVyLWltcG9ydGFudC4gVGhpcyBpcyAqKm1hbnVhbGx5KiogYWRqdXN0ZWQgc28gYSBidXR0b24gd2l0aG91dCBhbiBpY29uXG5cdGlzIG5ldmVyIHNtYWxsZXIgdGhhbiBhIGJ1dHRvbiB3aXRoIGljb24sIGFkZGl0aW9uYWxseSBtYWtpbmcgc3VyZSB0aGF0IHRleHQtbGVzcyBidXR0b25zXG5cdGFyZSBwZXJmZWN0IHNxdWFyZXMuIFRoZSB2YWx1ZSBpcyBhbHNvIHNoYXJlZCBieSBvdGhlciBjb21wb25lbnRzIHdoaWNoIHNob3VsZCBzdGF5IFwiaW4tbGluZVwiXG5cdHdpdGggYnV0dG9ucy4gKi9cblx0LS1jay11aS1jb21wb25lbnQtbWluLWhlaWdodDogMi4zZW07XG59XG5cbi8qKlxuICogUmVzZXRzIGFuIGVsZW1lbnQsIGlnbm9yaW5nIGl0cyBjaGlsZHJlbi5cbiAqL1xuLmNrLmNrLXJlc2V0LFxuLmNrLmNrLXJlc2V0X2FsbCxcbi5jay1yZXNldF9hbGwgKjpub3QoLmNrLXJlc2V0X2FsbC1leGNsdWRlZCAqKSB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdHdpZHRoOiBhdXRvO1xuXHRoZWlnaHQ6IGF1dG87XG5cdHBvc2l0aW9uOiBzdGF0aWM7XG5cblx0LyogRG8gbm90IGluY2x1ZGUgaW5oZXJpdGFibGUgcnVsZXMgaGVyZS4gKi9cblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHRyYW5zaXRpb246IG5vbmU7XG5cblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy8xMDUgKi9cblx0d29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKipcbiAqIFJlc2V0cyBhbiBlbGVtZW50IEFORCBpdHMgY2hpbGRyZW4uXG4gKi9cbi5jay5jay1yZXNldF9hbGwsXG4uY2stcmVzZXRfYWxsICo6bm90KC5jay1yZXNldF9hbGwtZXhjbHVkZWQgKikge1xuXHQvKiBUaGVzZSBhcmUgcnVsZSBpbmhlcml0ZWQgYnkgYWxsIGNoaWxkcmVuIGVsZW1lbnRzLiAqL1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCB2YXIoLS1jay1mb250LXNpemUtYmFzZSkvdmFyKC0tY2stbGluZS1oZWlnaHQtYmFzZSkgdmFyKC0tY2stZm9udC1mYWNlKTtcblx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLXRleHQpO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRjdXJzb3I6IGF1dG87XG5cdGZsb2F0OiBub25lO1xufVxuXG4uY2stcmVzZXRfYWxsIHtcblx0JiAuY2stcnRsICo6bm90KC5jay1yZXNldF9hbGwtZXhjbHVkZWQgKikge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG5cblx0JiBpZnJhbWU6bm90KC5jay1yZXNldF9hbGwtZXhjbHVkZWQgKikge1xuXHRcdC8qIEZvciBJRSAqL1xuXHRcdHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuXHR9XG5cblx0JiB0ZXh0YXJlYTpub3QoLmNrLXJlc2V0X2FsbC1leGNsdWRlZCAqKSB7XG5cdFx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xuXHR9XG5cblx0JiB0ZXh0YXJlYTpub3QoLmNrLXJlc2V0X2FsbC1leGNsdWRlZCAqKSxcblx0JiBpbnB1dFt0eXBlPVwidGV4dFwiXTpub3QoLmNrLXJlc2V0X2FsbC1leGNsdWRlZCAqKSxcblx0JiBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06bm90KC5jay1yZXNldF9hbGwtZXhjbHVkZWQgKikge1xuXHRcdGN1cnNvcjogdGV4dDtcblx0fVxuXG5cdCYgdGV4dGFyZWFbZGlzYWJsZWRdOm5vdCguY2stcmVzZXRfYWxsLWV4Y2x1ZGVkICopLFxuXHQmIGlucHV0W3R5cGU9XCJ0ZXh0XCJdW2Rpc2FibGVkXTpub3QoLmNrLXJlc2V0X2FsbC1leGNsdWRlZCAqKSxcblx0JiBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1bZGlzYWJsZWRdOm5vdCguY2stcmVzZXRfYWxsLWV4Y2x1ZGVkICopIHtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdH1cblxuXHQmIGZpZWxkc2V0Om5vdCguY2stcmVzZXRfYWxsLWV4Y2x1ZGVkICopIHtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdGJvcmRlcjogMnB4IGdyb292ZSBoc2woMjU1LCA3JSwgODglKTtcblx0fVxuXG5cdCYgYnV0dG9uOm5vdCguY2stcmVzZXRfYWxsLWV4Y2x1ZGVkICopOjotbW96LWZvY3VzLWlubmVyIHtcblx0XHQvKiBTZWUgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81NTE3NzQ0L3JlbW92ZS1leHRyYS1idXR0b24tc3BhY2luZy1wYWRkaW5nLWluLWZpcmVmb3ggKi9cblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlcjogMFxuXHR9XG59XG5cbi8qKlxuICogRGVmYXVsdCBVSSBydWxlcyBmb3IgUlRMIGxhbmd1YWdlcy5cbiAqL1xuLmNrW2Rpcj1cInJ0bFwiXSxcbi5ja1tkaXI9XCJydGxcIl0gLmNrIHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIERlZmF1bHQgYm9yZGVyLXJhZGl1cyB2YWx1ZS5cbiAqL1xuOnJvb3R7XG5cdC0tY2stYm9yZGVyLXJhZGl1czogMnB4O1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQvKipcblx0ICogQSB2aXN1YWwgc3R5bGUgb2YgZWxlbWVudCdzIGlubmVyIHNoYWRvdyAoaS5lLiBpbnB1dCkuXG5cdCAqL1xuXHQtLWNrLWlubmVyLXNoYWRvdzogMnB4IDJweCAzcHggdmFyKC0tY2stY29sb3Itc2hhZG93LWlubmVyKSBpbnNldDtcblxuXHQvKipcblx0ICogQSB2aXN1YWwgc3R5bGUgb2YgZWxlbWVudCdzIGRyb3Agc2hhZG93IChpLmUuIHBhbmVsKS5cblx0ICovXG5cdC0tY2stZHJvcC1zaGFkb3c6IDAgMXB4IDJweCAxcHggdmFyKC0tY2stY29sb3Itc2hhZG93LWRyb3ApO1xuXG5cdC8qKlxuXHQgKiBBIHZpc3VhbCBzdHlsZSBvZiBlbGVtZW50J3MgYWN0aXZlIHNoYWRvdyAoaS5lLiBjb21tZW50IG9yIHN1Z2dlc3Rpb24pLlxuXHQgKi9cblx0LS1jay1kcm9wLXNoYWRvdy1hY3RpdmU6IDAgM3B4IDZweCAxcHggdmFyKC0tY2stY29sb3Itc2hhZG93LWRyb3AtYWN0aXZlKTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1zcGFjaW5nLXVuaXQ6IFx0XHRcdFx0XHRcdDAuNmVtO1xuXHQtLWNrLXNwYWNpbmctbGFyZ2U6IFx0XHRcdFx0XHRjYWxjKHZhcigtLWNrLXNwYWNpbmctdW5pdCkgKiAxLjUpO1xuXHQtLWNrLXNwYWNpbmctc3RhbmRhcmQ6IFx0XHRcdFx0XHR2YXIoLS1jay1zcGFjaW5nLXVuaXQpO1xuXHQtLWNrLXNwYWNpbmctbWVkaXVtOiBcdFx0XHRcdFx0Y2FsYyh2YXIoLS1jay1zcGFjaW5nLXVuaXQpICogMC44KTtcblx0LS1jay1zcGFjaW5nLXNtYWxsOiBcdFx0XHRcdFx0Y2FsYyh2YXIoLS1jay1zcGFjaW5nLXVuaXQpICogMC41KTtcblx0LS1jay1zcGFjaW5nLXRpbnk6IFx0XHRcdFx0XHRcdGNhbGModmFyKC0tY2stc3BhY2luZy11bml0KSAqIDAuMyk7XG5cdC0tY2stc3BhY2luZy1leHRyYS10aW55OiBcdFx0XHRcdGNhbGModmFyKC0tY2stc3BhY2luZy11bml0KSAqIDAuMTYpO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9taXhpbnMvX3JvdW5kZWQuY3NzXCI7XG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL21peGlucy9fc2hhZG93LmNzc1wiO1xuXG4uY2suY2stYXV0b2NvbXBsZXRlIHtcblx0JiA+IC5jay1zZWFyY2hfX3Jlc3VsdHMge1xuXHRcdEBtaXhpbiBjay1yb3VuZGVkLWNvcm5lcnM7XG5cdFx0QG1peGluIGNrLWRyb3Atc2hhZG93O1xuXG5cdFx0bWF4LWhlaWdodDogMjAwcHg7XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWRyb3Bkb3duLXBhbmVsLWJvcmRlcik7XG5cdFx0bWluLXdpZHRoOiBhdXRvO1xuXG5cdFx0Ji5jay1zZWFyY2hfX3Jlc3VsdHNfbiB7XG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cblx0XHRcdC8qIFByZXZlbnQgZHVwbGljYXRlZCBib3JkZXJzIGJldHdlZW4gdGhlIGlucHV0IGFuZCB0aGUgcmVzdWx0cyBwYW5lLiAqL1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogLTFweDtcblx0XHR9XG5cblx0XHQmLmNrLXNlYXJjaF9fcmVzdWx0c19zIHtcblx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblxuXHRcdFx0LyogUHJldmVudCBkdXBsaWNhdGVkIGJvcmRlcnMgYmV0d2VlbiB0aGUgaW5wdXQgYW5kIHRoZSByZXN1bHRzIHBhbmUuICovXG5cdFx0XHRtYXJnaW4tdG9wOiAtMXB4O1xuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cbkBkZWZpbmUtbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzIHtcblx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHQuY2stcm91bmRlZC1jb3JuZXJzICYsXG5cdCYuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0XHRAbWl4aW4tY29udGVudDtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIGhlbHBlciB0byBjb21iaW5lIG11bHRpcGxlIHNoYWRvd3MuXG4gKi9cbkBkZWZpbmUtbWl4aW4gY2stYm94LXNoYWRvdyAkc2hhZG93QSwgJHNoYWRvd0I6IDAgMCB7XG5cdGJveC1zaGFkb3c6ICRzaGFkb3dBLCAkc2hhZG93Qjtcbn1cblxuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG5AZGVmaW5lLW1peGluIGNrLWRyb3Atc2hhZG93IHtcblx0QG1peGluIGNrLWJveC1zaGFkb3cgdmFyKC0tY2stZHJvcC1zaGFkb3cpO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cbkBkZWZpbmUtbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzIHtcblx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHQuY2stcm91bmRlZC1jb3JuZXJzICYsXG5cdCYuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0XHRAbWl4aW4tY29udGVudDtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIGhlbHBlciB0byBjb21iaW5lIG11bHRpcGxlIHNoYWRvd3MuXG4gKi9cbkBkZWZpbmUtbWl4aW4gY2stYm94LXNoYWRvdyAkc2hhZG93QSwgJHNoYWRvd0I6IDAgMCB7XG5cdGJveC1zaGFkb3c6ICRzaGFkb3dBLCAkc2hhZG93Qjtcbn1cblxuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG5AZGVmaW5lLW1peGluIGNrLWRyb3Atc2hhZG93IHtcblx0QG1peGluIGNrLWJveC1zaGFkb3cgdmFyKC0tY2stZHJvcC1zaGFkb3cpO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fZm9jdXMuY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19zaGFkb3cuY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19kaXNhYmxlZC5jc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX3JvdW5kZWQuY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL19idXR0b24uY3NzXCI7XG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX2Rpci5jc3NcIjtcblxuLmNrLmNrLWJ1dHRvbixcbmEuY2suY2stYnV0dG9uIHtcblx0QG1peGluIGNrLWJ1dHRvbi1jb2xvcnMgLS1jay1jb2xvci1idXR0b24tZGVmYXVsdDtcblx0QG1peGluIGNrLXJvdW5kZWQtY29ybmVycztcblxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctdGlueSk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQvKiBBIHZlcnkgaW1wb3J0YW50IHBpZWNlIG9mIHN0eWxpbmcuIEdvIHRvIHZhcmlhYmxlIGRlY2xhcmF0aW9uIHRvIGxlYXJuIG1vcmUuICovXG5cdG1pbi13aWR0aDogdmFyKC0tY2stdWktY29tcG9uZW50LW1pbi1oZWlnaHQpO1xuXHRtaW4taGVpZ2h0OiB2YXIoLS1jay11aS1jb21wb25lbnQtbWluLWhlaWdodCk7XG5cblx0LyogTm9ybWFsaXplIHRoZSBoZWlnaHQgb2YgdGhlIGxpbmUuIFJlbW92aW5nIHRoaXMgd2lsbCBicmVhayBjb25zaXN0ZW50IGhlaWdodFxuXHRhbW9uZyB0ZXh0IGFuZCB0ZXh0LWxlc3MgYnV0dG9ucyAod2l0aCBpY29ucykuICovXG5cdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdC8qIEVuYWJsZSBmb250IHNpemUgaW5oZXJpdGFuY2UsIHdoaWNoIGFsbG93cyBmbHVpZCBVSSBzY2FsaW5nLiAqL1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG5cblx0LyogQXZvaWQgZmxpY2tlcmluZyB3aGVuIHRoZSBmb3VjcyBib3JkZXIgc2hvd3MgdXAuICovXG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG5cdC8qIEFwcGx5IHNvbWUgc21vb3RoIHRyYW5zaXRpb24gdG8gdGhlIGJveC1zaGFkb3cgYW5kIGJvcmRlci4gKi9cblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMnMgZWFzZS1pbi1vdXQsIGJvcmRlciAuMnMgZWFzZS1pbi1vdXQ7XG5cblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy8xODkgKi9cblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG5cdEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0fVxuXG5cdCY6YWN0aXZlLFxuXHQmOmZvY3VzIHtcblx0XHRAbWl4aW4gY2stZm9jdXMtcmluZztcblx0XHRAbWl4aW4gY2stYm94LXNoYWRvdyB2YXIoLS1jay1mb2N1cy1vdXRlci1zaGFkb3cpO1xuXHR9XG5cblx0LyogQWxsb3cgaWNvbiBjb2xvcmluZyB1c2luZyB0aGUgdGV4dCBcImNvbG9yXCIgcHJvcGVydHkuICovXG5cdCYgLmNrLWJ1dHRvbl9faWNvbiB7XG5cdFx0JiB1c2UsXG5cdFx0JiB1c2UgKiB7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR9XG5cdH1cblxuXHQmIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHQvKiBFbmFibGUgZm9udCBzaXplIGluaGVyaXRhbmNlLCB3aGljaCBhbGxvd3MgZmx1aWQgVUkgc2NhbGluZy4gKi9cblx0XHRmb250LXNpemU6IGluaGVyaXQ7XG5cdFx0Zm9udC13ZWlnaHQ6IGluaGVyaXQ7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0Y3Vyc29yOiBpbmhlcml0O1xuXG5cdFx0LyogTXVzdCBiZSBjb25zaXN0ZW50IHdpdGggLmNrLWljb24ncyB2ZXJ0aWNhbCBhbGlnbi4gT3RoZXJ3aXNlLCBidXR0b25zIHdpdGggYW5kXG5cdFx0d2l0aG91dCBsYWJlbHMgKGJ1dCB3aXRoIGljb25zKSBoYXZlIGRpZmZlcmVudCBzaXplcyBpbiBDaHJvbWUgKi9cblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG5cdFx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cblx0XHRAbWl4aW4gY2stZGlyIHJ0bCB7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHR9XG5cdH1cblxuXHQmIC5jay1idXR0b25fX2tleXN0cm9rZSB7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cblx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdFx0fVxuXG5cdFx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblx0XHR9XG5cblx0XHRvcGFjaXR5OiAuNTtcblx0fVxuXG5cdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvNzAgKi9cblx0Ji5jay1kaXNhYmxlZCB7XG5cdFx0JjphY3RpdmUsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHQvKiBUaGUgZGlzYWJsZWQgYnV0dG9uIHNob3VsZCBoYXZlIGEgc2xpZ2h0bHkgbGVzcyB2aXNpYmxlIHNoYWRvdyB3aGVuIGZvY3VzZWQuICovXG5cdFx0XHRAbWl4aW4gY2stYm94LXNoYWRvdyB2YXIoLS1jay1mb2N1cy1kaXNhYmxlZC1vdXRlci1zaGFkb3cpO1xuXHRcdH1cblxuXHRcdCYgLmNrLWJ1dHRvbl9faWNvbiB7XG5cdFx0XHRAbWl4aW4gY2stZGlzYWJsZWQ7XG5cdFx0fVxuXG5cdFx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy85OCAqL1xuXHRcdCYgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0QG1peGluIGNrLWRpc2FibGVkO1xuXHRcdH1cblxuXHRcdCYgLmNrLWJ1dHRvbl9fa2V5c3Ryb2tlIHtcblx0XHRcdG9wYWNpdHk6IC4zO1xuXHRcdH1cblx0fVxuXG5cdCYuY2stYnV0dG9uX3dpdGgtdGV4dCB7XG5cdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy10aW55KSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHRcdC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG5cdFx0JiAuY2stYnV0dG9uX19pY29uIHtcblx0XHRcdEBtaXhpbiBjay1kaXIgbHRyIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdFx0XHR9XG5cblx0XHRcdEBtaXhpbiBjay1kaXIgcnRsIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLmNrLWJ1dHRvbl93aXRoLWtleXN0cm9rZSB7XG5cdFx0Lyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cblx0XHQmIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdGZsZXgtZ3JvdzogMTtcblx0XHR9XG5cdH1cblxuXHQvKiBBIHN0eWxlIG9mIHRoZSBidXR0b24gd2hpY2ggaXMgY3VycmVudGx5IG9uLCBlLmcuIGl0cyBmZWF0dXJlIGlzIGFjdGl2ZS4gKi9cblx0Ji5jay1vbiB7XG5cdFx0QG1peGluIGNrLWJ1dHRvbi1jb2xvcnMgLS1jay1jb2xvci1idXR0b24tb247XG5cblx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItYnV0dG9uLW9uLWNvbG9yKTtcblx0fVxuXG5cdCYuY2stYnV0dG9uLXNhdmUge1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1idXR0b24tc2F2ZSk7XG5cdH1cblxuXHQmLmNrLWJ1dHRvbi1jYW5jZWwge1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1idXR0b24tY2FuY2VsKTtcblx0fVxufVxuXG4vKiBBIHN0eWxlIG9mIHRoZSBidXR0b24gd2hpY2ggaGFuZGxlcyB0aGUgcHJpbWFyeSBhY3Rpb24uICovXG4uY2suY2stYnV0dG9uLWFjdGlvbixcbmEuY2suY2stYnV0dG9uLWFjdGlvbiB7XG5cdEBtaXhpbiBjay1idXR0b24tY29sb3JzIC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbjtcblxuXHRjb2xvcjogdmFyKC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi10ZXh0KTtcbn1cblxuLmNrLmNrLWJ1dHRvbi1ib2xkLFxuYS5jay5jay1idXR0b24tYm9sZCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIHZpc3VhbCBzdHlsZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBib3JkZXIuXG4gKi9cbkBkZWZpbmUtbWl4aW4gY2stZm9jdXMtcmluZyB7XG5cdC8qIERpc2FibGUgbmF0aXZlIG91dGxpbmUuICovXG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlcjogdmFyKC0tY2stZm9jdXMtcmluZylcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBjbGFzcyB3aGljaCBpbmRpY2F0ZXMgdGhhdCBhbiBlbGVtZW50IGhvbGRpbmcgaXQgaXMgZGlzYWJsZWQuXG4gKi9cbkBkZWZpbmUtbWl4aW4gY2stZGlzYWJsZWQge1xuXHRvcGFjaXR5OiB2YXIoLS1jay1kaXNhYmxlZC1vcGFjaXR5KTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogSW1wbGVtZW50cyBhIGJ1dHRvbiBvZiBnaXZlbiBiYWNrZ3JvdW5kIGNvbG9yLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkYm9yZGVyIC0gQm9yZGVyIGNvbG9yIG9mIHRoZSBidXR0b24uXG4gKi9cbkBkZWZpbmUtbWl4aW4gY2stYnV0dG9uLWNvbG9ycyAkcHJlZml4IHtcblx0YmFja2dyb3VuZDogdmFyKCQocHJlZml4KS1iYWNrZ3JvdW5kKTtcblxuXHQmOm5vdCguY2stZGlzYWJsZWQpIHtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigkKHByZWZpeCktaG92ZXItYmFja2dyb3VuZCk7XG5cdFx0fVxuXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKCQocHJlZml4KS1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdFx0fVxuXHR9XG5cblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy85OCAqL1xuXHQmLmNrLWRpc2FibGVkIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoJChwcmVmaXgpLWRpc2FibGVkLWJhY2tncm91bmQpO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AZGVmaW5lLW1peGluIGNrLWRpciAkZGlyZWN0aW9uIHtcblx0W2Rpcj1cIiQoZGlyZWN0aW9uKVwiXSAmIHtcblx0XHRAbWl4aW4tY29udGVudDtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fcm91bmRlZC5jc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX2Rpc2FibGVkLmNzc1wiO1xuQGltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvbWl4aW5zL19kaXIuY3NzXCI7XG5cbi8qIE5vdGU6IFRvIGF2b2lkIHJlbmRlcmluZyBpc3N1ZXMgKGFsaWFzaW5nKSBidXQgdG8gcHJlc2VydmUgdGhlIHJlc3BvbnNpdmUgbmF0dXJlXG5vZiB0aGUgY29tcG9uZW50LCBmbG9hdGluZ+KAk3BvaW50IG51bWJlcnMgaGF2ZSBiZWVuIHVzZWQgd2hpY2gsIGZvciB0aGUgZGVmYXVsdCBmb250IHNpemVcbihzZWU6IC0tY2stZm9udC1zaXplLWJhc2UpLCB3aWxsIGdlbmVyYXRlIHNpbXBsZSBpbnRlZ2Vycy4gKi9cbjpyb290IHtcblx0LyogMzRweCBhdCAxM3B4IGZvbnQtc2l6ZSAqL1xuXHQtLWNrLXN3aXRjaC1idXR0b24tdG9nZ2xlLXdpZHRoOiAyLjYxNTM4NDYxNTRlbTtcblx0LyogMTRweCBhdCAxM3B4IGZvbnQtc2l6ZSAqL1xuXHQtLWNrLXN3aXRjaC1idXR0b24tdG9nZ2xlLWlubmVyLXNpemU6IGNhbGMoMS4wNzY5MjMwNzY5ZW0gKyAxcHgpO1xuXHQtLWNrLXN3aXRjaC1idXR0b24tdHJhbnNsYXRpb246IGNhbGMoXG5cdFx0dmFyKC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtd2lkdGgpIC1cblx0XHR2YXIoLS1jay1zd2l0Y2gtYnV0dG9uLXRvZ2dsZS1pbm5lci1zaXplKSAtXG5cdFx0MnB4IC8qIEJvcmRlciAqL1xuXHQpO1xuXHQtLWNrLXN3aXRjaC1idXR0b24taW5uZXItaG92ZXItc2hhZG93OiAwIDAgMCA1cHggdmFyKC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1pbm5lci1zaGFkb3cpO1xufVxuXG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiB7XG5cdC8qIFVubGlrZSBhIHJlZ3VsYXIgYnV0dG9uLCB0aGUgc3dpdGNoIGJ1dHRvbiB0ZXh0IGNvbG9yIGFuZCBiYWNrZ3JvdW5kIHNob3VsZCBuZXZlciBjaGFuZ2UuXG5cdCAqIENoYW5naW5nIHRvZ2dsZSBzd2l0Y2ggKGJhY2tncm91bmQsIG91dGxpbmUpIGlzIGVub3VnaCB0byBjYXJyeSB0aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlXG5cdCAqIHN0YXRlIG9mIHRoZSBlbnRpcmUgY29tcG9uZW50IChodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xMjUxOSlcblx0ICovXG5cdCYsICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlLCAmLmNrLW9uOmhvdmVyLCAmLmNrLW9uOmZvY3VzLCAmLmNrLW9uOmFjdGl2ZSB7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cblxuXHQmIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHQvKiBTZXBhcmF0ZSB0aGUgbGFiZWwgZnJvbSB0aGUgc3dpdGNoICovXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGNhbGMoMiAqIHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpKTtcblx0XHR9XG5cblx0XHRAbWl4aW4gY2stZGlyIHJ0bCB7XG5cdFx0XHQvKiBTZXBhcmF0ZSB0aGUgbGFiZWwgZnJvbSB0aGUgc3dpdGNoICovXG5cdFx0XHRtYXJnaW4tbGVmdDogY2FsYygyICogdmFyKC0tY2stc3BhY2luZy1sYXJnZSkpO1xuXHRcdH1cblx0fVxuXG5cdCYgLmNrLWJ1dHRvbl9fdG9nZ2xlIHtcblx0XHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzO1xuXG5cdFx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdFx0LyogTWFrZSBzdXJlIHRoZSB0b2dnbGUgaXMgYWx3YXlzIHRvIHRoZSByaWdodCBhcyBmYXIgYXMgcG9zc2libGUuICovXG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHR9XG5cblx0XHRAbWl4aW4gY2stZGlyIHJ0bCB7XG5cdFx0XHQvKiBNYWtlIHN1cmUgdGhlIHRvZ2dsZSBpcyBhbHdheXMgdG8gdGhlIGxlZnQgYXMgZmFyIGFzIHBvc3NpYmxlLiAqL1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdH1cblxuXHRcdC8qIEFwcGx5IHNvbWUgc21vb3RoIHRyYW5zaXRpb24gdG8gdGhlIGJveC1zaGFkb3cgYW5kIGJvcmRlci4gKi9cblx0XHQvKiBHZW50bHkgYW5pbWF0ZSB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgdG9nZ2xlIHN3aXRjaCAqL1xuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQgNDAwbXMgZWFzZSwgYm94LXNoYWRvdyAuMnMgZWFzZS1pbi1vdXQsIG91dGxpbmUgLjJzIGVhc2UtaW4tb3V0O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdHdpZHRoOiB2YXIoLS1jay1zd2l0Y2gtYnV0dG9uLXRvZ2dsZS13aWR0aCk7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1vZmYtYmFja2dyb3VuZCk7XG5cblx0XHQmIC5jay1idXR0b25fX3RvZ2dsZV9faW5uZXIge1xuXHRcdFx0QG1peGluIGNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IGNhbGMoLjUgKiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKSk7XG5cdFx0XHR9XG5cblx0XHRcdHdpZHRoOiB2YXIoLS1jay1zd2l0Y2gtYnV0dG9uLXRvZ2dsZS1pbm5lci1zaXplKTtcblx0XHRcdGhlaWdodDogdmFyKC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtaW5uZXItc2l6ZSk7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLWlubmVyLWJhY2tncm91bmQpO1xuXG5cdFx0XHQvKiBHZW50bHkgYW5pbWF0ZSB0aGUgaW5uZXIgcGFydCBvZiB0aGUgdG9nZ2xlIHN3aXRjaCAqL1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG5cblx0XHRcdEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cdFx0XHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLW9mZi1ob3Zlci1iYWNrZ3JvdW5kKTtcblxuXHRcdFx0JiAuY2stYnV0dG9uX190b2dnbGVfX2lubmVyIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogdmFyKC0tY2stc3dpdGNoLWJ1dHRvbi1pbm5lci1ob3Zlci1zaGFkb3cpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYuY2stZGlzYWJsZWQgLmNrLWJ1dHRvbl9fdG9nZ2xlIHtcblx0XHRAbWl4aW4gY2stZGlzYWJsZWQ7XG5cdH1cblxuXHQvKiBPdmVycmlkaW5nIGRlZmF1bHQgLmNrLWJ1dHRvbjpmb2N1cyBzdHlsZXMgKyBhbiBvdXRsaW5lIGFyb3VuZCB0aGUgdG9vZ2xlICovXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXG5cdFx0JiAuY2stYnV0dG9uX190b2dnbGUge1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCksIDAgMCAwIDVweCB2YXIoLS1jay1jb2xvci1mb2N1cy1vdXRlci1zaGFkb3cpO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRcdG91dGxpbmU6IHZhcigtLWNrLWZvY3VzLXJpbmcpO1xuXHRcdH1cblx0fVxuXG5cdC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG5cdCYuY2stb24ge1xuXHRcdCYgLmNrLWJ1dHRvbl9fdG9nZ2xlIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24tb24tYmFja2dyb3VuZCk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLW9uLWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdFx0fVxuXG5cdFx0XHQmIC5jay1idXR0b25fX3RvZ2dsZV9faW5uZXIge1xuXHRcdFx0XHQvKlxuXHRcdFx0XHQqIE1vdmUgdGhlIHRvZ2dsZSBzd2l0Y2ggdG8gdGhlIHJpZ2h0LiBJdCB3aWxsIGJlIGFuaW1hdGVkLlxuXHRcdFx0XHQqL1xuXHRcdFx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCB2YXIoIC0tY2stc3dpdGNoLWJ1dHRvbi10cmFuc2xhdGlvbiApICk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAbWl4aW4gY2stZGlyIHJ0bCB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCBjYWxjKCAtMSAqIHZhciggLS1jay1zd2l0Y2gtYnV0dG9uLXRyYW5zbGF0aW9uICkgKSApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX2Rpci5jc3NcIjtcblxuLmNrLmNrLWJ1dHRvbi5jay1saXN0LWl0ZW0tYnV0dG9uIHtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy10aW55KSBjYWxjKDIgKiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSk7XG5cblx0Jixcblx0Ji5jay1vbiB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGlzdC1iYWNrZ3JvdW5kKTtcblx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItdGV4dCk7XG5cdH1cblxuXHQmOmhhcyguY2stbGlzdC1pdGVtLWJ1dHRvbl9fY2hlY2staG9sZGVyKSB7XG5cdFx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHR9XG5cblx0XHRAbWl4aW4gY2stZGlyIHJ0bCB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHR9XG5cdH1cblxuXHQvKlxuXHQgKiBgLmNrLW9uYCBjbGFzcyBhbmQgYmFja2dyb3VuZCBzdHlsaW5nIGlzIG92ZXJyaWRkZW4gZm9yIGBjay1idXR0b25gIGluIG1hbnkgcGxhY2VzLlxuXHQgKiBUaGlzIGlzIGEgd29ya2Fyb3VuZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgYmFja2dyb3VuZCBpcyBub3Qgb3ZlcnJpZGRlbiBhbmQgdXNlcyBzaW1pbGFyXG5cdCAqIHNlbGVjdG9yIHNwZWNpZmljaXR5IGFzIHRoZSBvdGhlciBvdmVycmlkZXMuXG5cdCAqL1xuXHQmOmhvdmVyOm5vdCguY2stZGlzYWJsZWQpLFxuXHQmLmNrLWJ1dHRvbi5jay1vbjpob3Zlcixcblx0Ji5jay1vbjpub3QoLmNrLWxpc3QtaXRlbS1idXR0b25fdG9nZ2xlYWJsZSksXG5cdCYuY2stb246aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpc3QtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQpO1xuXG5cdFx0Jjpub3QoLmNrLWRpc2FibGVkKSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItdGV4dCk7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stY29sbGFwc2libGUtYXJyb3ctc2l6ZTogY2FsYygwLjUgKiB2YXIoLS1jay1pY29uLXNpemUpKTtcbn1cblxuLmNrLmNrLWNvbGxhcHNpYmxlIHtcblx0JiA+IC5jay5jay1idXR0b24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdH1cblxuXHRcdCY6YWN0aXZlLCAmOm5vdCg6Zm9jdXMpLCAmOmhvdmVyOm5vdCg6Zm9jdXMpIHtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0fVxuXG5cdFx0JiA+IC5jay1pY29uIHtcblx0XHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRcdFx0d2lkdGg6IHZhcigtLWNrLWNvbGxhcHNpYmxlLWFycm93LXNpemUpO1xuXHRcdH1cblx0fVxuXG5cdCYgPiAuY2stY29sbGFwc2libGVfX2NoaWxkcmVuIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSkgdmFyKC0tY2stc3BhY2luZy1sYXJnZSkgdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdH1cblxuXHQmLmNrLWNvbGxhcHNpYmxlX2NvbGxhcHNlZCB7XG5cdFx0JiA+IC5jay5jay1idXR0b24gLmNrLWljb24ge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX3JvdW5kZWQuY3NzXCI7XG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX21lZGlhY29sb3JzLmNzc1wiO1xuXG46cm9vdCB7XG5cdC0tY2stY29sb3ItZ3JpZC10aWxlLXNpemU6IDI0cHg7XG5cblx0LyogTm90IHVzaW5nIGdsb2JhbCBjb2xvcnMgaGVyZSBiZWNhdXNlIHRoZXNlIG1heSBjaGFuZ2UgYnV0IHNvbWUgY29sb3JzIGluIGEgcGFsbGV0dGVcblx0ICogcmVxdWlyZSBzcGVjaWFsIHRyZWF0bWVudC4gRm9yIGluc3RhbmNlLCB0aGlzIGVuc3VyZXMgbm8gbWF0dGVyIHdoYXQgdGhlIFVJIHRleHQgY29sb3IgaXMsXG5cdCAqIHRoZSBjaGVjayBpY29uIHdpbGwgbG9vayBnb29kIG9uIHRoZSBibGFjayBjb2xvciB0aWxlLiAqL1xuXHQtLWNrLWNvbG9yLWNvbG9yLWdyaWQtY2hlY2staWNvbjogaHNsKDIxMiwgODElLCA0NiUpO1xufVxuXG4uY2suY2stY29sb3ItZ3JpZCB7XG5cdGdyaWQtZ2FwOiA1cHg7XG5cdHBhZGRpbmc6IDhweDtcbn1cblxuLmNrLmNrLWNvbG9yLWdyaWRfX3RpbGUge1xuXHR0cmFuc2l0aW9uOiAuMnMgZWFzZSBib3gtc2hhZG93O1xuXG5cdEBtaXhpbiBjay1tZWRpYS1kZWZhdWx0LWNvbG9ycyB7XG5cdFx0d2lkdGg6IHZhcigtLWNrLWNvbG9yLWdyaWQtdGlsZS1zaXplKTtcblx0XHRoZWlnaHQ6IHZhcigtLWNrLWNvbG9yLWdyaWQtdGlsZS1zaXplKTtcblx0XHRtaW4td2lkdGg6IHZhcigtLWNrLWNvbG9yLWdyaWQtdGlsZS1zaXplKTtcblx0XHRtaW4taGVpZ2h0OiB2YXIoLS1jay1jb2xvci1ncmlkLXRpbGUtc2l6ZSk7XG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXI6IDA7XG5cblx0XHQmLmNrLW9uLFxuXHRcdCY6Zm9jdXM6bm90KCAuY2stZGlzYWJsZWQgKSxcblx0XHQmOmhvdmVyOm5vdCggLmNrLWRpc2FibGVkICkge1xuXHRcdFx0LyogRGlzYWJsZSB0aGUgZGVmYXVsdCAuY2stYnV0dG9uJ3MgYm9yZGVyIHJpbmcuICovXG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0fVxuXG5cdFx0Ji5jay1jb2xvci1zZWxlY3Rvcl9fY29sb3ItdGlsZV9ib3JkZXJlZCB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdH1cblxuXHRcdCYuY2stb24ge1xuXHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCksIDAgMCAwIDJweCB2YXIoLS1jay1jb2xvci1iYXNlLXRleHQpO1xuXHRcdH1cblxuXHRcdCY6Zm9jdXM6bm90KCAuY2stZGlzYWJsZWQgKSxcblx0XHQmOmhvdmVyOm5vdCggLmNrLWRpc2FibGVkICkge1xuXHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCksIDAgMCAwIDJweCB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xuXHRcdH1cblx0fVxuXG5cdC8qXG5cdCAqIEluIGhpZ2ggY29udHJhc3QgbW9kZSwgdGhlIGNvbG9ycyBhcmUgcmVwbGFjZWQgd2l0aCB0ZXh0IGxhYmVscy5cblx0ICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE0OTA3LlxuXHQgKi9cblx0QG1peGluIGNrLW1lZGlhLWZvcmNlZC1jb2xvcnMge1xuXHRcdHdpZHRoOiB1bnNldDtcblx0XHRoZWlnaHQ6IHVuc2V0O1xuXHRcdG1pbi13aWR0aDogdW5zZXQ7XG5cdFx0bWluLWhlaWdodDogdW5zZXQ7XG5cdFx0cGFkZGluZzogMCB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblxuXHRcdCYgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblx0fVxuXG5cdEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0fVxuXG5cdCYuY2stZGlzYWJsZWQge1xuXHRcdGN1cnNvcjogdW5zZXQ7XG5cdFx0dHJhbnNpdGlvbjogdW5zZXQ7XG5cdH1cblxuXHQmIC5jay5jay1pY29uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1jb2xvci1ncmlkLWNoZWNrLWljb24pO1xuXHR9XG5cblx0Ji5jay1vbiB7XG5cdFx0JiAuY2suY2staWNvbiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cbn1cblxuLmNrLmNrLWNvbG9yLWdyaWRfX2xhYmVsIHtcblx0cGFkZGluZzogMCB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBkZWZpbmUtbWl4aW4gY2stbWVkaWEtZm9yY2VkLWNvbG9ycyB7XG5cdEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG5cdFx0JiB7XG5cdFx0XHRAbWl4aW4tY29udGVudDtcblx0XHR9XG5cdH1cbn1cblxuQGRlZmluZS1taXhpbiBjay1tZWRpYS1kZWZhdWx0LWNvbG9ycyB7XG5cdEBtZWRpYSAoZm9yY2VkLWNvbG9yczogbm9uZSkge1xuXHRcdCYge1xuXHRcdFx0QG1peGluLWNvbnRlbnQ7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX2Rpci5jc3NcIjtcblxuLmNrLmNrLWNvbG9yLXNlbGVjdG9yIHtcblx0LyogVmlldyBmcmFnbWVudCB3aXRoIGNvbG9yIGdyaWRzLiAqL1xuXHQmIC5jay1jb2xvci1ncmlkcy1mcmFnbWVudCB7XG5cdFx0JiAuY2stYnV0dG9uLmNrLWNvbG9yLXNlbGVjdG9yX19yZW1vdmUtY29sb3IsXG5cdFx0JiAuY2stYnV0dG9uLmNrLWNvbG9yLXNlbGVjdG9yX19jb2xvci1waWNrZXIge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0JiAuY2stYnV0dG9uLmNrLWNvbG9yLXNlbGVjdG9yX19jb2xvci1waWNrZXIge1xuXHRcdFx0cGFkZGluZzogY2FsYyh2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSAvIDIpIHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXG5cdFx0XHQmOm5vdCg6Zm9jdXMpIHtcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHRcdH1cblxuXHRcdFx0JiAuY2suY2staWNvbiB7XG5cdFx0XHRcdEBtaXhpbiBjay1kaXIgbHRyIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYgbGFiZWwuY2suY2stY29sb3ItZ3JpZF9fbGFiZWwge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IHVuc2V0O1xuXHRcdH1cblx0fVxuXG5cdC8qIFZpZXcgZnJhZ21lbnQgd2l0aCBhIGNvbG9yIHBpY2tlci4gKi9cblx0JiAuY2stY29sb3ItcGlja2VyLWZyYWdtZW50IHtcblx0XHQmIC5jay5jay1jb2xvci1waWNrZXIge1xuXHRcdFx0cGFkZGluZzogOHB4O1xuXG5cdFx0XHQmIC5oZXgtY29sb3ItcGlja2VyIHtcblx0XHRcdFx0aGVpZ2h0OiAxMDBweDtcblx0XHRcdFx0bWluLXdpZHRoOiAxODBweDtcblxuXHRcdFx0XHQmOjpwYXJ0KHNhdHVyYXRpb24pIHtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKSB2YXIoLS1jay1ib3JkZXItcmFkaXVzKSAwIDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOjpwYXJ0KGh1ZSkge1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1jay1ib3JkZXItcmFkaXVzKSB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6OnBhcnQoc2F0dXJhdGlvbi1wb2ludGVyKSxcblx0XHRcdFx0Jjo6cGFydChodWUtcG9pbnRlcikge1xuXHRcdFx0XHRcdHdpZHRoOiAxNXB4O1xuXHRcdFx0XHRcdGhlaWdodDogMTVweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYgLmNrLmNrLWNvbG9yLXNlbGVjdG9yX2FjdGlvbi1iYXIge1xuXHRcdFx0cGFkZGluZzogMCA4cHggOHB4O1xuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fcm91bmRlZC5jc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX3NoYWRvdy5jc3NcIjtcbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fcndkLmNzc1wiO1xuXG46cm9vdCB7XG5cdC0tY2stZGlhbG9nLW92ZXJsYXktYmFja2dyb3VuZC1jb2xvcjogaHNsYSggMCwgMCUsIDAlLCAuNSApO1xuXHQtLWNrLWRpYWxvZy1kcm9wLXNoYWRvdzogMHB4IDBweCA2cHggMnB4IGhzbCgwZGVnIDAlIDAlIC8gMTUlKTtcblx0LS1jay1kaWFsb2ctbWF4LXdpZHRoOiAxMDB2dztcblx0LS1jay1kaWFsb2ctbWF4LWhlaWdodDogOTB2aDtcblx0LS1jay1jb2xvci1kaWFsb2ctYmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0LS1jay1jb2xvci1kaWFsb2ctZm9ybS1oZWFkZXItYm9yZGVyOiB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG59XG5cbi5jay5jay1kaWFsb2ctb3ZlcmxheSB7XG5cdGFuaW1hdGlvbjogY2stZGlhbG9nLWZhZGUtaW4gLjNzO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1kaWFsb2ctb3ZlcmxheS1iYWNrZ3JvdW5kLWNvbG9yKTtcblx0ei1pbmRleDogdmFyKC0tY2stei1kaWFsb2cpO1xufVxuXG4uY2suY2stZGlhbG9nIHtcblx0QG1peGluIGNrLXJvdW5kZWQtY29ybmVycztcblx0QG1peGluIGNrLWRyb3Atc2hhZG93O1xuXG5cdC0tY2stZHJvcC1zaGFkb3c6IHZhcigtLWNrLWRpYWxvZy1kcm9wLXNoYWRvdyk7XG5cblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItZGlhbG9nLWJhY2tncm91bmQpO1xuXHRtYXgtaGVpZ2h0OiB2YXIoLS1jay1kaWFsb2ctbWF4LWhlaWdodCk7XG5cdG1heC13aWR0aDogdmFyKC0tY2stZGlhbG9nLW1heC13aWR0aCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0b3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcblxuXHQmIC5jay5jay1mb3JtX19oZWFkZXIge1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1kaWFsb2ctZm9ybS1oZWFkZXItYm9yZGVyKTtcblx0fVxufVxuXG4uY2stZGlhbG9nLXNjcm9sbC1sb2NrZWQge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5Aa2V5ZnJhbWVzIGNrLWRpYWxvZy1mYWRlLWluIHtcblx0MCUge1xuXHRcdGJhY2tncm91bmQ6IGhzbGEoIDAsIDAlLCAwJSwgMCApO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stZGlhbG9nLW92ZXJsYXktYmFja2dyb3VuZC1jb2xvcik7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBkZWZpbmUtbWl4aW4gY2stbWVkaWEtcGhvbmUge1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdEBtaXhpbi1jb250ZW50O1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZGlhbG9nIHtcblx0JiAuY2suY2stZGlhbG9nX19hY3Rpb25zIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblxuXHRcdCYgPiAqICsgKiB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19yb3VuZGVkLmNzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fZGlzYWJsZWQuY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19zaGFkb3cuY3NzXCI7XG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX2Rpci5jc3NcIjtcblxuOnJvb3Qge1xuXHQtLWNrLWRyb3Bkb3duLWFycm93LXNpemU6IGNhbGMoMC41ICogdmFyKC0tY2staWNvbi1zaXplKSk7XG59XG5cbi5jay5jay1kcm9wZG93biB7XG5cdC8qIEVuYWJsZSBmb250IHNpemUgaW5oZXJpdGFuY2UsIHdoaWNoIGFsbG93cyBmbHVpZCBVSSBzY2FsaW5nLiAqL1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG5cblx0JiAuY2stZHJvcGRvd25fX2Fycm93IHtcblx0XHR3aWR0aDogdmFyKC0tY2stZHJvcGRvd24tYXJyb3ctc2l6ZSk7XG5cdH1cblxuXHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0JiAuY2stZHJvcGRvd25fX2Fycm93IHtcblx0XHRcdHJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHRcdFx0LyogQSBzcGFjZSB0byBhY2NvbW1vZGF0ZSB0aGUgdHJpYW5nbGUuICovXG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0fVxuXHR9XG5cblx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdCYgLmNrLWRyb3Bkb3duX19hcnJvdyB7XG5cdFx0XHRsZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHRcdFx0LyogQSBzcGFjZSB0byBhY2NvbW1vZGF0ZSB0aGUgdHJpYW5nbGUuICovXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdH1cblx0fVxuXG5cdCYuY2stZGlzYWJsZWQgLmNrLWRyb3Bkb3duX19hcnJvdyB7XG5cdFx0QG1peGluIGNrLWRpc2FibGVkO1xuXHR9XG5cblx0JiAuY2stYnV0dG9uLmNrLWRyb3Bkb3duX19idXR0b24ge1xuXHRcdEBtaXhpbiBjay1kaXIgbHRyIHtcblx0XHRcdCY6bm90KC5jay1idXR0b25fd2l0aC10ZXh0KSB7XG5cdFx0XHRcdC8qIE1ha2Ugc3VyZSBkcm9wZG93bnMgd2l0aCBqdXN0IGFuIGljb24gaGF2ZSB0aGUgcmlnaHQgaW5uZXIgc3BhY2luZyAqL1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBtaXhpbiBjay1kaXIgcnRsIHtcblx0XHRcdCY6bm90KC5jay1idXR0b25fd2l0aC10ZXh0KSB7XG5cdFx0XHRcdC8qIE1ha2Ugc3VyZSBkcm9wZG93bnMgd2l0aCBqdXN0IGFuIGljb24gaGF2ZSB0aGUgcmlnaHQgaW5uZXIgc3BhY2luZyAqL1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvKiAjMjMgKi9cblx0XHQmIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdHdpZHRoOiA3ZW07XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0fVxuXG5cdFx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy83MCAqL1xuXHRcdCYuY2stZGlzYWJsZWQgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0QG1peGluIGNrLWRpc2FibGVkO1xuXHRcdH1cblxuXHRcdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzgxNiAqL1xuXHRcdCYuY2stb24ge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdH1cblxuXHRcdCYuY2stZHJvcGRvd25fX2J1dHRvbl9sYWJlbC13aWR0aF9hdXRvIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblxuXHRcdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzg2OTkgKi9cblx0XHQmLmNrLW9mZjphY3RpdmUsXG5cdFx0Ji5jay1vbjphY3RpdmUge1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdEBtaXhpbiBjay1ib3gtc2hhZG93IHZhcigtLWNrLWZvY3VzLW91dGVyLXNoYWRvdyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jay5jay1kcm9wZG93bl9fcGFuZWwge1xuXHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzO1xuXHRAbWl4aW4gY2stZHJvcC1zaGFkb3c7XG5cblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItZHJvcGRvd24tcGFuZWwtYmFja2dyb3VuZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWRyb3Bkb3duLXBhbmVsLWJvcmRlcik7XG5cdGJvdHRvbTogMDtcblxuXHQvKiBNYWtlIHN1cmUgdGhlIHBhbmVsIGlzIGF0IGxlYXN0IGFzIHdpZGUgYXMgdGhlIGRyb3AtZG93bidzIGJ1dHRvbi4gKi9cblx0bWluLXdpZHRoOiAxMDAlO1xuXG5cdC8qIERpc2FibGVkIGNvcm5lciBib3JkZXIgcmFkaXVzIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgLmRyb3Bkb3duX19idXR0b25cblx0aHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvODE2ICovXG5cdCYuY2stZHJvcGRvd25fX3BhbmVsX3NlIHtcblx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHR9XG5cblx0Ji5jay1kcm9wZG93bl9fcGFuZWxfc3cge1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHR9XG5cblx0Ji5jay1kcm9wZG93bl9fcGFuZWxfbmUge1xuXHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdH1cblxuXHQmLmNrLWRyb3Bkb3duX19wYW5lbF9udyB7XG5cdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19yb3VuZGVkLmNzc1wiO1xuXG4uY2suY2stZHJvcGRvd24gPiAuY2stZHJvcGRvd25fX3BhbmVsID4gLmNrLWxpc3Qge1xuXHQvKiBEaXNhYmxlZCByYWRpdXMgb2YgdG9wLWxlZnQgYm9yZGVyIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCAuZHJvcGRvd25fX2J1dHRvblxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy84MTYgKi9cblx0QG1peGluIGNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0fVxuXG5cdC8qIE1ha2Ugc3VyZSB0aGUgYnV0dG9uIGJlbG9uZ2luZyB0byB0aGUgZmlyc3QvbGFzdCBjaGlsZCBvZiB0aGUgbGlzdCBnb2VzIHdlbGwgd2l0aCB0aGVcblx0Ym9yZGVyIHJhZGl1cyBvZiB0aGUgZW50aXJlIHBhbmVsLiAqL1xuXHQmIC5jay1saXN0X19pdGVtIHtcblx0XHQmOmZpcnN0LWNoaWxkID4gLmNrLWJ1dHRvbiB7XG5cdFx0XHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpsYXN0LWNoaWxkID4gLmNrLWJ1dHRvbiB7XG5cdFx0XHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0XHRcdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19yb3VuZGVkLmNzc1wiO1xuXG46cm9vdCB7XG5cdC0tY2stY29sb3Itc3BsaXQtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGhzbCgwLCAwJSwgOTIlKTtcblx0LS1jay1jb2xvci1zcGxpdC1idXR0b24taG92ZXItYm9yZGVyOiBoc2woMCwgMCUsIDcwJSk7XG59XG5cbi5jay5jay1zcGxpdGJ1dHRvbiB7XG5cdC8qXG5cdCAqIE5vdGU6IGNrLXJvdW5kZWQgYW5kIGNrLWRpciBtaXhpbnMgZG9uJ3QgZ28gdG9nZXRoZXIgKGJlY2F1c2UgdGhleSBib3RoIHVzZSBAbmVzdCkuXG5cdCAqL1xuXHQmOmhvdmVyID4gLmNrLXNwbGl0YnV0dG9uX19hY3Rpb24sXG5cdCYuY2stc3BsaXRidXR0b25fb3BlbiA+IC5jay1zcGxpdGJ1dHRvbl9fYWN0aW9uIHtcblx0XHRbZGlyPVwibHRyXCJdICYge1xuXHRcdFx0LyogRG9uJ3Qgcm91bmQgdGhlIGFjdGlvbiBidXR0b24gb24gdGhlIHJpZ2h0IHNpZGUgKi9cblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB1bnNldDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB1bnNldDtcblx0XHR9XG5cblx0XHRbZGlyPVwicnRsXCJdICYge1xuXHRcdFx0LyogRG9uJ3Qgcm91bmQgdGhlIGFjdGlvbiBidXR0b24gb24gdGhlIGxlZnQgc2lkZSAqL1xuXHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdW5zZXQ7XG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB1bnNldDtcblx0XHR9XG5cdH1cblxuXHQmID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdyB7XG5cdFx0LyogSXQncyBhIHRleHQtbGVzcyBidXR0b24gYW5kIHNpbmNlIHRoZSBpY29uIGlzIHBvc2l0aW9uZWQgYWJzb2x1dGVseSBpbiBzdWNoIHNpdHVhdGlvbixcblx0XHRpdCBtdXN0IGdldCBzb21lIGFyYml0cmFyeSBtaW4td2lkdGguICovXG5cdFx0bWluLXdpZHRoOiB1bnNldDtcblxuXHRcdFtkaXI9XCJsdHJcIl0gJiB7XG5cdFx0XHQvKiBEb24ndCByb3VuZCB0aGUgYXJyb3cgYnV0dG9uIG9uIHRoZSBsZWZ0IHNpZGUgKi9cblx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHVuc2V0O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdW5zZXQ7XG5cdFx0fVxuXG5cdFx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHRcdC8qIERvbid0IHJvdW5kIHRoZSBhcnJvdyBidXR0b24gb24gdGhlIHJpZ2h0IHNpZGUgKi9cblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB1bnNldDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB1bnNldDtcblx0XHR9XG5cblx0XHQmIHN2ZyB7XG5cdFx0XHR3aWR0aDogdmFyKC0tY2stZHJvcGRvd24tYXJyb3ctc2l6ZSk7XG5cdFx0fVxuXHR9XG5cblx0LyogTWFrZSBzdXJlIHRoZSBkaXZpZGVyIHN0cmV0Y2hlcyAxMDAlIGhlaWdodCBvZiB0aGUgYnV0dG9uXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzEwOTM2ICovXG5cdCYgPiAuY2stc3BsaXRidXR0b25fX2Fycm93Om5vdCg6Zm9jdXMpIHtcblx0XHRib3JkZXItdG9wLXdpZHRoOiAwcHg7XG5cdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMHB4O1xuXHR9XG5cblx0LyogRG9uJ3Qgcm91bmQgdGhlIGJvdHRvbSBsZWZ0IGFuZCByaWdodCBjb3JuZXJzIG9mIHRoZSBidXR0b25zIHdoZW4gXCJvcGVuXCJcblx0aHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvODE2ICovXG5cdCYuY2stc3BsaXRidXR0b25fb3BlbiB7XG5cdFx0QG1peGluIGNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0XHQmID4gLmNrLXNwbGl0YnV0dG9uX19hY3Rpb24ge1xuXHRcdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdyB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qIFdoZW4gdGhlIHNwbGl0IGJ1dHRvbiBpcyBcIm9wZW5cIiAodGhlIGFycm93IGlzIG9uKSBvciBiZWluZyBob3ZlcmVkLCBpdCBzaG91bGQgZ2V0IHNvbWUgc3R5bGluZ1xuXHRhcyBhIHdob2xlLiBUaGUgYmFja2dyb3VuZCBvZiBib3RoIGJ1dHRvbnMgc2hvdWxkIHN0YW5kIG91dCBhbmQgdGhlcmUgc2hvdWxkIGJlIGEgdmlzdWFsXG5cdHNlcGFyYXRpb24gYmV0d2VlbiBib3RoIGJ1dHRvbnMuICovXG5cdCYuY2stc3BsaXRidXR0b25fb3Blbixcblx0Jjpob3ZlciB7XG5cdFx0LyogV2hlbiB0aGUgc3BsaXQgYnV0dG9uIGhvdmVyZWQgYXMgYSB3aG9sZSwgbm90IGFzIGluZGl2aWR1YWwgYnV0dG9ucy4gKi9cblx0XHQmID4gLmNrLWJ1dHRvbjpub3QoLmNrLW9uKTpub3QoLmNrLWRpc2FibGVkKTpub3QoOmhvdmVyKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1zcGxpdC1idXR0b24taG92ZXItYmFja2dyb3VuZCk7XG5cdFx0fVxuXG5cdFx0LyogU3BsaXRidXR0b24gc2VwYXJhdG9yIG5lZWRzIHRvIGJlIHNldCB3aXRoIHRoZSA6OmFmdGVyIHBzZXVkb3NlbGVjdG9yXG5cdFx0dG8gZGlzcGxheSBwcm9wZXJseSB0aGUgYm9yZGVycyBvbiBmb2N1cyAqL1xuXHRcdCYgPiAuY2stc3BsaXRidXR0b25fX2Fycm93Om5vdCguY2stZGlzYWJsZWQpOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHdpZHRoOiAxcHg7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci1zcGxpdC1idXR0b24taG92ZXItYm9yZGVyKTtcblx0XHR9XG5cblx0XHQvKiBNYWtlIHN1cmUgdGhlIGRpdmlkZXIgYmV0d2VlbiB0aGUgYnV0dG9ucyBsb29rcyBmaW5lIHdoZW4gdGhlIGJ1dHRvbiBpcyBmb2N1c2VkICovXG5cdFx0JiA+IC5jay1zcGxpdGJ1dHRvbl9fYXJyb3c6Zm9jdXM6OmFmdGVyIHtcblx0XHRcdC0tY2stY29sb3Itc3BsaXQtYnV0dG9uLWhvdmVyLWJvcmRlcjogdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKTtcblx0XHR9XG5cblx0XHRbZGlyPVwibHRyXCJdICYge1xuXHRcdFx0JiA+IC5jay1zcGxpdGJ1dHRvbl9fYXJyb3c6bm90KC5jay1kaXNhYmxlZCk6OmFmdGVyIHtcblx0XHRcdFx0bGVmdDogLTFweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRbZGlyPVwicnRsXCJdICYge1xuXHRcdFx0JiA+IC5jay1zcGxpdGJ1dHRvbl9fYXJyb3c6bm90KC5jay1kaXNhYmxlZCk6OmFmdGVyIHtcblx0XHRcdFx0cmlnaHQ6IC0xcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stdG9vbGJhci1kcm9wZG93biAuY2stdG9vbGJhciB7XG5cdGJvcmRlcjogMDtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9taXhpbnMvX2Rpc2FibGVkLmNzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fYnV0dG9uLmNzc1wiO1xuQGltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvbWl4aW5zL19kaXIuY3NzXCI7XG5cbi8qXG4gKiBBbGwgbWVudSBidXR0b25zLlxuICovXG4uY2suY2stYnV0dG9uLmNrLWRyb3Bkb3duLW1lbnUtbGlzdF9fbmVzdGVkLW1lbnVfX2J1dHRvbiB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXRpbnkpIGNhbGMoMiAqIHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpKTtcblx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cblx0XHQmOm5vdCguY2stb24pIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdH1cblx0fVxuXG5cdCYgPiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0ZmxleC1ncm93OiAxO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdH1cblxuXHQmLmNrLWRpc2FibGVkID4gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdEBtaXhpbiBjay1kaXNhYmxlZDtcblx0fVxuXG5cdC8qIFNwYWNpbmcgaW4gYnV0dG9ucyB0aGF0IG1pc3MgdGhlIGljb24uICovXG5cdCYuY2staWNvbi1zcGFjaW5nOm5vdCg6aGFzKC5jay1idXR0b25fX2ljb24pKSA+IC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1jay1pY29uLXNpemUpIC0gdmFyKC0tY2stc3BhY2luZy1zbWFsbCkpO1xuXHR9XG5cblx0JiA+IC5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19idXR0b25fX2Fycm93IHtcblx0XHR3aWR0aDogdmFyKC0tY2stZHJvcGRvd24tYXJyb3ctc2l6ZSk7XG5cblx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXG5cdFx0XHQvKiBOdWRnZSB0aGUgYXJyb3cgZ2VudGx5IHRvIHRoZSByaWdodCBiZWNhdXNlIGl0cyBjZW50ZXIgb2YgZ3Jhdml0eSBpcyB0byB0aGUgbGVmdCAqL1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tY2stc3BhY2luZy1zbWFsbCkpO1xuXHRcdH1cblxuXHRcdEBtaXhpbiBjay1kaXIgcnRsIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblxuXHRcdFx0LyogTnVkZ2UgdGhlIGFycm93IGdlbnRseSB0byB0aGUgbGVmdCBiZWNhdXNlIGl0cyBjZW50ZXIgb2YgZ3Jhdml0eSBpcyB0byB0aGUgcmlnaHQgKGFmdGVyIHJvdGF0aW9uKS4gKi9cblx0XHRcdG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tY2stc3BhY2luZy1zbWFsbCkpO1xuXHRcdH1cblx0fVxuXG5cdCYuY2stZGlzYWJsZWQgPiAuY2stZHJvcGRvd24tbWVudS1saXN0X19uZXN0ZWQtbWVudV9fYnV0dG9uX19hcnJvdyB7XG5cdFx0QG1peGluIGNrLWRpc2FibGVkO1xuXHR9XG5cblx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdCY6bm90KC5jay1idXR0b25fd2l0aC10ZXh0KSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdH1cblxuXHRcdCYgPiAuY2stZHJvcGRvd24tbWVudS1saXN0X19uZXN0ZWQtbWVudV9fYnV0dG9uX19hcnJvdyB7XG5cdFx0XHRyaWdodDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0XHRcdC8qIEEgc3BhY2UgdG8gYWNjb21tb2RhdGUgdGhlIHRyaWFuZ2xlLiAqL1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdH1cblx0fVxuXG5cdEBtaXhpbiBjay1kaXIgcnRsIHtcblx0XHQmOm5vdCguY2stYnV0dG9uX3dpdGgtdGV4dCkge1xuXHRcdFx0cGFkZGluZy1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0fVxuXG5cdFx0JiA+IC5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19idXR0b25fX2Fycm93IHtcblx0XHRcdGxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXG5cdFx0XHQvKiBBIHNwYWNlIHRvIGFjY29tbW9kYXRlIHRoZSB0cmlhbmdsZS4gKi9cblx0XHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stZHJvcGRvd24tbWVudS1tZW51LWl0ZW0tbWluLXdpZHRoOiAxOGVtO1xufVxuXG4uY2suY2stZHJvcGRvd24tbWVudS1saXN0X19uZXN0ZWQtbWVudV9faXRlbSB7XG5cdG1pbi13aWR0aDogdmFyKC0tY2stZHJvcGRvd24tbWVudS1tZW51LWl0ZW0tbWluLXdpZHRoKTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBMaXN0IGl0ZW0gYnV0dG9ucy5cbiAqL1xuLmNrLWJ1dHRvbi5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19pdGVtX19idXR0b24ge1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdCYgPiAuY2stc3Bpbm5lci1jb250YWluZXIsXG5cdCYgPiAuY2stc3Bpbm5lci1jb250YWluZXIgLmNrLXNwaW5uZXIge1xuXHRcdC8qIFRoZXNlIHN0eWxlcyBjb3JyZXNwb25kIHRvIC5jay1pY29uIHNvIHRoYXQgdGhlIHNwaW5uZXIgc2VhbWxlc3NseSByZXBsYWNlcyB0aGUgaWNvbi4gKi9cblx0XHQtLWNrLXRvb2xiYXItc3Bpbm5lci1zaXplOiAyMHB4O1xuXHR9XG5cblx0JiA+IC5jay1zcGlubmVyLWNvbnRhaW5lciB7XG5cdFx0LyogVGhlc2UgbWFyZ2lucyBhcmUgdGhlIHNhbWUgYXMgZm9yIC5jay1pY29uLiAqL1xuXHRcdG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tY2stc3BhY2luZy1zbWFsbCkpO1xuXHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cblxuXHQvKlxuXHQgKiBIb3ZlcmVkIGl0ZW1zIGF1dG9tYXRpY2FsbHkgZ2V0IGZvY3VzZWQuIERlZmF1bHQgZm9jdXMgc3R5bGVzIGxvb2sgb2RkXG5cdCAqIHdoaWxlIG1vdmluZyBhY3Jvc3MgYSBodWdlIGxpc3Qgb2YgaXRlbXMgc28gbGV0J3MgZ2V0IHJpZCBvZiB0aGVtXG5cdCAqL1xuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cblx0XHQmOm5vdCguY2stb24pIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIi4uLy4uLy4uLy4uL21peGlucy9fcm91bmRlZC5jc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9taXhpbnMvX3NoYWRvdy5jc3NcIjtcblxuOnJvb3Qge1xuXHQtLWNrLWRyb3Bkb3duLW1lbnUtbWVudS1wYW5lbC1tYXgtd2lkdGg6IDc1dnc7XG59XG5cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWRyb3Bkb3duLW1lbnVfX25lc3RlZC1tZW51X19wYW5lbCB7XG5cdEBtaXhpbiBjay1kcm9wLXNoYWRvdztcblxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1kcm9wZG93bi1wYW5lbC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItZHJvcGRvd24tcGFuZWwtYm9yZGVyKTtcblx0Ym90dG9tOiAwO1xuXHRoZWlnaHQ6IGZpdC1jb250ZW50O1xuXHRtYXgtd2lkdGg6IHZhcigtLWNrLWRyb3Bkb3duLW1lbnUtbWVudS1wYW5lbC1tYXgtd2lkdGgpO1xuXG5cdC8qIFJlc2V0IGJhbGxvb24gc3R5bGluZyAqL1xuXHQmOjphZnRlcixcblx0Jjo6YmVmb3JlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LyogQ29ybmVyIGJvcmRlciByYWRpdXMgY29uc2lzdGVudCB3aXRoIHRoZSBidXR0b24uICovXG5cdCYuY2stYmFsbG9vbi1wYW5lbF9lcyxcblx0Ji5jay1iYWxsb29uLXBhbmVsX3NlIHtcblx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHR9XG5cblx0Ji5jay1iYWxsb29uLXBhbmVsX3dzLFxuXHQmLmNrLWJhbGxvb24tcGFuZWxfc3cge1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHR9XG5cblx0Ji5jay1iYWxsb29uLXBhbmVsX2VuLFxuXHQmLmNrLWJhbGxvb24tcGFuZWxfbmUge1xuXHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdH1cblxuXHQmLmNrLWJhbGxvb24tcGFuZWxfd24sXG5cdCYuY2stYmFsbG9vbi1wYW5lbF9udyB7XG5cdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19mb2N1cy5jc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX3NoYWRvdy5jc3NcIjtcblxuOnJvb3Qge1xuXHQtLWNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2ctbWF4LXdpZHRoOiA2MDBweDtcblx0LS1jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nLW1heC1oZWlnaHQ6IDQwMHB4O1xuXHQtLWNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2ctYm9yZGVyLWNvbG9yOiBoc2woMjIwLCA2JSwgODElKTtcblx0LS1jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nLWNvZGUtYmFja2dyb3VuZC1jb2xvcjogaHNsKDBkZWcgMCUgOTIuOTQlKTtcblx0LS1jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nLWtiZC1zaGFkb3ctY29sb3I6IGhzbCgwZGVnIDAlIDYxJSk7XG59XG5cbi5jay5jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nIC5jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nX19jb250ZW50IHtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdG1heC13aWR0aDogdmFyKC0tY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZy1tYXgtd2lkdGgpO1xuXHRtYXgtaGVpZ2h0OiB2YXIoLS1jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nLW1heC1oZWlnaHQpO1xuXHRvdmVyZmxvdzogYXV0bztcblx0dXNlci1zZWxlY3Q6IHRleHQ7XG5cblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0QG1peGluIGNrLWZvY3VzLXJpbmc7XG5cdFx0QG1peGluIGNrLWJveC1zaGFkb3cgdmFyKC0tY2stZm9jdXMtb3V0ZXItc2hhZG93KTtcblx0fVxuXG5cdCoge1xuXHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdH1cblxuXHQvKiBIaWRlIHRoZSBtYWluIGxhYmVsIG9mIHRoZSBjb250ZW50IGNvbnRhaW5lci4gKi9cblx0JiAuY2stbGFiZWwge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQmIGgzIHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRmb250LXNpemU6IDEuMmVtO1xuXHR9XG5cblx0JiBoNCB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Zm9udC1zaXplOiAxZW07XG5cdH1cblxuXHQmIHAsXG5cdCYgaDMsXG5cdCYgaDQsXG5cdCYgdGFibGUge1xuXHRcdG1hcmdpbjogMWVtIDA7XG5cdH1cblxuXHQmIGRsIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDFmcjtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2stYWNjZXNzaWJpbGl0eS1oZWxwLWRpYWxvZy1ib3JkZXItY29sb3IpO1xuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cblx0XHQmIGR0LCAmIGRkIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nLWJvcmRlci1jb2xvcik7XG5cdFx0XHRwYWRkaW5nOiAuNGVtIDA7XG5cdFx0fVxuXG5cdFx0JiBkdCB7XG5cdFx0XHRncmlkLWNvbHVtbi1zdGFydDogMTtcblx0XHR9XG5cblx0XHQmIGRkIHtcblx0XHRcdGdyaWQtY29sdW1uLXN0YXJ0OiAyO1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0fVxuXHR9XG5cblx0JiBrYmQsICYgY29kZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWFjY2Vzc2liaWxpdHktaGVscC1kaWFsb2ctY29kZS1iYWNrZ3JvdW5kLWNvbG9yKTtcblx0XHRwYWRkaW5nOiAuNGVtO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRmb250LXNpemU6IC45ZW07XG5cdH1cblxuXHQmIGNvZGUge1xuXHRcdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG5cdH1cblxuXHQmIGtiZCB7XG5cdFx0bWluLXdpZHRoOiAxLjhlbTtcblx0XHRib3gtc2hhZG93OiAwcHggMXB4IDFweCB2YXIoLS1jay1hY2Nlc3NpYmlsaXR5LWhlbHAtZGlhbG9nLWtiZC1zaGFkb3ctY29sb3IpO1xuXHRcdG1hcmdpbjogMCAxcHg7XG5cblx0XHQmICsga2JkIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAycHg7XG5cdFx0fVxuXHR9XG59XG5cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX3JvdW5kZWQuY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19kaXNhYmxlZC5jc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX3NoYWRvdy5jc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX2ZvY3VzLmNzc1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9fYnV0dG9uLmNzc1wiO1xuXG46cm9vdCB7XG5cdC0tY2stY29sb3ItZWRpdGFibGUtYmx1ci1zZWxlY3Rpb246IGhzbCgwLCAwJSwgODUlKTtcbn1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGU6bm90KC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZSkge1xuXHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzO1xuXG5cdCYuY2stZm9jdXNlZCB7XG5cdFx0QG1peGluIGNrLWZvY3VzLXJpbmc7XG5cdFx0QG1peGluIGNrLWJveC1zaGFkb3cgdmFyKC0tY2staW5uZXItc2hhZG93KTtcblx0fVxufVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUge1xuXHRvdmVyZmxvdzogYXV0bztcblx0cGFkZGluZzogMCB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cblx0JltkaXI9XCJsdHJcIl0ge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblxuXHQmW2Rpcj1cInJ0bFwiXSB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cblxuXHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzExNiAqL1xuXHQmID4gKjpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdH1cblxuXHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy84NDcgKi9cblx0JiA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0Lypcblx0XHQgKiBUaGlzIHZhbHVlIHNob3VsZCBtYXRjaCB3aXRoIHRoZSBkZWZhdWx0IG1hcmdpbnMgb2YgdGhlIGJsb2NrIGVsZW1lbnRzIChsaWtlIC5tZWRpYSBvciAuaW1hZ2UpXG5cdFx0ICogdG8gYXZvaWQgYSBjb250ZW50IGp1bXBpbmcgd2hlbiB0aGUgZmFrZSBzZWxlY3Rpb24gY29udGFpbmVyIHNob3dzIHVwIChTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTgyNSkuXG5cdFx0ICovXG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdH1cblxuXHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy82NTE3ICovXG5cdCYuY2stYmx1cnJlZCA6OnNlbGVjdGlvbiB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItZWRpdGFibGUtYmx1ci1zZWxlY3Rpb24pO1xuXHR9XG59XG5cbi8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvMTExICovXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay10b29sYmFyLWNvbnRhaW5lcltjbGFzcyo9XCJhcnJvd19uXCJdIHtcblx0Jjo6YWZ0ZXIge1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNrLWNvbG9yLXBhbmVsLWJhY2tncm91bmQpO1xuXHR9XG59XG5cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLXRvb2xiYXItY29udGFpbmVyW2NsYXNzKj1cImFycm93X3NcIl0ge1xuXHQmOjphZnRlciB7XG5cdFx0Ym9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY2stY29sb3ItcGFuZWwtYmFja2dyb3VuZCk7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fZGlyLmNzc1wiO1xuXG46cm9vdCB7XG5cdC0tY2stZm9ybS1oZWFkZXItaGVpZ2h0OiA0NHB4O1xufVxuXG4uY2suY2stZm9ybV9faGVhZGVyIHtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zbWFsbCkgdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdGhlaWdodDogdmFyKC0tY2stZm9ybS1oZWFkZXItaGVpZ2h0KTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWNrLWZvcm0taGVhZGVyLWhlaWdodCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cblx0JiA+IC5jay1pY29uIHtcblx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKTtcblx0XHR9XG5cblx0XHRAbWl4aW4gY2stZGlyIHJ0bCB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRcdH1cblx0fVxuXG5cdCYgLmNrLWZvcm1fX2hlYWRlcl9fbGFiZWwge1xuXHRcdC0tY2stZm9udC1zaXplLWJhc2U6IDE1cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1pY29uLXNpemU6IGNhbGModmFyKC0tY2stbGluZS1oZWlnaHQtYmFzZSkgKiB2YXIoLS1jay1mb250LXNpemUtbm9ybWFsKSk7XG5cdC0tY2staWNvbi1mb250LXNpemU6IC44MzMzMzUwNjk0ZW07XG59XG5cbi5jay5jay1pY29uIHtcblx0d2lkdGg6IHZhcigtLWNrLWljb24tc2l6ZSk7XG5cdGhlaWdodDogdmFyKC0tY2staWNvbi1zaXplKTtcblxuXHQvKiBNdWx0aXBsaWVkIGJ5IHRoZSBoZWlnaHQgb2YgdGhlIGxpbmUgaW4gXCJweFwiIHNob3VsZCBnaXZlIFNWRyBcInZpZXdwb3J0XCIgZGltZW5zaW9ucyAqL1xuXHRmb250LXNpemU6IHZhcigtLWNrLWljb24tZm9udC1zaXplKTtcblxuXHQvKiBJbmhlcml0IGN1cnNvciBzdHlsZSAoIzUpLiAqL1xuXHRjdXJzb3I6IGluaGVyaXQ7XG5cblx0LyogVGhpcyB3aWxsIHByZXZlbnQgYmx1cnJ5IGljb25zIG9uIEZpcmVmb3guIFNlZSAjMzQwLiAqL1xuXHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG5cdCYgKiB7XG5cdFx0LyogSW5oZXJpdCBjdXJzb3Igc3R5bGUgKCM1KS4gKi9cblx0XHRjdXJzb3I6IGluaGVyaXQ7XG5cdH1cblxuXHQvKiBBbGxvd3MgZHluYW1pYyBjb2xvcmluZyBvZiBhbiBpY29uIGJ5IGluaGVyaXRpbmcgaXRzIGNvbG9yIGZyb20gdGhlIHBhcmVudC4gKi9cblx0Ji5jay1pY29uX2luaGVyaXQtY29sb3Ige1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXG5cdFx0JiAqIHtcblx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXG5cdFx0XHQmOm5vdChbZmlsbF0pIHtcblx0XHRcdFx0LyogTmVlZGVkIGJ5IEZGLiAqL1xuXHRcdFx0XHRmaWxsOiBjdXJyZW50Q29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19yb3VuZGVkLmNzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fZm9jdXMuY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19zaGFkb3cuY3NzXCI7XG5cbjpyb290IHtcblx0LS1jay1pbnB1dC13aWR0aDogMThlbTtcblxuXHQvKiBCYWNrd2FyZCBjb21wYXRpYmlsaXR5LiAqL1xuXHQtLWNrLWlucHV0LXRleHQtd2lkdGg6IHZhcigtLWNrLWlucHV0LXdpZHRoKTtcbn1cblxuLmNrLmNrLWlucHV0IHtcblx0QG1peGluIGNrLXJvdW5kZWQtY29ybmVycztcblxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1pbnB1dC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItaW5wdXQtYm9yZGVyKTtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1leHRyYS10aW55KSB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdG1pbi13aWR0aDogdmFyKC0tY2staW5wdXQtd2lkdGgpO1xuXG5cdC8qIFRoaXMgaXMgaW1wb3J0YW50IHRvIHN0YXkgb2YgdGhlIHNhbWUgaGVpZ2h0IGFzIHN1cnJvdW5kaW5nIGJ1dHRvbnMgKi9cblx0bWluLWhlaWdodDogdmFyKC0tY2stdWktY29tcG9uZW50LW1pbi1oZWlnaHQpO1xuXG5cdC8qIEFwcGx5IHNvbWUgc21vb3RoIHRyYW5zaXRpb24gdG8gdGhlIGJveC1zaGFkb3cgYW5kIGJvcmRlci4gKi9cblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMXMgZWFzZS1pbi1vdXQsIGJvcmRlciAuMXMgZWFzZS1pbi1vdXQ7XG5cblx0QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0QG1peGluIGNrLWZvY3VzLXJpbmc7XG5cdFx0QG1peGluIGNrLWJveC1zaGFkb3cgdmFyKC0tY2stZm9jdXMtb3V0ZXItc2hhZG93KTtcblx0fVxuXG5cdCZbcmVhZG9ubHldIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1pbnB1dC1kaXNhYmxlZC1ib3JkZXIpO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWlucHV0LWRpc2FibGVkLWJhY2tncm91bmQpO1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1pbnB1dC1kaXNhYmxlZC10ZXh0KTtcblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0LyogVGhlIHJlYWQtb25seSBpbnB1dCBzaG91bGQgaGF2ZSBhIHNsaWdodGx5IGxlc3MgdmlzaWJsZSBzaGFkb3cgd2hlbiBmb2N1c2VkLiAqL1xuXHRcdFx0QG1peGluIGNrLWJveC1zaGFkb3cgdmFyKC0tY2stZm9jdXMtZGlzYWJsZWQtb3V0ZXItc2hhZG93KTtcblx0XHR9XG5cdH1cblxuXHQmLmNrLWVycm9yIHtcblx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLWlucHV0LWVycm9yLWJvcmRlcik7XG5cdFx0YW5pbWF0aW9uOiBjay1pbnB1dC1zaGFrZSAuM3MgZWFzZSBib3RoO1xuXG5cdFx0QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0XHRcdGFuaW1hdGlvbjogbm9uZTtcblx0XHR9XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdEBtaXhpbiBjay1ib3gtc2hhZG93IHZhcigtLWNrLWZvY3VzLWVycm9yLW91dGVyLXNoYWRvdyk7XG5cdFx0fVxuXHR9XG59XG5cbkBrZXlmcmFtZXMgY2staW5wdXQtc2hha2Uge1xuXHQyMCUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTtcblx0fVxuXG5cdDQwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7XG5cdH1cblxuXHQ2MCUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KTtcblx0fVxuXG5cdDgwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1sYWJlbCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvbWl4aW5zL19kaXIuY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19yb3VuZGVkLmNzc1wiO1xuXG46cm9vdCB7XG5cdC0tY2stbGFiZWxlZC1maWVsZC12aWV3LXRyYW5zaXRpb246IC4xcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNCwgMC45NSk7XG5cdC0tY2stbGFiZWxlZC1maWVsZC1lbXB0eS11bmZvY3VzZWQtbWF4LXdpZHRoOiAxMDAlIC0gMiAqIHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKTtcblx0LS1jay1sYWJlbGVkLWZpZWxkLWxhYmVsLWRlZmF1bHQtcG9zaXRpb24teDogdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHQtLWNrLWxhYmVsZWQtZmllbGQtbGFiZWwtZGVmYXVsdC1wb3NpdGlvbi15OiBjYWxjKDAuNiAqIHZhcigtLWNrLWZvbnQtc2l6ZS1iYXNlKSk7XG5cdC0tY2stY29sb3ItbGFiZWxlZC1maWVsZC1sYWJlbC1iYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xufVxuXG4uY2suY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0QG1peGluIGNrLXJvdW5kZWQtY29ybmVycztcblxuXHQmID4gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlld19faW5wdXQtd3JhcHBlciB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHQmID4gLmNrLmNrLWxhYmVsIHtcblx0XHRcdHRvcDogMHB4O1xuXG5cdFx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHRcdGxlZnQ6IDBweDtcblx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuXHRcdFx0XHQvKiBCeSBkZWZhdWx0LCBkaXNwbGF5IHRoZSBsYWJlbCBzY2FsZWQgZG93biBhYm92ZSB0aGUgZmllbGQuICovXG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKSwgLTZweCkgc2NhbGUoLjc1KTtcblx0XHRcdH1cblxuXHRcdFx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdFx0XHRyaWdodDogMHB4O1xuXHRcdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKGNhbGMoLTEgKiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSkpLCAtNnB4KSBzY2FsZSguNzUpO1xuXHRcdFx0fVxuXG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGFiZWxlZC1maWVsZC1sYWJlbC1iYWNrZ3JvdW5kKTtcblx0XHRcdHBhZGRpbmc6IDAgY2FsYyguNSAqIHZhcigtLWNrLWZvbnQtc2l6ZS10aW55KSk7XG5cdFx0XHRsaW5lLWhlaWdodDogaW5pdGlhbDtcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cblx0XHRcdC8qIFByZXZlbnQgb3ZlcmZsb3cgd2hlbiB0aGUgbGFiZWwgaXMgbG9uZ2VyIHRoYW4gdGhlIGlucHV0ICovXG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdG1heC13aWR0aDogMTAwJTtcblxuXHRcdFx0dHJhbnNpdGlvbjpcblx0XHRcdFx0dHJhbnNmb3JtIHZhcigtLWNrLWxhYmVsZWQtZmllbGQtdmlldy10cmFuc2l0aW9uKSxcblx0XHRcdFx0cGFkZGluZyB2YXIoLS1jay1sYWJlbGVkLWZpZWxkLXZpZXctdHJhbnNpdGlvbiksXG5cdFx0XHRcdGJhY2tncm91bmQgdmFyKC0tY2stbGFiZWxlZC1maWVsZC12aWV3LXRyYW5zaXRpb24pO1xuXG5cdFx0XHRAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYuY2stZXJyb3Ige1xuXHRcdCYgPiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyID4gLmNrLmNrLWxhYmVsIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWVycm9yKTtcblx0XHR9XG5cblx0XHQmIC5jay1pbnB1dDpub3QoW3JlYWRvbmx5XSkgKyAuY2suY2stbGFiZWwge1xuXHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtZXJyb3IpO1xuXHRcdH1cblx0fVxuXG5cdCYgLmNrLWxhYmVsZWQtZmllbGQtdmlld19fc3RhdHVzIHtcblx0XHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cblx0XHQvKiBMZXQgdGhlIGluZm8gd3JhcCB0byB0aGUgbmV4dCBsaW5lIHRvIGF2b2lkIHN0cmV0Y2hpbmcgdGhlIGxheW91dCBob3Jpem9udGFsbHkuXG5cdFx0VGhlIHN0YXR1cyBjb3VsZCBiZSB2ZXJ5IGxvbmcuICovXG5cdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblxuXHRcdCYuY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXNfZXJyb3Ige1xuXHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtZXJyb3IpO1xuXHRcdH1cblx0fVxuXG5cdC8qIERpc2FibGVkIGZpZWxkcyBhbmQgZmllbGRzIHRoYXQgaGF2ZSBubyBmb2N1cyBzaG91bGQgZmFkZSBvdXQuICovXG5cdCYuY2stZGlzYWJsZWQgPiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyID4gLmNrLmNrLWxhYmVsLFxuXHQmLmNrLWxhYmVsZWQtZmllbGQtdmlld19lbXB0eTpub3QoLmNrLWxhYmVsZWQtZmllbGQtdmlld19mb2N1c2VkKSA+IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX2lucHV0LXdyYXBwZXIgPiAuY2suY2stbGFiZWwge1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1pbnB1dC1kaXNhYmxlZC10ZXh0KTtcblx0fVxuXG5cdC8qIEZpZWxkcyB0aGF0IGFyZSBkaXNhYmxlZCBvciBub3QgZm9jdXNlZCBhbmQgd2l0aG91dCBhIHBsYWNlaG9sZGVyIHNob3VsZCBoYXZlIGZ1bGwtc2l6ZWQgbGFiZWxzLiAqL1xuXHQvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuXHQmLmNrLWRpc2FibGVkLmNrLWxhYmVsZWQtZmllbGQtdmlld19lbXB0eTpub3QoLmNrLWxhYmVsZWQtZmllbGQtdmlld19wbGFjZWhvbGRlcikgPiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyID4gLmNrLmNrLWxhYmVsLFxuXHQmLmNrLWxhYmVsZWQtZmllbGQtdmlld19lbXB0eTpub3QoLmNrLWxhYmVsZWQtZmllbGQtdmlld19mb2N1c2VkKTpub3QoLmNrLWxhYmVsZWQtZmllbGQtdmlld19wbGFjZWhvbGRlcik6bm90KC5jay1lcnJvcikgPiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyID4gLmNrLmNrLWxhYmVsIHtcblx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1jay1sYWJlbGVkLWZpZWxkLWxhYmVsLWRlZmF1bHQtcG9zaXRpb24teCksIHZhcigtLWNrLWxhYmVsZWQtZmllbGQtbGFiZWwtZGVmYXVsdC1wb3NpdGlvbi15KSkgc2NhbGUoMSk7XG5cdFx0fVxuXG5cdFx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtMSAqIHZhcigtLWNrLWxhYmVsZWQtZmllbGQtbGFiZWwtZGVmYXVsdC1wb3NpdGlvbi14KSksIHZhcigtLWNrLWxhYmVsZWQtZmllbGQtbGFiZWwtZGVmYXVsdC1wb3NpdGlvbi15KSkgc2NhbGUoMSk7XG5cdFx0fVxuXG5cdFx0LyogQ29tcGVuc2F0ZSBmb3IgdGhlIGRlZmF1bHQgdHJhbnNsYXRlIHBvc2l0aW9uLiAqL1xuXHRcdG1heC13aWR0aDogY2FsYyh2YXIoLS1jay1sYWJlbGVkLWZpZWxkLWVtcHR5LXVuZm9jdXNlZC1tYXgtd2lkdGgpKTtcblxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHQvKi0tLS0tLSBEcm9wZG93blZpZXcgaW50ZWdyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQvKiBNYWtlIHN1cmUgZHJvcGRvd24nIGJhY2tncm91bmQgY29sb3IgaW4gYW55IG9mIGRyb3Bkb3duJ3Mgc3RhdGUgZG9lcyBub3QgY29sbGlkZSB3aXRoIGxhYmVsZWQgZmllbGQuICovXG5cdCYgPiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyID4gLmNrLWRyb3Bkb3duID4gLmNrLmNrLWJ1dHRvbiB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cblxuXHQvKiBXaGVuIHRoZSBkcm9wZG93biBpcyBcImVtcHR5XCIsIHRoZSBsYWJlbGVkIGZpZWxkIGxhYmVsIHJlcGxhY2VzIGl0cyBsYWJlbC4gKi9cblx0Ji5jay1sYWJlbGVkLWZpZWxkLXZpZXdfZW1wdHkgPiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyID4gLmNrLWRyb3Bkb3duID4gLmNrLWJ1dHRvbiA+IC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0LyogTWFrZSBzdXJlIHRoZSBsYWJlbCBvZiB0aGUgZW1wdHksIHVuZm9jdXNlZCBpbnB1dCBkb2VzIG5vdCBjb3ZlciB0aGUgZHJvcGRvd24gYXJyb3cuICovXG5cdCYuY2stbGFiZWxlZC1maWVsZC12aWV3X2VtcHR5Om5vdCguY2stbGFiZWxlZC1maWVsZC12aWV3X2ZvY3VzZWQpOm5vdCguY2stbGFiZWxlZC1maWVsZC12aWV3X3BsYWNlaG9sZGVyKSA+IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX2lucHV0LXdyYXBwZXIgPiAuY2stZHJvcGRvd24gKyAuY2stbGFiZWwge1xuXHRcdG1heC13aWR0aDogY2FsYyh2YXIoLS1jay1sYWJlbGVkLWZpZWxkLWVtcHR5LXVuZm9jdXNlZC1tYXgtd2lkdGgpIC0gdmFyKC0tY2stZHJvcGRvd24tYXJyb3ctc2l6ZSkgLSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSk7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1sYWJlbGVkLWlucHV0IC5jay1sYWJlbGVkLWlucHV0X19zdGF0dXMge1xuXHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXG5cdC8qIExldCB0aGUgaW5mbyB3cmFwIHRvIHRoZSBuZXh0IGxpbmUgdG8gYXZvaWQgc3RyZXRjaGluZyB0aGUgbGF5b3V0IGhvcml6b250YWxseS5cblx0VGhlIHN0YXR1cyBjb3VsZCBiZSB2ZXJ5IGxvbmcuICovXG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi5jay5jay1sYWJlbGVkLWlucHV0IC5jay1sYWJlbGVkLWlucHV0X19zdGF0dXNfZXJyb3Ige1xuXHRjb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1lcnJvcik7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19kaXNhYmxlZC5jc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX3JvdW5kZWQuY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19zaGFkb3cuY3NzXCI7XG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX2Rpci5jc3NcIjtcblxuLmNrLmNrLWxpc3Qge1xuXHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzO1xuXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGlzdC1iYWNrZ3JvdW5kKTtcblxuXHQvKiBBIHNwYWNpbmcgYXQgdGhlIGJlZ2lubmluZyBhbmQgZW5kIG9mIHRoZSBsaXN0ICovXG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpIDA7XG59XG5cbi5jay5jay1saXN0X19pdGVtIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1xuXG5cdC8qIEFsbW9zdCBhcyB3aWRlIGFzIG1lbnUgYmFyIGl0ZW1zLiAqL1xuXHRtaW4td2lkdGg6IDE1ZW07XG5cblx0JiA+IC5jay1idXR0b246bm90KC5jay1saXN0LWl0ZW0tYnV0dG9uKSB7XG5cdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy10aW55KSBjYWxjKDIgKiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSk7XG5cdFx0bWluLWhlaWdodDogdW5zZXQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHRcdEBtaXhpbiBjay1kaXIgbHRyIHtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXG5cdFx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0fVxuXG5cdFx0JiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LWhlYWRpbmcvaXNzdWVzLzYzICovXG5cdFx0XHRsaW5lLWhlaWdodDogY2FsYyh2YXIoLS1jay1saW5lLWhlaWdodC1iYXNlKSAqIHZhcigtLWNrLWZvbnQtc2l6ZS1iYXNlKSk7XG5cdFx0fVxuXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHR9XG5cblx0XHQmLmNrLW9uIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpc3QtYnV0dG9uLW9uLWJhY2tncm91bmQpO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWxpc3QtYnV0dG9uLW9uLXRleHQpO1xuXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXI6bm90KC5jay1kaXNhYmxlZCkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1saXN0LWJ1dHRvbi1vbi1iYWNrZ3JvdW5kLWZvY3VzKTtcblx0XHRcdH1cblxuXHRcdFx0Jjpmb2N1czpub3QoLmNrLWRpc2FibGVkKSB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmhvdmVyOm5vdCguY2stZGlzYWJsZWQpIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpc3QtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdH1cblx0fVxuXG5cdC8qIEl0J3MgdW5uZWNlc3NhcnkgdG8gY2hhbmdlIHRoZSBiYWNrZ3JvdW5kL3RleHQgb2YgYSBzd2l0Y2ggdG9nZ2xlOyBpdCBoYXMgZGlmZmVyZW50IHdheXNcblx0b2YgY29udmV5aW5nIGl0cyBzdGF0ZSAobGlrZSB0aGUgc3dpdGNoZXIpICovXG5cdCYgPiAuY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiB7XG5cdFx0Ji5jay1vbiB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1saXN0LWJhY2tncm91bmQpO1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cblx0XHRcdCY6aG92ZXI6bm90KC5jay1kaXNhYmxlZCkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1saXN0LWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kKTtcblx0XHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jay1saXN0IC5jay1saXN0X19ncm91cCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cblx0LyogTGlzdHMgY29tZSB3aXRoIGFuIGlubmVyIHZlcnRpY2FsIHBhZGRpbmcuIERvbid0IGR1cGxpY2F0ZSBpdC4gKi9cblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cblxuXHQvKiBUaGUgZ3JvdXAgc2hvdWxkIGhhdmUgYSBib3JkZXIgd2hlbiBpdCdzIG5vdCB0aGUgZmlyc3QgaXRlbS4gKi9cblx0Kjpub3QoLmNrLWhpZGRlbikgfiAmIHtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHR9XG5cblx0JiA+IC5jay1sYWJlbCB7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKSB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSAwO1xuXHR9XG59XG5cbi5jay5jay1saXN0X19zZXBhcmF0b3Ige1xuXHRoZWlnaHQ6IDFweDtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblxuXHQvKiBHaXZlIHRoZSBzZXBhcmF0b3Igc29tZSBhaXIgKi9cblx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKSAwO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLW1lbnUtYmFyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRnYXA6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci10b29sYmFyLWJvcmRlcik7XG5cdHdpZHRoOiAxMDAlO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLW1lbnUtYmFyX19tZW51IHtcblx0LyogRW5hYmxlIGZvbnQgc2l6ZSBpbmhlcml0YW5jZSwgd2hpY2ggYWxsb3dzIGZsdWlkIFVJIHNjYWxpbmcuICovXG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblxuXHQmLmNrLW1lbnUtYmFyX19tZW51X3RvcC1sZXZlbCB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19kaXNhYmxlZC5jc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvX2J1dHRvbi5jc3NcIjtcbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fZGlyLmNzc1wiO1xuXG4uY2suY2stbWVudS1iYXJfX21lbnUge1xuXHQvKlxuXHQgKiBBbGwgbWVudSBidXR0b25zLlxuXHQgKi9cblx0JiA+IC5jay1tZW51LWJhcl9fbWVudV9fYnV0dG9uIHtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdCYgPiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0fVxuXG5cdFx0Ji5jay1kaXNhYmxlZCA+IC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdEBtaXhpbiBjay1kaXNhYmxlZDtcblx0XHR9XG5cblx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHQmOm5vdCguY2stYnV0dG9uX3dpdGgtdGV4dCkge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBtaXhpbiBjay1kaXIgcnRsIHtcblx0XHRcdCY6bm90KC5jay1idXR0b25fd2l0aC10ZXh0KSB7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qXG5cdCAqIFRvcC1sZXZlbCBtZW51IGJ1dHRvbnMgb25seS5cblx0ICovXG5cdCYuY2stbWVudS1iYXJfX21lbnVfdG9wLWxldmVsID4gLmNrLW1lbnUtYmFyX19tZW51X19idXR0b24ge1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpIHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKTtcblx0XHRtaW4taGVpZ2h0OiB1bnNldDtcblxuXHRcdCYgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0d2lkdGg6IHVuc2V0O1xuXHRcdFx0bGluZS1oZWlnaHQ6IHVuc2V0O1xuXHRcdH1cblxuXHRcdCYuY2stb24ge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdH1cblxuXHRcdCYgLmNrLWljb24ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQvKlxuXHQgKiBTdWItbWVudSBidXR0b25zLlxuXHQgKi9cblx0Jjpub3QoLmNrLW1lbnUtYmFyX19tZW51X3RvcC1sZXZlbCkgLmNrLW1lbnUtYmFyX19tZW51X19idXR0b24ge1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cblx0XHQmID4gLmNrLW1lbnUtYmFyX19tZW51X19idXR0b25fX2Fycm93IHtcblx0XHRcdHdpZHRoOiB2YXIoLS1jay1kcm9wZG93bi1hcnJvdy1zaXplKTtcblxuXHRcdFx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXG5cdFx0XHRcdC8qIEEgc3BhY2UgdG8gYWNjb21tb2RhdGUgdGhlIHRyaWFuZ2xlLiAqL1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0XHRcdFx0LyogTnVkZ2UgdGhlIGFycm93IGdlbnRseSB0byB0aGUgcmlnaHQgYmVjYXVzZSBpdHMgY2VudGVyIG9mIGdyYXZpdHkgaXMgdG8gdGhlIGxlZnQgKi9cblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tY2stc3BhY2luZy1zbWFsbCkpO1xuXHRcdFx0fVxuXG5cdFx0XHRAbWl4aW4gY2stZGlyIHJ0bCB7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblxuXHRcdFx0XHRsZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHRcdFx0XHQvKiBBIHNwYWNlIHRvIGFjY29tbW9kYXRlIHRoZSB0cmlhbmdsZS4gKi9cblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblxuXHRcdFx0XHQvKiBOdWRnZSB0aGUgYXJyb3cgZ2VudGx5IHRvIHRoZSBsZWZ0IGJlY2F1c2UgaXRzIGNlbnRlciBvZiBncmF2aXR5IGlzIHRvIHRoZSByaWdodCAoYWZ0ZXIgcm90YXRpb24pLiAqL1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWNrLXNwYWNpbmctc21hbGwpKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmNrLWRpc2FibGVkID4gLmNrLW1lbnUtYmFyX19tZW51X19idXR0b25fX2Fycm93IHtcblx0XHRcdEBtaXhpbiBjay1kaXNhYmxlZDtcblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1tZW51LWJhci1tZW51LWl0ZW0tbWluLXdpZHRoOiAxOGVtO1xufVxuXG4uY2suY2stbWVudS1iYXJfX21lbnUgLmNrLmNrLW1lbnUtYmFyX19tZW51X19pdGVtIHtcblx0bWluLXdpZHRoOiB2YXIoLS1jay1tZW51LWJhci1tZW51LWl0ZW0tbWluLXdpZHRoKTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fZGlyLmNzc1wiO1xuXG4uY2suY2stbWVudS1iYXJfX21lbnUge1xuXHQvKlxuXHQgKiBMaXN0IGl0ZW0gYnV0dG9ucy5cblx0ICovXG5cdCYgLmNrLWJ1dHRvbi5jay1tZW51LWJhcl9fbWVudV9faXRlbV9fYnV0dG9uIHtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdFx0JiA+IC5jay1zcGlubmVyLWNvbnRhaW5lcixcblx0XHQmID4gLmNrLXNwaW5uZXItY29udGFpbmVyIC5jay1zcGlubmVyIHtcblx0XHRcdC8qIFRoZXNlIHN0eWxlcyBjb3JyZXNwb25kIHRvIC5jay1pY29uIHNvIHRoYXQgdGhlIHNwaW5uZXIgc2VhbWxlc3NseSByZXBsYWNlcyB0aGUgaWNvbi4gKi9cblx0XHRcdC0tY2stdG9vbGJhci1zcGlubmVyLXNpemU6IDIwcHg7XG5cdFx0fVxuXG5cdFx0JiA+IC5jay1zcGlubmVyLWNvbnRhaW5lciB7XG5cdFx0XHQvKiBUaGlzIGVuc3VyZXMgbWFyZ2lucyBjb3JyZXNwb25kaW5nIHRvIHRoZSAuY2staWNvbi4gKi9cblx0XHRcdGZvbnQtc2l6ZTogdmFyKC0tY2staWNvbi1mb250LXNpemUpO1xuXG5cdFx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRcdFx0fVxuXG5cdFx0XHRAbWl4aW4gY2stZGlyIHJ0bCB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fcm91bmRlZC5jc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX3NoYWRvdy5jc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX2ZvY3VzLmNzc1wiO1xuXG46cm9vdCB7XG5cdC0tY2stbWVudS1iYXItbWVudS1wYW5lbC1tYXgtd2lkdGg6IDc1dnc7XG59XG5cbi5jay5jay1tZW51LWJhcl9fbWVudSA+IC5jay5jay1tZW51LWJhcl9fbWVudV9fcGFuZWwge1xuXHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzO1xuXHRAbWl4aW4gY2stZHJvcC1zaGFkb3c7XG5cblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItZHJvcGRvd24tcGFuZWwtYmFja2dyb3VuZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWRyb3Bkb3duLXBhbmVsLWJvcmRlcik7XG5cdGJvdHRvbTogMDtcblx0aGVpZ2h0OiBmaXQtY29udGVudDtcblx0bWF4LXdpZHRoOiB2YXIoLS1jay1tZW51LWJhci1tZW51LXBhbmVsLW1heC13aWR0aCk7XG5cblx0LyogQ29ybmVyIGJvcmRlciByYWRpdXMgY29uc2lzdGVudCB3aXRoIHRoZSBidXR0b24uICovXG5cdCYuY2stbWVudS1iYXJfX21lbnVfX3BhbmVsX3Bvc2l0aW9uX2VzLFxuXHQmLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl9zZSB7XG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0fVxuXG5cdCYuY2stbWVudS1iYXJfX21lbnVfX3BhbmVsX3Bvc2l0aW9uX3dzLFxuXHQmLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl9zdyB7XG5cdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG5cdH1cblxuXHQmLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl9lbixcblx0Ji5jay1tZW51LWJhcl9fbWVudV9fcGFuZWxfcG9zaXRpb25fbmUge1xuXHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdH1cblxuXHQmLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl93bixcblx0Ji5jay1tZW51LWJhcl9fbWVudV9fcGFuZWxfcG9zaXRpb25fbncge1xuXHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxufVxuXG4uY2suY2stbWVudS1iYXIge1xuXHQmIC5jay1saXN0LWl0ZW0tYnV0dG9uIHtcblx0XHQmOmZvY3VzLFxuXHRcdCY6YWN0aXZlIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCYuY2stbWVudS1iYXJfZm9jdXMtYm9yZGVyLWVuYWJsZWQgLmNrLWxpc3QtaXRlbS1idXR0b24ge1xuXHRcdCY6Zm9jdXMsXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0LyogRml4IHRydW5jYXRlZCBzaGFkb3dzIGR1ZSB0byByZW5kZXJpbmcgb3JkZXIuICovXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAyO1xuXG5cdFx0XHRAbWl4aW4gY2stZm9jdXMtcmluZztcblx0XHRcdEBtaXhpbiBjay1ib3gtc2hhZG93IHZhcigtLWNrLWZvY3VzLW91dGVyLXNoYWRvdyk7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19yb3VuZGVkLmNzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fc2hhZG93LmNzc1wiO1xuXG46cm9vdCB7XG5cdC0tY2stYmFsbG9vbi1ib3JkZXItd2lkdGg6IDFweDtcblx0LS1jay1iYWxsb29uLWFycm93LW9mZnNldDogMnB4O1xuXHQtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0OiAxMHB4O1xuXHQtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aDogOHB4O1xuXHQtLWNrLWJhbGxvb24tYXJyb3ctZHJvcC1zaGFkb3c6IDAgMnB4IDJweCB2YXIoLS1jay1jb2xvci1zaGFkb3ctZHJvcCk7XG59XG5cbi5jay5jay1iYWxsb29uLXBhbmVsIHtcblx0QG1peGluIGNrLXJvdW5kZWQtY29ybmVycztcblx0QG1peGluIGNrLWRyb3Atc2hhZG93O1xuXG5cdG1pbi1oZWlnaHQ6IDE1cHg7XG5cblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItcGFuZWwtYmFja2dyb3VuZCk7XG5cdGJvcmRlcjogdmFyKC0tY2stYmFsbG9vbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWNrLWNvbG9yLXBhbmVsLWJvcmRlcik7XG5cblx0Ji5jay1iYWxsb29uLXBhbmVsX3dpdGgtYXJyb3cge1xuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHR3aWR0aDogMDtcblx0XHRcdGhlaWdodDogMDtcblx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0fVxuXHR9XG5cblx0JltjbGFzcyo9XCJhcnJvd19uXCJdIHtcblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiAwIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkgdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCk7XG5cdFx0fVxuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0tY2stY29sb3ItcGFuZWwtYm9yZGVyKSB0cmFuc3BhcmVudDtcblx0XHRcdG1hcmdpbi10b3A6IGNhbGMoIC0xICogdmFyKC0tY2stYmFsbG9vbi1ib3JkZXItd2lkdGgpICk7XG5cdFx0fVxuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1jay1jb2xvci1wYW5lbC1iYWNrZ3JvdW5kKSB0cmFuc3BhcmVudDtcblx0XHRcdG1hcmdpbi10b3A6IGNhbGMoIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctb2Zmc2V0KSAtIHZhcigtLWNrLWJhbGxvb24tYm9yZGVyLXdpZHRoKSApO1xuXHRcdH1cblx0fVxuXG5cdCZbY2xhc3MqPVwiYXJyb3dfc1wiXSB7XG5cdFx0Jjo6YmVmb3JlLFxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJvcmRlci13aWR0aDogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkgMCB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLXBhbmVsLWJvcmRlcikgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRmaWx0ZXI6IGRyb3Atc2hhZG93KHZhcigtLWNrLWJhbGxvb24tYXJyb3ctZHJvcC1zaGFkb3cpKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IGNhbGMoIC0xICogdmFyKC0tY2stYmFsbG9vbi1ib3JkZXItd2lkdGgpICk7XG5cdFx0fVxuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jay1jb2xvci1wYW5lbC1iYWNrZ3JvdW5kKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0XHRcdG1hcmdpbi1ib3R0b206IGNhbGMoIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctb2Zmc2V0KSAtIHZhcigtLWNrLWJhbGxvb24tYm9yZGVyLXdpZHRoKSApO1xuXHRcdH1cblx0fVxuXG5cdCZbY2xhc3MqPVwiYXJyb3dfZVwiXSB7XG5cdFx0Jjo6YmVmb3JlLFxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJvcmRlci13aWR0aDogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSAwIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkgdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWNrLWNvbG9yLXBhbmVsLWJvcmRlcik7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGNhbGMoIC0xICogdmFyKC0tY2stYmFsbG9vbi1ib3JkZXItd2lkdGgpICk7XG5cdFx0fVxuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1jay1jb2xvci1wYW5lbC1iYWNrZ3JvdW5kKTtcblx0XHRcdG1hcmdpbi1yaWdodDogY2FsYyggdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1vZmZzZXQpIC0gdmFyKC0tY2stYmFsbG9vbi1ib3JkZXItd2lkdGgpICk7XG5cdFx0fVxuXHR9XG5cblx0JltjbGFzcyo9XCJhcnJvd193XCJdIHtcblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpIDA7XG5cdFx0fVxuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdmFyKC0tY2stY29sb3ItcGFuZWwtYm9yZGVyKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0XHRcdG1hcmdpbi1sZWZ0OiBjYWxjKCAtMSAqIHZhcigtLWNrLWJhbGxvb24tYm9yZGVyLXdpZHRoKSApO1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdmFyKC0tY2stY29sb3ItcGFuZWwtYmFja2dyb3VuZCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRtYXJnaW4tbGVmdDogY2FsYyggdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1vZmZzZXQpIC0gdmFyKC0tY2stYmFsbG9vbi1ib3JkZXItd2lkdGgpICk7XG5cdFx0fVxuXHR9XG5cblx0Ji5jay1iYWxsb29uLXBhbmVsX2Fycm93X24ge1xuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0dG9wOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG5cdH1cblxuXHQmLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfbncge1xuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRsZWZ0OiBjYWxjKDIgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpKTtcblx0XHRcdHRvcDogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSk7XG5cdFx0fVxuXHR9XG5cblx0Ji5jay1iYWxsb29uLXBhbmVsX2Fycm93X25lIHtcblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0cmlnaHQ6IGNhbGMoMiAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0dG9wOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG5cdH1cblxuXHQmLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfcyB7XG5cdFx0Jjo6YmVmb3JlLFxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSk7XG5cdFx0XHRib3R0b206IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkpO1xuXHRcdH1cblx0fVxuXG5cdCYuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19zdyB7XG5cdFx0Jjo6YmVmb3JlLFxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGxlZnQ6IGNhbGMoMiAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0Ym90dG9tOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG5cdH1cblxuXHQmLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfc2Uge1xuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRyaWdodDogY2FsYygyICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSk7XG5cdFx0XHRib3R0b206IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkpO1xuXHRcdH1cblx0fVxuXG5cdCYuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19zbWUge1xuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRyaWdodDogMjUlO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKDIgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpKTtcblx0XHRcdGJvdHRvbTogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSk7XG5cdFx0fVxuXHR9XG5cblx0Ji5jay1iYWxsb29uLXBhbmVsX2Fycm93X3NtdyB7XG5cdFx0Jjo6YmVmb3JlLFxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGxlZnQ6IDI1JTtcblx0XHRcdG1hcmdpbi1sZWZ0OiBjYWxjKDIgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpKTtcblx0XHRcdGJvdHRvbTogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSk7XG5cdFx0fVxuXHR9XG5cblx0Ji5jay1iYWxsb29uLXBhbmVsX2Fycm93X25tZSB7XG5cdFx0Jjo6YmVmb3JlLFxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHJpZ2h0OiAyNSU7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGNhbGMoMiAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0dG9wOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG5cdH1cblxuXHQmLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfbm13IHtcblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0bGVmdDogMjUlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGNhbGMoMiAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0dG9wOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG5cdH1cblxuXHQmLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfZSB7XG5cdFx0Jjo6YmVmb3JlLFxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHJpZ2h0OiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHRcdG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpKTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdH1cblx0fVxuXG5cdCYuY2stYmFsbG9vbi1wYW5lbF9hcnJvd193IHtcblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0bGVmdDogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSk7XG5cdFx0XHRtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSk7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jayAuY2stYmFsbG9vbi1yb3RhdG9yX19uYXZpZ2F0aW9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItdG9vbGJhci1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLXRvb2xiYXItYm9yZGVyKTtcblx0cGFkZGluZzogMCB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblxuXHQvKiBMZXQncyBrZWVwIHNpbWlsYXIgYXBwZWFyYW5jZSB0byBgY2stdG9vbGJhcmAuICovXG5cdCYgPiAqIHtcblx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHR9XG5cblx0LyogR2l2ZXMgY291bnRlciBtb3JlIGJyZWF0aCB0aGFuIGJ1dHRvbnMuICovXG5cdCYgLmNrLWJhbGxvb24tcm90YXRvcl9fY291bnRlciB7XG5cdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHRcdC8qIFdlIG5lZWQgdG8gdXNlIHNtYWxsZXIgbWFyZ2luIGJlY2F1c2Ugb2YgcHJldmlvdXMgYnV0dG9uJ3MgcmlnaHQgbWFyZ2luLiAqL1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0fVxufVxuXG4uY2sgLmNrLWJhbGxvb24tcm90YXRvcl9fY29udGVudCB7XG5cblx0LyogRGlzYWJsZSBkZWZhdWx0IGFubm90YXRpb24gc2hhZG93IGluc2lkZSByb3RhdG9yIHdpdGggZmFrZSBwYW5lbHMuICovXG5cdCYgLmNrLmNrLWFubm90YXRpb24td3JhcHBlciB7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fc2hhZG93LmNzc1wiO1xuXG46cm9vdCB7XG5cdC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC1ob3Jpem9udGFsOiA2cHg7XG5cdC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC12ZXJ0aWNhbDogNnB4O1xufVxuXG4vKiBMZXQncyB1c2UgYC5jay1iYWxsb29uLXBhbmVsYCBhcHBlYXJhbmNlLiBTZWU6IGJhbGxvb25wYW5lbC5jc3MuICovXG4uY2sgLmNrLWZha2UtcGFuZWwgZGl2IHtcblx0QG1peGluIGNrLWRyb3Atc2hhZG93O1xuXG5cdG1pbi1oZWlnaHQ6IDE1cHg7XG5cblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItcGFuZWwtYmFja2dyb3VuZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLXBhbmVsLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5jayAuY2stZmFrZS1wYW5lbCBkaXY6bnRoLWNoaWxkKCAxICkge1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC1ob3Jpem9udGFsKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC12ZXJ0aWNhbCk7XG59XG5cbi5jayAuY2stZmFrZS1wYW5lbCBkaXY6bnRoLWNoaWxkKCAyICkge1xuXHRtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1jay1iYWxsb29uLWZha2UtcGFuZWwtb2Zmc2V0LWhvcml6b250YWwpICogMik7XG5cdG1hcmdpbi10b3A6IGNhbGModmFyKC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC12ZXJ0aWNhbCkgKiAyKTtcbn1cbi5jayAuY2stZmFrZS1wYW5lbCBkaXY6bnRoLWNoaWxkKCAzICkge1xuXHRtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1jay1iYWxsb29uLWZha2UtcGFuZWwtb2Zmc2V0LWhvcml6b250YWwpICogMyk7XG5cdG1hcmdpbi10b3A6IGNhbGModmFyKC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC12ZXJ0aWNhbCkgKiAzKTtcbn1cblxuLyogSWYgYmFsbG9vbiBpcyBwb3NpdGlvbmVkIGFib3ZlIGVsZW1lbnQsIHdlIG5lZWQgdG8gbW92ZSBmYWtlIHBhbmVsIHRvIHRoZSB0b3AuICovXG4uY2sgLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfcyArIC5jay1mYWtlLXBhbmVsLFxuLmNrIC5jay1iYWxsb29uLXBhbmVsX2Fycm93X3NlICsgLmNrLWZha2UtcGFuZWwsXG4uY2sgLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfc3cgKyAuY2stZmFrZS1wYW5lbCB7XG5cdC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC12ZXJ0aWNhbDogLTZweDtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX3NoYWRvdy5jc3NcIjtcblxuLmNrLmNrLXN0aWNreS1wYW5lbCB7XG5cdCYgLmNrLXN0aWNreS1wYW5lbF9fY29udGVudF9zdGlja3kge1xuXHRcdEBtaXhpbiBjay1kcm9wLXNoYWRvdztcblxuXHRcdGJvcmRlci13aWR0aDogMCAxcHggMXB4O1xuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fcndkLmNzc1wiO1xuQGltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvbWl4aW5zL19kaXIuY3NzXCI7XG5cbi5jay12ZXJ0aWNhbC1mb3JtID4gLmNrLWJ1dHRvbjpudGgtbGFzdC1jaGlsZCgyKTo6YWZ0ZXIge1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG59XG5cbi5jay5jay1yZXNwb25zaXZlLWZvcm0ge1xuXHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblxuXHQmOmZvY3VzIHtcblx0XHQvKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzQ3NzMgKi9cblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG5cblx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdCYgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdH1cblx0fVxuXG5cdEBtaXhpbiBjay1kaXIgcnRsIHtcblx0XHQmID4gOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdH1cblx0fVxuXG5cdEBtaXhpbiBjay1tZWRpYS1waG9uZSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHR3aWR0aDogY2FsYyguOCAqIHZhcigtLWNrLWlucHV0LXdpZHRoKSk7XG5cblx0XHQmIC5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdFx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSAwO1xuXG5cdFx0XHQmIC5jay1pbnB1dC10ZXh0LFxuXHRcdFx0JiAuY2staW5wdXQtbnVtYmVyIHtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0LyogTGV0IHRoZSBsb25nIGVycm9yIG1lc3NhZ2VzIHdyYXAgaW4gdGhlIG5hcnJvdyBmb3JtLiAqL1xuXHRcdFx0JiAuY2stbGFiZWxlZC1maWVsZC12aWV3X19lcnJvciB7XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LyogU3R5bGVzIGZvciB0d28gbGFzdCBidXR0b25zIGluIHRoZSBmb3JtIChzYXZlJmNhbmNlbCwgZWRpdCZ1bmxpbmssIGV0Yy4pLiAqL1xuXHRcdCYgPiAuY2stYnV0dG9uOm50aC1sYXN0LWNoaWxkKDIpIHtcblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYgPiAuY2stYnV0dG9uOm50aC1sYXN0LWNoaWxkKDEpLFxuXHRcdCYgPiAuY2stYnV0dG9uOm50aC1sYXN0LWNoaWxkKDIpIHtcblx0XHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdFx0XHQmOm5vdCg6Zm9jdXMpIHtcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHRcdH1cblxuXHRcdFx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdH1cblxuXHRcdFx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblxuXHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX2Rpci5jc3NcIjtcblxuOnJvb3Qge1xuXHQtLWNrLXNlYXJjaC1maWVsZC12aWV3LWhvcml6b250YWwtc3BhY2luZzogY2FsYyh2YXIoLS1jay1pY29uLXNpemUpICsgdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pKTtcbn1cblxuLmNrLmNrLXNlYXJjaCB7XG5cdCYgPiAuY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0XHQmIC5jay1pbnB1dCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cblx0XHQmLmNrLXNlYXJjaF9fcXVlcnlfd2l0aC1pY29uIHtcblx0XHRcdC0tY2stbGFiZWxlZC1maWVsZC1sYWJlbC1kZWZhdWx0LXBvc2l0aW9uLXg6IHZhcigtLWNrLXNlYXJjaC1maWVsZC12aWV3LWhvcml6b250YWwtc3BhY2luZyk7XG5cblx0XHRcdCYgPiAuY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyID4gLmNrLWljb24ge1xuXHRcdFx0XHRvcGFjaXR5OiAuNTtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdCYgLmNrLWlucHV0IHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogdmFyKC0tY2stc2VhcmNoLWZpZWxkLXZpZXctaG9yaXpvbnRhbC1zcGFjaW5nKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBtaXhpbiBjay1kaXIgcnRsIHtcblx0XHRcdFx0XHQmOm5vdCguY2staW5wdXQtdGV4dF9lbXB0eSkge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1jay1zZWFyY2gtZmllbGQtdmlldy1ob3Jpem9udGFsLXNwYWNpbmcpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuY2stc2VhcmNoX19xdWVyeV93aXRoLXJlc2V0IHtcblx0XHRcdC0tY2stbGFiZWxlZC1maWVsZC1lbXB0eS11bmZvY3VzZWQtbWF4LXdpZHRoOiAxMDAlIC0gMiAqIHZhcigtLWNrLXNlYXJjaC1maWVsZC12aWV3LWhvcml6b250YWwtc3BhY2luZyk7XG5cblx0XHRcdCYuY2stbGFiZWxlZC1maWVsZC12aWV3X2VtcHR5IHtcblx0XHRcdFx0LS1jay1sYWJlbGVkLWZpZWxkLWVtcHR5LXVuZm9jdXNlZC1tYXgtd2lkdGg6IDEwMCUgLSB2YXIoLS1jay1zZWFyY2gtZmllbGQtdmlldy1ob3Jpem9udGFsLXNwYWNpbmcpIC0gdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRcdFx0fVxuXG5cdFx0XHQmIC5jay1zZWFyY2hfX3Jlc2V0IHtcblx0XHRcdFx0bWluLXdpZHRoOiBhdXRvO1xuXHRcdFx0XHRtaW4taGVpZ2h0OiBhdXRvO1xuXG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRcdG9wYWNpdHk6IC41O1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHRcdEBtaXhpbiBjay1kaXIgbHRyIHtcblx0XHRcdFx0XHRyaWdodDogdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdFx0XHRcdGxlZnQ6IHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0JiAuY2staW5wdXQge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHRcdFx0Jjpub3QoLmNrLWlucHV0LXRleHRfZW1wdHkpIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWNrLXNlYXJjaC1maWVsZC12aWV3LWhvcml6b250YWwtc3BhY2luZyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWNrLXNlYXJjaC1maWVsZC12aWV3LWhvcml6b250YWwtc3BhY2luZyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmID4gLmNrLXNlYXJjaF9fcmVzdWx0cyB7XG5cdFx0bWluLXdpZHRoOiAxMDAlO1xuXG5cdFx0JiA+IC5jay1zZWFyY2hfX2luZm8ge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSkgdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cblx0XHRcdCYgKiB7XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0XHR9XG5cblx0XHRcdCYgPiBzcGFuOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHR9XG5cblx0XHRcdCYgPiBzcGFuOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay10b29sYmFyLXNwaW5uZXItc2l6ZTogMThweDtcbn1cblxuLmNrLmNrLXNwaW5uZXItY29udGFpbmVyIHtcblx0d2lkdGg6IHZhcigtLWNrLXRvb2xiYXItc3Bpbm5lci1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1jay10b29sYmFyLXNwaW5uZXItc2l6ZSk7XG5cdGFuaW1hdGlvbjogMS41cyBpbmZpbml0ZSBjay1zcGlubmVyLXJvdGF0ZSBsaW5lYXI7XG5cblx0QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDNzO1xuXHR9XG59XG5cbi5jay5jay1zcGlubmVyIHtcblx0d2lkdGg6IHZhcigtLWNrLXRvb2xiYXItc3Bpbm5lci1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1jay10b29sYmFyLXNwaW5uZXItc2l6ZSk7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tY2stY29sb3ItdGV4dCk7XG5cdGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5Aa2V5ZnJhbWVzIGNrLXNwaW5uZXItcm90YXRlIHtcblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZylcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIFRoaXMgZml4ZXMgYSBwcm9ibGVtIGluIEZpcmVmb3ggd2hlbiB0aGUgaW5pdGlhbCBoZWlnaHQgb2YgdGhlIGNvbXBsZW1lbnQgZG9lcyBub3QgbWF0Y2ggdGhlIG51bWJlciBvZiByb3dzLlxuICogVGhpcyBidWcgaXMgZXNwZWNpYWxseSB2aXNpYmxlIHdoZW4gcm93cz0xLlxuICovXG4uY2stdGV4dGFyZWEge1xuXHRvdmVyZmxvdy14OiBoaWRkZW5cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1jb2xvci1ibG9jay10b29sYmFyLWJ1dHRvbjogdmFyKC0tY2stY29sb3ItdGV4dCk7XG5cdC0tY2stYmxvY2stdG9vbGJhci1idXR0b24tc2l6ZTogdmFyKC0tY2stZm9udC1zaXplLW5vcm1hbCk7XG59XG5cbi5jay5jay1ibG9jay10b29sYmFyLWJ1dHRvbiB7XG5cdGNvbG9yOiB2YXIoLS1jay1jb2xvci1ibG9jay10b29sYmFyLWJ1dHRvbik7XG5cdGZvbnQtc2l6ZTogdmFyKC0tY2stYmxvY2stdG9vbGJhci1zaXplKTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX3JvdW5kZWQuY3NzXCI7XG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX2Rpci5jc3NcIjtcblxuLmNrLmNrLXRvb2xiYXIge1xuXHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzO1xuXG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXRvb2xiYXItYmFja2dyb3VuZCk7XG5cdHBhZGRpbmc6IDAgdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLXRvb2xiYXItYm9yZGVyKTtcblxuXHQmIC5jay5jay10b29sYmFyX19zZXBhcmF0b3Ige1xuXHRcdGhlaWdodDogdmFyKC0tY2staWNvbi1zaXplKTtcblx0XHR3aWR0aDogMXB4O1xuXHRcdG1pbi13aWR0aDogMXB4O1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXRvb2xiYXItYm9yZGVyKTtcblxuXHRcdC8qXG5cdFx0ICogVGhlc2UgbWFyZ2lucyBtYWtlIHRoZSBzZXBhcmF0b3JzIGxvb2sgYmV0dGVyIGluIGJhbGxvb24gdG9vbGJhcnMgKHdoZW4gYWxpZ25lZCB3aXRoIHRoZSBcInRpcFwiKS5cblx0XHQgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNzQ5My5cblx0XHQgKi9cblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0fVxuXG5cdCYgLmNrLXRvb2xiYXJfX2xpbmUtYnJlYWsge1xuXHRcdGhlaWdodDogMDtcblx0fVxuXG5cdCYgPiAuY2stdG9vbGJhcl9faXRlbXMge1xuXHRcdCYgPiAqOm5vdCguY2stdG9vbGJhcl9fbGluZS1icmVhaykge1xuXHRcdFx0LyogKCMxMSkgU2VwYXJhdGUgdG9vbGJhciBpdGVtcy4gKi9cblx0XHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0fVxuXG5cdFx0LyogRG9uJ3QgZGlzcGxheSBhIHNlcGFyYXRvciBhZnRlciBhbiBlbXB0eSBpdGVtcyBjb250YWluZXIsIGZvciBpbnN0YW5jZSxcblx0XHR3aGVuIGFsbCBpdGVtcyB3ZXJlIGdyb3VwZWQgKi9cblx0XHQmOmVtcHR5ICsgLmNrLmNrLXRvb2xiYXJfX3NlcGFyYXRvciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCYgPiAuY2stdG9vbGJhcl9faXRlbXMgPiAqOm5vdCguY2stdG9vbGJhcl9fbGluZS1icmVhayksXG5cdCYgPiAuY2suY2stdG9vbGJhcl9fZ3JvdXBlZC1kcm9wZG93biB7XG5cdFx0LyogTWFrZSBzdXJlIGl0ZW1zIHdyYXBwZWQgdG8gdGhlIG5leHQgbGluZSBoYXZlIHYtc3BhY2luZyAqL1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHR9XG5cblx0Ji5jay10b29sYmFyX3ZlcnRpY2FsIHtcblx0XHQvKiBJdGVtcyBpbiBhIHZlcnRpY2FsIHRvb2xiYXIgc3BhbiB0aGUgZW50aXJlIHdpZHRoLiAqL1xuXHRcdHBhZGRpbmc6IDA7XG5cblx0XHQvKiBTcGVjaWZpY2l0eSBtYXR0ZXJzIGhlcmUuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzE2OC4gKi9cblx0XHQmID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrIHtcblx0XHRcdC8qIEl0ZW1zIGluIGEgdmVydGljYWwgdG9vbGJhciBzaG91bGQgc3BhbiB0aGUgaG9yaXpvbnRhbCBzcGFjZS4gKi9cblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHQvKiBJdGVtcyBpbiBhIHZlcnRpY2FsIHRvb2xiYXIgc2hvdWxkIGhhdmUgbm8gbWFyZ2luLiAqL1xuXHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHQvKiBJdGVtcyBpbiBhIHZlcnRpY2FsIHRvb2xiYXIgc3BhbiB0aGUgZW50aXJlIHdpZHRoIHNvIHJvdW5kZWQgY29ybmVycyBhcmUgcG9pbnRsZXNzLiAqL1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHR9XG5cdH1cblxuXHQmLmNrLXRvb2xiYXJfY29tcGFjdCB7XG5cdFx0LyogTm8gc3BhY2luZyBhcm91bmQgaXRlbXMuICovXG5cdFx0cGFkZGluZzogMDtcblxuXHRcdCYgPiAuY2stdG9vbGJhcl9faXRlbXMgPiAqIHtcblx0XHRcdC8qIENvbXBhY3QgdG9vbGJhciBpdGVtcyBoYXZlIG5vIHNwYWNpbmcgYmV0d2VlbiB0aGVtLiAqL1xuXHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHQvKiBcIk1pZGRsZVwiIGNoaWxkcmVuIHNob3VsZCBoYXZlIG5vIHJvdW5kZWQgY29ybmVycy4gKi9cblx0XHRcdCY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0JiA+IC5jay5jay10b29sYmFyX19ncm91cGVkLWRyb3Bkb3duIHtcblx0XHQvKlxuXHRcdCAqIERyb3Bkb3duIGJ1dHRvbiBoYXMgYXN5bW1ldHJpYyBwYWRkaW5nIHRvIGZpdCB0aGUgYXJyb3cuXG5cdFx0ICogVGhpcyBidXR0b24gaGFzIG5vIGFycm93IHNvIGxldCdzIHJldmVydCB0aGF0IHBhZGRpbmcgYmFjayB0byBub3JtYWwuXG5cdFx0ICovXG5cdFx0JiA+IC5jay5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbiB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctdGlueSk7XG5cdFx0fVxuXHR9XG5cblx0LyogQSBkcm9wLWRvd24gY29udGFpbmluZyB0aGUgbmVzdGVkIHRvb2xiYXIgd2l0aCBjb25maWd1cmVkIGl0ZW1zLiAqL1xuXHQmIC5jay10b29sYmFyX19uZXN0ZWQtdG9vbGJhci1kcm9wZG93biB7XG5cdFx0LyogUHJldmVudCBlbXB0eSBzcGFjZSBpbiB0aGUgcGFuZWwgd2hlbiB0aGUgZHJvcGRvd24gbGFiZWwgaXMgdmlzaWJsZSBhbmQgbG9uZyBidXQgdGhlIHRvb2xiYXIgaGFzIGZldyBpdGVtcy4gKi9cblx0XHQmID4gLmNrLWRyb3Bkb3duX19wYW5lbCB7XG5cdFx0XHRtaW4td2lkdGg6IGF1dG87XG5cdFx0fVxuXG5cdFx0JiA+IC5jay1idXR0b24gPiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRtYXgtd2lkdGg6IDdlbTtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cblxuXHQuY2stdG9vbGJhci1jb250YWluZXIgJiB7XG5cdFx0Ym9yZGVyOiAwO1xuXHR9XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5cbi8qXG4gKiBTdHlsZXMgZm9yIFJUTCB0b29sYmFycy5cbiAqXG4gKiBOb3RlOiBJbiBzb21lIGNhc2VzIChlLmcuIGEgZGVjb3VwbGVkIGVkaXRvciksIHRoZSB0b29sYmFyIGhhcyBpdHMgb3duIFwiZGlyXCJcbiAqIGJlY2F1c2UgaXRzIHBhcmVudCBpcyBub3QgY29udHJvbGxlZCBieSB0aGUgZWRpdG9yIGZyYW1ld29yay5cbiAqL1xuW2Rpcj1cInJ0bFwiXSAuY2suY2stdG9vbGJhcixcbi5jay5jay10b29sYmFyW2Rpcj1cInJ0bFwiXSB7XG5cdCYgPiAuY2stdG9vbGJhcl9faXRlbXMgPiAuY2sge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxuXG5cdCY6bm90KC5jay10b29sYmFyX2NvbXBhY3QpID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrIHtcblx0XHQvKiAoIzExKSBTZXBhcmF0ZSB0b29sYmFyIGl0ZW1zLiAqL1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0fVxuXG5cdCYgPiAuY2stdG9vbGJhcl9faXRlbXMgPiAuY2s6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHQmLmNrLXRvb2xiYXJfY29tcGFjdCA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jayB7XG5cdFx0LyogTm8gcm91bmRlZCBjb3JuZXJzIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBmaXJzdCBjaGlsZC4gKi9cblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRcdH1cblxuXHRcdC8qIE5vIHJvdW5kZWQgY29ybmVycyBvbiB0aGUgbGVmdCBzaWRlIG9mIHRoZSBsYXN0IGNoaWxkLiAqL1xuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdH1cblx0fVxuXG5cdC8qIFNlcGFyYXRlIHRoZSB0aGUgc2VwYXJhdG9yIGZvcm0gdGhlIGdyb3VwaW5nIGRyb3Bkb3duIHdoZW4gc29tZSBpdGVtcyBhcmUgZ3JvdXBlZC4gKi9cblx0JiA+IC5jay5jay10b29sYmFyX19zZXBhcmF0b3Ige1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0fVxuXG5cdC8qIFNvbWUgc3BhY2luZyBiZXR3ZWVuIHRoZSBpdGVtcyBhbmQgdGhlIHNlcGFyYXRvciBiZWZvcmUgdGhlIGdyb3VwZWQgaXRlbXMgZHJvcGRvd24uICovXG5cdCYuY2stdG9vbGJhcl9ncm91cGluZyA+IC5jay10b29sYmFyX19pdGVtczpub3QoOmVtcHR5KTpub3QoOm9ubHktY2hpbGQpIHtcblx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cbn1cblxuLypcbiAqIFN0eWxlcyBmb3IgTFRSIHRvb2xiYXJzLlxuICpcbiAqIE5vdGU6IEluIHNvbWUgY2FzZXMgKGUuZy4gYSBkZWNvdXBsZWQgZWRpdG9yKSwgdGhlIHRvb2xiYXIgaGFzIGl0cyBvd24gXCJkaXJcIlxuICogYmVjYXVzZSBpdHMgcGFyZW50IGlzIG5vdCBjb250cm9sbGVkIGJ5IHRoZSBlZGl0b3IgZnJhbWV3b3JrLlxuICovXG5bZGlyPVwibHRyXCJdIC5jay5jay10b29sYmFyLFxuLmNrLmNrLXRvb2xiYXJbZGlyPVwibHRyXCJdIHtcblx0JiA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jazpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdH1cblxuXHQmLmNrLXRvb2xiYXJfY29tcGFjdCA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jayB7XG5cdFx0LyogTm8gcm91bmRlZCBjb3JuZXJzIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBmaXJzdCBjaGlsZC4gKi9cblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdFx0fVxuXG5cdFx0LyogTm8gcm91bmRlZCBjb3JuZXJzIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIGxhc3QgY2hpbGQuICovXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRcdH1cblx0fVxuXG5cdC8qIFNlcGFyYXRlIHRoZSB0aGUgc2VwYXJhdG9yIGZvcm0gdGhlIGdyb3VwaW5nIGRyb3Bkb3duIHdoZW4gc29tZSBpdGVtcyBhcmUgZ3JvdXBlZC4gKi9cblx0JiA+IC5jay5jay10b29sYmFyX19zZXBhcmF0b3Ige1xuXHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cblxuXHQvKiBTb21lIHNwYWNpbmcgYmV0d2VlbiB0aGUgaXRlbXMgYW5kIHRoZSBzZXBhcmF0b3IgYmVmb3JlIHRoZSBncm91cGVkIGl0ZW1zIGRyb3Bkb3duLiAqL1xuXHQmLmNrLXRvb2xiYXJfZ3JvdXBpbmcgPiAuY2stdG9vbGJhcl9faXRlbXM6bm90KDplbXB0eSk6bm90KDpvbmx5LWNoaWxkKSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0fVxufVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19yb3VuZGVkLmNzc1wiO1xuXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay10b29sdGlwIHtcblx0LS1jay1iYWxsb29uLWJvcmRlci13aWR0aDogMHB4O1xuXHQtLWNrLWJhbGxvb24tYXJyb3ctb2Zmc2V0OiAwcHg7XG5cdC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoOiA0cHg7XG5cdC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQ6IDRweDtcblx0LS1jay10b29sdGlwLXRleHQtcGFkZGluZzogNHB4O1xuXHQtLWNrLWNvbG9yLXBhbmVsLWJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXRvb2x0aXAtYmFja2dyb3VuZCk7XG5cblx0cGFkZGluZzogMCB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cblx0JiAuY2stdG9vbHRpcF9fdGV4dCB7XG5cdFx0Zm9udC1zaXplOiAuOWVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLXRvb2x0aXAtdGV4dCk7XG5cdH1cblxuXHQmLmNrLXRvb2x0aXBfbXVsdGktbGluZSAuY2stdG9vbHRpcF9fdGV4dCB7XG5cdFx0d2hpdGUtc3BhY2U6IGJyZWFrLXNwYWNlcztcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogdmFyKC0tY2stdG9vbHRpcC10ZXh0LXBhZGRpbmcpIDA7XG5cdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0fVxuXG5cdC8qIFJlc2V0IGJhbGxvb24gcGFuZWwgc3R5bGVzICovXG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cblx0LyogSGlkZSB0aGUgZGVmYXVsdCBzaGFkb3cgb2YgdGhlIC5jay1iYWxsb29uLXBhbmVsIHRpcCAqL1xuXHQmOjpiZWZvcmUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCIuLi9taXhpbnMvX3JvdW5kZWQuY3NzXCI7XG5cbi5jay5jay1lZGl0b3JfX3RvcCB7XG5cdCYgLmNrLXN0aWNreS1wYW5lbCB7XG5cdFx0JiAuY2stc3RpY2t5LXBhbmVsX19jb250ZW50IHtcblx0XHRcdEBtaXhpbiBjay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcblx0XHRcdH1cblxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMDtcblxuXHRcdFx0Ji5jay1zdGlja3ktcGFuZWxfX2NvbnRlbnRfc3RpY2t5IHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmIC5jay1tZW51LWJhciB7XG5cdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHRcdH1cblxuXHRcdFx0JiAuY2stdG9vbGJhciB7XG5cdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogTm90ZTogVXNlIGNrLWVkaXRvcl9fbWFpbiB0byBtYWtlIHN1cmUgdGhlc2Ugc3R5bGVzIGRvbid0IGFwcGx5IHRvIG90aGVyIGVkaXRvciB0eXBlcyAqL1xuLmNrLmNrLWVkaXRvcl9fbWFpbiA+IC5jay1lZGl0b3JfX2VkaXRhYmxlIHtcblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy8xMTMgKi9cblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuXHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHR9XG5cblx0Jjpub3QoLmNrLWZvY3VzZWQpIHtcblx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvbWl4aW5zL19kaXIuY3NzXCI7XG5cbjpyb290IHtcblx0LS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtZG90LXdpZHRoOiAxMnB4O1xuXHQtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1kb3QtaGVpZ2h0OiA4cHg7XG5cdC0tY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWNvbG9yOiB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xufVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSB7XG5cdC8qXG5cdCAqIFZlcnRpY2FsIGRyb3AgdGFyZ2V0IChpbiB0ZXh0KS5cblx0ICovXG5cdCYgLmNrLmNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1wb3NpdGlvbiB7XG5cdFx0JiBzcGFuIHtcblx0XHRcdGJvdHRvbTogY2FsYygtLjUgKiB2YXIoLS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtZG90LWhlaWdodCkpO1xuXHRcdFx0dG9wOiBjYWxjKC0uNSAqIHZhcigtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1kb3QtaGVpZ2h0KSk7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtY29sb3IpO1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWNvbG9yKTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtMXB4O1xuXG5cdFx0XHQvKiBUaGUgdHJpYW5nbGUgYWJvdmUgdGhlIG1hcmtlciAqL1xuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRcdGhlaWdodDogMDtcblxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdHRvcDogY2FsYygtLjUgKiB2YXIoLS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtZG90LWhlaWdodCkpO1xuXG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtY29sb3IpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRib3JkZXItd2lkdGg6IGNhbGModmFyKC0tY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWRvdC1oZWlnaHQpKSBjYWxjKC41ICogdmFyKC0tY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWRvdC13aWR0aCkpIDAgY2FsYyguNSAqIHZhcigtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1kb3Qtd2lkdGgpKTtcblx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKlxuXHQgKiBTdHlsZXMgb2YgdGhlIHdpZGdldCB0aGF0IGl0IGEgZHJvcCB0YXJnZXQuXG5cdCAqL1xuXHQmIC5jay13aWRnZXQuY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LXJhbmdlIHtcblx0XHRvdXRsaW5lOiB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpIHNvbGlkIHZhcigtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1jb2xvcikgIWltcG9ydGFudDtcblx0fVxuXG5cdC8qXG5cdCAqIFN0eWxlcyBvZiB0aGUgd2lkZ2V0IGJlaW5nIGRyYWdnZWQgKGl0cyBwcmV2aWV3KS5cblx0ICovXG5cdCYgLmNrLXdpZGdldDotd2Via2l0LWRyYWcge1xuXHRcdHpvb206IDAuNjtcblx0XHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLmNrLmNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1saW5lIHtcblx0aGVpZ2h0OiAwO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtY29sb3IpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtY29sb3IpO1xuXHRtYXJnaW4tdG9wOiAtMXB4O1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogY2FsYygtLjUgKiB2YXIoLS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtZG90LXdpZHRoKSk7XG5cdFx0d2lkdGg6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cblx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHRsZWZ0OiAtMXB4O1xuXG5cdFx0XHRib3JkZXItd2lkdGg6IGNhbGMoLjUgKiB2YXIoLS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtZG90LXdpZHRoKSkgMCBjYWxjKC41ICogdmFyKC0tY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWRvdC13aWR0aCkpIHZhcigtLWNrLWNsaXBib2FyZC1kcm9wLXRhcmdldC1kb3QtaGVpZ2h0KTtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0tY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWNvbG9yKTtcblx0XHR9XG5cblx0XHRAbWl4aW4gY2stZGlyIHJ0bCB7XG5cdFx0XHRyaWdodDogLTFweDtcblxuXHRcdFx0Ym9yZGVyLXdpZHRoOmNhbGMoLjUgKiB2YXIoLS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtZG90LXdpZHRoKSkgdmFyKC0tY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWRvdC1oZWlnaHQpIGNhbGMoLjUgKiB2YXIoLS1jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtZG90LXdpZHRoKSkgMDtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdmFyKC0tY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LWNvbG9yKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1jb2xvci1jb2RlLWJsb2NrLWxhYmVsLWJhY2tncm91bmQ6IGhzbCgwLCAwJSwgNDYlKTtcbn1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgcHJlW2RhdGEtbGFuZ3VhZ2VdOjphZnRlciB7XG5cdHRvcDogLTFweDtcblx0cmlnaHQ6IDEwcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWNvZGUtYmxvY2stbGFiZWwtYmFja2dyb3VuZCk7XG5cblx0Zm9udC1zaXplOiAxMHB4O1xuXHRmb250LWZhbWlseTogdmFyKC0tY2stZm9udC1mYWNlKTtcblx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctdGlueSkgdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRjb2xvcjogaHNsKDAsIDAlLCAxMDAlKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNrLmNrLWNvZGUtYmxvY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbCB7XG5cdC8qIFRoZXJlIGNvdWxkIGJlIGRvemVucyBvZiBsYW5ndWFnZXMgYXZhaWxhYmxlLiBVc2Ugc2Nyb2xsIHRvIHByZXZlbnQgYSAxMGU2cHggZHJvcGRvd24uICovXG5cdG1heC1oZWlnaHQ6IDI1MHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX21lZGlhY29sb3JzLmNzc1wiO1xuXG4vKiBTZWUgY2tlZGl0b3IvY2tlZGl0b3I1IzkzNi4gKi9cbi5jay5jay1wbGFjZWhvbGRlciwgLmNrIC5jay1wbGFjZWhvbGRlciB7XG5cdEBtaXhpbiBjay1tZWRpYS1mb3JjZWQtY29sb3JzIHtcblx0XHQvKlxuXHRcdCAqIFRoaXMgaXMgbmVlZGVkIGZvciBFZGdlIG9uIFdpbmRvd3MgdG8gdXNlIHRoZSByaWdodCBjb2xvciBmb3IgdGhlIHBsYWNlaG9sZGVyIGNvbnRlbnQgKDo6YmVmb3JlKS5cblx0XHQgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTQ5MDcuXG5cdFx0ICovXG5cdFx0Zm9yY2VkLWNvbG9yLWFkanVzdDogcHJlc2VydmUtcGFyZW50LWNvbG9yO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjdXJzb3I6IHRleHQ7XG5cblx0XHRAbWl4aW4gY2stbWVkaWEtZGVmYXVsdC1jb2xvcnMge1xuXHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWVuZ2luZS1wbGFjZWhvbGRlci10ZXh0KTtcblx0XHR9XG5cblx0XHRAbWl4aW4gY2stbWVkaWEtZm9yY2VkLWNvbG9ycyB7XG5cdFx0XHQvKlxuXHRcdFx0ICogSW4gdGhlIGhpZ2ggY29udHJhc3QgbW9kZSB0aGVyZSBpcyBubyB0ZWxsaW5nIGJldHdlZW4gcmVndWxhciBhbmQgcGxhY2Vob2xkZXIgdGV4dC4gVXNpbmdcblx0XHRcdCAqIGl0YWxpYyB0ZXh0IHRvIGFkZHJlc3MgdGhhdCBpc3N1ZS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE0OTA3LlxuXHRcdFx0ICovXG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cblx0XHRcdC8qXG5cdFx0XHQgKiBXaXRob3V0IHRoaXMgbWFyZ2luLCB0aGUgY2FyZXQgd2lsbCBub3Qgc2hvdyB1cCBhbmQgYmxpbmsgd2hlbiB0aGUgdXNlciBwdXRzIHRoZSBzZWxlY3Rpb25cblx0XHRcdCAqIGluIHRoZSBwbGFjZWhvbGRlciAoRWRnZSBvbiBXaW5kb3dzKS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE0OTA3LlxuXHRcdFx0ICovXG5cdFx0XHRtYXJnaW4tbGVmdDogMXB4O1xuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvbWl4aW5zL19yd2QuY3NzXCI7XG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX2Rpci5jc3NcIjtcblxuLmNrLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybSB7XG5cdHdpZHRoOiA0MDBweDtcblxuXHQvKlxuXHQgKiBUaGUgPGZvcm0+IG5lZWRzIHRhYmluZGV4PVwiLTFcIiBmb3IgcHJvcGVyIEVzYyBoYW5kbGluZyBhZnRlciBiZWluZyBjbGlja2VkXG5cdCAqIGJ1dCB0aGUgc2lkZSBlZmZlY3QgaXMgdGhhdCB0aGlzIGNyZWF0ZXMgYSBuYXN0eSBmb2N1cyBvdXRsaW5lIGluIHNvbWUgYnJvd3NlcnMuXG5cdCAqL1xuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG5cblx0LyogR2VuZXJpYyBzdHlsZXMgZm9yIHRoZSBmb3JtIGlucHV0cyBhbmQgYWN0aW9ucy4gKi9cblx0JiAuY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtX19pbnB1dHMsXG5cdCYgLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9fYWN0aW9ucyB7XG5cdFx0ZmxleDogMSAxIGF1dG87XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuXG5cdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0JiA+IC5jay1idXR0b24ge1xuXHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0fVxuXG5cdFx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdFx0JiA+ICogKyAqIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBtaXhpbiBjay1kaXIgcnRsIHtcblx0XHRcdCYgPiAqICsgKiB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JiAuY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0XHRcdGZsZXg6IDEgMSBhdXRvO1xuXG5cdFx0XHQmIC5jay1pbnB1dCB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtaW4td2lkdGg6IDUwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxuXHQvKiBTdHlsZXMgc3BlY2lmaWMgZm9yIGlucHV0cyBhcmVhLiAqL1xuXHQmIC5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2lucHV0cyB7XG5cdFx0LyogVG8gZGlzcGxheSBhbGwgY29udHJvbHMgaW4gbGluZSB3aGVuIHRoZXJlJ3MgYW4gZXJyb3IgdW5kZXIgdGhlIGlucHV0ICovXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cblx0XHQmID4gLmNrLWJ1dHRvbi1wcmV2ID4gLmNrLWljb24ge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHRcdH1cblxuXHRcdCYgPiAuY2stYnV0dG9uLW5leHQgPiAuY2staWNvbiB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXHRcdH1cblxuXHRcdCYgLmNrLXJlc3VsdHMtY291bnRlciB7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuXHRcdFx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdFx0XHRyaWdodDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0XHR9XG5cblx0XHRcdEBtaXhpbiBjay1kaXIgcnRsIHtcblx0XHRcdFx0bGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0XHR9XG5cblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdFx0fVxuXG5cdFx0JiA+IC5jay1sYWJlbGVkLWZpZWxkLXJlcGxhY2Uge1xuXHRcdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0XHRwYWRkaW5nLXRvcDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0XHRcdEBtaXhpbiBjay1kaXIgbHRyIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHR9XG5cblx0XHRcdEBtaXhpbiBjay1kaXIgcnRsIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qIFN0eWxlcyBzcGVjaWZpYyBmb3IgYWN0aW9ucyBhcmVhLiAqL1xuXHQmIC5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2FjdGlvbnMge1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdG1hcmdpbi10b3A6IGNhbGMoIC0xICogdmFyKC0tY2stc3BhY2luZy1sYXJnZSkgKTtcblxuXHRcdCYgPiAuY2stYnV0dG9uLWZpbmQge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cblx0XHRcdC8qIEJlZWYgdGhlIGZpbmQgYnV0dG9uIHVwIGEgbGl0dGxlLiBJdCdzIHRoZSBtYWluIGFjdGlvbiBidXR0b24gaW4gdGhlIGZvcm0gKi9cblx0XHRcdCYgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmIC5jay1zd2l0Y2hidXR0b24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxufVxuXG5AbWl4aW4gY2stbWVkaWEtcGhvbmUge1xuXHQuY2suY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtIHtcblx0XHR3aWR0aDogMzAwcHg7XG5cblx0XHQvKiBEb24ndCBsZXQgdGhlIGZvcm0gb3ZlcmZsb3cgZnJvbSB0aGUgZGlhbG9nIChodHRwczovL2dpdGh1Yi5jb20vY2tzb3VyY2UvY2tlZGl0b3I1LWNvbW1lcmNpYWwvaXNzdWVzLzU5MTMpICovXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXG5cdFx0LyogU3R5bGVzIHNwZWNpZmljIGZvciBpbnB1dHMgYXJlYS4gKi9cblx0XHQmLmNrLWZpbmQtYW5kLXJlcGxhY2UtZm9ybV9faW5wdXQge1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXG5cdFx0XHQmIC5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdFx0XHRmbGV4OiAxIDAgYXV0bztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdFx0fVxuXG5cdFx0XHQmID4gLmNrLWJ1dHRvbiB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdGZsZXg6IDEgMSBhdXRvO1xuXG5cdFx0XHRcdFx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LyogU3R5bGVzIHNwZWNpZmljIGZvciBhY3Rpb25zIGFyZWEuICovXG5cdFx0Ji5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2FjdGlvbnMgPiA6bm90KC5jay1sYWJlbGVkLWZpZWxkLXZpZXcpIHtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGZsZXg6IDEgMSBhdXRvO1xuXG5cdFx0XHQmID4gLmNrLWJ1dHRvbiB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdGZsZXg6IDEgMSBhdXRvO1xuXG5cdFx0XHRcdFx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyogUmVzaXplIGRyb3Bkb3duJ3MgYnV0dG9uIGxhYmVsLiAqL1xuLmNrLmNrLWRyb3Bkb3duLmNrLWhlYWRpbmctZHJvcGRvd24ge1xuXHQmIC5jay1kcm9wZG93bl9fYnV0dG9uIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHR3aWR0aDogOGVtO1xuXHR9XG5cblx0JiAuY2stZHJvcGRvd25fX3BhbmVsIC5jay1saXN0X19pdGVtIHtcblx0XHRtaW4td2lkdGg6IDE4ZW07XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBOb3RlOiBUaGlzIGZpbGUgc2hvdWxkIGNvbnRhaW4gdGhlIHdpcmVmcmFtZSBzdHlsZXMgb25seS4gQnV0IHNpbmNlIHRoZXJlIGFyZSBubyBzdWNoIHN0eWxlcyxcbiAqIGl0IGFjdHMgYXMgYSBtZXNzYWdlIHRvIHRoZSBidWlsZGVyIHRlbGxpbmcgdGhhdCBpdCBzaG91bGQgbG9vayBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc3R5bGVzXG4gKiAqKmluIHRoZSB0aGVtZSoqIHdoZW4gY29tcGlsaW5nIHRoZSBlZGl0b3IuXG4gKi9cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1odG1sLWVtYmVkLWNvbnRlbnQtd2lkdGg6IGNhbGMoMTAwJSAtIDEuNSAqIHZhcigtLWNrLWljb24tc2l6ZSkpO1xuXHQtLWNrLWh0bWwtZW1iZWQtc291cmNlLWhlaWdodDogMTBlbTtcblx0LS1jay1odG1sLWVtYmVkLXVuZm9jdXNlZC1vdXRsaW5lLXdpZHRoOiAxcHg7XG5cdC0tY2staHRtbC1lbWJlZC1jb250ZW50LW1pbi1oZWlnaHQ6IGNhbGModmFyKC0tY2staWNvbi1zaXplKSArIHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpKTtcblxuXHQtLWNrLWh0bWwtZW1iZWQtc291cmNlLWRpc2FibGVkLWJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJhc2UtZm9yZWdyb3VuZCk7XG5cdC0tY2staHRtbC1lbWJlZC1zb3VyY2UtZGlzYWJsZWQtY29sb3I6IGhzbCgwZGVnIDAlIDQ1JSk7XG59XG5cbi8qIFRoZSBmZWF0dXJlIGNvbnRhaW5lci4gKi9cbi5jay13aWRnZXQucmF3LWh0bWwtZW1iZWQge1xuXHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS1iYXNlKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1mb3JlZ3JvdW5kKTtcblxuXHQmOm5vdCguY2std2lkZ2V0X3NlbGVjdGVkKTpub3QoOmhvdmVyKSB7XG5cdFx0b3V0bGluZTogdmFyKC0tY2staHRtbC1lbWJlZC11bmZvY3VzZWQtb3V0bGluZS13aWR0aCkgZGFzaGVkIHZhcigtLWNrLWNvbG9yLXdpZGdldC1ibHVycmVkLWJvcmRlcik7XG5cdH1cblxuXHQvKiBIVE1MIGVtYmVkIHdpZGdldCBpdHNlbGYgc2hvdWxkIHJlc3BlY3QgVUkgbGFuZ3VhZ2UgZGlyZWN0aW9uICovXG5cdCZbZGlyPVwibHRyXCJdIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblx0JltkaXI9XCJydGxcIl0ge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG5cblx0LyogLS0tLS0gRW1iZWQgbGFiZWwgaW4gdGhlIHVwcGVyIGxlZnQgY29ybmVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiBhdHRyKGRhdGEtaHRtbC1lbWJlZC1sYWJlbCk7XG5cdFx0dG9wOiBjYWxjKC0xICogdmFyKC0tY2staHRtbC1lbWJlZC11bmZvY3VzZWQtb3V0bGluZS13aWR0aCkpO1xuXHRcdGxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdGJhY2tncm91bmQ6IGhzbCgwZGVnIDAlIDYwJSk7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1jdXJ2ZSk7XG5cdFx0cGFkZGluZzogY2FsYyh2YXIoLS1jay1zcGFjaW5nLXRpbnkpICsgdmFyKC0tY2staHRtbC1lbWJlZC11bmZvY3VzZWQtb3V0bGluZS13aWR0aCkpIHZhcigtLWNrLXNwYWNpbmctc21hbGwpIHZhcigtLWNrLXNwYWNpbmctdGlueSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogMCAwIHZhcigtLWNrLWJvcmRlci1yYWRpdXMpIHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tY2stZm9udC1zaXplLXRpbnkpO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1jay1mb250LWZhY2UpO1xuXHR9XG5cblx0JltkaXI9XCJydGxcIl06OmJlZm9yZSB7XG5cdFx0bGVmdDogYXV0bztcblx0XHRyaWdodDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdH1cblxuXHQvKiBNYWtlIHNwYWNlIGZvciBsYWJlbCBidXQgaXQgb25seSBjb2xsaWRlcyBpbiBMVFIgbGFuZ3VhZ2VzICovXG5cdCZbZGlyPVwibHRyXCJdIC5jay13aWRnZXRfX3R5cGUtYXJvdW5kIC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24uY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uX2JlZm9yZSB7XG5cdFx0bWFyZ2luLWxlZnQ6IDUwcHg7XG5cdH1cblxuXHQuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1ibHVycmVkICYuY2std2lkZ2V0X3NlbGVjdGVkOjpiZWZvcmUge1xuXHRcdHRvcDogMHB4O1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctdGlueSkgdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cblxuXHQuY2suY2stZWRpdG9yX19lZGl0YWJsZTpub3QoLmNrLWJsdXJyZWQpICYuY2std2lkZ2V0X3NlbGVjdGVkOjpiZWZvcmUge1xuXHRcdHRvcDogMDtcblx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXRpbnkpIHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcik7XG5cdH1cblxuXHQuY2suY2stZWRpdG9yX19lZGl0YWJsZSAmOm5vdCguY2std2lkZ2V0X3NlbGVjdGVkKTpob3Zlcjo6YmVmb3JlIHtcblx0XHR0b3A6IDBweDtcblx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXRpbnkpIHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHR9XG5cblx0LyogLS0tLS0gRW1lYmVkIGludGVybmFscyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQmIC5yYXctaHRtbC1lbWJlZF9fY29udGVudC13cmFwcGVyIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0fVxuXG5cdC8qIFRoZSBzd2l0Y2ggbW9kZSBidXR0b24gd3JhcHBlci4gKi9cblx0JiAucmF3LWh0bWwtZW1iZWRfX2J1dHRvbnMtd3JhcHBlciB7XG5cdFx0dG9wOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHRyaWdodDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0XHQmIC5jay1idXR0b24ucmF3LWh0bWwtZW1iZWRfX3NhdmUtYnV0dG9uIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1idXR0b24tc2F2ZSk7XG5cdFx0fVxuXG5cdFx0JiAuY2stYnV0dG9uLnJhdy1odG1sLWVtYmVkX19jYW5jZWwtYnV0dG9uIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1idXR0b24tY2FuY2VsKTtcblx0XHR9XG5cblx0XHQmIC5jay1idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0fVxuXHR9XG5cblx0JltkaXI9XCJydGxcIl0gLnJhdy1odG1sLWVtYmVkX19idXR0b25zLXdyYXBwZXIge1xuXHRcdGxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHR9XG5cblx0LyogVGhlIGVkaXQgc291cmNlIGVsZW1lbnQuICovXG5cdCYgLnJhdy1odG1sLWVtYmVkX19zb3VyY2Uge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0aGVpZ2h0OiB2YXIoLS1jay1odG1sLWVtYmVkLXNvdXJjZS1oZWlnaHQpO1xuXHRcdHdpZHRoOiB2YXIoLS1jay1odG1sLWVtYmVkLWNvbnRlbnQtd2lkdGgpO1xuXHRcdHJlc2l6ZTogbm9uZTtcblx0XHRtaW4td2lkdGg6IDA7XG5cdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0XHRmb250LWZhbWlseTogbW9ub3NwYWNlO1xuXHRcdHRhYi1zaXplOiA0O1xuXHRcdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcblx0XHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS1iYXNlKTsgLyogU2FmYXJpIG5lZWRzIHRoaXMuICovXG5cblx0XHQvKiBIVE1MIGNvZGUgaXMgZGlyZWN0aW9u4oCTYWdub3N0aWMuICovXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRkaXJlY3Rpb246IGx0cjtcblxuXHRcdCZbZGlzYWJsZWRdIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWh0bWwtZW1iZWQtc291cmNlLWRpc2FibGVkLWJhY2tncm91bmQpO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNrLWh0bWwtZW1iZWQtc291cmNlLWRpc2FibGVkLWNvbG9yKTtcblxuXHRcdFx0LyogU2FmYXJpIG5lZWRzIHRoaXMgZm9yIHRoZSBwcm9wZXIgdGV4dCBjb2xvciBpbiBkaXNhYmxlZCBpbnB1dCAoaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvODMyMCkuICovXG5cdFx0XHQtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tY2staHRtbC1lbWJlZC1zb3VyY2UtZGlzYWJsZWQtY29sb3IpO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdH1cblxuXHQvKiBUaGUgcHJldmlldyBkYXRhIGNvbnRhaW5lci4gKi9cblx0JiAucmF3LWh0bWwtZW1iZWRfX3ByZXZpZXcge1xuXHRcdG1pbi1oZWlnaHQ6IHZhcigtLWNrLWh0bWwtZW1iZWQtY29udGVudC1taW4taGVpZ2h0KTtcblx0XHR3aWR0aDogdmFyKC0tY2staHRtbC1lbWJlZC1jb250ZW50LXdpZHRoKTtcblxuXHRcdC8qIERpc2FibGUgYWxsIG1vdXNlIGludGVyYWN0aW9uIGFzIGxvbmcgYXMgdGhlIGVkaXRvciBpcyBub3QgcmVhZOKAk29ubHkuICovXG5cdFx0LmNrLWVkaXRvcl9fZWRpdGFibGU6bm90KC5jay1yZWFkLW9ubHkpICYge1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0JiAucmF3LWh0bWwtZW1iZWRfX3ByZXZpZXctY29udGVudCB7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQpO1xuXG5cdFx0JiA+ICoge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0fVxuXHR9XG5cblx0JiAucmF3LWh0bWwtZW1iZWRfX3ByZXZpZXctcGxhY2Vob2xkZXIge1xuXHRcdGNvbG9yOiB2YXIoLS1jay1odG1sLWVtYmVkLXNvdXJjZS1kaXNhYmxlZC1jb2xvcilcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvbWl4aW5zL19kaXIuY3NzXCI7XG5cbjpyb290IHtcblx0LS1jay1pbWFnZS1pbnNlcnQtaW5zZXJ0LWJ5LXVybC13aWR0aDogMjUwcHg7XG59XG5cbi5jay5jay1pbWFnZS1pbnNlcnQtdXJsIHtcblx0LS1jay1pbnB1dC13aWR0aDogMTAwJTtcblxuXHQmIC5jay1pbWFnZS1pbnNlcnQtdXJsX19hY3Rpb24tcm93IHtcblx0XHRncmlkLWNvbHVtbi1nYXA6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXG5cdFx0JiAuY2stYnV0dG9uLXNhdmUsXG5cdFx0JiAuY2stYnV0dG9uLWNhbmNlbCB7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdG1pbi13aWR0aDogYXV0bztcblx0XHR9XG5cblx0XHQmIC5jay1idXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLXRleHQpO1xuXHRcdH1cblx0fVxufVxuXG4uY2suY2staW1hZ2UtaW5zZXJ0LWZvcm0ge1xuXHQmID4gLmNrLmNrLWJ1dHRvbiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblxuXHRcdEBtaXhpbiBjay1kaXIgcnRsIHtcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdH1cblx0fVxuXG5cdCYgPiAuY2suY2stY29sbGFwc2libGUge1xuXHRcdCY6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHR9XG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHR9XG5cblx0XHRtaW4td2lkdGg6IHZhcigtLWNrLWltYWdlLWluc2VydC1pbnNlcnQtYnktdXJsLXdpZHRoKTtcblx0fVxuXG5cdC8qIFRoaXMgaXMgdGhlIGNhc2Ugd2hlbiB0aGVyZSBhcmUgbm8gb3RoZXIgaW50ZWdyYXRpb25zIGNvbmZpZ3VyZWQgdGhhbiBpbnNlcnQgYnkgVVJMICovXG5cdCYgPiAuY2suY2staW1hZ2UtaW5zZXJ0LXVybCB7XG5cdFx0bWluLXdpZHRoOiB2YXIoLS1jay1pbWFnZS1pbnNlcnQtaW5zZXJ0LWJ5LXVybC13aWR0aCk7XG5cdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLWltYWdlLXVwbG9hZC1pY29uOiBoc2woMCwgMCUsIDEwMCUpO1xuXHQtLWNrLWNvbG9yLWltYWdlLXVwbG9hZC1pY29uLWJhY2tncm91bmQ6IGhzbCgxMjAsIDEwMCUsIDI3JSk7XG5cblx0LyogTWF0Y2ggdGhlIGljb24gc2l6ZSB3aXRoIHRoZSBsaW5rZWQgaW1hZ2UgaW5kaWNhdG9yIGJyb3VnaHQgYnkgdGhlIGxpbmsgaW1hZ2UgZmVhdHVyZS4gKi9cblx0LS1jay1pbWFnZS11cGxvYWQtaWNvbi1zaXplOiAyMDtcblx0LS1jay1pbWFnZS11cGxvYWQtaWNvbi13aWR0aDogMnB4O1xuXHQtLWNrLWltYWdlLXVwbG9hZC1pY29uLWlzLXZpc2libGU6IGNsYW1wKDBweCwgMTAwJSAtIDUwcHgsIDFweCk7XG59XG5cbi5jay1pbWFnZS11cGxvYWQtY29tcGxldGUtaWNvbiB7XG5cdG9wYWNpdHk6IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWltYWdlLXVwbG9hZC1pY29uLWJhY2tncm91bmQpO1xuXHRhbmltYXRpb24tbmFtZTogY2stdXBsb2FkLWNvbXBsZXRlLWljb24tc2hvdywgY2stdXBsb2FkLWNvbXBsZXRlLWljb24taGlkZTtcblx0YW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHMsIGZvcndhcmRzO1xuXHRhbmltYXRpb24tZHVyYXRpb246IDUwMG1zLCA1MDBtcztcblxuXHQvKiBUbyBtYWtlIGFuaW1hdGlvbiBzY2FsYWJsZS4gKi9cblx0Zm9udC1zaXplOiBjYWxjKDFweCAqIHZhcigtLWNrLWltYWdlLXVwbG9hZC1pY29uLXNpemUpKTtcblxuXHQvKiBIaWRlIGNvbXBsZXRlZCB1cGxvYWQgaWNvbiBhZnRlciAzIHNlY29uZHMuICovXG5cdGFuaW1hdGlvbi1kZWxheTogMG1zLCAzMDAwbXM7XG5cblx0Lypcblx0ICogVXNlIENTUyBtYXRoIHRvIHNpbXVsYXRlIGNvbnRhaW5lciBxdWVyaWVzLlxuXHQgKiBodHRwczovL2Nzcy10cmlja3MuY29tL3RoZS1yYXZlbi10ZWNobmlxdWUtb25lLXN0ZXAtY2xvc2VyLXRvLWNvbnRhaW5lci1xdWVyaWVzLyN3aGF0LWFib3V0LXNob3dpbmctYW5kLWhpZGluZy10aGluZ3Ncblx0ICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHdpZHRoOiBjYWxjKHZhcigtLWNrLWltYWdlLXVwbG9hZC1pY29uLWlzLXZpc2libGUpICogdmFyKC0tY2staW1hZ2UtdXBsb2FkLWljb24tc2l6ZSkpO1xuXHRoZWlnaHQ6IGNhbGModmFyKC0tY2staW1hZ2UtdXBsb2FkLWljb24taXMtdmlzaWJsZSkgKiB2YXIoLS1jay1pbWFnZS11cGxvYWQtaWNvbi1zaXplKSk7XG5cblx0LyogVGhpcyBpcyBjaGVjayBpY29uIGVsZW1lbnQgbWFkZSBmcm9tIGJvcmRlci13aWR0aCBtaXhlZCB3aXRoIGFuaW1hdGlvbnMuICovXG5cdCY6OmFmdGVyIHtcblx0XHQvKiBCZWNhdXNlIG9mIGJvcmRlciB0cmFuc2Zvcm1hdGlvbiB3ZSBuZWVkIHRvIFwiaGFyZCBjb2RlXCIgbGVmdCBwb3NpdGlvbi4gKi9cblx0XHRsZWZ0OiAyNSU7XG5cblx0XHR0b3A6IDUwJTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGhlaWdodDogMDtcblx0XHR3aWR0aDogMDtcblxuXHRcdHRyYW5zZm9ybTogc2NhbGVYKC0xKSByb3RhdGUoMTM1ZGVnKTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcblx0XHRib3JkZXItdG9wOiB2YXIoLS1jay1pbWFnZS11cGxvYWQtaWNvbi13aWR0aCkgc29saWQgdmFyKC0tY2stY29sb3ItaW1hZ2UtdXBsb2FkLWljb24pO1xuXHRcdGJvcmRlci1yaWdodDogdmFyKC0tY2staW1hZ2UtdXBsb2FkLWljb24td2lkdGgpIHNvbGlkIHZhcigtLWNrLWNvbG9yLWltYWdlLXVwbG9hZC1pY29uKTtcblxuXHRcdGFuaW1hdGlvbi1uYW1lOiBjay11cGxvYWQtY29tcGxldGUtaWNvbi1jaGVjaztcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDUwMG1zO1xuXHRcdGFuaW1hdGlvbi1kZWxheTogNTAwbXM7XG5cdFx0YW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG5cblx0XHQvKiAjMTA5NS4gV2hpbGUgcmVzZXQgaXMgbm90IHByb3ZpZGluZyBwcm9wZXIgYm94LXNpemluZyBmb3IgcHNldWRvZWxlbWVudHMsIHdlIG5lZWQgdG8gaGFuZGxlIGl0LiAqL1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblxuXHRAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMG1zO1xuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0YW5pbWF0aW9uOiBub25lO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHdpZHRoOiAwLjNlbTtcblx0XHRcdGhlaWdodDogMC40NWVtO1xuXHRcdH1cblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGNrLXVwbG9hZC1jb21wbGV0ZS1pY29uLXNob3cge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBjay11cGxvYWQtY29tcGxldGUtaWNvbi1oaWRlIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgY2stdXBsb2FkLWNvbXBsZXRlLWljb24tY2hlY2sge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR3aWR0aDogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdH1cblx0MzMlIHtcblx0XHR3aWR0aDogMC4zZW07XG5cdFx0aGVpZ2h0OiAwO1xuXHR9XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0d2lkdGg6IDAuM2VtO1xuXHRcdGhlaWdodDogMC40NWVtO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stY29sb3ItdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlcjogaHNsKDAsIDAlLCA3MCUpO1xuXHQtLWNrLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXItc2l6ZTogMzJweDtcblx0LS1jay11cGxvYWQtcGxhY2Vob2xkZXItaW1hZ2UtYXNwZWN0LXJhdGlvOiAyLjg7XG59XG5cbi5jayAuY2staW1hZ2UtdXBsb2FkLXBsYWNlaG9sZGVyIHtcblx0LyogV2UgbmVlZCB0byBjb250cm9sIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBTVkcgZ3JheSBiYWNrZ3JvdW5kLiAqL1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luOiAwO1xuXG5cdCYuaW1hZ2UtaW5saW5lIHtcblx0XHR3aWR0aDogY2FsYyggMiAqIHZhcigtLWNrLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXItc2l6ZSkgKiB2YXIoLS1jay11cGxvYWQtcGxhY2Vob2xkZXItaW1hZ2UtYXNwZWN0LXJhdGlvKSApO1xuXHR9XG5cblx0JiBpbWcge1xuXHRcdC8qXG5cdFx0ICogVGhpcyBpcyBhbiBhcmJpdHJhcnkgYXNwZWN0IGZvciBhIDF4MSBweCBHSUYgdG8gZGlzcGxheSB0byB0aGUgdXNlci4gTm90IHRvbyB0YWxsLCBub3QgdG9vIHNob3J0LlxuXHRcdCAqIFRoZXJlJ3Mgbm90aGluZyBzcGVjaWFsIGFib3V0IHRoaXMgbnVtYmVyIGV4Y2VwdCB0aGF0IGl0IHNob3VsZCBtYWtlIHRoZSBpbWFnZSBwbGFjZWhvbGRlciBsb29rIGxpa2Vcblx0XHQgKiBhIHJlYWwgaW1hZ2UgZHVyaW5nIHRoaXMgc2hvcnQgcGVyaW9kIGFmdGVyIHRoZSB1cGxvYWQgc3RhcnRlZCBhbmQgYmVmb3JlIHRoZSBpbWFnZSB3YXMgcmVhZCBmcm9tIHRoZVxuXHRcdCAqIGZpbGUgc3lzdGVtIChhbmQgYSByaWNoIHByZXZpZXcgd2FzIGxvYWRlZCkuXG5cdFx0ICovXG5cdFx0YXNwZWN0LXJhdGlvOiB2YXIoLS1jay11cGxvYWQtcGxhY2Vob2xkZXItaW1hZ2UtYXNwZWN0LXJhdGlvKTtcblx0fVxufVxuXG4uY2sgLmNrLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXIge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0d2lkdGg6IHZhcigtLWNrLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXItc2l6ZSk7XG5cdFx0aGVpZ2h0OiB2YXIoLS1jay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyLXNpemUpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRib3JkZXItdG9wOiAzcHggc29saWQgdmFyKC0tY2stY29sb3ItdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlcik7XG5cdFx0Ym9yZGVyLXJpZ2h0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0YW5pbWF0aW9uOiBjay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyIDFzIGxpbmVhciBpbmZpbml0ZTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGNrLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXIge1xuXHR0byB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoIDM2MGRlZyApO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSB7XG5cdCYgLmltYWdlLFxuXHQmIC5pbWFnZS1pbmxpbmUge1xuXHRcdC8qIFNob3dpbmcgYW5pbWF0aW9uLiAqL1xuXHRcdCYuY2stYXBwZWFyIHtcblx0XHRcdGFuaW1hdGlvbjogZmFkZUluIDcwMG1zO1xuXG5cdFx0XHRAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRhbmltYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyogVXBsb2FkIHByb2dyZXNzIGJhci4gKi9cblx0JiAuaW1hZ2UgLmNrLXByb2dyZXNzLWJhcixcblx0JiAuaW1hZ2UtaW5saW5lIC5jay1wcm9ncmVzcy1iYXIge1xuXHRcdGhlaWdodDogMnB4O1xuXHRcdHdpZHRoOiAwO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXVwbG9hZC1iYXItYmFja2dyb3VuZCk7XG5cdFx0dHJhbnNpdGlvbjogd2lkdGggMTAwbXM7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuXHRmcm9tIHsgb3BhY2l0eTogMDsgfVxuXHR0byAgIHsgb3BhY2l0eTogMTsgfVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyogQ2xhc3MgYWRkZWQgdG8gc3BhbiBlbGVtZW50IHN1cnJvdW5kaW5nIGN1cnJlbnRseSBzZWxlY3RlZCBsaW5rLiAqL1xuLmNrIC5jay1saW5rX3NlbGVjdGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGluay1zZWxlY3RlZC1iYWNrZ3JvdW5kKTtcblxuXHQvKiBHaXZlIGxpbmtlZCBpbmxpbmUgaW1hZ2VzIHNvbWUgb3V0bGluZSB0byBsZXQgdGhlIHVzZXIga25vdyB0aGV5IGFyZSBhbHNvIHBhcnQgb2YgdGhlIGxpbmsuICovXG5cdCYgc3Bhbi5pbWFnZS1pbmxpbmUge1xuXHRcdG91dGxpbmU6IHZhcigtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzcykgc29saWQgdmFyKC0tY2stY29sb3ItbGluay1zZWxlY3RlZC1iYWNrZ3JvdW5kKTtcblx0fVxufVxuXG4vKlxuICogQ2xhc3NlcyB1c2VkIGJ5IHRoZSBcImZha2UgdmlzdWFsIHNlbGVjdGlvblwiIGRpc3BsYXllZCBpbiB0aGUgY29udGVudCB3aGVuIGFuIGlucHV0XG4gKiBpbiB0aGUgbGluayBVSSBoYXMgZm9jdXMgKHRoZSBicm93c2VyIGRvZXMgbm90IHJlbmRlciB0aGUgbmF0aXZlIHNlbGVjdGlvbiBpbiB0aGlzIHN0YXRlKS5cbiAqL1xuLmNrIC5jay1mYWtlLWxpbmstc2VsZWN0aW9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGluay1mYWtlLXNlbGVjdGlvbik7XG59XG5cbi8qIEEgY29sbGFwc2VkIGZha2UgdmlzdWFsIHNlbGVjdGlvbi4gKi9cbi5jayAuY2stZmFrZS1saW5rLXNlbGVjdGlvbl9jb2xsYXBzZWQge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtdGV4dCk7XG5cdG1hcmdpbi1yaWdodDogLTFweDtcblx0b3V0bGluZTogc29saWQgMXB4IGhzbGEoMCwgMCUsIDEwMCUsIC41KTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fdW5zZWxlY3RhYmxlLmNzc1wiO1xuQGltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvbWl4aW5zL19kaXIuY3NzXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zL19mb2N1cy5jc3NcIjtcbkBpbXBvcnQgXCIuLi9taXhpbnMvX3NoYWRvdy5jc3NcIjtcbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fcndkLmNzc1wiO1xuXG4uY2suY2stbGluay1hY3Rpb25zIHtcblx0JiAuY2stYnV0dG9uLmNrLWxpbmstYWN0aW9uc19fcHJldmlldyB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cblx0XHQmIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdHBhZGRpbmc6IDAgdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWxpbmstZGVmYXVsdCk7XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0LyogTWF0Y2ggdGhlIGJveCBtb2RlbCBvZiB0aGUgbGluayBlZGl0b3IgZm9ybSdzIGlucHV0IHNvIHRoZSBiYWxsb29uXG5cdFx0XHRkb2VzIG5vdCBjaGFuZ2Ugd2lkdGggd2hlbiBtb3ZpbmcgYmV0d2VlbiBhY3Rpb25zIGFuZCB0aGUgZm9ybS4gKi9cblx0XHRcdG1heC13aWR0aDogdmFyKC0tY2staW5wdXQtd2lkdGgpO1xuXHRcdFx0bWluLXdpZHRoOiAzZW07XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLFxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdH1cblxuXHRcdCY6YWN0aXZlIHtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHQmIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdCYgLmNrLWJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0fVxuXHR9XG5cblx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdCYgLmNrLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHR9XG5cdH1cblxuXHRAbWl4aW4gY2stbWVkaWEtcGhvbmUge1xuXHRcdCYgLmNrLWJ1dHRvbi5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcge1xuXHRcdFx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSAwO1xuXG5cdFx0XHQmIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JiAuY2stYnV0dG9uOm5vdCguY2stbGluay1hY3Rpb25zX19wcmV2aWV3KSB7XG5cdFx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHRAbWl4aW4gY2stZGlyIHJ0bCB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBNYWtlcyBlbGVtZW50IHVuc2VsZWN0YWJsZS5cbiAqL1xuQGRlZmluZS1taXhpbiBjay11bnNlbGVjdGFibGUge1xuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdHVzZXItc2VsZWN0OiBub25lXG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX2Rpci5jc3NcIjtcblxuLypcbiAqIFN0eWxlIGxpbmsgZm9ybSBkaWZmZXJlbnRseSB3aGVuIG1hbnVhbCBkZWNvcmF0b3JzIGFyZSBhdmFpbGFibGUuXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbGluay9pc3N1ZXMvMTg2LlxuICovXG4uY2suY2stbGluay1mb3JtX2xheW91dC12ZXJ0aWNhbCB7XG5cdHBhZGRpbmc6IDA7XG5cdG1pbi13aWR0aDogdmFyKC0tY2staW5wdXQtd2lkdGgpO1xuXG5cdCYgLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblxuXHRcdCYgLmNrLWlucHV0LXRleHQge1xuXHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0JiA+IC5jay1idXR0b24ge1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdG1hcmdpbjogMDtcblx0XHR3aWR0aDogNTAlO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cblx0XHQmOm5vdCg6Zm9jdXMpIHtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdFx0fVxuXG5cdFx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0fVxuXG5cdFx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qIFVzaW5nIGFkZGl0aW9uYWwgYC5ja2AgY2xhc3MgZm9yIHN0cm9uZ2VyIENTUyBzcGVjaWZpY2l0eSB0aGFuIGAuY2suY2stbGluay1mb3JtID4gOm5vdCg6Zmlyc3QtY2hpbGQpYC4gKi9cblx0JiAuY2suY2stbGlzdCB7XG5cdFx0bWFyZ2luOiAwIHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXG5cdFx0JiAuY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQvKiBNYXRjaCB0aGUgaWNvbiBzaXplIHdpdGggdGhlIHVwbG9hZCBpbmRpY2F0b3IgYnJvdWdodCBieSB0aGUgaW1hZ2UgdXBsb2FkIGZlYXR1cmUuICovXG5cdC0tY2stbGluay1pbWFnZS1pbmRpY2F0b3ItaWNvbi1zaXplOiAyMDtcblx0LS1jay1saW5rLWltYWdlLWluZGljYXRvci1pY29uLWlzLXZpc2libGU6IGNsYW1wKDBweCwgMTAwJSAtIDUwcHgsIDFweCk7XG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIHtcblx0LyogTGlua2VkIGltYWdlIGluZGljYXRvciAqL1xuXHQmIGZpZ3VyZS5pbWFnZSA+IGEsXG5cdCYgYSBzcGFuLmltYWdlLWlubGluZSB7XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblxuXHRcdFx0Lypcblx0XHRcdCAqIFNtYWxsZXIgaW1hZ2VzIHNob3VsZCBoYXZlIHRoZSBpY29uIGNsb3NlciB0byB0aGUgYm9yZGVyLlxuXHRcdFx0ICogTWF0Y2ggdGhlIGljb24gcG9zaXRpb24gd2l0aCB0aGUgdXBsb2FkIGluZGljYXRvciBicm91Z2h0IGJ5IHRoZSBpbWFnZSB1cGxvYWQgZmVhdHVyZS5cblx0XHRcdCAqL1xuXHRcdFx0dG9wOiBtaW4odmFyKC0tY2stc3BhY2luZy1tZWRpdW0pLCA2JSk7XG5cdFx0XHRyaWdodDogbWluKHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKSwgNiUpO1xuXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsIDAlLCAwJSwgLjQpO1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCMmFXVjNRbTk0UFNJd0lEQWdNakFnTWpBaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGliVEV4TGpBM055QXhOU0F1T1RreExURXVOREUyWVM0M05TNDNOU0F3SURFZ01TQXhMakl5T1M0NE5td3RNUzR4TkRnZ01TNDJOR0V1TnpRNExqYzBPQ0F3SURBZ01TMHVNakUzTGpJd05pQTFMakkxTVNBMUxqSTFNU0F3SURBZ01TMDRMalV3TXkwMUxqazFOUzQzTkRFdU56UXhJREFnTUNBeElDNHhNaTB1TWpjMGJERXVNVFEzTFRFdU5qTTVZUzQzTlM0M05TQXdJREVnTVNBeExqSXlPQzQ0Tmt3MExqa3pNeUF4TUM0M2JDNHdNRFl1TURBellUTXVOelVnTXk0M05TQXdJREFnTUNBMkxqRXpNaUEwTGpJNU5Hd3VNREEyTGpBd05IcHROUzQwT1RRdE5TNHpNelZoTGpjME9DNDNORGdnTUNBd0lERXRMakV5TGpJM05Hd3RNUzR4TkRjZ01TNDJNemxoTGpjMUxqYzFJREFnTVNBeExURXVNakk0TFM0NE5td3VPRFl0TVM0eU0yRXpMamMxSURNdU56VWdNQ0F3SURBdE5pNHhORFF0TkM0ek1ERnNMUzQ0TmlBeExqSXlPV0V1TnpVdU56VWdNQ0F3SURFdE1TNHlNamt0TGpnMmJERXVNVFE0TFRFdU5qUmhMamMwT0M0M05EZ2dNQ0F3SURFZ0xqSXhOeTB1TWpBMklEVXVNalV4SURVdU1qVXhJREFnTUNBeElEZ3VOVEF6SURVdU9UVTFlbTB0TkM0MU5qTXRNaTQxTXpKaExqYzFMamMxSURBZ01DQXhJQzR4T0RRZ01TNHdORFZzTFRNdU1UVTFJRFF1TlRBMVlTNDNOUzQzTlNBd0lERWdNUzB4TGpJeU9TMHVPRFpzTXk0eE5UVXROQzQxTURaaExqYzFMamMxSURBZ01DQXhJREV1TURRMUxTNHhPRFI2SWk4K1BDOXpkbWMrXCIpO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAxNHB4O1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cblx0XHRcdC8qXG5cdFx0XHQqIFVzZSBDU1MgbWF0aCB0byBzaW11bGF0ZSBjb250YWluZXIgcXVlcmllcy5cblx0XHRcdCogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS90aGUtcmF2ZW4tdGVjaG5pcXVlLW9uZS1zdGVwLWNsb3Nlci10by1jb250YWluZXItcXVlcmllcy8jd2hhdC1hYm91dC1zaG93aW5nLWFuZC1oaWRpbmctdGhpbmdzXG5cdFx0XHQqL1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHdpZHRoOiBjYWxjKHZhcigtLWNrLWxpbmstaW1hZ2UtaW5kaWNhdG9yLWljb24taXMtdmlzaWJsZSkgKiB2YXIoLS1jay1saW5rLWltYWdlLWluZGljYXRvci1pY29uLXNpemUpKTtcblx0XHRcdGhlaWdodDogY2FsYyh2YXIoLS1jay1saW5rLWltYWdlLWluZGljYXRvci1pY29uLWlzLXZpc2libGUpICogdmFyKC0tY2stbGluay1pbWFnZS1pbmRpY2F0b3ItaWNvbi1zaXplKSk7XG5cdFx0fVxuXHR9XG59XG5cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1saXN0LXByb3BlcnRpZXMge1xuXHQvKiBXaGVuIHRoZXJlIGFyZSBubyBsaXN0IHN0eWxlcyBhbmQgdGhlcmUgaXMgbm8gY29sbGFwc2libGUuICovXG5cdCYuY2stbGlzdC1wcm9wZXJ0aWVzX3dpdGhvdXQtc3R5bGVzIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblxuXHRcdCYgPiAqIHtcblx0XHRcdG1pbi13aWR0aDogMTRlbTtcblxuXHRcdFx0JiArICoge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKlxuXHQgKiBXaGVuIHRoZSBudW1iZXJlZCBsaXN0IHByb3BlcnR5IGZpZWxkcyAoc3RhcnQgYXQsIHJldmVyc2VkKSBzaG91bGQgYmUgZGlzcGxheWVkLFxuXHQgKiBtb3JlIGhvcml6b250YWwgc3BhY2UgaXMgbmVlZGVkLiBSZWNvbmZpZ3VyZSB0aGUgc3R5bGUgZ3JpZCB0byBjcmVhdGUgdGhhdCBzcGFjZS5cblx0ICovXG5cdCYuY2stbGlzdC1wcm9wZXJ0aWVzX3dpdGgtbnVtYmVyZWQtcHJvcGVydGllcyB7XG5cdFx0JiA+IC5jay1saXN0LXN0eWxlcy1saXN0IHtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCA0LCBhdXRvICk7XG5cdFx0fVxuXG5cdFx0LyogV2hlbiBsaXN0IHN0eWxlcyBhcmUgcmVuZGVyZWQgYW5kIHByb3BlcnR5IGZpZWxkcyBhcmUgaW4gYSBjb2xsYXBzaWJsZS4gKi9cblx0XHQmID4gLmNrLWNvbGxhcHNpYmxlIHtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cblx0XHRcdCYgPiAuY2stY29sbGFwc2libGVfX2NoaWxkcmVuIHtcblx0XHRcdFx0JiA+ICoge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRcdFx0JiArICoge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0JiAuY2suY2stbnVtYmVyZWQtbGlzdC1wcm9wZXJ0aWVzX19zdGFydC1pbmRleCAuY2staW5wdXQge1xuXHRcdG1pbi13aWR0aDogYXV0bztcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdCYgLmNrLmNrLW51bWJlcmVkLWxpc3QtcHJvcGVydGllc19fcmV2ZXJzZWQtb3JkZXIge1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS1jay1zcGFjaW5nLXRpbnkpKTtcblxuXHRcdCY6YWN0aXZlLCAmOmhvdmVyIHtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1saXN0LXN0eWxlLWJ1dHRvbi1zaXplOiA0NHB4O1xufVxuXG4uY2suY2stbGlzdC1zdHlsZXMtbGlzdCB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCAzLCBhdXRvICk7XG5cdHJvdy1nYXA6IHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKTtcblx0Y29sdW1uLWdhcDogdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblxuXHQmIC5jay1idXR0b24ge1xuXHRcdC8qIE1ha2UgdGhlIGJ1dHRvbiBsb29rIGxpa2UgYSB0aHVtYm5haWwgKHRoZSBpY29uIFwidGFrZXMgaXQgYWxsXCIpLiAqL1xuXHRcdHdpZHRoOiB2YXIoLS1jay1saXN0LXN0eWxlLWJ1dHRvbi1zaXplKTtcblx0XHRoZWlnaHQ6IHZhcigtLWNrLWxpc3Qtc3R5bGUtYnV0dG9uLXNpemUpO1xuXHRcdHBhZGRpbmc6IDA7XG5cblx0XHQvKlxuXHRcdCAqIEJ1dHRvbnMgYXJlIGFsaWduZWQgYnkgdGhlIGdyaWQgc28gZGlzYWJsZSBkZWZhdWx0IGJ1dHRvbiBtYXJnaW5zIHRvIG5vdCBjb2xsaWRlIHdpdGggdGhlXG5cdFx0ICogZ2FwcyBpbiB0aGUgZ3JpZC5cblx0XHQgKi9cblx0XHRtYXJnaW46IDA7XG5cblx0XHQvKlxuXHRcdCAqIE1ha2Ugc3VyZSB0aGUgYnV0dG9uIGJvcmRlciAod2hpY2ggaXMgZGlzcGxheWVkIG9uIGZvY3VzLCBCVFcpIGRvZXMgbm90IHN0ZWFsIHBpeGVsc1xuXHRcdCAqIGZyb20gdGhlIGJ1dHRvbiBkaW1lbnNpb25zIGFuZCwgYXMgYSByZXN1bHQsIGRlY3JlYXNlIHRoZSBzaXplIG9mIHRoZSBpY29uXG5cdFx0ICogKHdoaWNoIGJlY29tZXMgYmx1cnJ5IGFzIGl0IHNjYWxlcyBkb3duKS5cblx0XHQgKi9cblx0XHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuXHRcdCYgLmNrLWljb24ge1xuXHRcdFx0d2lkdGg6IHZhcigtLWNrLWxpc3Qtc3R5bGUtYnV0dG9uLXNpemUpO1xuXHRcdFx0aGVpZ2h0OiB2YXIoLS1jay1saXN0LXN0eWxlLWJ1dHRvbi1zaXplKTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1tZWRpYS1lbWJlZC1wbGFjZWhvbGRlci1pY29uLXNpemU6IDNlbTtcblxuXHQtLWNrLWNvbG9yLW1lZGlhLWVtYmVkLXBsYWNlaG9sZGVyLXVybC10ZXh0OiBoc2woMCwgMCUsIDQ2JSk7XG5cdC0tY2stY29sb3ItbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItdXJsLXRleHQtaG92ZXI6IHZhcigtLWNrLWNvbG9yLWJhc2UtdGV4dCk7XG59XG5cbi5jay1tZWRpYV9fd3JhcHBlciB7XG5cdG1hcmdpbjogMCBhdXRvO1xuXG5cdCYgLmNrLW1lZGlhX19wbGFjZWhvbGRlciB7XG5cdFx0cGFkZGluZzogY2FsYyggMyAqIHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpICk7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1mb3JlZ3JvdW5kKTtcblxuXHRcdCYgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiB7XG5cdFx0XHRtaW4td2lkdGg6IHZhcigtLWNrLW1lZGlhLWVtYmVkLXBsYWNlaG9sZGVyLWljb24tc2l6ZSk7XG5cdFx0XHRoZWlnaHQ6IHZhcigtLWNrLW1lZGlhLWVtYmVkLXBsYWNlaG9sZGVyLWljb24tc2l6ZSk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cblx0XHRcdCYgLmNrLWljb24ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsX190ZXh0IHtcblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1tZWRpYS1lbWJlZC1wbGFjZWhvbGRlci11cmwtdGV4dCk7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItdXJsLXRleHQtaG92ZXIpO1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZbZGF0YS1vZW1iZWQtdXJsKj1cIm9wZW4uc3BvdGlmeS5jb21cIl0ge1xuXHRcdG1heC13aWR0aDogMzAwcHg7XG5cdFx0bWF4LWhlaWdodDogMzgwcHg7XG5cdH1cblxuXHQmW2RhdGEtb2VtYmVkLXVybCo9XCJnb29nbGUuY29tL21hcHNcIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbixcblx0JltkYXRhLW9lbWJlZC11cmwqPVwiZ29vLmdsL21hcHNcIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbixcblx0JltkYXRhLW9lbWJlZC11cmwqPVwibWFwcy5nb29nbGUuY29tXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX2ljb24sXG5cdCZbZGF0YS1vZW1iZWQtdXJsKj1cIm1hcHMuYXBwLmdvby5nbFwiXSAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TlRBdU16YzRJaUJvWldsbmFIUTlJakkxTkM0eE5qY2lJSFpwWlhkQ2IzZzlJakFnTUNBMk5pNHlORFlnTmpjdU1qUTRJajQ4WnlCMGNtRnVjMlp2Y20wOUluUnlZVzV6YkdGMFpTZ3RNVGN5TGpVek1TQXRNakU0TGpRMU5Ta2djMk5oYkdVb0xqazRNREV5S1NJK1BISmxZM1FnY25rOUlqVXVNak00SWlCeWVEMGlOUzR5TXpnaUlIazlJakl6TVM0ek9Ua2lJSGc5SWpFM05pNHdNekVpSUdobGFXZG9kRDBpTmpBdU1EazVJaUIzYVdSMGFEMGlOakF1TURrNUlpQm1hV3hzUFNJak16UmhOalk0SWlCd1lXbHVkQzF2Y21SbGNqMGliV0Z5YTJWeWN5QnpkSEp2YTJVZ1ptbHNiQ0l2UGp4d1lYUm9JR1E5SWsweU1EWXVORGMzSURJMk1DNDViQzB5T0M0NU9EY2dNamd1T1RnM1lUVXVNakU0SURVdU1qRTRJREFnTUNBd0lETXVOemdnTVM0Mk1XZzBPUzQyTWpGak1TNDJPVFFnTUNBekxqRTVMUzQzT1RnZ05DNHhORFl0TWk0d016ZDZJaUJtYVd4c1BTSWpOV000T0dNMUlpOCtQSEJoZEdnZ1pEMGlUVEl5Tmk0M05ESWdNakl5TGprNE9HTXRPUzR5TmpZZ01DMHhOaTQzTnpjZ055NHhOeTB4Tmk0M056Y2dNVFl1TURFMExqQXdOeUF5TGpjMk1pNDJOak1nTlM0ME56UWdNaTR3T1RNZ055NDROelV1TkRNdU56QXpMamd6SURFdU5EQTRJREV1TVRrZ01pNHhNRGN1TXpNekxqVXdNaTQyTlNBeExqQXdOUzQ1TlNBeExqVXdPQzR6TkRNdU5EYzNMalkzTXk0NU5UY3VPVGc0SURFdU5EUWdNUzR6TVNBeExqYzJPU0F5TGpVZ015NDFNRElnTXk0Mk16Y2dOUzR4TmpndU56a3pJREV1TWpjMUlERXVOamd6SURJdU5qUWdNaTQwTmpZZ015NDVPU0F5TGpNMk15QTBMakE1TkNBMExqQXdOeUE0TGpBNU1pQTBMallnTVRNdU9URTBkaTR3TVRKakxqRTRNaTQwTVRJdU5URTJMalkyTmk0NE56a3VOalkzTGpRd015MHVNREF4TGpjMk9DMHVNekUwTGprekxTNDNPVGt1TmpBekxUVXVOelUySURJdU1qTTRMVGt1TnpJNUlEUXVOVGcxTFRFekxqYzVOQzQzT0RJdE1TNHpOU0F4TGpZM015MHlMamN4TlNBeUxqUTJOUzB6TGprNUlERXVNVE0zTFRFdU5qWTJJREl1TXpJNExUTXVOQ0F6TGpZek9DMDFMakUyT1M0ek1UVXRMalE0TWk0Mk5EVXRMamsyTWk0NU9EZ3RNUzQwTXprdU15MHVOVEF6TGpZeE55MHhMakF3Tmk0NU5TMHhMalV3T0M0ek5Ua3RMamN1TnpZdE1TNDBNRFFnTVM0eE9TMHlMakV3TnlBeExqUXlOaTB5TGpRd01pQXlMVFV1TVRFMElESXVNREEwTFRjdU9EYzFJREF0T0M0NE5EUXROeTQxTVRFdE1UWXVNREUwTFRFMkxqYzNOaTB4Tmk0d01UUjZJaUJtYVd4c1BTSWpaR1EwWWpObElpQndZV2x1ZEMxdmNtUmxjajBpYldGeWEyVnljeUJ6ZEhKdmEyVWdabWxzYkNJdlBqeGxiR3hwY0hObElISjVQU0kxTGpVMk5DSWdjbmc5SWpVdU9ESTRJaUJqZVQwaU1qTTVMakF3TWlJZ1kzZzlJakl5Tmk0M05ESWlJR1pwYkd3OUlpTTRNREprTWpjaUlIQmhhVzUwTFc5eVpHVnlQU0p0WVhKclpYSnpJSE4wY205clpTQm1hV3hzSWk4K1BIQmhkR2dnWkQwaVRURTVNQzR6TURFZ01qTTNMakk0TTJNdE5DNDJOeUF3TFRndU5EVTNJRE11T0RVekxUZ3VORFUzSURndU5qQTJjek11TnpnMklEZ3VOakEzSURndU5EVTNJRGd1TmpBM1l6TXVNRFF6SURBZ05DNDRNRFl0TGprMU9DQTJMak16TnkweUxqVXhOaUF4TGpVekxURXVOVFUzSURJdU1EZzNMVE11T1RFeklESXVNRGczTFRZdU1qa2dNQzB1TXpZeUxTNHdNak10TGpjeU1pMHVNRFkwTFRFdU1EYzVhQzA0TGpJMU4zWXpMakEwTTJnMExqZzFZeTB1TVRrM0xqYzFPUzB1TlRNeElERXVORFV0TVM0d05UZ2dNUzQ1T0RZdExqazBNaTQ1TlRndE1pNHdNamdnTVM0MU5EZ3RNeTQ1TURFZ01TNDFORGd0TWk0NE56WWdNQzAxTGpJd09DMHlMak0zTWkwMUxqSXdPQzAxTGpJNU9TQXdMVEl1T1RJMklESXVNek15TFRVdU1qazVJRFV1TWpBNExUVXVNams1SURFdU16azVJREFnTWk0Mk1UZ3VOREEzSURNdU5UZzBJREV1TWpremJESXVNemd4TFRJdU16aGpNQzB1TURBeUxTNHdNRE10TGpBd05DMHVNREEwTFM0d01EVXRNUzQxT0RndE1TNDFNalF0TXk0Mk1pMHlMakl4TlMwMUxqazFOUzB5TGpJeE5YcHROQzQwTXlBMUxqWTJiQzR3TURNdU1EQTJkaTB1TURBemVpSWdabWxzYkQwaUkyWm1aaUlnY0dGcGJuUXRiM0prWlhJOUltMWhjbXRsY25NZ2MzUnliMnRsSUdacGJHd2lMejQ4Y0dGMGFDQmtQU0pOTWpFMUxqRTROQ0F5TlRFdU9USTViQzAzTGprNElEY3VPVGM1SURJNExqUTNOeUF5T0M0ME56VmpMakk0TnkwdU5qUTVMalEwT1MweExqTTJOaTQwTkRrdE1pNHhNak4yTFRNeExqRTJOV010TGpRMk9TNDJOelV0TGprek5DQXhMak0wT1MweExqTTRNaUF5TGpBd05TMHVOemt5SURFdU1qYzFMVEV1TmpneUlESXVOalF0TWk0ME5qVWdNeTQ1T1MweUxqTTBOeUEwTGpBMk5TMHpMams0TWlBNExqQXpPQzAwTGpVNE5TQXhNeTQzT1RRdExqRTJNaTQwT0RVdExqVXlOeTQzT1RndExqa3pMamM1T1MwdU16WXpMUzR3TURFdExqWTVOeTB1TWpVMUxTNDROemt0TGpZMk4zWXRMakF4TW1NdExqVTVNeTAxTGpneU1pMHlMakl6TnkwNUxqZ3lMVFF1TmkweE15NDVNVFF0TGpjNE15MHhMak0xTFRFdU5qY3pMVEl1TnpFMUxUSXVORFkyTFRNdU9Ua3RNUzR4TXpjdE1TNDJOall0TWk0ek1qY3RNeTQwTFRNdU5qTTNMVFV1TVRZNWJDMHVNREF5TFM0d01ETjZJaUJtYVd4c1BTSWpZek5qTTJNeklpOCtQSEJoZEdnZ1pEMGlUVEl4TWk0NU9ETWdNalE0TGpRNU5Xd3RNell1T1RVeUlETTJMamsxTTNZdU9ERXlZVFV1TWpJM0lEVXVNakkzSURBZ01DQXdJRFV1TWpNNElEVXVNak00YURFdU1ERTFiRE0xTGpZMk5pMHpOUzQyTmpaaE1UTTJMakkzTlNBeE16WXVNamMxSURBZ01DQXdMVEl1TnpZMExUTXVPU0F6Tnk0MU56VWdNemN1TlRjMUlEQWdNQ0F3TFM0NU9Ea3RNUzQwTkdNdExqSTVPUzB1TlRBekxTNDJNVFl0TVM0d01EWXRMamsxTFRFdU5UQTRMUzR3T0RNdExqRTJNaTB1TVRjMkxTNHpNall0TGpJMk5DMHVORGc1ZWlJZ1ptbHNiRDBpSTJaa1pHTTBaaUlnY0dGcGJuUXRiM0prWlhJOUltMWhjbXRsY25NZ2MzUnliMnRsSUdacGJHd2lMejQ4Y0dGMGFDQmtQU0pOTWpFeExqazVPQ0F5TmpFdU1EZ3piQzAyTGpFMU1pQTJMakUxTVNBeU5DNHlOalFnTWpRdU1qWTBhQzQzT0RGaE5TNHlNamNnTlM0eU1qY2dNQ0F3SURBZ05TNHlNemt0TlM0eU16aDJMVEV1TURRMWVpSWdabWxzYkQwaUkyWm1aaUlnY0dGcGJuUXRiM0prWlhJOUltMWhjbXRsY25NZ2MzUnliMnRsSUdacGJHd2lMejQ4TDJjK1BDOXpkbWMrKTtcblx0fVxuXG5cdCZbZGF0YS1vZW1iZWQtdXJsKj1cImZhY2Vib29rLmNvbVwiXSAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIHtcblx0XHRiYWNrZ3JvdW5kOiBoc2woMjIwLCA0NiUsIDQ4JSk7XG5cblx0XHQmIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX2ljb24ge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaVZWUkdMVGdpUHo0OGMzWm5JSGRwWkhSb1BTSXhNREkwY0hnaUlHaGxhV2RvZEQwaU1UQXlOSEI0SWlCMmFXVjNRbTk0UFNJd0lEQWdNVEF5TkNBeE1ESTBJaUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpUGlBZ0lDQWdJQ0FnUEhScGRHeGxQa1pwYkd3Z01Ud3ZkR2wwYkdVK0lDQWdJRHhrWlhOalBrTnlaV0YwWldRZ2QybDBhQ0JUYTJWMFkyZ3VQQzlrWlhOalBpQWdJQ0E4WkdWbWN6NDhMMlJsWm5NK0lDQWdJRHhuSUdsa1BTSlFZV2RsTFRFaUlITjBjbTlyWlQwaWJtOXVaU0lnYzNSeWIydGxMWGRwWkhSb1BTSXhJaUJtYVd4c1BTSnViMjVsSWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaVBpQWdJQ0FnSUNBZ1BHY2dhV1E5SW1aTWIyZHZYMWRvYVhSbElpQm1hV3hzUFNJalJrWkdSa1pGSWo0Z0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5PVFkzTGpRNE5Dd3dJRXcxTmk0MU1UY3NNQ0JETWpVdU16QTBMREFnTUN3eU5TNHpNRFFnTUN3MU5pNDFNVGNnVERBc09UWTNMalE0TXlCRE1DdzVPVGd1TmprMElESTFMakk1Tnl3eE1ESTBJRFUyTGpVeU1pd3hNREkwSUV3MU5EY3NNVEF5TkNCTU5UUTNMRFl5T0NCTU5ERTBMRFl5T0NCTU5ERTBMRFEzTXlCTU5UUTNMRFEzTXlCTU5UUTNMRE0xT1M0d01qa2dRelUwTnl3eU1qWXVOelkzSURZeU55NDNOek1zTVRVMExqYzBOeUEzTkRVdU56VTJMREUxTkM0M05EY2dRemd3TWk0eU5qa3NNVFUwTGpjME55QTROVEF1T0RReUxERTFPQzQ1TlRVZ09EWTFMREUyTUM0NE16WWdURGcyTlN3eU9Ua2dURGM0TXk0ek9EUXNNams1TGpBek55QkROekU1TGpNNU1Td3lPVGt1TURNM0lEY3dOeXd6TWprdU5USTVJRGN3Tnl3ek56UXVNamN6SUV3M01EY3NORGN6SUV3NE5qQXVORGczTERRM015Qk1PRFF3TGpVd01TdzJNamdnVERjd055dzJNamdnVERjd055d3hNREkwSUV3NU5qY3VORGcwTERFd01qUWdRems1T0M0Mk9UY3NNVEF5TkNBeE1ESTBMRGs1T0M0Mk9UY2dNVEF5TkN3NU5qY3VORGcwSUV3eE1ESTBMRFUyTGpVeE5TQkRNVEF5TkN3eU5TNHpNRE1nT1RrNExqWTVOeXd3SURrMk55NDBPRFFzTUNJZ2FXUTlJa1pwYkd3dE1TSStQQzl3WVhSb1BpQWdJQ0FnSUNBZ1BDOW5QaUFnSUNBOEwyYytQQzl6ZG1jKyk7XG5cdFx0fVxuXG5cdFx0JiAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmxfX3RleHQge1xuXHRcdFx0Y29sb3I6IGhzbCgyMjAsIDEwMCUsIDkwJSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogaHNsKDAsIDAlLCAxMDAlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmW2RhdGEtb2VtYmVkLXVybCo9XCJpbnN0YWdyYW0uY29tXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIge1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtMTM1ZGVnLGhzbCgyNDYsIDEwMCUsIDM5JSksaHNsKDMwMiwgMTAwJSwgMzYlKSxoc2woMCwgMTAwJSwgNDglKSk7XG5cblx0XHQmIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX2ljb24ge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaVZWUkdMVGdpUHo0OGMzWm5JSGRwWkhSb1BTSTFNRFJ3ZUNJZ2FHVnBaMmgwUFNJMU1EUndlQ0lnZG1sbGQwSnZlRDBpTUNBd0lEVXdOQ0ExTURRaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SStJQ0FnSUNBZ0lDQThkR2wwYkdVK1oyeDVjR2d0Ykc5bmIxOU5ZWGt5TURFMlBDOTBhWFJzWlQ0Z0lDQWdQR1JsYzJNK1EzSmxZWFJsWkNCM2FYUm9JRk5yWlhSamFDNDhMMlJsYzJNK0lDQWdJRHhrWldaelBpQWdJQ0FnSUNBZ1BIQnZiSGxuYjI0Z2FXUTlJbkJoZEdndE1TSWdjRzlwYm5SelBTSXdJREF1TVRVNUlEVXdNeTQ0TkRFZ01DNHhOVGtnTlRBekxqZzBNU0ExTURNdU9UUWdNQ0ExTURNdU9UUWlQand2Y0c5c2VXZHZiajRnSUNBZ1BDOWtaV1p6UGlBZ0lDQThaeUJwWkQwaVoyeDVjR2d0Ykc5bmIxOU5ZWGt5TURFMklpQnpkSEp2YTJVOUltNXZibVVpSUhOMGNtOXJaUzEzYVdSMGFEMGlNU0lnWm1sc2JEMGlibTl1WlNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lqNGdJQ0FnSUNBZ0lEeG5JR2xrUFNKSGNtOTFjQzB6SWo0Z0lDQWdJQ0FnSUNBZ0lDQThiV0Z6YXlCcFpEMGliV0Z6YXkweUlpQm1hV3hzUFNKM2FHbDBaU0krSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHgxYzJVZ2VHeHBibXM2YUhKbFpqMGlJM0JoZEdndE1TSStQQzkxYzJVK0lDQWdJQ0FnSUNBZ0lDQWdQQzl0WVhOclBpQWdJQ0FnSUNBZ0lDQWdJRHhuSUdsa1BTSkRiR2x3TFRJaVBqd3ZaejRnSUNBZ0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk1qVXhMamt5TVN3d0xqRTFPU0JETVRnekxqVXdNeXd3TGpFMU9TQXhOelF1T1RJMExEQXVORFE1SURFME9DNHdOVFFzTVM0Mk56VWdRekV5TVM0eU5Dd3lMamc1T0NBeE1ESXVPVEkzTERjdU1UVTNJRGcyTGprd015d3hNeTR6T0RVZ1F6Y3dMak16Tnl3eE9TNDRNaklnTlRZdU1qZzRMREk0TGpRek5pQTBNaTR5T0RJc05ESXVORFF4SUVNeU9DNHlOemNzTlRZdU5EUTNJREU1TGpZMk15dzNNQzQwT1RZZ01UTXVNakkyTERnM0xqQTJNaUJETmk0NU9UZ3NNVEF6TGpBNE5pQXlMamN6T1N3eE1qRXVNems1SURFdU5URTJMREUwT0M0eU1UTWdRekF1TWprc01UYzFMakE0TXlBd0xERTRNeTQyTmpJZ01Dd3lOVEl1TURnZ1F6QXNNekl3TGpRNU55QXdMakk1TERNeU9TNHdOellnTVM0MU1UWXNNelUxTGprME5pQkRNaTQzTXprc016Z3lMamMySURZdU9UazRMRFF3TVM0d056TWdNVE11TWpJMkxEUXhOeTR3T1RjZ1F6RTVMalkyTXl3ME16TXVOall6SURJNExqSTNOeXcwTkRjdU56RXlJRFF5TGpJNE1pdzBOakV1TnpFNElFTTFOaTR5T0Rnc05EYzFMamN5TXlBM01DNHpNemNzTkRnMExqTXpOeUE0Tmk0NU1ETXNORGt3TGpjM05TQkRNVEF5TGpreU55dzBPVGN1TURBeUlERXlNUzR5TkN3MU1ERXVNall4SURFME9DNHdOVFFzTlRBeUxqUTROQ0JETVRjMExqa3lOQ3cxTURNdU56RWdNVGd6TGpVd015dzFNRFFnTWpVeExqa3lNU3cxTURRZ1F6TXlNQzR6TXpnc05UQTBJRE15T0M0NU1UY3NOVEF6TGpjeElETTFOUzQzT0Rjc05UQXlMalE0TkNCRE16Z3lMall3TVN3MU1ERXVNall4SURRd01DNDVNVFFzTkRrM0xqQXdNaUEwTVRZdU9UTTRMRFE1TUM0M056VWdRelF6TXk0MU1EUXNORGcwTGpNek55QTBORGN1TlRVekxEUTNOUzQzTWpNZ05EWXhMalUxT1N3ME5qRXVOekU0SUVNME56VXVOVFkwTERRME55NDNNVElnTkRnMExqRTNPQ3cwTXpNdU5qWXpJRFE1TUM0Mk1UWXNOREUzTGpBNU55QkRORGsyTGpnME15dzBNREV1TURjeklEVXdNUzR4TURJc016Z3lMamMySURVd01pNHpNalVzTXpVMUxqazBOaUJETlRBekxqVTFNU3d6TWprdU1EYzJJRFV3TXk0NE5ERXNNekl3TGpRNU55QTFNRE11T0RReExESTFNaTR3T0NCRE5UQXpMamcwTVN3eE9ETXVOall5SURVd015NDFOVEVzTVRjMUxqQTRNeUExTURJdU16STFMREUwT0M0eU1UTWdRelV3TVM0eE1ESXNNVEl4TGpNNU9TQTBPVFl1T0RRekxERXdNeTR3T0RZZ05Ea3dMall4Tml3NE55NHdOaklnUXpRNE5DNHhOemdzTnpBdU5EazJJRFEzTlM0MU5qUXNOVFl1TkRRM0lEUTJNUzQxTlRrc05ESXVORFF4SUVNME5EY3VOVFV6TERJNExqUXpOaUEwTXpNdU5UQTBMREU1TGpneU1pQTBNVFl1T1RNNExERXpMak00TlNCRE5EQXdMamt4TkN3M0xqRTFOeUF6T0RJdU5qQXhMREl1T0RrNElETTFOUzQzT0Rjc01TNDJOelVnUXpNeU9DNDVNVGNzTUM0ME5Ea2dNekl3TGpNek9Dd3dMakUxT1NBeU5URXVPVEl4TERBdU1UVTVJRm9nVFRJMU1TNDVNakVzTkRVdU5UVWdRek14T1M0eE9EWXNORFV1TlRVZ016STNMakUxTkN3ME5TNDRNRGNnTXpVekxqY3hPQ3cwTnk0d01Ua2dRek0zT0M0eU9DdzBPQzR4TXprZ016a3hMall4T1N3MU1pNHlORE1nTkRBd0xqUTVOaXcxTlM0Mk9UTWdRelF4TWk0eU5UVXNOakF1TWpZeklEUXlNQzQyTkRjc05qVXVOekl5SURReU9TNDBOaklzTnpRdU5UTTRJRU0wTXpndU1qYzRMRGd6TGpNMU15QTBORE11TnpNM0xEa3hMamMwTlNBME5EZ3VNekEzTERFd015NDFNRFFnUXpRMU1TNDNOVGNzTVRFeUxqTTRNU0EwTlRVdU9EWXhMREV5TlM0M01pQTBOVFl1T1RneExERTFNQzR5T0RJZ1F6UTFPQzR4T1RNc01UYzJMamcwTmlBME5UZ3VORFVzTVRnMExqZ3hOQ0EwTlRndU5EVXNNalV5TGpBNElFTTBOVGd1TkRVc016RTVMak0wTlNBME5UZ3VNVGt6TERNeU55NHpNVE1nTkRVMkxqazRNU3d6TlRNdU9EYzNJRU0wTlRVdU9EWXhMRE0zT0M0ME16a2dORFV4TGpjMU55d3pPVEV1TnpjNElEUTBPQzR6TURjc05EQXdMalkxTlNCRE5EUXpMamN6Tnl3ME1USXVOREUwSURRek9DNHlOemdzTkRJd0xqZ3dOaUEwTWprdU5EWXlMRFF5T1M0Mk1qRWdRelF5TUM0Mk5EY3NORE00TGpRek55QTBNVEl1TWpVMUxEUTBNeTQ0T1RZZ05EQXdMalE1Tml3ME5EZ3VORFkySUVNek9URXVOakU1TERRMU1TNDVNVFlnTXpjNExqSTRMRFExTmk0d01pQXpOVE11TnpFNExEUTFOeTR4TkNCRE16STNMakUxT0N3ME5UZ3VNelV5SURNeE9TNHhPVEVzTkRVNExqWXdPU0F5TlRFdU9USXhMRFExT0M0Mk1Ea2dRekU0TkM0Mk5TdzBOVGd1TmpBNUlERTNOaTQyT0RRc05EVTRMak0xTWlBeE5UQXVNVEl6TERRMU55NHhOQ0JETVRJMUxqVTJNU3cwTlRZdU1ESWdNVEV5TGpJeU1pdzBOVEV1T1RFMklERXdNeTR6TkRVc05EUTRMalEyTmlCRE9URXVOVGcyTERRME15NDRPVFlnT0RNdU1UazBMRFF6T0M0ME16Y2dOelF1TXpjNUxEUXlPUzQyTWpFZ1F6WTFMalUyTkN3ME1qQXVPREEySURZd0xqRXdOQ3cwTVRJdU5ERTBJRFUxTGpVek5DdzBNREF1TmpVMUlFTTFNaTR3T0RRc016a3hMamMzT0NBME55NDVPQ3d6TnpndU5ETTVJRFEyTGpnMkxETTFNeTQ0TnpjZ1F6UTFMalkwT0N3ek1qY3VNekV6SURRMUxqTTVNU3d6TVRrdU16UTFJRFExTGpNNU1Td3lOVEl1TURnZ1F6UTFMak01TVN3eE9EUXVPREUwSURRMUxqWTBPQ3d4TnpZdU9EUTJJRFEyTGpnMkxERTFNQzR5T0RJZ1F6UTNMams0TERFeU5TNDNNaUExTWk0d09EUXNNVEV5TGpNNE1TQTFOUzQxTXpRc01UQXpMalV3TkNCRE5qQXVNVEEwTERreExqYzBOU0EyTlM0MU5qTXNPRE11TXpVeklEYzBMak0zT1N3M05DNDFNemdnUXpnekxqRTVOQ3cyTlM0M01qSWdPVEV1TlRnMkxEWXdMakkyTXlBeE1ETXVNelExTERVMUxqWTVNeUJETVRFeUxqSXlNaXcxTWk0eU5ETWdNVEkxTGpVMk1TdzBPQzR4TXprZ01UVXdMakV5TXl3ME55NHdNVGtnUXpFM05pNDJPRGNzTkRVdU9EQTNJREU0TkM0Mk5UVXNORFV1TlRVZ01qVXhMamt5TVN3ME5TNDFOU0JhSWlCcFpEMGlSbWxzYkMweElpQm1hV3hzUFNJalJrWkdSa1pHSWlCdFlYTnJQU0oxY213b0kyMWhjMnN0TWlraVBqd3ZjR0YwYUQ0Z0lDQWdJQ0FnSUR3dlp6NGdJQ0FnSUNBZ0lEeHdZWFJvSUdROUlrMHlOVEV1T1RJeExETXpOaTR3TlRNZ1F6SXdOUzQxTkRNc016TTJMakExTXlBeE5qY3VPVFEzTERJNU9DNDBOVGNnTVRZM0xqazBOeXd5TlRJdU1EZ2dRekUyTnk0NU5EY3NNakExTGpjd01pQXlNRFV1TlRRekxERTJPQzR4TURZZ01qVXhMamt5TVN3eE5qZ3VNVEEySUVNeU9UZ3VNams0TERFMk9DNHhNRFlnTXpNMUxqZzVOQ3d5TURVdU56QXlJRE16TlM0NE9UUXNNalV5TGpBNElFTXpNelV1T0RrMExESTVPQzQwTlRjZ01qazRMakk1T0N3ek16WXVNRFV6SURJMU1TNDVNakVzTXpNMkxqQTFNeUJhSUUweU5URXVPVEl4TERFeU1pNDNNVFVnUXpFNE1DNDBOelFzTVRJeUxqY3hOU0F4TWpJdU5UVTJMREU0TUM0Mk16TWdNVEl5TGpVMU5pd3lOVEl1TURnZ1F6RXlNaTQxTlRZc016SXpMalV5TmlBeE9EQXVORGMwTERNNE1TNDBORFFnTWpVeExqa3lNU3d6T0RFdU5EUTBJRU16TWpNdU16WTNMRE00TVM0ME5EUWdNemd4TGpJNE5Td3pNak11TlRJMklETTRNUzR5T0RVc01qVXlMakE0SUVNek9ERXVNamcxTERFNE1DNDJNek1nTXpJekxqTTJOeXd4TWpJdU56RTFJREkxTVM0NU1qRXNNVEl5TGpjeE5TQmFJaUJwWkQwaVJtbHNiQzAwSWlCbWFXeHNQU0lqUmtaR1JrWkdJajQ4TDNCaGRHZytJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5OREUyTGpZeU55d3hNVGN1TmpBMElFTTBNVFl1TmpJM0xERXpOQzR6SURRd015NHdPVElzTVRRM0xqZ3pOQ0F6T0RZdU16azJMREUwTnk0NE16UWdRek0yT1M0M01ERXNNVFEzTGpnek5DQXpOVFl1TVRZMkxERXpOQzR6SURNMU5pNHhOallzTVRFM0xqWXdOQ0JETXpVMkxqRTJOaXd4TURBdU9UQTRJRE0yT1M0M01ERXNPRGN1TXpjeklETTROaTR6T1RZc09EY3VNemN6SUVNME1ETXVNRGt5TERnM0xqTTNNeUEwTVRZdU5qSTNMREV3TUM0NU1EZ2dOREUyTGpZeU55d3hNVGN1TmpBMElpQnBaRDBpUm1sc2JDMDFJaUJtYVd4c1BTSWpSa1pHUmtaR0lqNDhMM0JoZEdnK0lDQWdJRHd2Wno0OEwzTjJaejQ9KTtcblx0XHR9XG5cblx0XHQvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuXHRcdCYgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsX190ZXh0IHtcblx0XHRcdGNvbG9yOiBoc2woMzAyLCAxMDAlLCA5NCUpO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6IGhzbCgwLCAwJSwgMTAwJSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0JltkYXRhLW9lbWJlZC11cmwqPVwidHdpdHRlci5jb21cIl0gLmNrLmNrLW1lZGlhX19wbGFjZWhvbGRlciB7XG5cdFx0LyogVXNlIGdyYWRpZW50IHRvIGNvbnRyYXN0IHdpdGggZm9jdXNlZCB3aWRnZXQgKGNrZWRpdG9yL2NrZWRpdG9yNS1tZWRpYS1lbWJlZCMyMikuICovXG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCB0byByaWdodCwgaHNsKDIwMSwgODUlLCA3MCUpLCBoc2woMjAxLCA4NSUsIDM1JSkgKTtcblxuXHRcdCYgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejQ4YzNabklIWmxjbk5wYjI0OUlqRXVNU0lnYVdROUlsZG9hWFJsSWlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUI0UFNJd2NIZ2lJSGs5SWpCd2VDSWdkbWxsZDBKdmVEMGlNQ0F3SURRd01DQTBNREFpSUhOMGVXeGxQU0psYm1GaWJHVXRZbUZqYTJkeWIzVnVaRHB1WlhjZ01DQXdJRFF3TUNBME1EQTdJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWo0OGMzUjViR1VnZEhsd1pUMGlkR1Y0ZEM5amMzTWlQaTV6ZERCN1ptbHNiRG9qUmtaR1JrWkdPMzA4TDNOMGVXeGxQanh3WVhSb0lHTnNZWE56UFNKemREQWlJR1E5SWswME1EQXNNakF3WXpBc01URXdMalV0T0RrdU5Td3lNREF0TWpBd0xESXdNRk13TERNeE1DNDFMREFzTWpBd1V6ZzVMalVzTUN3eU1EQXNNRk0wTURBc09Ea3VOU3cwTURBc01qQXdlaUJOTVRZekxqUXNNekExTGpWak9EZ3VOeXd3TERFek55NHlMVGN6TGpVc01UTTNMakl0TVRNM0xqSmpNQzB5TGpFc01DMDBMakl0TUM0eExUWXVNbU01TGpRdE5pNDRMREUzTGpZdE1UVXVNeXd5TkM0eExUSTFZeTA0TGpZc015NDRMVEUzTGprc05pNDBMVEkzTGpjc055NDJZekV3TFRZc01UY3VOaTB4TlM0MExESXhMakl0TWpZdU4yTXRPUzR6TERVdU5TMHhPUzQyTERrdU5TMHpNQzQyTERFeExqZGpMVGd1T0MwNUxqUXRNakV1TXkweE5TNHlMVE0xTGpJdE1UVXVNbU10TWpZdU5pd3dMVFE0TGpJc01qRXVOaTAwT0M0eUxEUTRMakpqTUN3ekxqZ3NNQzQwTERjdU5Td3hMak1zTVRGakxUUXdMakV0TWkwM05TNDJMVEl4TGpJdE9Ua3VOQzAxTUM0MFl5MDBMakVzTnk0eExUWXVOU3d4TlM0MExUWXVOU3d5TkM0eVl6QXNNVFl1Tnl3NExqVXNNekV1TlN3eU1TNDFMRFF3TGpGakxUY3VPUzB3TGpJdE1UVXVNeTB5TGpRdE1qRXVPQzAyWXpBc01DNHlMREFzTUM0MExEQXNNQzQyWXpBc01qTXVOQ3d4Tmk0MkxEUXlMamdzTXpndU55dzBOeTR6WXkwMExERXVNUzA0TGpNc01TNDNMVEV5TGpjc01TNDNZeTB6TGpFc01DMDJMakV0TUM0ekxUa3VNUzB3TGpsak5pNHhMREU1TGpJc01qTXVPU3d6TXk0eExEUTFMRE16TGpWakxURTJMalVzTVRJdU9TMHpOeTR6TERJd0xqWXROVGt1T1N3eU1DNDJZeTB6TGprc01DMDNMamN0TUM0eUxURXhMalV0TUM0M1F6RXhNQzQ0TERJNU55NDFMREV6Tmk0eUxETXdOUzQxTERFMk15NDBMRE13TlM0MUlpOCtQQzl6ZG1jKyk7XG5cdFx0fVxuXG5cdFx0JiAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmxfX3RleHQge1xuXHRcdFx0Y29sb3I6IGhzbCgyMDEsIDEwMCUsIDg2JSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogaHNsKDAsIDAlLCAxMDAlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1jb2xvci1tZW50aW9uLWJhY2tncm91bmQ6IGhzbGEoMzQxLCAxMDAlLCAzMCUsIDAuMSk7XG5cdC0tY2stY29sb3ItbWVudGlvbi10ZXh0OiBoc2woMzQxLCAxMDAlLCAzMCUpO1xufVxuXG4uY2stY29udGVudCAubWVudGlvbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLW1lbnRpb24tYmFja2dyb3VuZCk7XG5cdGNvbG9yOiB2YXIoLS1jay1jb2xvci1tZW50aW9uLXRleHQpO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLXJlc3RyaWN0ZWQtZWRpdGluZy1leGNlcHRpb24tYmFja2dyb3VuZDogaHNsYSgzMSwgMTAwJSwgNjUlLCAuMik7XG5cdC0tY2stY29sb3ItcmVzdHJpY3RlZC1lZGl0aW5nLWV4Y2VwdGlvbi1ob3Zlci1iYWNrZ3JvdW5kOiBoc2xhKDMxLCAxMDAlLCA2NSUsIC4zNSk7XG5cdC0tY2stY29sb3ItcmVzdHJpY3RlZC1lZGl0aW5nLWV4Y2VwdGlvbi1icmFja2V0czogaHNsYSgzMSwgMTAwJSwgNDAlLCAuNCk7XG5cdC0tY2stY29sb3ItcmVzdHJpY3RlZC1lZGl0aW5nLXNlbGVjdGVkLWV4Y2VwdGlvbi1iYWNrZ3JvdW5kOiBoc2xhKDMxLCAxMDAlLCA2NSUsIC41KTtcblx0LS1jay1jb2xvci1yZXN0cmljdGVkLWVkaXRpbmctc2VsZWN0ZWQtZXhjZXB0aW9uLWJyYWNrZXRzOiBoc2xhKDMxLCAxMDAlLCA0MCUsIC42KTtcbn1cblxuLmNrLWVkaXRvcl9fZWRpdGFibGUgLnJlc3RyaWN0ZWQtZWRpdGluZy1leGNlcHRpb24ge1xuXHR0cmFuc2l0aW9uOiAuMnMgZWFzZS1pbi1vdXQgYmFja2dyb3VuZDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stY29sb3ItcmVzdHJpY3RlZC1lZGl0aW5nLWV4Y2VwdGlvbi1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAxcHggc29saWQ7XG5cdGJvcmRlci1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuXHRcdHRvIHJpZ2h0LFxuXHRcdHZhcigtLWNrLWNvbG9yLXJlc3RyaWN0ZWQtZWRpdGluZy1leGNlcHRpb24tYnJhY2tldHMpIDAlLFxuXHRcdHZhcigtLWNrLWNvbG9yLXJlc3RyaWN0ZWQtZWRpdGluZy1leGNlcHRpb24tYnJhY2tldHMpIDVweCxcblx0XHRoc2xhKDAsIDAlLCAwJSwgMCkgNnB4LFxuXHRcdGhzbGEoMCwgMCUsIDAlLCAwKSBjYWxjKDEwMCUgLSA2cHgpLFxuXHRcdHZhcigtLWNrLWNvbG9yLXJlc3RyaWN0ZWQtZWRpdGluZy1leGNlcHRpb24tYnJhY2tldHMpIGNhbGMoMTAwJSAtIDVweCksXG5cdFx0dmFyKC0tY2stY29sb3ItcmVzdHJpY3RlZC1lZGl0aW5nLWV4Y2VwdGlvbi1icmFja2V0cykgMTAwJVxuXHQpIDE7XG5cblx0QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHR9XG5cblx0Ji5yZXN0cmljdGVkLWVkaXRpbmctZXhjZXB0aW9uX3NlbGVjdGVkIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci1yZXN0cmljdGVkLWVkaXRpbmctc2VsZWN0ZWQtZXhjZXB0aW9uLWJhY2tncm91bmQpO1xuXHRcdGJvcmRlci1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0dG8gcmlnaHQsXG5cdFx0XHR2YXIoLS1jay1jb2xvci1yZXN0cmljdGVkLWVkaXRpbmctc2VsZWN0ZWQtZXhjZXB0aW9uLWJyYWNrZXRzKSAwJSxcblx0XHRcdHZhcigtLWNrLWNvbG9yLXJlc3RyaWN0ZWQtZWRpdGluZy1zZWxlY3RlZC1leGNlcHRpb24tYnJhY2tldHMpIDVweCxcblx0XHRcdHZhcigtLWNrLWNvbG9yLXJlc3RyaWN0ZWQtZWRpdGluZy1zZWxlY3RlZC1leGNlcHRpb24tYnJhY2tldHMpIGNhbGMoMTAwJSAtIDVweCksXG5cdFx0XHR2YXIoLS1jay1jb2xvci1yZXN0cmljdGVkLWVkaXRpbmctc2VsZWN0ZWQtZXhjZXB0aW9uLWJyYWNrZXRzKSAxMDAlXG5cdFx0KSAxO1xuXHR9XG5cblx0Ji5yZXN0cmljdGVkLWVkaXRpbmctZXhjZXB0aW9uX2NvbGxhcHNlZCB7XG5cdFx0LyogRW1wdHkgZXhjZXB0aW9uIHNob3VsZCBoYXZlIHRoZSBzYW1lIHdpZHRoIGFzIGV4Y2VwdGlvbiB3aXRoIGF0IGxlYXN0IDEgY2hhciAqL1xuXHRcdHBhZGRpbmctbGVmdDogMWNoO1xuXHR9XG59XG5cbi5jay1yZXN0cmljdGVkLWVkaXRpbmdfbW9kZV9yZXN0cmljdGVkIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1xuXG5cdC8qIFdlIGFsc28gaGF2ZSB0byBvdmVycmlkZSBhbGwgZWxlbWVudHMgaW5zaWRlIHRoZSByZXN0cmljdGVkIGVkaXRhYmxlIHRvIHByZXZlbnQgY3Vyc29yIHN3aXRjaGluZyBiZXR3ZWVuIGRlZmF1bHQgYW5kIHRleHRcblx0ZHVyaW5nIHRoZSBwb2ludGVyIG1vdmVtZW50LiAqL1xuXHQmICoge1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxuXG5cdCYgLnJlc3RyaWN0ZWQtZWRpdGluZy1leGNlcHRpb24ge1xuXHRcdGN1cnNvcjogdGV4dDtcblxuXHRcdCYgKiB7XG5cdFx0XHRjdXJzb3I6IHRleHQ7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1yZXN0cmljdGVkLWVkaXRpbmctZXhjZXB0aW9uLWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvbWl4aW5zL19yd2QuY3NzXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zL19yb3VuZGVkLmNzc1wiO1xuXG46cm9vdCB7XG5cdC0tY2stY2hhcmFjdGVyLWdyaWQtdGlsZS1zaXplOiAyNHB4O1xufVxuXG4uY2suY2stY2hhcmFjdGVyLWdyaWQge1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG5cblx0JiAuY2stY2hhcmFjdGVyLWdyaWRfX3RpbGVzIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCh2YXIoLS1jay1jaGFyYWN0ZXItZ3JpZC10aWxlLXNpemUpLCAxZnIpKTtcblx0XHRtYXJnaW46IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpIHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRcdGdyaWQtZ2FwOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0fVxuXG5cdCYgLmNrLWNoYXJhY3Rlci1ncmlkX190aWxlIHtcblx0XHR3aWR0aDogdmFyKC0tY2stY2hhcmFjdGVyLWdyaWQtdGlsZS1zaXplKTtcblx0XHRoZWlnaHQ6IHZhcigtLWNrLWNoYXJhY3Rlci1ncmlkLXRpbGUtc2l6ZSk7XG5cdFx0bWluLXdpZHRoOiB2YXIoLS1jay1jaGFyYWN0ZXItZ3JpZC10aWxlLXNpemUpO1xuXHRcdG1pbi1oZWlnaHQ6IHZhcigtLWNrLWNoYXJhY3Rlci1ncmlkLXRpbGUtc2l6ZSk7XG5cdFx0Zm9udC1zaXplOiAxLjVlbTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHRyYW5zaXRpb246IC4ycyBlYXNlIGJveC1zaGFkb3c7XG5cdFx0Ym9yZGVyOiAwO1xuXG5cdFx0QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0XHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1czpub3QoIC5jay1kaXNhYmxlZCApLFxuXHRcdCY6aG92ZXI6bm90KCAuY2stZGlzYWJsZWQgKSB7XG5cdFx0XHQvKiBEaXNhYmxlIHRoZSBkZWZhdWx0IC5jay1idXR0b24ncyBib3JkZXIgcmluZy4gKi9cblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpLCAwIDAgMCAycHggdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKTtcblx0XHR9XG5cblx0XHQvKiBNYWtlIHN1cmUgdGhlIGdseXBoIGlzIHJlbmRlcmVkIGluIHRoZSBjZW50ZXIgb2YgdGhlIGJ1dHRvbiAqL1xuXHRcdCYgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0bGluZS1oZWlnaHQ6IHZhcigtLWNrLWNoYXJhY3Rlci1ncmlkLXRpbGUtc2l6ZSk7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fcndkLmNzc1wiO1xuXG4uY2suY2stY2hhcmFjdGVyLWluZm8ge1xuXHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKSB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblxuXHQmID4gKiB7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdH1cblxuXHQmIC5jay1jaGFyYWN0ZXItaW5mb19fbmFtZSB7XG5cdFx0bWF4LXdpZHRoOiAyODBweDtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cblx0JiAuY2stY2hhcmFjdGVyLWluZm9fX2NvZGUge1xuXHRcdG9wYWNpdHk6IC42O1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX2Rpci5jc3NcIjtcbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fcndkLmNzc1wiO1xuXG4uY2suY2stc3BlY2lhbC1jaGFyYWN0ZXJzLW5hdmlnYXRpb24ge1xuXG5cdCYgPiAuY2stbGFiZWwge1xuXHRcdG1heC13aWR0aDogMTYwcHg7XG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxuXG5cdCYgPiAuY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbCB7XG5cdFx0LyogVGhlcmUgY291bGQgYmUgZG96ZW5zIG9mIGNhdGVnb3JpZXMgYXZhaWxhYmxlLiBVc2Ugc2Nyb2xsIHRvIHByZXZlbnQgYSAxMGU2cHggZHJvcGRvd24uICovXG5cdFx0bWF4LWhlaWdodDogMjUwcHg7XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdH1cblxuXHRAbWl4aW4gY2stbWVkaWEtcGhvbmUge1xuXHRcdG1heC13aWR0aDogMTkwcHg7XG5cblx0XHQmID4gLmNrLWZvcm1fX2hlYWRlcl9fbGFiZWwge1xuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWRyb3Bkb3duLmNrLXN0eWxlLWRyb3Bkb3duLmNrLXN0eWxlLWRyb3Bkb3duX211bHRpcGxlLWFjdGl2ZSA+IC5jay1idXR0b24gPiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1zdHlsZS1wYW5lbC1idXR0b24td2lkdGg6IDEyMHB4O1xuXHQtLWNrLXN0eWxlLXBhbmVsLWJ1dHRvbi1oZWlnaHQ6IDgwcHg7XG5cdC0tY2stc3R5bGUtcGFuZWwtYnV0dG9uLWxhYmVsLWJhY2tncm91bmQ6IGhzbCgwLCAwJSwgOTQuMSUpO1xuXHQtLWNrLXN0eWxlLXBhbmVsLWJ1dHRvbi1ob3Zlci1sYWJlbC1iYWNrZ3JvdW5kOiBoc2woMCwgMCUsIDkyLjElKTtcblx0LS1jay1zdHlsZS1wYW5lbC1idXR0b24taG92ZXItYm9yZGVyLWNvbG9yOiBoc2woMCwgMCUsIDcwJSk7XG59XG5cbi5jay5jay1zdHlsZS1wYW5lbCAuY2stc3R5bGUtZ3JpZCB7XG5cdHJvdy1nYXA6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRjb2x1bW4tZ2FwOiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblxuXHQmIC5jay1zdHlsZS1ncmlkX19idXR0b24ge1xuXHRcdC0tY2stY29sb3ItYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0XHQtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXG5cdFx0cGFkZGluZzogMDtcblx0XHR3aWR0aDogdmFyKC0tY2stc3R5bGUtcGFuZWwtYnV0dG9uLXdpZHRoKTtcblx0XHRoZWlnaHQ6IHZhcigtLWNrLXN0eWxlLXBhbmVsLWJ1dHRvbi1oZWlnaHQpO1xuXG5cdFx0LyogTGV0IGRlZmF1bHQgLmNrLWJ1dHRvbiA6Zm9jdXMgc3R5bGVzIGFwcGx5ICovXG5cdFx0Jjpub3QoOmZvY3VzKSB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdFx0fVxuXG5cdFx0JiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRoZWlnaHQ6IDIycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjJweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZzogMCB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHR9XG5cblx0XHQmIC5jay1zdHlsZS1ncmlkX19idXR0b25fX3ByZXZpZXcge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0b3BhY2l0eTogLjk7XG5cblx0XHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKTtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHRcdH1cblxuXHRcdCYuY2stZGlzYWJsZWQge1xuXHRcdFx0LS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1kaXNhYmxlZC1iYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQpO1xuXG5cdFx0XHQvKiBMZXQgZGVmYXVsdCAuY2stYnV0dG9uIDpmb2N1cyBzdHlsZXMgYXBwbHkgKi9cblx0XHRcdCY6bm90KDpmb2N1cykge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLXN0eWxlLXBhbmVsLWJ1dHRvbi1sYWJlbC1iYWNrZ3JvdW5kKTtcblx0XHRcdH1cblxuXHRcdFx0JiAuY2stc3R5bGUtZ3JpZF9fYnV0dG9uX19wcmV2aWV3IHtcblx0XHRcdFx0b3BhY2l0eTogLjQ7XG5cblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQpO1xuXHRcdFx0XHRmaWx0ZXI6IHNhdHVyYXRlKC4zKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmNrLW9uIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1hY3RpdmUpO1xuXG5cdFx0XHQmIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAtMXB4IDAgdmFyKC0tY2stY29sb3ItYmFzZS1hY3RpdmUpO1xuXHRcdFx0XHR6LWluZGV4OiAxOyAvKiBTdGF5IG9uIHRvcCBvZiB0aGUgcHJldmlldyB3aXRoIHRoZSBzaGFkb3cuICovXG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtYWN0aXZlLWZvY3VzKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOm5vdCguY2stb24pIHtcblx0XHRcdCYgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1zdHlsZS1wYW5lbC1idXR0b24tbGFiZWwtYmFja2dyb3VuZCk7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1zdHlsZS1wYW5lbC1idXR0b24taG92ZXItbGFiZWwtYmFja2dyb3VuZCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcjpub3QoLmNrLWRpc2FibGVkKTpub3QoLmNrLW9uKSB7XG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLXN0eWxlLXBhbmVsLWJ1dHRvbi1ob3Zlci1ib3JkZXItY29sb3IpO1xuXG5cdFx0XHQmIC5jay1zdHlsZS1ncmlkX19idXR0b25fX3ByZXZpZXcge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLXN0eWxlLXBhbmVsIC5jay1zdHlsZS1wYW5lbF9fc3R5bGUtZ3JvdXAge1xuXHQmID4gLmNrLWxhYmVsIHtcblx0XHRtYXJnaW46IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpIDA7XG5cdH1cblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHQmID4gLmNrLWxhYmVsIHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stc3R5bGUtcGFuZWwtbWF4LWhlaWdodDogNDcwcHg7XG59XG5cbi5jay5jay1zdHlsZS1wYW5lbCB7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRtYXgtaGVpZ2h0OiB2YXIoLS1jay1zdHlsZS1wYW5lbC1tYXgtaGVpZ2h0KTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fZGlyLmNzc1wiO1xuQGltcG9ydCBcIi4uL21peGlucy9fcm91bmRlZC5jc3NcIjtcblxuLmNrLmNrLWlucHV0LWNvbG9yIHtcblx0JiA+IC5jay5jay1pbnB1dC10ZXh0IHtcblx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdH1cblxuXHRcdEBtaXhpbiBjay1kaXIgcnRsIHtcblx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRcdH1cblxuXHRcdC8qIE1ha2Ugc3VyZSB0aGUgZm9jdXNlZCBpbnB1dCBpcyBhbHdheXMgb24gdG9wIG9mIHRoZSBkcm9wZG93biBidXR0b24gc28gaXRzXG5cdFx0ICAgb3V0bGluZSBhbmQgYm9yZGVyIGFyZSBuZXZlciBjcm9wcGVkIChhbHNvIHdoZW4gdGhlIGlucHV0IGlzIHJlYWQtb25seSkuICovXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHR6LWluZGV4OiAwO1xuXHRcdH1cblx0fVxuXG5cdCYgPiAuY2suY2stZHJvcGRvd24ge1xuXHRcdCYgPiAuY2suY2stYnV0dG9uLmNrLWlucHV0LWNvbG9yX19idXR0b24ge1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXG5cdFx0XHRcdCY6bm90KDpmb2N1cykge1xuXHRcdFx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cblx0XHRcdFx0Jjpub3QoOmZvY3VzKSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5jay1kaXNhYmxlZCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWlucHV0LWRpc2FibGVkLWJhY2tncm91bmQpO1xuXHRcdFx0fVxuXG5cdFx0XHQmID4gLmNrLmNrLWlucHV0LWNvbG9yX19idXR0b25fX3ByZXZpZXcge1xuXHRcdFx0XHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzO1xuXG5cdFx0XHRcdHdpZHRoOiAyMHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWlucHV0LWJvcmRlcik7XG5cblx0XHRcdFx0JiA+IC5jay5jay1pbnB1dC1jb2xvcl9fYnV0dG9uX19wcmV2aWV3X19uby1jb2xvci1pbmRpY2F0b3Ige1xuXHRcdFx0XHRcdHRvcDogLTMwJTtcblx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxNTAlO1xuXHRcdFx0XHRcdHdpZHRoOiA4JTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBoc2woMCwgMTAwJSwgNTAlKTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRcdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYgLmNrLmNrLWlucHV0LWNvbG9yX19yZW1vdmUtY29sb3Ige1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IGNhbGModmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgLyAyKSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cblx0XHQmOm5vdCg6Zm9jdXMpIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1pbnB1dC1ib3JkZXIpO1xuXHRcdH1cblxuXHRcdEBtaXhpbiBjay1kaXIgbHRyIHtcblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHRcdH1cblxuXHRcdEBtaXhpbiBjay1kaXIgcnRsIHtcblx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0fVxuXG5cdFx0JiAuY2suY2staWNvbiB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXG5cdFx0XHRAbWl4aW4gY2stZGlyIHJ0bCB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWZvcm0ge1xuXHRwYWRkaW5nOiAwIDAgdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cblx0Jjpmb2N1cyB7XG5cdFx0LyogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy80NzczICovXG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdCYgLmNrLmNrLWlucHV0LXRleHQge1xuXHRcdG1pbi13aWR0aDogMTAwJTtcblx0XHR3aWR0aDogMDtcblx0fVxuXG5cdCYgLmNrLmNrLWRyb3Bkb3duIHtcblx0XHRtaW4td2lkdGg6IDEwMCU7XG5cblx0XHQmIC5jay1kcm9wZG93bl9fYnV0dG9uIHtcblx0XHRcdCY6bm90KDpmb2N1cykge1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdFx0XHR9XG5cblx0XHRcdCYgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fZGlyLmNzc1wiO1xuXG4uY2suY2stZm9ybV9fcm93IHtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgdmFyKC0tY2stc3BhY2luZy1sYXJnZSkgMDtcblxuXHQvKiBJZ25vcmUgbGFiZWxzIHRoYXQgd29yayBhcyBmaWVsZHNldCBsZWdlbmRzICovXG5cdCYgPiAqOm5vdCguY2stbGFiZWwpIHtcblx0XHQmICsgKiB7XG5cdFx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblx0XHRcdH1cblxuXHRcdFx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYgPiAuY2stbGFiZWwge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1pbi13aWR0aDogMTAwJTtcblx0fVxuXG5cdCYuY2stdGFibGUtZm9ybV9fYWN0aW9uLXJvdyB7XG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cblx0XHQmIC5jay1idXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLXRleHQpO1xuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1wYWRkaW5nOiAxMHB4O1xuXHQtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtaGVpZ2h0OiAxMXB4O1xuXHQtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtd2lkdGg6IDEycHg7XG5cdC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC1tYXJnaW46IDFweDtcbn1cblxuLmNrIC5jay1pbnNlcnQtdGFibGUtZHJvcGRvd25fX2dyaWQge1xuXHQvKiBUaGUgd2lkdGggb2YgYSBjb250YWluZXIgc2hvdWxkIG1hdGNoIDEwIGl0ZW1zIGluIGEgcm93IHNvIHRoZXJlIHdpbGwgYmUgYSAxMHgxMCBncmlkLiAqL1xuXHR3aWR0aDogY2FsYyh2YXIoLS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tYm94LXdpZHRoKSAqIDEwICsgdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC1tYXJnaW4pICogMjAgKyB2YXIoLS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tcGFkZGluZykgKiAyKTtcblx0cGFkZGluZzogdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLXBhZGRpbmcpIHZhcigtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1wYWRkaW5nKSAwO1xufVxuXG4uY2sgLmNrLWluc2VydC10YWJsZS1kcm9wZG93bl9fbGFiZWwsXG4uY2tbZGlyPXJ0bF0gLmNrLWluc2VydC10YWJsZS1kcm9wZG93bl9fbGFiZWwge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jayAuY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWdyaWQtYm94IHtcblx0bWluLXdpZHRoOiB2YXIoLS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tYm94LXdpZHRoKTtcblx0bWluLWhlaWdodDogdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC1oZWlnaHQpO1xuXHRtYXJnaW46IHZhcigtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtbWFyZ2luKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAxcHg7XG5cdG91dGxpbmU6IG5vbmU7XG5cdHRyYW5zaXRpb246IG5vbmU7XG5cblx0QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXG5cdCYuY2stb24ge1xuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1mb2N1cy1vdXRlci1zaGFkb3cpO1xuXHR9XG59XG5cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay10YWJsZS1jZWxsLXByb3BlcnRpZXMtZm9ybSB7XG5cdHdpZHRoOiAzMjBweDtcblxuXHQmIC5jay1mb3JtX19yb3cge1xuXHRcdCYuY2stdGFibGUtY2VsbC1wcm9wZXJ0aWVzLWZvcm1fX3BhZGRpbmctcm93IHtcblx0XHRcdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHdpZHRoOiAyNSU7XG5cdFx0fVxuXG5cdFx0Ji5jay10YWJsZS1jZWxsLXByb3BlcnRpZXMtZm9ybV9fYWxpZ25tZW50LXJvdyB7XG5cdFx0XHQmIC5jay5jay10b29sYmFyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblxuXHRcdFx0XHQvKiBDb21wZW5zYXRlIGZvciBtaXNzaW5nIGlucHV0IGxhYmVsIHRoYXQgd291bGQgcHVzaCB0aGUgbWFyZ2luICh0b29sYmFyIGhhcyBubyBpbnB1dHMpLiAqL1xuXHRcdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1jb2xvci1zZWxlY3Rvci1mb2N1c2VkLWNlbGwtYmFja2dyb3VuZDogaHNsYSgyMTIsIDkwJSwgODAlLCAuMyk7XG59XG5cbi5jay13aWRnZXQudGFibGUge1xuXHQmIHRkLFxuXHQmIHRoIHtcblx0XHQvKipcblx0XHQgKiBXaGlsZSBzZXR0aW5nIG91dGxpbmUgaXMgZmluZSwgdGhlIGJvcmRlciBzaG91bGQgbm90IGJlIG1vZGlmaWVkIGhlcmVcblx0XHQgKiBiZWNhdXNlIGl0IG92ZXJyaWRlcyB0aGUgZGVmYXVsdCB0YWJsZSBjZWxsIGJvcmRlciBjb2xvciB3aGljaCBpcyBub3QgZXhwZWN0ZWQuXG5cdFx0ICogU28gZG8gbm90IHVzZSBgQG1peGluIGNrLWZvY3VzLXJpbmc7YCBoZXJlLCBvciBhbnkgb3RoZXIgYm9yZGVyIHN0eWxlcy5cblx0XHQgKiBTZWUgbW9yZTogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTY5Nzlcblx0XHQgKi9cblx0XHQmLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlX2ZvY3VzZWQsXG5cdFx0Ji5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZTpmb2N1cyB7XG5cdFx0XHQvKiBBIHZlcnkgc2xpZ2h0IGJhY2tncm91bmQgdG8gaGlnaGxpZ2h0IHRoZSBmb2N1c2VkIGNlbGwgKi9cblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXNlbGVjdG9yLWZvY3VzZWQtY2VsbC1iYWNrZ3JvdW5kKTtcblx0XHRcdG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7IC8qIHByb2dyZXNzaXZlIGVuaGFuY2VtZW50IC0gbm8gSUUgc3VwcG9ydCAqL1xuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIi4uL21peGlucy9fcm91bmRlZC5jc3NcIjtcblxuOnJvb3Qge1xuXHQtLWNrLXRhYmxlLXByb3BlcnRpZXMtZXJyb3ItYXJyb3ctc2l6ZTogNnB4O1xuXHQtLWNrLXRhYmxlLXByb3BlcnRpZXMtbWluLWVycm9yLXdpZHRoOiAxNTBweDtcbn1cblxuLmNrLmNrLXRhYmxlLWZvcm0ge1xuXHQmIC5jay1mb3JtX19yb3cge1xuXHRcdCYuY2stdGFibGUtZm9ybV9fYm9yZGVyLXJvdyB7XG5cdFx0XHQmIC5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdFx0XHQmID4gLmNrLWxhYmVsIHtcblx0XHRcdFx0XHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS10aW55KTtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0JiAuY2stdGFibGUtZm9ybV9fYm9yZGVyLXN0eWxlLFxuXHRcdFx0JiAuY2stdGFibGUtZm9ybV9fYm9yZGVyLXdpZHRoIHtcblx0XHRcdFx0d2lkdGg6IDgwcHg7XG5cdFx0XHRcdG1pbi13aWR0aDogODBweDtcblx0XHRcdFx0bWF4LXdpZHRoOiA4MHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuY2stdGFibGUtZm9ybV9fZGltZW5zaW9ucy1yb3cge1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0JiAuY2stdGFibGUtZm9ybV9fZGltZW5zaW9ucy1yb3dfX3dpZHRoLFxuXHRcdFx0JiAuY2stdGFibGUtZm9ybV9fZGltZW5zaW9ucy1yb3dfX2hlaWdodCB7XG5cdFx0XHRcdG1hcmdpbjogMFxuXHRcdFx0fVxuXG5cdFx0XHQmIC5jay10YWJsZS1mb3JtX19kaW1lbnNpb24tb3BlcmF0b3Ige1xuXHRcdFx0XHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRoZWlnaHQ6IHZhcigtLWNrLXVpLWNvbXBvbmVudC1taW4taGVpZ2h0KTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IHZhcigtLWNrLXVpLWNvbXBvbmVudC1taW4taGVpZ2h0KTtcblx0XHRcdFx0bWFyZ2luOiAwIHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYgLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXG5cdFx0JiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXMge1xuXHRcdFx0QG1peGluIGNrLXJvdW5kZWQtY29ybmVycztcblxuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1lcnJvcik7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0XHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpIHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKTtcblx0XHRcdG1pbi13aWR0aDogdmFyKC0tY2stdGFibGUtcHJvcGVydGllcy1taW4tZXJyb3Itd2lkdGgpO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHQvKiBUaGUgYXJyb3cgcG9pbnRpbmcgdG93YXJkcyB0aGUgZmllbGQuICovXG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0tY2stY29sb3ItYmFzZS1lcnJvcikgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlci13aWR0aDogMCB2YXIoLS1jay10YWJsZS1wcm9wZXJ0aWVzLWVycm9yLWFycm93LXNpemUpIHZhcigtLWNrLXRhYmxlLXByb3BlcnRpZXMtZXJyb3ItYXJyb3ctc2l6ZSkgdmFyKC0tY2stdGFibGUtcHJvcGVydGllcy1lcnJvci1hcnJvdy1zaXplKTtcblx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdH1cblxuXHRcdFx0YW5pbWF0aW9uOiBjay10YWJsZS1mb3JtLWxhYmVsZWQtdmlldy1zdGF0dXMtYXBwZWFyIC4xNXMgZWFzZSBib3RoO1xuXG5cdFx0XHRAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHRcdFx0XHRhbmltYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LyogSGlkZSB0aGUgZXJyb3IgYmFsbG9vbiB3aGVuIHRoZSBmaWVsZCBpcyBibHVycmVkLiBNYWtlcyB0aGUgZXhwZXJpZW5jZSBtdWNoIG1vcmUgY2xlYXIuICovXG5cdFx0JiAuY2staW5wdXQuY2stZXJyb3I6bm90KDpmb2N1cykgKyAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXMge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuQGtleWZyYW1lcyBjay10YWJsZS1mb3JtLWxhYmVsZWQtdmlldy1zdGF0dXMtYXBwZWFyIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stdGFibGUtcHJvcGVydGllcy1mb3JtIHtcblx0d2lkdGg6IDMyMHB4O1xuXG5cdCYgLmNrLWZvcm1fX3JvdyB7XG5cdFx0Ji5jay10YWJsZS1wcm9wZXJ0aWVzLWZvcm1fX2FsaWdubWVudC1yb3cge1xuXHRcdFx0YWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHQmIC5jay5jay10b29sYmFyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblxuXHRcdFx0XHQvKiBDb21wZW5zYXRlIGZvciBtaXNzaW5nIGlucHV0IGxhYmVsIHRoYXQgd291bGQgcHVzaCB0aGUgbWFyZ2luICh0b29sYmFyIGhhcyBubyBpbnB1dHMpLiAqL1xuXHRcdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHRcdFx0XHQmIC5jay10b29sYmFyX19pdGVtcyA+ICoge1xuXHRcdFx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stdGFibGUtc2VsZWN0ZWQtY2VsbC1iYWNrZ3JvdW5kOiBoc2xhKDIwOCwgOTAlLCA4MCUsIC4zKTtcbn1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLnRhYmxlIHRhYmxlIHtcblx0JiB0ZC5jay1lZGl0b3JfX2VkaXRhYmxlX3NlbGVjdGVkLFxuXHQmIHRoLmNrLWVkaXRvcl9fZWRpdGFibGVfc2VsZWN0ZWQge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0b3V0bGluZTogdW5zZXQ7XG5cdFx0Ym94LXNoYWRvdzogdW5zZXQ7XG5cblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy82NDQ2ICovXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stdGFibGUtc2VsZWN0ZWQtY2VsbC1iYWNrZ3JvdW5kKTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHR9XG5cblx0XHQmIDo6c2VsZWN0aW9uLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXG5cdFx0Lypcblx0XHQgKiBUbyByZWR1Y2UgdGhlIGFtb3VudCBvZiBub2lzZSwgYWxsIHdpZGdldHMgaW4gdGhlIHRhYmxlIHNlbGVjdGlvbiBoYXZlIG5vIG91dGxpbmUgYW5kIG5vIHNlbGVjdGlvbiBoYW5kbGUuXG5cdFx0ICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzk0OTEuXG5cdFx0ICovXG5cdFx0JiAuY2std2lkZ2V0IHtcblx0XHRcdG91dGxpbmU6IHVuc2V0O1xuXG5cdFx0XHQmID4gLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiLi4vbWl4aW5zL19mb2N1cy5jc3NcIjtcbkBpbXBvcnQgXCIuLi9taXhpbnMvX3NoYWRvdy5jc3NcIjtcbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fbWVkaWFjb2xvcnMuY3NzXCI7XG5cbjpyb290IHtcblx0LS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3M6IDNweDtcblx0LS1jay13aWRnZXQtaGFuZGxlci1pY29uLXNpemU6IDE2cHg7XG5cdC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWR1cmF0aW9uOiAyMDBtcztcblx0LS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tY3VydmU6IGVhc2U7XG5cblx0LS1jay1jb2xvci13aWRnZXQtYmx1cnJlZC1ib3JkZXI6IGhzbCgwLCAwJSwgODclKTtcblx0LS1jay1jb2xvci13aWRnZXQtaG92ZXItYm9yZGVyOiBoc2woNDMsIDEwMCUsIDYyJSk7XG5cdC0tY2stY29sb3Itd2lkZ2V0LWVkaXRhYmxlLWZvY3VzLWJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdC0tY2stY29sb3Itd2lkZ2V0LWRyYWctaGFuZGxlci1pY29uLWNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xufVxuXG4uY2sgLmNrLXdpZGdldCB7XG5cdG91dGxpbmUtd2lkdGg6IHZhcigtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzcyk7XG5cdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRvdXRsaW5lLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogb3V0bGluZS1jb2xvciB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1jdXJ2ZSk7XG5cblx0QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHR9XG5cblx0Ji5jay13aWRnZXRfc2VsZWN0ZWQsXG5cdCYuY2std2lkZ2V0X3NlbGVjdGVkOmhvdmVyIHtcblx0XHRvdXRsaW5lOiB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpIHNvbGlkIHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcik7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRvdXRsaW5lLWNvbG9yOiB2YXIoLS1jay1jb2xvci13aWRnZXQtaG92ZXItYm9yZGVyKTtcblx0fVxufVxuXG4uY2sgLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cblx0LyogVGhlIDpmb2N1cyBzdHlsZSBpcyBhcHBsaWVkIGJlZm9yZSAuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGVfZm9jdXNlZCBjbGFzcyBpcyByZW5kZXJlZCBpbiB0aGUgdmlldy5cblx0VGhlc2Ugc3R5bGVzIHNob3cgYSBkaWZmZXJlbnQgYm9yZGVyIGZvciBhIGJsaW5rIG9mIGFuIGV5ZSwgc28gYDpmb2N1c2AgbmVlZCB0byBoYXZlIHNhbWUgc3R5bGVzIGFwcGxpZWQuICovXG5cdCYuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGVfZm9jdXNlZCxcblx0Jjpmb2N1cyB7XG5cdFx0QG1peGluIGNrLWJveC1zaGFkb3cgdmFyKC0tY2staW5uZXItc2hhZG93KTtcblx0XHRAbWl4aW4gY2stbWVkaWEtZGVmYXVsdC1jb2xvcnMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWVkaXRhYmxlLWZvY3VzLWJhY2tncm91bmQpO1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdCAqIEZvY3VzIGJvcmRlciBzaG91bGQgbm90IGJlIGFwcGxpZWQgdG8gdGFibGUgY2VsbHMgYmVjYXVzZSBpdCBvdmVycmlkZXMgdGhlIGRlZmF1bHQgdGFibGUgY2VsbCBib3JkZXIgY29sb3IuXG5cdFx0ICogSW4gb3RoZXIgd29yZHMgLSBpbiBzb21lIHNjZW5hcmlvcywgdGhlIHBhcnQgb2YgdGhlIHRhYmxlIGNlbGwgYm9yZGVyIGhhcyBmb2N1cyBjb2xvciBzdHlsZSwgd2hpY2ggaXMgbm90IGV4cGVjdGVkIGJlaGF2aW9yXG5cdFx0ICogYmVjYXVzZSBpdCBzaG91bGQgYmUgdGhlIHNhbWUgYXMgdGhlIHRhYmxlIGNlbGwgYm9yZGVyIGNvbG9yLlxuXHRcdCAqL1xuXHRcdCY6bm90KHRkLCB0aCkge1xuXHRcdFx0QG1peGluIGNrLWZvY3VzLXJpbmc7XG5cdFx0fVxuXHR9XG59XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUge1xuXHQmIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUge1xuXHRcdHBhZGRpbmc6IDRweDtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdFx0LyogQmFja2dyb3VuZCBhbmQgb3BhY2l0eSB3aWxsIGJlIGFuaW1hdGVkIGFzIHRoZSBoYW5kbGVyIHNob3dzIHVwIG9yIHRoZSB3aWRnZXQgZ2V0cyBzZWxlY3RlZC4gKi9cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRvcGFjaXR5OiAwO1xuXG5cdFx0LyogVHJhbnNpdGlvbjpcblx0XHQgICAqIGJhY2tncm91bmQtY29sb3IgZm9yIHRoZSAuY2std2lkZ2V0X3NlbGVjdGVkIHN0YXRlIGNoYW5nZSxcblx0XHQgICAqIHZpc2liaWxpdHkgZm9yIGhpZGluZyB0aGUgaGFuZGxlcixcblx0XHQgICAqIG9wYWNpdHkgZm9yIHRoZSBwcm9wZXIgbG9vayBvZiB0aGUgaWNvbiB3aGVuIHRoZSBoYW5kbGVyIGRpc2FwcGVhcnMuICovXG5cdFx0dHJhbnNpdGlvbjpcblx0XHRcdGJhY2tncm91bmQtY29sb3IgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tY3VydmUpLFxuXHRcdFx0dmlzaWJpbGl0eSB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1jdXJ2ZSksXG5cdFx0XHRvcGFjaXR5IHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWN1cnZlKTtcblxuXHRcdC8qIE1ha2Ugb25seSB0b3AgY29ybmVycyByb3VuZC4gKi9cblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKSB2YXIoLS1jay1ib3JkZXItcmFkaXVzKSAwIDA7XG5cblx0XHQvKiBQbGFjZSB0aGUgZHJhZyBoYW5kbGVyIG91dHNpZGUgdGhlIHdpZGdldCB3cmFwcGVyLiAqL1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cdFx0bGVmdDogY2FsYygwcHggLSB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpKTtcblx0XHR0b3A6IDA7XG5cblx0XHRAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHRcdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0XHR9XG5cblx0XHQmIC5jay1pY29uIHtcblx0XHRcdC8qIE1ha2Ugc3VyZSB0aGUgZGltZW5zaW9ucyBvZiB0aGUgaWNvbiBhcmUgaW5kZXBlbmRlbnQgb2YgdGhlIGZvbi1zaXplIG9mIHRoZSBjb250ZW50LiAqL1xuXHRcdFx0d2lkdGg6IHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWljb24tc2l6ZSk7XG5cdFx0XHRoZWlnaHQ6IHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWljb24tc2l6ZSk7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWRyYWctaGFuZGxlci1pY29uLWNvbG9yKTtcblxuXHRcdFx0LyogVGhlIFwic2VsZWN0ZWRcIiBwYXJ0IG9mIHRoZSBpY29uIGlzIGludmlzaWJsZSBieSBkZWZhdWx0ICovXG5cdFx0XHQmIC5jay1pY29uX19zZWxlY3RlZC1pbmRpY2F0b3Ige1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXG5cdFx0XHRcdC8qIE5vdGU6IFRoZSBhbmltYXRpb24gaXMgbG9uZ2VyIG9uIHB1cnBvc2UuIFNpbXBseSBmZWVscyBiZXR0ZXIuICovXG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWN1cnZlKTtcblxuXHRcdFx0XHRAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQvKiBBZHZlcnRpc2UgdXNpbmcgdGhlIGxvb2sgb2YgdGhlIGljb24gdGhhdCBvbmNlIGNsaWNrZWQgdGhlIGhhbmRsZXIsIHRoZSB3aWRnZXQgd2lsbCBiZSBzZWxlY3RlZC4gKi9cblx0XHQmOmhvdmVyIC5jay1pY29uIC5jay1pY29uX19zZWxlY3RlZC1pbmRpY2F0b3Ige1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdH1cblxuXHQvKiBTaG93IHRoZSBzZWxlY3Rpb24gaGFuZGxlciBvbiBtb3VzZSBob3ZlciBvdmVyIHRoZSB3aWRnZXQsIGJ1dCBub3QgZm9yIG5lc3RlZCB3aWRnZXRzLiAqL1xuXHQmOmhvdmVyID4gLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci13aWRnZXQtaG92ZXItYm9yZGVyKTtcblx0fVxuXG5cdC8qIFNob3cgdGhlIHNlbGVjdGlvbiBoYW5kbGVyIHdoZW4gdGhlIHdpZGdldCBpcyBzZWxlY3RlZCwgYnV0IG5vdCBmb3IgbmVzdGVkIHdpZGdldHMuICovXG5cdCYuY2std2lkZ2V0X3NlbGVjdGVkLFxuXHQmLmNrLXdpZGdldF9zZWxlY3RlZDpob3ZlciB7XG5cdFx0JiA+IC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcik7XG5cblx0XHRcdC8qIFdoZW4gdGhlIHdpZGdldCBpcyBzZWxlY3RlZCwgbm90aWZ5IHRoZSB1c2VyIHVzaW5nIHRoZSBwcm9wZXIgbG9vayBvZiB0aGUgaWNvbi4gKi9cblx0XHRcdCYgLmNrLWljb24gLmNrLWljb25fX3NlbGVjdGVkLWluZGljYXRvciB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qIEluIGEgUlRMIGVudmlyb25tZW50LCBhbGlnbiB0aGUgc2VsZWN0aW9uIGhhbmRsZXIgdG8gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIHdpZGdldCAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbi5ja1tkaXI9XCJydGxcIl0gLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUge1xuXHRsZWZ0OiBhdXRvO1xuXHRyaWdodDogY2FsYygwcHggLSB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpKTtcbn1cblxuLyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNjQxNSAqL1xuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stcmVhZC1vbmx5IC5jay13aWRnZXQge1xuXHQvKiBQcmV2ZW50IHRoZSA6aG92ZXIgb3V0bGluZSBmcm9tIHNob3dpbmcgdXAgYmVjYXVzZSBvZiB0aGUgdXNlZCBvdXRsaW5lLWNvbG9yIHRyYW5zaXRpb24uICovXG5cdHRyYW5zaXRpb246IG5vbmU7XG5cblx0Jjpub3QoLmNrLXdpZGdldF9zZWxlY3RlZCkge1xuXHRcdC8qIERpc2FibGUgdmlzdWFsIGVmZmVjdHMgb2YgaG92ZXIvYWN0aXZlIHdpZGdldCB3aGVuIENLRWRpdG9yIGlzIGluIHJlYWRPbmx5IG1vZGUuXG5cdFx0ICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xMjYxXG5cdFx0ICpcblx0XHQgKiBMZWF2ZSB0aGUgdW5pdCBiZWNhdXNlIHRoaXMgY3VzdG9tIHByb3BlcnR5IGlzIHVzZWQgaW4gY2FsYygpIGJ5IG90aGVyIGZlYXR1cmVzLlxuXHRcdCAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNjc3NVxuXHRcdCAqL1xuXHRcdC0tY2std2lkZ2V0LW91dGxpbmUtdGhpY2tuZXNzOiAwcHg7XG5cdH1cblxuXHQmLmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUge1xuXHRcdCYgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSxcblx0XHQmIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGU6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWJsdXJyZWQtYm9yZGVyKTtcblx0XHR9XG5cdH1cbn1cblxuLyogU3R5bGUgdGhlIHdpZGdldCB3aGVuIGl0J3Mgc2VsZWN0ZWQgYnV0IHRoZSBlZGl0YWJsZSBpdCBiZWxvbmdzIHRvIGxvc3QgZm9jdXMuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stYmx1cnJlZCAuY2std2lkZ2V0IHtcblx0Ji5jay13aWRnZXRfc2VsZWN0ZWQsXG5cdCYuY2std2lkZ2V0X3NlbGVjdGVkOmhvdmVyIHtcblx0XHRvdXRsaW5lLWNvbG9yOiB2YXIoLS1jay1jb2xvci13aWRnZXQtYmx1cnJlZC1ib3JkZXIpO1xuXG5cdFx0Ji5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIHtcblx0XHRcdCYgPiAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlLFxuXHRcdFx0JiA+IC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGU6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci13aWRnZXQtYmx1cnJlZC1ib3JkZXIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSA+IC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZTpmaXJzdC1jaGlsZCxcbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIGJsb2NrcXVvdGUgPiAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGU6Zmlyc3QtY2hpbGQge1xuXHQvKiBEbyBub3QgY3JvcCBzZWxlY3Rpb24gaGFuZGxlciBpZiBhIHdpZGdldCBpcyBhIGZpcnN0LWNoaWxkIGluIHRoZSBibG9ja3F1b3RlIG9yIGluIHRoZSByb290IGVkaXRhYmxlLlxuXHRJbiBmYWN0LCBhbnl0aGluZyB3aXRoIG92ZXJmbG93OiBoaWRkZW4uXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtYmxvY2stcXVvdGUvaXNzdWVzLzI4XG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtd2lkZ2V0L2lzc3Vlcy80NFxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXdpZGdldC9pc3N1ZXMvNjYgKi9cblx0bWFyZ2luLXRvcDogY2FsYygxZW0gKyB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1pY29uLXNpemUpKTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1yZXNpemVyLXNpemU6IDEwcHg7XG5cblx0LyogU2V0IHRoZSByZXNpemVyIHdpdGggYSA1MCUgb2Zmc2V0LiAqL1xuXHQtLWNrLXJlc2l6ZXItb2Zmc2V0OiBjYWxjKCAoIHZhcigtLWNrLXJlc2l6ZXItc2l6ZSkgLyAtMiApIC0gMnB4KTtcblx0LS1jay1yZXNpemVyLWJvcmRlci13aWR0aDogMXB4O1xufVxuXG4uY2sgLmNrLXdpZGdldF9fcmVzaXplciB7XG5cdG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1yZXNpemVyKTtcbn1cblxuLmNrIC5jay13aWRnZXRfX3Jlc2l6ZXJfX2hhbmRsZSB7XG5cdHdpZHRoOiB2YXIoLS1jay1yZXNpemVyLXNpemUpO1xuXHRoZWlnaHQ6IHZhcigtLWNrLXJlc2l6ZXItc2l6ZSk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcik7XG5cdGJvcmRlcjogdmFyKC0tY2stcmVzaXplci1ib3JkZXItd2lkdGgpIHNvbGlkIGhzbCgwLCAwJSwgMTAwJSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLXJlc2l6ZXItYm9yZGVyLXJhZGl1cyk7XG5cblx0Ji5jay13aWRnZXRfX3Jlc2l6ZXJfX2hhbmRsZS10b3AtbGVmdCB7XG5cdFx0dG9wOiB2YXIoLS1jay1yZXNpemVyLW9mZnNldCk7XG5cdFx0bGVmdDogdmFyKC0tY2stcmVzaXplci1vZmZzZXQpO1xuXHR9XG5cblx0Ji5jay13aWRnZXRfX3Jlc2l6ZXJfX2hhbmRsZS10b3AtcmlnaHQge1xuXHRcdHRvcDogdmFyKC0tY2stcmVzaXplci1vZmZzZXQpO1xuXHRcdHJpZ2h0OiB2YXIoLS1jay1yZXNpemVyLW9mZnNldCk7XG5cdH1cblxuXHQmLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlLWJvdHRvbS1yaWdodCB7XG5cdFx0Ym90dG9tOiB2YXIoLS1jay1yZXNpemVyLW9mZnNldCk7XG5cdFx0cmlnaHQ6IHZhcigtLWNrLXJlc2l6ZXItb2Zmc2V0KTtcblx0fVxuXG5cdCYuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUtYm90dG9tLWxlZnQge1xuXHRcdGJvdHRvbTogdmFyKC0tY2stcmVzaXplci1vZmZzZXQpO1xuXHRcdGxlZnQ6IHZhcigtLWNrLXJlc2l6ZXItb2Zmc2V0KTtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24tc2l6ZTogMjBweDtcblx0LS1jay1jb2xvci13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLWFjdGl2ZTogdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKTtcblx0LS1jay1jb2xvci13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLWhvdmVyOiB2YXIoLS1jay1jb2xvci13aWRnZXQtaG92ZXItYm9yZGVyKTtcblx0LS1jay1jb2xvci13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLWJsdXJyZWQtZWRpdGFibGU6IHZhcigtLWNrLWNvbG9yLXdpZGdldC1ibHVycmVkLWJvcmRlcik7XG5cdC0tY2stY29sb3Itd2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1yYWRhci1zdGFydC1hbHBoYTogMDtcblx0LS1jay1jb2xvci13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLXJhZGFyLWVuZC1hbHBoYTogLjM7XG5cdC0tY2stY29sb3Itd2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1pY29uOiB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xufVxuXG5AZGVmaW5lLW1peGluIGNrLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24tdmlzaWJsZSB7XG5cdG9wYWNpdHk6IDE7XG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG5AZGVmaW5lLW1peGluIGNrLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24taGlkZGVuIHtcblx0b3BhY2l0eTogMDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jayAuY2std2lkZ2V0IHtcblx0Lypcblx0ICogU3R5bGVzIG9mIHRoZSB0eXBlIGFyb3VuZCBidXR0b25zXG5cdCAqL1xuXHQmIC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24ge1xuXHRcdHdpZHRoOiB2YXIoLS1jay13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLXNpemUpO1xuXHRcdGhlaWdodDogdmFyKC0tY2std2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1zaXplKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uKTtcblx0XHRib3JkZXItcmFkaXVzOiAxMDBweDtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWN1cnZlKSwgYmFja2dyb3VuZCB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1jdXJ2ZSk7XG5cblx0XHRAbWl4aW4gY2std2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1oaWRkZW47XG5cblx0XHRAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHRcdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0XHR9XG5cblx0XHQmIHN2ZyB7XG5cdFx0XHR3aWR0aDogMTBweDtcblx0XHRcdGhlaWdodDogOHB4O1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZTtcblx0XHRcdG1hcmdpbi10b3A6IDFweDtcblxuXHRcdFx0QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0XHRcdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0JiAqIHtcblx0XHRcdFx0c3Ryb2tlLWRhc2hhcnJheTogMTA7XG5cdFx0XHRcdHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuXG5cdFx0XHRcdGZpbGw6IG5vbmU7XG5cdFx0XHRcdHN0cm9rZTogdmFyKC0tY2stY29sb3Itd2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1pY29uKTtcblx0XHRcdFx0c3Ryb2tlLXdpZHRoOiAxLjVweDtcblx0XHRcdFx0c3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuXHRcdFx0XHRzdHJva2UtbGluZWpvaW46IHJvdW5kO1xuXHRcdFx0fVxuXG5cdFx0XHQmIGxpbmUge1xuXHRcdFx0XHRzdHJva2UtZGFzaGFycmF5OiA3O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Lypcblx0XHRcdCAqIERpc3BsYXkgdGhlIFwic29uYXJcIiBhcm91bmQgdGhlIGJ1dHRvbiB3aGVuIGhvdmVyZWQuXG5cdFx0XHQgKi9cblx0XHRcdGFuaW1hdGlvbjogY2std2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1zb25hciAxcyBlYXNlIGluZmluaXRlO1xuXG5cdFx0XHQvKlxuXHRcdFx0ICogQW5pbWF0ZSBhY3RpdmUgYnV0dG9uJ3MgaWNvbi5cblx0XHRcdCAqL1xuXHRcdFx0JiBzdmcge1xuXHRcdFx0XHQmIHBvbHlsaW5lIHtcblx0XHRcdFx0XHRhbmltYXRpb246IGNrLXdpZGdldC10eXBlLWFyb3VuZC1hcnJvdy1kYXNoIDJzIGxpbmVhcjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYgbGluZSB7XG5cdFx0XHRcdFx0YW5pbWF0aW9uOiBjay13aWRnZXQtdHlwZS1hcm91bmQtYXJyb3ctdGlwLWRhc2ggMnMgbGluZWFyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cdFx0XHRcdGFuaW1hdGlvbjogbm9uZTtcblxuXHRcdFx0XHQmIHN2ZyB7XG5cdFx0XHRcdFx0JiBwb2x5bGluZSB7XG5cdFx0XHRcdFx0XHRhbmltYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JiBsaW5lIHtcblx0XHRcdFx0XHRcdGFuaW1hdGlvbjogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKlxuXHQgKiBTaG93IHR5cGUgYXJvdW5kIGJ1dHRvbnMgd2hlbiB0aGUgd2lkZ2V0IGdldHMgc2VsZWN0ZWQgb3IgYmVpbmcgaG92ZXJlZC5cblx0ICovXG5cdCYuY2std2lkZ2V0X3NlbGVjdGVkLFxuXHQmOmhvdmVyIHtcblx0XHQmID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uIHtcblx0XHRcdEBtaXhpbiBjay13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLXZpc2libGU7XG5cdFx0fVxuXHR9XG5cblx0Lypcblx0ICogU3R5bGVzIGZvciB0aGUgYnV0dG9ucyB3aGVuIHRoZSB3aWRnZXQgaXMgTk9UIHNlbGVjdGVkIChidXQgdGhlIGJ1dHRvbnMgYXJlIHZpc2libGVcblx0ICogYW5kIHN0aWxsIGNhbiBiZSBob3ZlcmVkKS5cblx0ICovXG5cdCY6bm90KC5jay13aWRnZXRfc2VsZWN0ZWQpID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLWhvdmVyKTtcblx0fVxuXG5cdC8qXG5cdCAqIFN0eWxlcyBmb3IgdGhlIGJ1dHRvbnMgd2hlbjpcblx0ICogLSB0aGUgd2lkZ2V0IGlzIHNlbGVjdGVkLFxuXHQgKiAtIG9yIHRoZSBidXR0b24gaXMgYmVpbmcgaG92ZXJlZCAocmVnYXJkbGVzcyBvZiB0aGUgd2lkZ2V0IHN0YXRlKS5cblx0ICovXG5cdCYuY2std2lkZ2V0X3NlbGVjdGVkID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uLFxuXHQmID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLWFjdGl2ZSk7XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHR3aWR0aDogY2FsYyh2YXIoLS1jay13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLXNpemUpIC0gMnB4KTtcblx0XHRcdGhlaWdodDogY2FsYyh2YXIoLS1jay13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLXNpemUpIC0gMnB4KTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgaHNsYSgwLDAlLDEwMCUsMCkgMCUsIGhzbGEoMCwwJSwxMDAlLC4zKSAxMDAlKTtcblx0XHR9XG5cdH1cblxuXHQvKlxuXHQgKiBTdHlsZXMgZm9yIHRoZSBcImJlZm9yZVwiIGJ1dHRvbiB3aGVuIHRoZSB3aWRnZXQgaGFzIGEgc2VsZWN0aW9uIGhhbmRsZS4gQmVjYXVzZSBzb21lIHNwYWNlXG5cdCAqIGlzIGNvbnN1bWVkIGJ5IHRoZSBoYW5kbGUsIHRoZSBidXR0b24gbXVzdCBiZSBtb3ZlZCBzbGlnaHRseSB0byB0aGUgcmlnaHQgdG8gbGV0IGl0IGJyZWF0aGUuXG5cdCAqL1xuXHQmLmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b25fYmVmb3JlIHtcblx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0fVxuXG5cdC8qXG5cdCAqIFN0eWxlcyBmb3IgdGhlIGhvcml6b250YWwgXCJmYWtlIGNhcmV0XCIgd2hpY2ggaXMgZGlzcGxheWVkIHdoZW4gdGhlIHVzZXIgbmF2aWdhdGVzIHVzaW5nIHRoZSBrZXlib2FyZC5cblx0ICovXG5cdCYgLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2Zha2UtY2FyZXQge1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdGFuaW1hdGlvbjogY2std2lkZ2V0LXR5cGUtYXJvdW5kLWZha2UtY2FyZXQtcHVsc2UgbGluZWFyIDFzIGluZmluaXRlIG5vcm1hbCBmb3J3YXJkcztcblxuXHRcdC8qXG5cdFx0ICogVGhlIHNlbWktdHJhbnNwYXJlbnQtb3V0bGluZStiYWNrZ3JvdW5kIGNvbWJvIGltcHJvdmVzIHRoZSBjb250cmFzdFxuXHRcdCAqIHdoZW4gdGhlIGJhY2tncm91bmQgdW5kZXJuZWF0aCB0aGUgZmFrZSBjYXJldCBpcyBkYXJrLlxuXHRcdCAqL1xuXHRcdG91dGxpbmU6IHNvbGlkIDFweCBoc2xhKDAsIDAlLCAxMDAlLCAuNSk7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS10ZXh0KTtcblx0fVxuXG5cdC8qXG5cdCAqIFN0eWxlcyBvZiB0aGUgd2lkZ2V0IHdoZW4gdGhlIFwiZmFrZSBjYXJldFwiIGlzIGJsaW5raW5nIChlLmcuIHVwb24ga2V5Ym9hcmQgbmF2aWdhdGlvbikuXG5cdCAqIERlc3BpdGUgdGhlIHdpZGdldCBiZWluZyBwaHlzaWNhbGx5IHNlbGVjdGVkIGluIHRoZSBtb2RlbCwgaXRzIG91dGxpbmUgc2hvdWxkIGRpc2FwcGVhci5cblx0ICovXG5cdCYuY2std2lkZ2V0X3NlbGVjdGVkIHtcblx0XHQmLmNrLXdpZGdldF90eXBlLWFyb3VuZF9zaG93LWZha2UtY2FyZXRfYmVmb3JlLFxuXHRcdCYuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9hZnRlciB7XG5cdFx0XHRvdXRsaW5lLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cdH1cblxuXHQmLmNrLXdpZGdldF90eXBlLWFyb3VuZF9zaG93LWZha2UtY2FyZXRfYmVmb3JlLFxuXHQmLmNrLXdpZGdldF90eXBlLWFyb3VuZF9zaG93LWZha2UtY2FyZXRfYWZ0ZXIge1xuXHRcdC8qXG5cdFx0ICogV2hlbiB0aGUgXCJmYWtlIGNhcmV0XCIgaXMgdmlzaWJsZSB3ZSBzaW11bGF0ZSB0aGF0IHRoZSB3aWRnZXQgaXMgbm90IHNlbGVjdGVkXG5cdFx0ICogKGRlc3BpdGUgYmVpbmcgcGh5c2ljYWxseSBzZWxlY3RlZCksIHNvIHRoZSBvdXRsaW5lIGNvbG9yIHNob3VsZCBiZSBmb3IgdGhlXG5cdFx0ICogdW5zZWxlY3RlZCB3aWRnZXQuXG5cdFx0ICovXG5cdFx0Ji5jay13aWRnZXRfc2VsZWN0ZWQ6aG92ZXIge1xuXHRcdFx0b3V0bGluZS1jb2xvcjogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWhvdmVyLWJvcmRlcik7XG5cdFx0fVxuXG5cdFx0Lypcblx0XHQgKiBTdHlsZXMgb2YgdGhlIHR5cGUgYXJvdW5kIGJ1dHRvbnMgd2hlbiB0aGUgXCJmYWtlIGNhcmV0XCIgaXMgYmxpbmtpbmcgKGUuZy4gdXBvbiBrZXlib2FyZCBuYXZpZ2F0aW9uKS5cblx0XHQgKiBJbiB0aGlzIHN0YXRlLCB0aGUgdHlwZSBhcm91bmQgYnV0dG9ucyB3b3VsZCBjb2xsaWRlIHdpdGggdGhlIGZha2UgY2FyZXRzIHNvIHRoZXkgc2hvdWxkIGRpc2FwcGVhci5cblx0XHQgKi9cblx0XHQmID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uIHtcblx0XHRcdEBtaXhpbiBjay13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLWhpZGRlbjtcblx0XHR9XG5cblx0XHQvKlxuXHRcdCAqIEZha2UgaG9yaXpvbnRhbCBjYXJldCBpbnRlZ3JhdGlvbiB3aXRoIHRoZSBzZWxlY3Rpb24gaGFuZGxlLiBXaGVuIHRoZSBjYXJldCBpcyB2aXNpYmxlLCBzaW1wbHlcblx0XHQgKiBoaWRlIHRoZSBoYW5kbGUgYmVjYXVzZSBpdCBpbnRlcnNlY3RzIHdpdGggdGhlIGNhcmV0IChhbmQgZG9lcyBub3QgbWFrZSBtdWNoIHNlbnNlIGFueXdheSkuXG5cdFx0ICovXG5cdFx0Ji5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIHtcblx0XHRcdCYuY2std2lkZ2V0X3NlbGVjdGVkLFxuXHRcdFx0Ji5jay13aWRnZXRfc2VsZWN0ZWQ6aG92ZXIge1xuXHRcdFx0XHQmID4gLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lypcblx0XHQgKiBGYWtlIGhvcml6b250YWwgY2FyZXQgaW50ZWdyYXRpb24gd2l0aCB0aGUgcmVzaXplIFVJLiBXaGVuIHRoZSBjYXJldCBpcyB2aXNpYmxlLCBzaW1wbHlcblx0XHQgKiBoaWRlIHRoZSByZXNpemUgVUkgYmVjYXVzZSBpdCBjcmVhdGVzIHRvbyBtdWNoIG5vaXNlLiBJdCBjYW4gYmUgdmlzaWJsZSB3aGVuIHRoZSB1c2VyXG5cdFx0ICogaG92ZXJzIHRoZSB3aWRnZXQsIHRob3VnaC5cblx0XHQgKi9cblx0XHQmLmNrLXdpZGdldF9zZWxlY3RlZC5jay13aWRnZXRfd2l0aC1yZXNpemVyID4gLmNrLXdpZGdldF9fcmVzaXplciB7XG5cdFx0XHRvcGFjaXR5OiAwXG5cdFx0fVxuXHR9XG59XG5cbi8qXG4gKiBTdHlsZXMgZm9yIHRoZSBcImJlZm9yZVwiIGJ1dHRvbiB3aGVuIHRoZSB3aWRnZXQgaGFzIGEgc2VsZWN0aW9uIGhhbmRsZSBpbiBhbiBSVEwgZW52aXJvbm1lbnQuXG4gKiBUaGUgc2VsZWN0aW9uIGhhbmRsZXIgaXMgYWxpZ25lZCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgd2lkZ2V0IHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gY3JlYXRlXG4gKiBhZGRpdGlvbmFsIHNwYWNlIGZvciBpdCBuZXh0IHRvIHRoZSBcImJlZm9yZVwiIGJ1dHRvbi5cbiAqL1xuLmNrW2Rpcj1cInJ0bFwiXSAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUgLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uX2JlZm9yZSB7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi8qXG4gKiBIaWRlIHR5cGUgYXJvdW5kIGJ1dHRvbnMgd2hlbiB0aGUgd2lkZ2V0IGlzIHNlbGVjdGVkIGFzIGEgY2hpbGQgb2YgYSBzZWxlY3RlZFxuICogbmVzdGVkIGVkaXRhYmxlIChlLmcuIG11bGl0LWNlbGwgdGFibGUgc2VsZWN0aW9uKS5cbiAqXG4gKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNzI2My5cbiAqL1xuLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfc2VsZWN0ZWQge1xuXHQmIC5jay13aWRnZXQge1xuXHRcdCYuY2std2lkZ2V0X3NlbGVjdGVkLFxuXHRcdCY6aG92ZXIge1xuXHRcdFx0JiA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbiB7XG5cdFx0XHRcdEBtaXhpbiBjay13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLWhpZGRlbjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLypcbiAqIFN0eWxlcyBmb3IgdGhlIGJ1dHRvbnMgd2hlbiB0aGUgd2lkZ2V0IGlzIHNlbGVjdGVkIGJ1dCB0aGUgdXNlciBjbGlja2VkIG91dHNpZGUgb2YgdGhlIGVkaXRvciAoYmx1cnJlZCB0aGUgZWRpdG9yKS5cbiAqL1xuLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stYmx1cnJlZCAuY2std2lkZ2V0LmNrLXdpZGdldF9zZWxlY3RlZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbjpub3QoOmhvdmVyKSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24tYmx1cnJlZC1lZGl0YWJsZSk7XG5cblx0JiBzdmcgKiB7XG5cdFx0c3Ryb2tlOiBoc2woMCwwJSw2MCUpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgY2std2lkZ2V0LXR5cGUtYXJvdW5kLWFycm93LWRhc2gge1xuXHQwJSB7XG5cdFx0c3Ryb2tlLWRhc2hvZmZzZXQ6IDEwO1xuXHR9XG5cdDIwJSwgMTAwJSB7XG5cdFx0c3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBjay13aWRnZXQtdHlwZS1hcm91bmQtYXJyb3ctdGlwLWRhc2gge1xuXHQwJSwgMjAlIHtcblx0XHRzdHJva2UtZGFzaG9mZnNldDogNztcblx0fVxuXHQ0MCUsIDEwMCUge1xuXHRcdHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgY2std2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1zb25hciB7XG5cdDAlIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAwIGhzbGEodmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyLWNvb3JkaW5hdGVzKSwgdmFyKC0tY2stY29sb3Itd2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1yYWRhci1zdGFydC1hbHBoYSkpO1xuXHR9XG5cdDUwJSB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgNXB4IGhzbGEodmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyLWNvb3JkaW5hdGVzKSwgdmFyKC0tY2stY29sb3Itd2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1yYWRhci1lbmQtYWxwaGEpKTtcblx0fVxuXHQxMDAlIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCA1cHggaHNsYSh2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXItY29vcmRpbmF0ZXMpLCB2YXIoLS1jay1jb2xvci13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLXJhZGFyLXN0YXJ0LWFscGhhKSk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBjay13aWRnZXQtdHlwZS1hcm91bmQtZmFrZS1jYXJldC1wdWxzZSB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDQ5JSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHQ1MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0OTklIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay1jb250ZW50IGNvZGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsIDAlLCA3OCUsIDAuMyk7XG5cdHBhZGRpbmc6IC4xNWVtO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC5jay1jb2RlX3NlbGVjdGVkICB7XG5cdGJhY2tncm91bmQtY29sb3I6IGhzbGEoMCwgMCUsIDc4JSwgMC41KTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay1jb250ZW50IGJsb2NrcXVvdGUge1xuXHQvKiBTZWUgIzEyICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1ibG9jay1xdW90ZS9pc3N1ZXMvMTUgKi9cblx0cGFkZGluZy1yaWdodDogMS41ZW07XG5cdHBhZGRpbmctbGVmdDogMS41ZW07XG5cblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRib3JkZXItbGVmdDogc29saWQgNXB4IGhzbCgwLCAwJSwgODAlKTtcbn1cblxuLmNrLWNvbnRlbnRbZGlyPVwicnRsXCJdIGJsb2NrcXVvdGUge1xuXHRib3JkZXItbGVmdDogMDtcblx0Ym9yZGVyLXJpZ2h0OiBzb2xpZCA1cHggaHNsKDAsIDAlLCA4MCUpO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQvKiBCYXNlZCBvbiBkZWZhdWx0IENLQm94IHRoZW1lIGNvbG9ycyAqL1xuXHQtLWNrLWltYWdlLXByb2Nlc3NpbmctaGlnaGxpZ2h0LWNvbG9yOiBoc2woMjIwLCAxMCUsIDk4JSk7XG5cdC0tY2staW1hZ2UtcHJvY2Vzc2luZy1iYWNrZ3JvdW5kLWNvbG9yOiBoc2woMjIwLCAxMCUsIDkwJSk7XG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIHtcblx0JiAuaW1hZ2Uge1xuXHRcdCYuaW1hZ2UtcHJvY2Vzc2luZyB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdFx0OTBkZWcsXG5cdFx0XHRcdFx0dmFyKC0tY2staW1hZ2UtcHJvY2Vzc2luZy1iYWNrZ3JvdW5kLWNvbG9yKSxcblx0XHRcdFx0XHR2YXIoLS1jay1pbWFnZS1wcm9jZXNzaW5nLWhpZ2hsaWdodC1jb2xvciksXG5cdFx0XHRcdFx0dmFyKC0tY2staW1hZ2UtcHJvY2Vzc2luZy1iYWNrZ3JvdW5kLWNvbG9yKVxuXHRcdFx0XHQpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcblxuXHRcdFx0XHRhbmltYXRpb246IGNrLWltYWdlLXByb2Nlc3NpbmctYW5pbWF0aW9uIDJzIGxpbmVhciBpbmZpbml0ZTtcblx0XHRcdH1cblxuXHRcdFx0JiBpbWcge1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBrZXlmcmFtZXMgY2staW1hZ2UtcHJvY2Vzc2luZy1hbmltYXRpb24ge1xuXHQwJSB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSAwO1xuXHR9XG5cdDEwMCUge1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IC0yMDAlIDA7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIHtcblx0Lypcblx0ICogVmVydGljYWwgZHJvcCB0YXJnZXQgKGluIHRleHQpLlxuXHQgKi9cblx0JiAuY2suY2stY2xpcGJvYXJkLWRyb3AtdGFyZ2V0LXBvc2l0aW9uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdFx0JiBzcGFuIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHdpZHRoOiAwO1xuXHRcdH1cblx0fVxuXG5cdC8qXG5cdCAqIFN0eWxlcyBvZiB0aGUgd2lkZ2V0IGJlaW5nIGRyYWdnZWQgKGl0cyBwcmV2aWV3KS5cblx0ICovXG5cdCYgLmNrLXdpZGdldDotd2Via2l0LWRyYWcge1xuXHRcdCYgPiAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0JiA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi5jay5jay1jbGlwYm9hcmQtZHJvcC10YXJnZXQtbGluZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2stY29udGVudCBwcmUge1xuXHRwYWRkaW5nOiAxZW07XG5cdGNvbG9yOiBoc2woMCwgMCUsIDIwLjglKTtcblx0YmFja2dyb3VuZDogaHNsYSgwLCAwJSwgNzglLCAwLjMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCBoc2woMCwgMCUsIDc3JSk7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblxuXHQvKiBDb2RlIGJsb2NrIGFyZSBsYW5ndWFnZSBkaXJlY3Rpb27igJNhZ25vc3RpYy4gKi9cblx0dGV4dC1hbGlnbjogbGVmdDtcblx0ZGlyZWN0aW9uOiBsdHI7XG5cblx0dGFiLXNpemU6IDQ7XG5cdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcblxuXHQvKiBEb24ndCBpbmhlcml0IHRoZSBzdHlsZSwgZS5nLiB3aGVuIGluIGEgYmxvY2sgcXVvdGUuICovXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblxuXHQvKiBEb24ndCBsZXQgdGhlIGNvZGUgYmUgc3F1YXNoZWQgZS5nLiB3aGVuIGluIGEgdGFibGUgY2VsbC4gKi9cblx0bWluLXdpZHRoOiAyMDBweDtcblxuXHQmIGNvZGUge1xuXHRcdGJhY2tncm91bmQ6IHVuc2V0O1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0fVxufVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSBwcmUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0JltkYXRhLWxhbmd1YWdlXTo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IGF0dHIoZGF0YS1sYW5ndWFnZSk7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZWRpdG9yIHtcblx0LyogQWxsIHRoZSBlbGVtZW50cyB3aXRoaW4gYC5jay1lZGl0b3JgIGFyZSBwb3NpdGlvbmVkIHJlbGF0aXZlbHkgdG8gaXQuXG5cdCBJZiBhbnkgZWxlbWVudCBuZWVkcyB0byBiZSBwb3NpdGlvbmVkIHdpdGggcmVzcGVjdCB0byB0aGUgPGJvZHk+LCBldGMuLFxuXHQgaXQgbXVzdCBsYW5kIG91dHNpZGUgb2YgdGhlIGAuY2stZWRpdG9yYCBpbiBET00uICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmIC5jay1lZGl0b3JfX3RvcCAuY2stc3RpY2t5LXBhbmVsIC5jay10b29sYmFyIHtcblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LWVkaXRvci1jbGFzc2ljL2lzc3Vlcy82MiAqL1xuXHRcdHotaW5kZXg6IHZhcigtLWNrLXotcGFuZWwpO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stbWVudS1iYXIge1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci10b29sYmFyLWJvcmRlcik7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKiBTZWUgY2tlZGl0b3IvY2tlZGl0b3I1IzkzNi4gKi9cbi5jay5jay1wbGFjZWhvbGRlcixcbi5jayAuY2stcGxhY2Vob2xkZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHRjb250ZW50OiBhdHRyKGRhdGEtcGxhY2Vob2xkZXIpO1xuXG5cdFx0LyogU2VlIGNrZWRpdG9yL2NrZWRpdG9yNSM0NjkuICovXG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cbn1cblxuLyogU2VlIGNrZWRpdG9yL2NrZWRpdG9yNSMxOTg3LiAqL1xuLmNrLmNrLXJlYWQtb25seSAuY2stcGxhY2Vob2xkZXIge1xuXHQmOjpiZWZvcmUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLypcbiAqIFJ1bGVzIGZvciB0aGUgYGNrLXBsYWNlaG9sZGVyYCBhcmUgbG9hZGVkIGJlZm9yZSB0aGUgcnVsZXMgZm9yIGBjay1yZXNldF9hbGxgIGluIHRoZSBiYXNlIENLRWRpdG9yIDUgRExMIGJ1aWxkLlxuICogVGhpcyBmaXggb3ZlcndyaXRlcyB0aGUgaW5jb3JyZWN0bHkgc2V0IGBwb3NpdGlvbjogc3RhdGljYCBmcm9tIGBjay1yZXNldF9hbGxgLlxuICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzExNDE4LlxuICovXG4uY2suY2stcmVzZXRfYWxsIC5jay1wbGFjZWhvbGRlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qIEVsZW1lbnRzIG1hcmtlZCBieSB0aGUgUmVuZGVyZXIgYXMgaGlkZGVuIHNob3VsZCBiZSBpbnZpc2libGUgaW4gdGhlIGVkaXRvci4gKi9cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIHNwYW5bZGF0YS1jay11bnNhZmUtZWxlbWVudF0ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLWZpbmQtcmVzdWx0IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItaGlnaGxpZ2h0LWJhY2tncm91bmQpO1xuXHRjb2xvcjogdmFyKC0tY2stY29sb3ItdGV4dCk7XG59XG5cbi5jay1maW5kLXJlc3VsdF9zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQ6IGhzbCgyOSwgMTAwJSwgNjAlKTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm0ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cblx0JiAuY2stZmluZC1hbmQtcmVwbGFjZS1mb3JtX19pbnB1dHMsIC5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2FjdGlvbnMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHQvKiBUaGUgaW5wdXRzIGFyZWEgc3R5bGVzICovXG5cdFx0Ji5jay1maW5kLWFuZC1yZXBsYWNlLWZvcm1fX2lucHV0cyAuY2stcmVzdWx0cy1jb3VudGVyIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qIFRoZSB2YWx1ZXMgc2hvdWxkIGJlIHN5bmNocm9uaXplZCB3aXRoIHRoZSBcIkZPTlRfU0laRV9QUkVTRVRfVU5JVFNcIiBvYmplY3QgaW4gdGhlIFwiL3NyYy9mb250c2l6ZS91dGlscy5qc1wiIGZpbGUuICovXG5cbi8qIFN0eWxlcyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgYC5jay1jb250ZW50YCBjbGFzcy5cblNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy82NjM2ICovXG4uY2stY29udGVudCB7XG5cdCYgLnRleHQtdGlueSB7XG5cdFx0Zm9udC1zaXplOiAuN2VtO1xuXHR9XG5cblx0JiAudGV4dC1zbWFsbCB7XG5cdFx0Zm9udC1zaXplOiAuODVlbTtcblx0fVxuXG5cdCYgLnRleHQtYmlnIHtcblx0XHRmb250LXNpemU6IDEuNGVtO1xuXHR9XG5cblx0JiAudGV4dC1odWdlIHtcblx0XHRmb250LXNpemU6IDEuOGVtO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2staGVhZGluZ19oZWFkaW5nMSAuY2stYnV0dG9uX19sYWJlbCB7XG5cdGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLmNrLmNrLWhlYWRpbmdfaGVhZGluZzIgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRmb250LXNpemU6IDE3cHg7XG59XG5cbi5jay5jay1oZWFkaW5nX2hlYWRpbmczIC5jay1idXR0b25fX2xhYmVsIHtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4uY2tbY2xhc3MqPVwiY2staGVhZGluZ19oZWFkaW5nXCJdIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2staGlnaGxpZ2h0LW1hcmtlci15ZWxsb3c6IGhzbCg2MCwgOTclLCA3MyUpO1xuXHQtLWNrLWhpZ2hsaWdodC1tYXJrZXItZ3JlZW46IGhzbCgxMjAsIDkzJSwgNjglKTtcblx0LS1jay1oaWdobGlnaHQtbWFya2VyLXBpbms6IGhzbCgzNDUsIDk2JSwgNzMlKTtcblx0LS1jay1oaWdobGlnaHQtbWFya2VyLWJsdWU6IGhzbCgyMDEsIDk3JSwgNzIlKTtcblx0LS1jay1oaWdobGlnaHQtcGVuLXJlZDogaHNsKDAsIDg1JSwgNDklKTtcblx0LS1jay1oaWdobGlnaHQtcGVuLWdyZWVuOiBoc2woMTEyLCAxMDAlLCAyNyUpO1xufVxuXG5AZGVmaW5lLW1peGluIGhpZ2hsaWdodC1tYXJrZXItY29sb3IgJGNvbG9yIHtcblx0LmNrLWNvbnRlbnQgLm1hcmtlci0kY29sb3Ige1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWhpZ2hsaWdodC1tYXJrZXItJGNvbG9yKTtcblx0fVxufVxuXG5AZGVmaW5lLW1peGluIGhpZ2hsaWdodC1wZW4tY29sb3IgJGNvbG9yIHtcblx0LmNrLWNvbnRlbnQgLnBlbi0kY29sb3Ige1xuXHRcdGNvbG9yOiB2YXIoLS1jay1oaWdobGlnaHQtcGVuLSRjb2xvcik7XG5cblx0XHQvKiBPdmVycmlkZSBkZWZhdWx0IHllbGxvdyBiYWNrZ3JvdW5kIG9mIGA8bWFyaz5gIGZyb20gdXNlciBhZ2VudCBzdHlsZXNoZWV0ICovXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cbn1cblxuQG1peGluIGhpZ2hsaWdodC1tYXJrZXItY29sb3IgeWVsbG93O1xuQG1peGluIGhpZ2hsaWdodC1tYXJrZXItY29sb3IgZ3JlZW47XG5AbWl4aW4gaGlnaGxpZ2h0LW1hcmtlci1jb2xvciBwaW5rO1xuQG1peGluIGhpZ2hsaWdodC1tYXJrZXItY29sb3IgYmx1ZTtcblxuQG1peGluIGhpZ2hsaWdodC1wZW4tY29sb3IgcmVkO1xuQG1peGluIGhpZ2hsaWdodC1wZW4tY29sb3IgZ3JlZW47XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5cbi5jay1lZGl0b3JfX2VkaXRhYmxlIC5jay1ob3Jpem9udGFsLWxpbmUge1xuXHQvKiBOZWNlc3NhcnkgdG8gcmVuZGVyIHByb3Blcmx5IG5leHQgdG8gZmxvYXRlZCBvYmplY3RzLCBlLmcuIHNpZGUgaW1hZ2UgY2FzZS4gKi9cblx0ZGlzcGxheTogZmxvdy1yb290O1xufVxuXG4uY2stY29udGVudCBociB7XG5cdG1hcmdpbjogMTVweCAwO1xuXHRoZWlnaHQ6IDRweDtcblx0YmFja2dyb3VuZDogaHNsKDAsIDAlLCA4NyUpO1xuXHRib3JkZXI6IDA7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKiBUaGUgZmVhdHVyZSBjb250YWluZXIuICovXG4uY2std2lkZ2V0LnJhdy1odG1sLWVtYmVkIHtcblx0LyogR2l2ZSB0aGUgZW1iZWQgc29tZSBhaXIuICovXG5cdC8qIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgZXF1YWwgdG8gLS1jay1zcGFjaW5nLWxhcmdlIHZhcmlhYmxlIGlmIHVzZWQgaW4gdGhlIGVkaXRvciBjb250ZXh0XG5cdHRvIGF2b2lkIHRoZSBjb250ZW50IGp1bXBpbmcgKFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy85ODI1KS4gKi9cblx0bWFyZ2luOiAwLjllbSBhdXRvO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsb3ctcm9vdDtcblxuXHQvKiBHaXZlIHRoZSBodG1sIGVtYmVkIHNvbWUgbWluaW1hbCB3aWR0aCBpbiB0aGUgY29udGVudCB0byBwcmV2ZW50IHRoZW1cblx0ZnJvbSBiZWluZyBcInNxdWFzaGVkXCIgaW4gdGlnaHQgc3BhY2VzLCBlLmcuIGluIHRhYmxlIGNlbGxzIChodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy84MzMxKSAqL1xuXHRtaW4td2lkdGg6IDE1ZW07XG5cblx0LyogRG9uJ3QgaW5oZXJpdCB0aGUgc3R5bGUsIGUuZy4gd2hlbiBpbiBhIGJsb2NrIHF1b3RlLiAqL1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cblx0LyogLS0tLS0gRW1lYmVkIGxhYmVsIGluIHRoZSB1cHBlciBsZWZ0IGNvcm5lciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdFx0LyogTWFrZSBzdXJlIHRoZSBjb250ZW50IGRvZXMgbm90IGNvdmVyIHRoZSBsYWJlbC4gKi9cblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cblx0LyogLS0tLS0gRW1lYmVkIGludGVybmFscyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQvKiBUaGUgc3dpdGNoIG1vZGUgYnV0dG9uIHdyYXBwZXIuICovXG5cdCYgLnJhdy1odG1sLWVtYmVkX19idXR0b25zLXdyYXBwZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdH1cblxuXHQmIC5yYXctaHRtbC1lbWJlZF9fcHJldmlldyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxuXG5cdCYgLnJhdy1odG1sLWVtYmVkX19wcmV2aWV3LWNvbnRlbnQge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW46IGF1dG87XG5cblx0XHQvKiBHaXZlcyBzcGFjaW5nIHRvIHRoZSBzbWFsbCByZW5kZXJhYmxlIGVsZW1lbnRzLCBzbyB0aGV5IGFsd2F5cyBjb3ZlciB0aGUgcGxhY2Vob2xkZXIuICovXG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0Ym9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcblx0XHRib3JkZXItc3BhY2luZzogN3B4O1xuXHR9XG5cblx0JiAucmF3LWh0bWwtZW1iZWRfX3ByZXZpZXctcGxhY2Vob2xkZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAwO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1odG1sLW9iamVjdC1lbWJlZC11bmZvY3VzZWQtb3V0bGluZS13aWR0aDogMXB4O1xufVxuXG4uY2std2lkZ2V0Lmh0bWwtb2JqZWN0LWVtYmVkIHtcblx0Zm9udC1zaXplOiB2YXIoLS1jay1mb250LXNpemUtYmFzZSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtZm9yZWdyb3VuZCk7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHQvKiBMZWF2ZSBzcGFjZSBmb3IgbGFiZWwgKi9cblx0cGFkZGluZy10b3A6IGNhbGModmFyKC0tY2stZm9udC1zaXplLXRpbnkpICsgdmFyKC0tY2stc3BhY2luZy1sYXJnZSkpO1xuXHRtaW4td2lkdGg6IGNhbGMoNzZweCArIHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpKTtcblxuXHQmOm5vdCguY2std2lkZ2V0X3NlbGVjdGVkKTpub3QoOmhvdmVyKSB7XG5cdFx0b3V0bGluZTogdmFyKC0tY2staHRtbC1vYmplY3QtZW1iZWQtdW5mb2N1c2VkLW91dGxpbmUtd2lkdGgpIGRhc2hlZCB2YXIoLS1jay1jb2xvci13aWRnZXQtYmx1cnJlZC1ib3JkZXIpO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Y29udGVudDogYXR0cihkYXRhLWh0bWwtb2JqZWN0LWVtYmVkLWxhYmVsKTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0YmFja2dyb3VuZDogaHNsKDBkZWcgMCUgNjAlKTtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWN1cnZlKTtcblx0XHRwYWRkaW5nOiBjYWxjKHZhcigtLWNrLXNwYWNpbmctdGlueSkgKyB2YXIoLS1jay1odG1sLW9iamVjdC1lbWJlZC11bmZvY3VzZWQtb3V0bGluZS13aWR0aCkpIHZhcigtLWNrLXNwYWNpbmctc21hbGwpIHZhcigtLWNrLXNwYWNpbmctdGlueSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogMCAwIHZhcigtLWNrLWJvcmRlci1yYWRpdXMpIHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tY2stZm9udC1zaXplLXRpbnkpO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1jay1mb250LWZhY2UpO1xuXHR9XG5cblx0LyogTWFrZSBzcGFjZSBmb3IgbGFiZWwuICovXG5cdCYgLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbi5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b25fYmVmb3JlIHtcblx0XHRtYXJnaW4tbGVmdDogNTBweDtcblx0fVxuXG5cdCYgLmh0bWwtb2JqZWN0LWVtYmVkX19jb250ZW50IHtcblx0XHQvKiBEaXNhYmxlIHVzZXIgaW50ZXJhY3Rpb24gd2l0aCBlbWJlZCBjb250ZW50ICovXG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cbn1cblxuZGl2LmNrLXdpZGdldC5odG1sLW9iamVjdC1lbWJlZCB7XG5cdG1hcmdpbjogMWVtIGF1dG87XG59XG5cbnNwYW4uY2std2lkZ2V0Lmh0bWwtb2JqZWN0LWVtYmVkIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX21lZGlhY29sb3JzLmNzc1wiO1xuXG46cm9vdCB7XG5cdC0tY2stY29sb3ItaW1hZ2UtY2FwdGlvbi1iYWNrZ3JvdW5kOiBoc2woMCwgMCUsIDk3JSk7XG5cdC0tY2stY29sb3ItaW1hZ2UtY2FwdGlvbi10ZXh0OiBoc2woMCwgMCUsIDIwJSk7XG5cdC0tY2stY29sb3ItaW1hZ2UtY2FwdGlvbi1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kOiBoc2woNTJkZWcgMTAwJSA1MCUpO1xufVxuXG4vKiBDb250ZW50IHN0eWxlcyAqL1xuLmNrLWNvbnRlbnQgLmltYWdlID4gZmlnY2FwdGlvbiB7XG5cdGRpc3BsYXk6IHRhYmxlLWNhcHRpb247XG5cdGNhcHRpb24tc2lkZTogYm90dG9tO1xuXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRjb2xvcjogdmFyKC0tY2stY29sb3ItaW1hZ2UtY2FwdGlvbi10ZXh0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stY29sb3ItaW1hZ2UtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcblx0cGFkZGluZzogLjZlbTtcblx0Zm9udC1zaXplOiAuNzVlbTtcblx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7XG5cblx0LyogSW1wcm92ZSBwbGFjZWhvbGRlciByZW5kZXJpbmcgaW4gaGlnaC1jb25zdHJhc3QgbW9kZSAoaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTQ5MDcpLiAqL1xuXHRAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuXHRcdGNvbG9yOiB1bnNldDtcblx0fVxufVxuXG4vKiBFZGl0aW5nIHN0eWxlcyAqL1xuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLmltYWdlID4gZmlnY2FwdGlvbi5pbWFnZV9fY2FwdGlvbl9oaWdobGlnaHRlZCB7XG5cdEBtaXhpbiBjay1tZWRpYS1kZWZhdWx0LWNvbG9ycyB7XG5cdFx0YW5pbWF0aW9uOiBjay1pbWFnZS1jYXB0aW9uLWhpZ2hsaWdodCAuNnMgZWFzZS1vdXQ7XG5cdH1cblxuXHRAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHRcdGFuaW1hdGlvbjogbm9uZTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGNrLWltYWdlLWNhcHRpb24taGlnaGxpZ2h0IHtcblx0MCUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLWltYWdlLWNhcHRpb24taGlnaGxpZ2h0ZWQtYmFja2dyb3VuZCk7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci1pbWFnZS1jYXB0aW9uLWJhY2tncm91bmQpO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2staW1hZ2UtaW5zZXJ0LXVybCB7XG5cdHdpZHRoOiA0MDBweDtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1sYXJnZSkgdmFyKC0tY2stc3BhY2luZy1sYXJnZSkgMDtcblxuXHQmIC5jay1pbWFnZS1pbnNlcnQtdXJsX19hY3Rpb24tcm93IHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qIFByZXNlcnZlIGFzcGVjdCByYXRpbyBvZiB0aGUgcmVzaXplZCBpbWFnZSBhZnRlciBpbnRyb2R1Y2luZyBpbWFnZSBoZWlnaHQgYXR0cmlidXRlLiAqL1xuLmNrLWNvbnRlbnQgaW1nLmltYWdlX3Jlc2l6ZWQge1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi5jay1jb250ZW50IC5pbWFnZS5pbWFnZV9yZXNpemVkIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHQvKlxuXHRUaGUgYDxmaWd1cmU+YCBlbGVtZW50IGZvciByZXNpemVkIGltYWdlcyBtdXN0IG5vdCB1c2UgYGRpc3BsYXk6dGFibGVgIGFzIGJyb3dzZXJzIGRvIG5vdCBzdXBwb3J0IGBtYXgtd2lkdGhgIGZvciBpdCB3ZWxsLlxuXHRTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDAxOTYwNC9jaHJvbWUtc2FmYXJpLWlnbm9yaW5nLW1heC13aWR0aC1pbi10YWJsZS8xNDQyMDY5MSMxNDQyMDY5MSBmb3IgbW9yZS5cblx0Rm9ydHVuYXRlbHksIHNpbmNlIHdlIGNvbnRyb2wgdGhlIHdpZHRoLCB0aGVyZSBpcyBubyByaXNrIHRoYXQgdGhlIGltYWdlIHdpbGwgbG9vayBiYWQuXG5cdCovXG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdCYgaW1nIHtcblx0XHQvKiBGb3IgcmVzaXplZCBpbWFnZXMgaXQgaXMgdGhlIGA8ZmlndXJlPmAgZWxlbWVudCB0aGF0IGRldGVybWluZXMgdGhlIGltYWdlIHdpZHRoLiAqL1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0JiA+IGZpZ2NhcHRpb24ge1xuXHRcdC8qIFRoZSBgPGZpZ3VyZT5gIGVsZW1lbnQgdXNlcyBgZGlzcGxheTpibG9ja2AsIHNvIGA8ZmlnY2FwdGlvbj5gIGFsc28gaGFzIHRvLiAqL1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIHtcblx0LyogVGhlIHJlc2l6ZWQgaW5saW5lIGltYWdlIG5lc3RlZCBpbiB0aGUgdGFibGUgc2hvdWxkIHJlc3BlY3QgaXRzIHBhcmVudCBzaXplLlxuXHRTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTExNy4gKi9cblx0JiB0ZCxcblx0JiB0aCB7XG5cdFx0JiAuaW1hZ2UtaW5saW5lLmltYWdlX3Jlc2l6ZWQgaW1nIHtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cbn1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stYnV0dG9uLmNrLWJ1dHRvbl93aXRoLXRleHQuY2stcmVzaXplLWltYWdlLWJ1dHRvbiAuY2stYnV0dG9uX19pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stYnV0dG9uLmNrLWJ1dHRvbl93aXRoLXRleHQuY2stcmVzaXplLWltYWdlLWJ1dHRvbiAuY2stYnV0dG9uX19pY29uIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xufVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWJ1dHRvbi5jay1yZXNpemUtaW1hZ2UtYnV0dG9uIC5jay1idXR0b25fX2xhYmVsIHtcblx0d2lkdGg6IDRlbTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fcndkLmNzc1wiO1xuXG4uY2suY2staW1hZ2UtY3VzdG9tLXJlc2l6ZS1mb3JtIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleC13cmFwOiBub3dyYXA7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG5cdCYgLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cblx0JiAuY2stbGFiZWwge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRAbWl4aW4gY2stbWVkaWEtcGhvbmUge1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblxuXHRcdCYgLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdH1cblxuXHRcdCYgLmNrLWJ1dHRvbiB7XG5cdFx0XHRmbGV4LWJhc2lzOiA1MCU7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2staW1hZ2Utc3R5bGUtc3BhY2luZzogMS41ZW07XG5cdC0tY2staW5saW5lLWltYWdlLXN0eWxlLXNwYWNpbmc6IGNhbGModmFyKC0tY2staW1hZ2Utc3R5bGUtc3BhY2luZykgLyAyKTtcbn1cblxuLmNrLWNvbnRlbnQge1xuXHQvKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE2MzE3ICovXG5cdCYgLmltYWdlIHtcblx0XHQvKiBQcm92aWRlcyBhIG1pbmltYWwgc2lkZSBtYXJnaW4gZm9yIHRoZSBsZWZ0IGFuZCByaWdodCBhbGlnbmVkIGltYWdlcywgc28gdGhhdCB0aGUgdXNlciBoYXMgYSB2aXN1YWwgZmVlZGJhY2tcblx0XHRjb25maXJtaW5nIHN1Y2Nlc3NmdWwgYXBwbGljYXRpb24gb2YgdGhlIHN0eWxlIGlmIGltYWdlIHdpZHRoIGV4Y2VlZHMgdGhlIGVkaXRvcidzIHNpemUuXG5cdFx0U2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzkzNDIgKi9cblx0XHQmLmltYWdlLXN0eWxlLWJsb2NrLWFsaWduLWxlZnQsXG5cdFx0Ji5pbWFnZS1zdHlsZS1ibG9jay1hbGlnbi1yaWdodCB7XG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWNrLWltYWdlLXN0eWxlLXNwYWNpbmcpKTtcblx0XHR9XG5cblx0XHQvKiBBbGxvd3MgZGlzcGxheWluZyBtdWx0aXBsZSBmbG9hdGluZyBpbWFnZXMgaW4gdGhlIHNhbWUgbGluZS5cblx0XHRTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTE4MyNpc3N1ZWNvbW1lbnQtODA0OTg4MTMyICovXG5cdFx0Ji5pbWFnZS1zdHlsZS1hbGlnbi1sZWZ0LFxuXHRcdCYuaW1hZ2Utc3R5bGUtYWxpZ24tcmlnaHQge1xuXHRcdFx0Y2xlYXI6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Ji5pbWFnZS1zdHlsZS1zaWRlIHtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nKTtcblx0XHRcdG1heC13aWR0aDogNTAlO1xuXHRcdH1cblxuXHRcdCYuaW1hZ2Utc3R5bGUtYWxpZ24tbGVmdCB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2staW1hZ2Utc3R5bGUtc3BhY2luZyk7XG5cdFx0fVxuXG5cdFx0Ji5pbWFnZS1zdHlsZS1hbGlnbi1yaWdodCB7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2staW1hZ2Utc3R5bGUtc3BhY2luZyk7XG5cdFx0fVxuXG5cdFx0Ji5pbWFnZS1zdHlsZS1ibG9jay1hbGlnbi1yaWdodCB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHR9XG5cblx0XHQmLmltYWdlLXN0eWxlLWJsb2NrLWFsaWduLWxlZnQge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0fVxuXHR9XG5cblx0JiAuaW1hZ2Utc3R5bGUtYWxpZ24tY2VudGVyIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cblxuXHQmIC5pbWFnZS1zdHlsZS1hbGlnbi1sZWZ0IHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLWltYWdlLXN0eWxlLXNwYWNpbmcpO1xuXHR9XG5cblx0JiAuaW1hZ2Utc3R5bGUtYWxpZ24tcmlnaHQge1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2staW1hZ2Utc3R5bGUtc3BhY2luZyk7XG5cdH1cblxuXHQvKiBTaW11bGF0ZXMgbWFyZ2luIGNvbGxhcHNpbmcgd2l0aCB0aGUgcHJlY2VkaW5nIHBhcmFncmFwaCwgd2hpY2ggZG9lcyBub3Qgd29yayBmb3IgdGhlIGZsb2F0aW5nIGVsZW1lbnRzLiAqL1xuXHQmIHAgKyAuaW1hZ2UuaW1hZ2Utc3R5bGUtYWxpZ24tbGVmdCxcblx0JiBwICsgLmltYWdlLmltYWdlLXN0eWxlLWFsaWduLXJpZ2h0LFxuXHQmIHAgKyAuaW1hZ2UuaW1hZ2Utc3R5bGUtc2lkZSB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXG5cdCYgLmltYWdlLWlubGluZSB7XG5cdFx0Ji5pbWFnZS1zdHlsZS1hbGlnbi1sZWZ0LFxuXHRcdCYuaW1hZ2Utc3R5bGUtYWxpZ24tcmlnaHQge1xuXHRcdFx0bWFyZ2luLXRvcDogdmFyKC0tY2staW5saW5lLWltYWdlLXN0eWxlLXNwYWNpbmcpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tY2staW5saW5lLWltYWdlLXN0eWxlLXNwYWNpbmcpO1xuXHRcdH1cblxuXHRcdCYuaW1hZ2Utc3R5bGUtYWxpZ24tbGVmdCB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLWlubGluZS1pbWFnZS1zdHlsZS1zcGFjaW5nKTtcblx0XHR9XG5cblx0XHQmLmltYWdlLXN0eWxlLWFsaWduLXJpZ2h0IHtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1pbmxpbmUtaW1hZ2Utc3R5bGUtc3BhY2luZyk7XG5cdFx0fVxuXHR9XG59XG5cbi5jay5jay1zcGxpdGJ1dHRvbiB7XG5cdC8qIFRoZSBidXR0b24gc2hvdWxkIGRpc3BsYXkgYXMgYSByZWd1bGFyIGRyb3AtZG93biBpZiB0aGUgYWN0aW9uIGJ1dHRvblxuXHRpcyBmb3JjZWQgdG8gZmlyZSB0aGUgc2FtZSBhY3Rpb24gYXMgdGhlIGFycm93IGJ1dHRvbi4gKi9cblx0Ji5jay1zcGxpdGJ1dHRvbl9mbGF0dGVuIHtcblx0XHQmOmhvdmVyLFxuXHRcdCYuY2stc3BsaXRidXR0b25fb3BlbiB7XG5cdFx0XHQmID4gLmNrLXNwbGl0YnV0dG9uX19hY3Rpb246bm90KC5jay1kaXNhYmxlZCksXG5cdFx0XHQmID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdzpub3QoLmNrLWRpc2FibGVkKSxcblx0XHRcdCYgPiAuY2stc3BsaXRidXR0b25fX2Fycm93Om5vdCguY2stZGlzYWJsZWQpOm5vdCg6aG92ZXIpIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stY29sb3ItYnV0dG9uLW9uLWJhY2tncm91bmQpO1xuXG5cdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5jay1zcGxpdGJ1dHRvbl9vcGVuOmhvdmVyIHtcblx0XHRcdCYgPiAuY2stc3BsaXRidXR0b25fX2FjdGlvbjpub3QoLmNrLWRpc2FibGVkKSxcblx0XHRcdCYgPiAuY2stc3BsaXRidXR0b25fX2Fycm93Om5vdCguY2stZGlzYWJsZWQpLFxuXHRcdFx0JiA+IC5jay1zcGxpdGJ1dHRvbl9fYXJyb3c6bm90KC5jay1kaXNhYmxlZCk6bm90KDpob3Zlcikge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci1idXR0b24tb24taG92ZXItYmFja2dyb3VuZCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX3J3ZC5jc3NcIjtcblxuLmNrLmNrLXRleHQtYWx0ZXJuYXRpdmUtZm9ybSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xuXG5cdCYgLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cblx0JiAuY2stbGFiZWwge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRAbWl4aW4gY2stbWVkaWEtcGhvbmUge1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblxuXHRcdCYgLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdH1cblxuXHRcdCYgLmNrLWJ1dHRvbiB7XG5cdFx0XHRmbGV4LWJhc2lzOiA1MCU7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSB7XG5cdCYgLmltYWdlLFxuXHQmIC5pbWFnZS1pbmxpbmUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG5cdC8qIFVwbG9hZCBwcm9ncmVzcyBiYXIuICovXG5cdCYgLmltYWdlIC5jay1wcm9ncmVzcy1iYXIsXG5cdCYgLmltYWdlLWlubGluZSAuY2stcHJvZ3Jlc3MtYmFyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay1pbWFnZS11cGxvYWQtY29tcGxldGUtaWNvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0Lypcblx0ICogU21hbGxlciBpbWFnZXMgc2hvdWxkIGhhdmUgdGhlIGljb24gY2xvc2VyIHRvIHRoZSBib3JkZXIuXG5cdCAqIE1hdGNoIHRoZSBpY29uIHBvc2l0aW9uIHdpdGggdGhlIGxpbmtlZCBpbWFnZSBpbmRpY2F0b3IgYnJvdWdodCBieSB0aGUgbGluayBpbWFnZSBmZWF0dXJlLlxuXHQgKi9cblx0dG9wOiBtaW4odmFyKC0tY2stc3BhY2luZy1tZWRpdW0pLCA2JSk7XG5cdHJpZ2h0OiBtaW4odmFyKC0tY2stc3BhY2luZy1tZWRpdW0pLCA2JSk7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0ei1pbmRleDogMTtcblxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jayAuY2stdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLWNvbnRlbnQge1xuXHQmIC5pbWFnZSB7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0LyogTWFrZSBzdXJlIHRoZXJlIGlzIHNvbWUgc3BhY2UgYmV0d2VlbiB0aGUgY29udGVudCBhbmQgdGhlIGltYWdlLiBDZW50ZXIgaW1hZ2UgYnkgZGVmYXVsdC4gKi9cblx0XHQvKiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGVxdWFsIHRvIC0tY2stc3BhY2luZy1sYXJnZSB2YXJpYWJsZSBpZiB1c2VkIGluIHRoZSBlZGl0b3IgY29udGV4dFxuXHQgXHR0byBhdm9pZCB0aGUgY29udGVudCBqdW1waW5nIChTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTgyNSkuICovXG5cdFx0bWFyZ2luOiAwLjllbSBhdXRvO1xuXG5cdFx0LyogTWFrZSBzdXJlIHRoZSBjYXB0aW9uIHdpbGwgYmUgZGlzcGxheWVkIHByb3Blcmx5IChTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE4NzApLiAqL1xuXHRcdG1pbi13aWR0aDogNTBweDtcblxuXHRcdCYgaW1nIHtcblx0XHRcdC8qIFByZXZlbnQgdW5uZWNlc3NhcnkgbWFyZ2lucyBjYXVzZWQgYnkgbGluZS1oZWlnaHQgKHNlZSAjNDQpLiAqL1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRcdC8qIENlbnRlciB0aGUgaW1hZ2UgaWYgaXRzIHdpZHRoIGlzIHNtYWxsZXIgdGhhbiB0aGUgY29udGVudCdzIHdpZHRoLiAqL1xuXHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cblx0XHRcdC8qIE1ha2Ugc3VyZSB0aGUgaW1hZ2UgbmV2ZXIgZXhjZWVkcyB0aGUgc2l6ZSBvZiB0aGUgcGFyZW50IGNvbnRhaW5lciAoY2tlZGl0b3IvY2tlZGl0b3I1LXVpIzY3KS4gKi9cblx0XHRcdG1heC13aWR0aDogMTAwJTtcblxuXHRcdFx0LyogTWFrZSBzdXJlIHRoZSBpbWFnZSBpcyBuZXZlciBzbWFsbGVyIHRoYW4gdGhlIHBhcmVudCBjb250YWluZXIgKFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTMwMCkuICovXG5cdFx0XHRtaW4td2lkdGg6IDEwMCU7XG5cblx0XHRcdC8qIEtlZXAgcHJvcG9ydGlvbnMgb2YgdGhlIGJsb2NrIGltYWdlIGlmIHRoZSBoZWlnaHQgaXMgc2V0IGFuZCB0aGUgaW1hZ2UgaXMgd2lkZXIgdGhhbiB0aGUgZWRpdG9yIHdpZHRoLlxuXHRcdFx0U2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE0NTQyLiAqL1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblx0fVxuXG5cdCYgLmltYWdlLWlubGluZSB7XG5cdFx0Lypcblx0XHQgKiBOb3JtYWxseSwgdGhlIC5pbWFnZS1pbmxpbmUgd291bGQgaGF2ZSBcImRpc3BsYXk6IGlubGluZS1ibG9ja1wiIGFuZCBcImltZyB7IHdpZHRoOiAxMDAlIH1cIiAodG8gZm9sbG93IHRoZSB3cmFwcGVyIHdoaWxlIHJlc2l6aW5nKS5cblx0XHQgKiBVbmZvcnR1bmF0ZWx5LCB0b2dldGhlciB3aXRoIFwic3Jjc2V0XCIsIGl0IGdldHMgYXV0b21hdGljYWxseSBzdHJldGNoZWQgdXAgdG8gdGhlIHdpZHRoIG9mIHRoZSBlZGl0aW5nIHJvb3QuXG5cdFx0ICogVGhpcyBzdHJhbmdlIGJlaGF2aW9yIGRvZXMgbm90IGhhcHBlbiB3aXRoIGlubGluZS1mbGV4LlxuXHRcdCAqL1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG5cdFx0LyogV2hpbGUgYmVpbmcgcmVzaXplZCwgZG9uJ3QgYWxsb3cgdGhlIGltYWdlIHRvIGV4Y2VlZCB0aGUgd2lkdGggb2YgdGhlIGVkaXRpbmcgcm9vdC4gKi9cblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cblx0XHQvKiBUaGlzIGlzIHJlcXVpcmVkIGJ5IFNhZmFyaSB0byByZXNpemUgaW1hZ2VzIGluIGEgc2Vuc2libGUgd2F5LiBXaXRob3V0IHRoaXMsIHRoZSBicm93c2VyIGJyZWFrcyB0aGUgcmF0aW8uICovXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cblx0XHQvKiBXaGVuIHRoZSBwaWN0dXJlIGlzIHByZXNlbnQgaXQgbXVzdCBhY3QgYXMgYSBmbGV4IGNvbnRhaW5lciB0byBsZXQgdGhlIGltZyByZXNpemUgcHJvcGVybHkgKi9cblx0XHQmIHBpY3R1cmUge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHR9XG5cblx0XHQvKiBXaGVuIHRoZSBwaWN0dXJlIGlzIHByZXNlbnQsIGl0IG11c3QgYWN0IGxpa2UgYSByZXNpemFibGUgaW1nLiAqL1xuXHRcdCYgcGljdHVyZSxcblx0XHQmIGltZyB7XG5cdFx0XHQvKiBUaGlzIGlzIG5lY2Vzc2FyeSBmb3IgdGhlIGltZyB0byBzcGFuIHRoZSBlbnRpcmUgLmltYWdlLWlubGluZSB3cmFwcGVyIGFuZCB0byByZXNpemUgcHJvcGVybHkuICovXG5cdFx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0XHRmbGV4LXNocmluazogMTtcblxuXHRcdFx0LyogUHJldmVudHMgb3ZlcmZsb3dpbmcgdGhlIGVkaXRpbmcgcm9vdCBib3VuZGFyaWVzIHdoZW4gYW4gaW5saW5lIGltYWdlIGlzIHZlcnkgd2lkZS4gKi9cblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cbn1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUge1xuXHQvKlxuXHQgKiBJbmhlcnRpdCB0aGUgY29udGVudCBzdHlsZXMgcGFkZGluZyBvZiB0aGUgPGZpZ2NhcHRpb24+IGluIGNhc2UgdGhlIGludGVncmF0aW9uIG92ZXJyaWRlcyBgdGV4dC1hbGlnbjogY2VudGVyYFxuXHQgKiBvZiBgLmltYWdlYCAoZS5nLiB0byB0aGUgbGVmdC9yaWdodCkuIFRoaXMgZW5zdXJlcyB0aGUgcGxhY2Vob2xkZXIgc3RheXMgYXQgdGhlIHBhZGRpbmcganVzdCBsaWtlIHRoZSBuYXRpdmVcblx0ICogY2FyZXQgZG9lcywgYW5kIG5vdCBhdCB0aGUgZWRnZSBvZiA8ZmlnY2FwdGlvbj4uXG5cdCAqL1xuXHQmIC5pbWFnZSA+IGZpZ2NhcHRpb24uY2stcGxhY2Vob2xkZXI6OmJlZm9yZSB7XG5cdFx0cGFkZGluZy1sZWZ0OiBpbmhlcml0O1xuXHRcdHBhZGRpbmctcmlnaHQ6IGluaGVyaXQ7XG5cblx0XHQvKlxuXHRcdCAqIE1ha2Ugc3VyZSB0aGUgaW1hZ2UgY2FwdGlvbiBwbGFjZWhvbGRlciBkb2Vzbid0IG92ZXJmbG93IHRoZSBwbGFjZWhvbGRlciBhcmVhLlxuXHRcdCAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy85MTYyLlxuXHRcdCAqL1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0fVxuXG5cdC8qXG5cdCAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNTExNS5cblx0ICovXG5cdCYgLmltYWdlIHtcblx0XHR6LWluZGV4OiAxO1xuXG5cdFx0Lypcblx0XHQgKiBNYWtlIHN1cmUgdGhlIHNlbGVjdGVkIGltYWdlIGFsd2F5cyBzdGF5cyBvbiB0b3Agb2YgaXRzIHNpYmxpbmdzLlxuXHRcdCAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy85MTA4LlxuXHRcdCAqL1xuXHRcdCYuY2std2lkZ2V0X3NlbGVjdGVkIHtcblx0XHRcdHotaW5kZXg6IDI7XG5cdFx0fVxuXHR9XG5cblx0Lypcblx0ICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE1MTE1LlxuXHQgKi9cblx0JiAuaW1hZ2UtaW5saW5lIHtcblx0XHR6LWluZGV4OiAxO1xuXG5cdFx0Lypcblx0XHQgKiBNYWtlIHN1cmUgdGhlIHNlbGVjdGVkIGlubGluZSBpbWFnZSBhbHdheXMgc3RheXMgb24gdG9wIG9mIGl0cyBzaWJsaW5ncy5cblx0XHQgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTEwOC5cblx0XHQgKi9cblx0XHQmLmNrLXdpZGdldF9zZWxlY3RlZCB7XG5cdFx0XHR6LWluZGV4OiAyO1xuXG5cdFx0XHQvKlxuXHRcdFx0ICogTWFrZSBzdXJlIHRoZSBuYXRpdmUgYnJvd3NlciBzZWxlY3Rpb24gc3R5bGUgaXMgbm90IGRpc3BsYXllZC5cblx0XHRcdCAqIElubGluZSBpbWFnZSB3aWRnZXRzIGhhdmUgdGhlaXIgb3duIHN0eWxlcyBmb3IgdGhlIHNlbGVjdGVkIHN0YXRlIGFuZFxuXHRcdFx0ICogbGVhdmluZyB0aGlzIHVwIHRvIHRoZSBicm93c2VyIGlzIGFza2luZyBmb3IgYSB2aXN1YWwgY29sbGlzaW9uLlxuXHRcdFx0ICovXG5cdFx0XHQmIDo6c2VsZWN0aW9uIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKiBLZWVwIHByb3BvcnRpb25zIG9mIHRoZSBpbmxpbmUgaW1hZ2UgaWYgdGhlIGhlaWdodCBpcyBzZXQgYW5kIHRoZSBpbWFnZSBpcyB3aWRlciB0aGFuIHRoZSBlZGl0b3Igd2lkdGguXG5cdFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNDU0Mi4gKi9cblx0JiAuaW1hZ2UtaW5saW5lIGltZyB7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cblx0LyogVGhlIGlubGluZSBpbWFnZSBuZXN0ZWQgaW4gdGhlIHRhYmxlIHNob3VsZCBoYXZlIGl0cyBvcmlnaW5hbCBzaXplIGlmIG5vdCByZXNpemVkLlxuXHRTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTExNy4gKi9cblx0JiB0ZCxcblx0JiB0aCB7XG5cdFx0JiAuaW1hZ2UtaW5saW5lIGltZyB7XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSB7XG5cdCYgaW1nLmltYWdlX3BsYWNlaG9sZGVyIHtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUge1xuXHQvKiBMaW5rZWQgaW1hZ2UgaW5kaWNhdG9yICovXG5cdCYgZmlndXJlLmltYWdlID4gYSxcblx0JiBhIHNwYW4uaW1hZ2UtaW5saW5lIHtcblx0XHQmOjphZnRlciB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR9XG5cdH1cbn1cblxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvbWl4aW5zL19yd2QuY3NzXCI7XG5cbi5jay5jay1saW5rLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblxuXHQmIC5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRcdCYgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR9XG5cdH1cblxuXHRAbWl4aW4gY2stbWVkaWEtcGhvbmUge1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblxuXHRcdCYgLmNrLWxpbmstYWN0aW9uc19fcHJldmlldyB7XG5cdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdH1cblxuXHRcdCYgLmNrLWJ1dHRvbjpub3QoLmNrLWxpbmstYWN0aW9uc19fcHJldmlldykge1xuXHRcdFx0ZmxleC1iYXNpczogNTAlO1xuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvbWl4aW5zL19yd2QuY3NzXCI7XG5cbi5jay5jay1saW5rLWZvcm0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuXHQmIC5jay1sYWJlbCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdEBtaXhpbiBjay1tZWRpYS1waG9uZSB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXG5cdFx0JiAuY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0XHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0fVxuXG5cdFx0JiAuY2stYnV0dG9uIHtcblx0XHRcdGZsZXgtYmFzaXM6IDUwJTtcblx0XHR9XG5cdH1cbn1cblxuLypcbiAqIFN0eWxlIGxpbmsgZm9ybSBkaWZmZXJlbnRseSB3aGVuIG1hbnVhbCBkZWNvcmF0b3JzIGFyZSBhdmFpbGFibGUuXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbGluay9pc3N1ZXMvMTg2LlxuICovXG4uY2suY2stbGluay1mb3JtX2xheW91dC12ZXJ0aWNhbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdC8qXG5cdCAqIFdoZXRoZXIgdGhlIGZvcm0gaXMgaW4gdGhlIHJlc3BvbnNpdmUgbW9kZSBvciBub3QsIGlmIHRoZXJlIGFyZSBkZWNvcmF0b3IgYnV0dG9uc1xuXHQgKiBrZWVwIHRoZSB0b3AgbWFyZ2luIG9mIGFjdGlvbiBidXR0b25zIG1lZGl1bS5cblx0ICovXG5cdCYgLmNrLWJ1dHRvbiB7XG5cdFx0Ji5jay1idXR0b24tc2F2ZSxcblx0XHQmLmNrLWJ1dHRvbi1jYW5jZWwge1xuXHRcdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLWVkaXRvcl9fZWRpdGFibGUgLmNrLWxpc3QtYm9ndXMtcGFyYWdyYXBoIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stbGlzdC1zdHlsZXMtbGlzdCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2stY29udGVudCBvbCB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcblxuXHQmIG9sIHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWxhdGluO1xuXG5cdFx0JiBvbCB7XG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuO1xuXG5cdFx0XHQmIG9sIHtcblx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiB1cHBlci1sYXRpbjtcblxuXHRcdFx0XHQmIG9sIHtcblx0XHRcdFx0XHRsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLXJvbWFuO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jay1jb250ZW50IHVsIHtcblx0bGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuXG5cdCYgdWwge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlO1xuXG5cdFx0JiB1bCB7XG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcblxuXHRcdFx0JiB1bCB7XG5cdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLXRvZG8tbGlzdC1jaGVja21hcmstc2l6ZTogMTZweDtcbn1cblxuQGRlZmluZS1taXhpbiB0b2RvLWxpc3QtY2hlY2tib3gge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogdmFyKC0tY2stdG9kby1saXN0LWNoZWNrbWFyay1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1jay10b2RvLWxpc3QtY2hlY2ttYXJrLXNpemUpO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG5cdC8qIE5lZWRlZCBvbiBpT1MgKi9cblx0Ym9yZGVyOiAwO1xuXG5cdC8qIExUUiBzdHlsZXMgKi9cblx0bGVmdDogLTI1cHg7XG5cdG1hcmdpbi1yaWdodDogLTE1cHg7XG5cdHJpZ2h0OiAwO1xuXHRtYXJnaW4tbGVmdDogMDtcblxuXHQvKiBSVEwgc3R5bGVzICovXG5cdFtkaXI9cnRsXSYge1xuXHRcdGxlZnQ6IDA7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdHJpZ2h0OiAtMjVweDtcblx0XHRtYXJnaW4tbGVmdDogLTE1cHg7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCBoc2woMCwgMCUsIDIwJSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRcdHRyYW5zaXRpb246IDI1MG1zIGVhc2UtaW4tb3V0IGJveC1zaGFkb3c7XG5cblx0XHRAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHRcdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmOjphZnRlciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXG5cdFx0LyogQ2FsY3VsYXRlIHRpY2sgcG9zaXRpb24sIHNpemUgYW5kIGJvcmRlci13aWR0aCBwcm9wb3J0aW9uYWwgdG8gdGhlIGNoZWNrbWFyayBzaXplLiAqL1xuXHRcdGxlZnQ6IGNhbGMoIHZhcigtLWNrLXRvZG8tbGlzdC1jaGVja21hcmstc2l6ZSkgLyAzICk7XG5cdFx0dG9wOiBjYWxjKCB2YXIoLS1jay10b2RvLWxpc3QtY2hlY2ttYXJrLXNpemUpIC8gNS4zICk7XG5cdFx0d2lkdGg6IGNhbGMoIHZhcigtLWNrLXRvZG8tbGlzdC1jaGVja21hcmstc2l6ZSkgLyA1LjMgKTtcblx0XHRoZWlnaHQ6IGNhbGMoIHZhcigtLWNrLXRvZG8tbGlzdC1jaGVja21hcmstc2l6ZSkgLyAyLjYgKTtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIGNhbGMoIHZhcigtLWNrLXRvZG8tbGlzdC1jaGVja21hcmstc2l6ZSkgLyA4ICkgY2FsYyggdmFyKC0tY2stdG9kby1saXN0LWNoZWNrbWFyay1zaXplKSAvIDggKSAwO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0fVxuXG5cdCZbY2hlY2tlZF0ge1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBoc2woMTI2LCA2NCUsIDQxJSk7XG5cdFx0XHRib3JkZXItY29sb3I6IGhzbCgxMjYsIDY0JSwgNDElKTtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRib3JkZXItY29sb3I6IGhzbCgwLCAwJSwgMTAwJSk7XG5cdFx0fVxuXHR9XG59XG5cbi8qXG4gKiBUby1kbyBsaXN0IGNvbnRlbnQgc3R5bGVzLlxuICovXG4uY2stY29udGVudCAudG9kby1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblxuXHQmIGxpIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXG5cdFx0JiAudG9kby1saXN0IHtcblx0XHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHR9XG5cdH1cblxuXHQmIC50b2RvLWxpc3RfX2xhYmVsIHtcblx0XHQmID4gaW5wdXQge1xuXHRcdFx0QG1peGluIHRvZG8tbGlzdC1jaGVja2JveDtcblx0XHR9XG5cblx0XHQmIC50b2RvLWxpc3RfX2xhYmVsX19kZXNjcmlwdGlvbiB7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdH1cblxuXHRcdCYudG9kby1saXN0X19sYWJlbF93aXRob3V0LWRlc2NyaXB0aW9uIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR9XG5cdH1cbn1cblxuLypcbiAqIFRvLWRvIGxpc3QgZWRpdGluZyB2aWV3IHN0eWxlcy5cbiAqL1xuLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stY29udGVudCAudG9kby1saXN0IC50b2RvLWxpc3RfX2xhYmVsIHtcblx0Lypcblx0ICogVG8tZG8gbGlzdCBzaG91bGQgYmUgaW50ZXJhY3RpdmUgb25seSBkdXJpbmcgdGhlIGVkaXRpbmdcblx0ICogKGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzIwOTApLlxuXHQgKi9cblx0JiA+IGlucHV0LFxuXHQmID4gc3Bhbltjb250ZW50ZWRpdGFibGU9ZmFsc2VdID4gaW5wdXQge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdCY6aG92ZXI6OmJlZm9yZSB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCA1cHggaHNsYSgwLCAwJSwgMCUsIDAuMSk7XG5cdFx0fVxuXHR9XG5cblx0Lypcblx0ICogRG9jdW1lbnQgTGlzdHMgLSBlZGl0aW5nIHZpZXcgaGFzIGFuIGFkZGl0aW9uYWwgc3BhbiBhcm91bmQgY2hlY2tib3guXG5cdCAqL1xuXHQmID4gc3Bhbltjb250ZW50ZWRpdGFibGU9ZmFsc2VdID4gaW5wdXQge1xuXHRcdEBtaXhpbiB0b2RvLWxpc3QtY2hlY2tib3g7XG5cdH1cblxuXHQmLnRvZG8tbGlzdF9fbGFiZWxfd2l0aG91dC1kZXNjcmlwdGlvbiB7XG5cdFx0JiBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2stY29udGVudCAubWVkaWEge1xuXHQvKiBEb24ndCBhbGxvdyBmbG9hdGVkIGNvbnRlbnQgb3ZlcmxhcCB0aGUgbWVkaWEuXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbWVkaWEtZW1iZWQvaXNzdWVzLzUzICovXG5cdGNsZWFyOiBib3RoO1xuXG5cdC8qIE1ha2Ugc3VyZSB0aGVyZSBpcyBzb21lIHNwYWNlIGJldHdlZW4gdGhlIGNvbnRlbnQgYW5kIHRoZSBtZWRpYS4gKi9cblx0LyogVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBlcXVhbCB0byAtLWNrLXNwYWNpbmctbGFyZ2UgdmFyaWFibGUgaWYgdXNlZCBpbiB0aGUgZWRpdG9yIGNvbnRleHRcblx0dG8gYXZvaWQgdGhlIGNvbnRlbnQganVtcGluZyAoU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzk4MjUpLiAqL1xuXHRtYXJnaW46IDAuOWVtIDA7XG5cblx0LyogTWFrZSBzdXJlIG1lZGlhIGlzIG5vdCBvdmVycmlkZW4gd2l0aCBCb290c3RyYXAgZGVmYXVsdCBgZmxleGAgdmFsdWUuXG5cdFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTM3My4gKi9cblx0ZGlzcGxheTogYmxvY2s7XG5cblx0LyogR2l2ZSB0aGUgbWVkaWEgc29tZSBtaW5pbWFsIHdpZHRoIGluIHRoZSBjb250ZW50IHRvIHByZXZlbnQgdGhlbVxuXHRmcm9tIGJlaW5nIFwic3F1YXNoZWRcIiBpbiB0aWdodCBzcGFjZXMsIGUuZy4gaW4gdGFibGUgY2VsbHMgKCM0NCkgKi9cblx0bWluLXdpZHRoOiAxNWVtO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLW1lZGlhX193cmFwcGVyIHtcblx0JiAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdCYgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsIHtcblx0XHRcdC8qIE90aGVyd2lzZSB0aGUgVVJMIHdpbGwgb3ZlcmZsb3cgd2hlbiB0aGUgY29udGVudCBpcyB2ZXJ5IG5hcnJvdy4gKi9cblx0XHRcdG1heC13aWR0aDogMTAwJTtcblxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQmIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybF9fdGV4dCB7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZbZGF0YS1vZW1iZWQtdXJsKj1cInR3aXR0ZXIuY29tXCJdLFxuXHQmW2RhdGEtb2VtYmVkLXVybCo9XCJnb29nbGUuY29tL21hcHNcIl0sXG5cdCZbZGF0YS1vZW1iZWQtdXJsKj1cImdvby5nbC9tYXBzXCJdLFxuXHQmW2RhdGEtb2VtYmVkLXVybCo9XCJtYXBzLmdvb2dsZS5jb21cIl0sXG5cdCZbZGF0YS1vZW1iZWQtdXJsKj1cIm1hcHMuYXBwLmdvby5nbFwiXSxcblx0JltkYXRhLW9lbWJlZC11cmwqPVwiZmFjZWJvb2suY29tXCJdLFxuXHQmW2RhdGEtb2VtYmVkLXVybCo9XCJpbnN0YWdyYW0uY29tXCJdIHtcblx0XHQmIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX2ljb24gKiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4vKiBEaXNhYmxlIGFsbCBtb3VzZSBpbnRlcmFjdGlvbiBhcyBsb25nIGFzIHRoZSBlZGl0b3IgaXMgbm90IHJlYWTigJNvbmx5LlxuICAgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1tZWRpYS1lbWJlZC9pc3N1ZXMvNTggKi9cbi5jay1lZGl0b3JfX2VkaXRhYmxlOm5vdCguY2stcmVhZC1vbmx5KSAuY2stbWVkaWFfX3dyYXBwZXIgPiAqOm5vdCguY2stbWVkaWFfX3BsYWNlaG9sZGVyKSB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBEaXNhYmxlIGFsbCBtb3VzZSBpbnRlcmFjdGlvbiB3aGVuIHRoZSB3aWRnZXQgaXMgbm90IHNlbGVjdGVkIChlLmcuIHRvIGF2b2lkIG9wZW5pbmcgbGlua3MgYnkgYWNjaWRlbnQpLlxuICAgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1tZWRpYS1lbWJlZC9pc3N1ZXMvMTggKi9cbi5jay1lZGl0b3JfX2VkaXRhYmxlOm5vdCguY2stcmVhZC1vbmx5KSAuY2std2lkZ2V0Om5vdCguY2std2lkZ2V0X3NlbGVjdGVkKSAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX3J3ZC5jc3NcIjtcblxuLmNrLXZlcnRpY2FsLWZvcm0gLmNrLWJ1dHRvbiB7XG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHdpZHRoOiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogLTFweDtcblx0XHR0b3A6IC0xcHg7XG5cdFx0Ym90dG9tOiAtMXB4O1xuXHRcdHotaW5kZXg6IDE7XG5cdH1cblxuXHQmOmZvY3VzOjphZnRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4uY2suY2stcmVzcG9uc2l2ZS1mb3JtIHtcblx0QG1peGluIGNrLW1lZGlhLXBob25lIHtcblx0XHQmIC5jay1idXR0b24ge1xuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogLTFweDtcblx0XHRcdFx0dG9wOiAtMXB4O1xuXHRcdFx0XHRib3R0b206IC0xcHg7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR9XG5cblx0XHRcdCY6Zm9jdXM6OmFmdGVyIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fcndkLmNzc1wiO1xuXG4uY2suY2stbWVkaWEtZm9ybSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0d2lkdGg6IDQwMHB4O1xuXG5cdCYgLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0JiAuY2stbGFiZWwge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQmIC5jay1pbnB1dCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHRAbWl4aW4gY2stbWVkaWEtcGhvbmUge1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblxuXHRcdCYgLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdH1cblxuXHRcdCYgLmNrLWJ1dHRvbiB7XG5cdFx0XHRmbGV4LWJhc2lzOiA1MCU7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stbWVudGlvbi1saXN0LW1heC1oZWlnaHQ6IDMwMHB4O1xufVxuXG4uY2suY2stbWVudGlvbnMge1xuXHRtYXgtaGVpZ2h0OiB2YXIoLS1jay1tZW50aW9uLWxpc3QtbWF4LWhlaWdodCk7XG5cblx0b3ZlcmZsb3cteTogYXV0bztcblxuXHQvKiBQcmV2ZW50IHVubmVjZXNzYXJ5IGhvcml6b250YWwgc2Nyb2xsYmFyIGluIFNhZmFyaVxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LW1lbnRpb24vaXNzdWVzLzQxICovXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblxuXHRvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuXG5cdC8qIFByZXZlbnQgdW5uZWNlc3NhcnkgdmVydGljYWwgc2Nyb2xsYmFyIGluIFNhZmFyaVxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LW1lbnRpb24vaXNzdWVzLzQxICovXG5cdCYgPiAuY2stbGlzdF9faXRlbSB7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRmbGV4LXNocmluazogMDtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLW1pbmltYXAtdHJhY2tlci1iYWNrZ3JvdW5kOiAyMDgsIDAlLCA1MSU7XG5cdC0tY2stY29sb3ItbWluaW1hcC1pZnJhbWUtb3V0bGluZTogaHNsKDBkZWcgMCUgNzUlKTtcblx0LS1jay1jb2xvci1taW5pbWFwLWlmcmFtZS1zaGFkb3c6IGhzbCgwZGVnIDAlIDAlIC8gMTElKTtcblx0LS1jay1jb2xvci1taW5pbWFwLXByb2dyZXNzLWJhY2tncm91bmQ6IGhzbCgwLDAlLDQwJSk7XG59XG5cbi5jay5jay1taW5pbWFwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuXHQmLFxuXHQmIGlmcmFtZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG5cblx0JiBpZnJhbWUge1xuXHRcdGJvcmRlcjogMDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0b3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLW1pbmltYXAtaWZyYW1lLW91dGxpbmUpO1xuXHRcdGJveC1zaGFkb3c6IDAgMnB4IDVweCB2YXIoLS1jay1jb2xvci1taW5pbWFwLWlmcmFtZS1zaGFkb3cpO1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdCYgLmNrLmNrLW1pbmltYXBfX3Bvc2l0aW9uLXRyYWNrZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR0b3A6IDA7XG5cdFx0YmFja2dyb3VuZDogaHNsYSggdmFyKC0tY2stY29sb3ItbWluaW1hcC10cmFja2VyLWJhY2tncm91bmQpLCAuMiApO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMDBtcyBlYXNlLWluLW91dDtcblxuXG5cdFx0QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0XHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOmhzbGEoIHZhcigtLWNrLWNvbG9yLW1pbmltYXAtdHJhY2tlci1iYWNrZ3JvdW5kKSwgLjMgKTtcblx0XHR9XG5cblx0XHQmLmNrLW1pbmltYXBfX3Bvc2l0aW9uLXRyYWNrZXJfZHJhZ2dpbmcsXG5cdFx0Ji5jay1taW5pbWFwX19wb3NpdGlvbi10cmFja2VyX2RyYWdnaW5nOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6aHNsYSggdmFyKC0tY2stY29sb3ItbWluaW1hcC10cmFja2VyLWJhY2tncm91bmQpLCAuNCApO1xuXG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogYXR0cihkYXRhLXByb2dyZXNzKSBcIiVcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNXB4O1xuXHRcdFx0cmlnaHQ6IDVweDtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLW1pbmltYXAtcHJvZ3Jlc3MtYmFja2dyb3VuZCk7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdFx0XHRwYWRkaW5nOiAycHggNHB4O1xuXHRcdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXMgZWFzZS1pbi1vdXQ7XG5cblxuXHRcdFx0QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0XHRcdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLWNvbnRlbnQgLnBhZ2UtYnJlYWsge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGNsZWFyOiBib3RoO1xuXHRwYWRkaW5nOiA1cHggMDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3JkZXItYm90dG9tOiAycHggZGFzaGVkIGhzbCgwLCAwJSwgNzclKTtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4uY2stY29udGVudCAucGFnZS1icmVha19fbGFiZWwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cdHBhZGRpbmc6IC4zZW0gLjZlbTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGJvcmRlcjogMXB4IHNvbGlkIGhzbCgwLCAwJSwgNzclKTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgVGFob21hLCBWZXJkYW5hLCBTYW5zLVNlcmlmO1xuXHRmb250LXNpemU6IDAuNzVlbTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGNvbG9yOiBoc2woMCwgMCUsIDIwJSk7XG5cdGJhY2tncm91bmQ6IGhzbCgwLCAwJSwgMTAwJSk7XG5cdGJveC1zaGFkb3c6IDJweCAycHggMXB4IGhzbGEoMCwgMCUsIDAlLCAwLjE1KTtcblxuXHQvKiBEaXNhYmxlIHRoZSBwb3NzaWJpbGl0eSB0byBzZWxlY3QgdGhlIGxhYmVsIHRleHQgYnkgdGhlIHVzZXIuICovXG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8qIERvIG5vdCBzaG93IHRoZSBwYWdlIGJyZWFrIGVsZW1lbnQgaW5zaWRlIHRoZSBwcmludCBwcmV2aWV3IHdpbmRvdy4gKi9cbkBtZWRpYSBwcmludCB7XG5cdC5jay1jb250ZW50IC5wYWdlLWJyZWFrIHtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQvKlxuXHQgKiBGcm9tIHRpbWUgdG8gdGltZSBwbGFjaW5nIHBhZ2UtYnJlYWsgZGlyZWN0bHkgYWZ0ZXIgYSBibG9jayBlbGVtZW50IHdpdGggbWFyZ2luIGNhdXNlcyBhcHBlbmRpbmcgYSBuZXcgYmxhbmsgcGFnZSBpbiBwYWdpbmF0aW9uIG1vZGUuXG5cdCAqIFJlbW92aW5nIG1hcmdpbi1ib3R0b20gZnJvbSB0aGUgYmxvY2sgZWxlbWVudCBmaXhlcyB0aGF0IGlzc3VlIGFuZCB0aGUgbWFyZ2luIGlzIG5vdCBiZWluZyBtb3ZlZCB0byB0aGUgbmV4dCBibGFuayBwYWdlLlxuXHQgKlxuXHQgKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIHRoZSBwYWdpbmF0aW9uIHBsdWdpbnMuXG5cdCAqL1xuXHQuY2stY29udGVudCAqOmhhcygrIC5wYWdlLWJyZWFrKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvbWl4aW5zL19kaXIuY3NzXCI7XG5cbjpyb290IHtcblx0LS1jay1zaG93LWJsb2Nrcy1ib3JkZXItY29sb3I6IGhzbCgwLCAwJSwgNDYlKTtcbn1cblxuQGRlZmluZS1taXhpbiBibG9jay1uYW1lLWJhY2tncm91bmQtbHRyICR0ZXh0IHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnID48dGV4dCBzdHlsZT0ncGFpbnQtb3JkZXI6c3Ryb2tlIGZpbGw7IGNsaXAtcGF0aDogaW5zZXQoLTNweCknIHN0cm9rZT0nJTIzRUFFQUVBJyBzdHJva2Utd2lkdGg9JzEzJyBkb21pbmFudC1iYXNlbGluZT0nbWlkZGxlJyBmaWxsPSdibGFjaycgeD0nMycgeT0nNycgZm9udC1zaXplPSc5cHgnIGZvbnQtZmFtaWx5PSdDb25zb2xhcywgJTIyTHVjaWRhIENvbnNvbGUlMjIsICUyMkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIlMjIsICUyMkRlamFWdSBTYW5zIE1vbm8lMjIsICUyMkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyUyMiwgJTIyTGliZXJhdGlvbiBNb25vJTIyLCBNb25hY28sICUyMkNvdXJpZXIgTmV3JTIyLCBDb3VyaWVyLCBtb25vc3BhY2UnPiQodGV4dCk8L3RleHQ+PC9zdmc+XCIpO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggMXB4O1xufVxuXG5AZGVmaW5lLW1peGluIGJsb2NrLW5hbWUtYmFja2dyb3VuZC1ydGwgJHRleHQge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMjAnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgPjx0ZXh0IHN0eWxlPSdwYWludC1vcmRlcjpzdHJva2UgZmlsbDsgY2xpcC1wYXRoOiBpbnNldCgtM3B4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LCAwKScgc3Ryb2tlPSclMjNFQUVBRUEnIHN0cm9rZS13aWR0aD0nMTMnIGRvbWluYW50LWJhc2VsaW5lPSdtaWRkbGUnIGZpbGw9J2JsYWNrJyB4PScxMDAlJyB0ZXh0LWFuY2hvcj0nZW5kJyB5PSc3JyBmb250LXNpemU9JzlweCcgZm9udC1mYW1pbHk9J0NvbnNvbGFzLCAlMjJMdWNpZGEgQ29uc29sZSUyMiwgJTIyTHVjaWRhIFNhbnMgVHlwZXdyaXRlciUyMiwgJTIyRGVqYVZ1IFNhbnMgTW9ubyUyMiwgJTIyQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJTIyLCAlMjJMaWJlcmF0aW9uIE1vbm8lMjIsIE1vbmFjbywgJTIyQ291cmllciBOZXclMjIsIENvdXJpZXIsIG1vbm9zcGFjZSc+JCh0ZXh0KTwvdGV4dD48L3N2Zz5cIik7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDFweCkgMXB4O1xufVxuXG5AZGVmaW5lLW1peGluIGJsb2NrLW5hbWUtYmFja2dyb3VuZCAkdGV4dCB7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHBhZGRpbmctdG9wOiAxNXB4O1xuXG5cdC8qIEZpeCBmb3IgTXVsdGktcm9vdCBlZGl0b3Jcblx0aHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTU5NjkgKi9cblx0W2Rpcj1sdHJdICYge1xuXHRcdEBtaXhpbiBibG9jay1uYW1lLWJhY2tncm91bmQtbHRyICR0ZXh0O1xuXHR9XG5cdFtkaXI9cnRsXSAmIHtcblx0XHRAbWl4aW4gYmxvY2stbmFtZS1iYWNrZ3JvdW5kLXJ0bCAkdGV4dDtcblx0fVxuXG5cdCY6bm90KC5jay13aWRnZXRfc2VsZWN0ZWQpOm5vdCguY2std2lkZ2V0OmhvdmVyKSB7XG5cdFx0b3V0bGluZTogMXB4IGRhc2hlZCB2YXIoLS1jay1zaG93LWJsb2Nrcy1ib3JkZXItY29sb3IpO1xuXHR9XG5cblx0QG1peGluIGNrLWRpciBsdHIge1xuXHRcdEBtaXhpbiBibG9jay1uYW1lLWJhY2tncm91bmQtbHRyICR0ZXh0O1xuXHR9XG5cdEBtaXhpbiBjay1kaXIgcnRsIHtcblx0XHRAbWl4aW4gYmxvY2stbmFtZS1iYWNrZ3JvdW5kLXJ0bCAkdGV4dDtcblx0fVxufVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZS5jay1zaG93LWJsb2Nrczpub3QoLmNrLXdpZGdldCkge1xuXHQmIGFkZHJlc3Mge1xuXHRcdEBtaXhpbiBibG9jay1uYW1lLWJhY2tncm91bmQgQUREUkVTUztcblx0fVxuXG5cdCYgYXNpZGUge1xuXHRcdEBtaXhpbiBibG9jay1uYW1lLWJhY2tncm91bmQgQVNJREU7XG5cdH1cblxuXHQmIGJsb2NrcXVvdGUge1xuXHRcdEBtaXhpbiBibG9jay1uYW1lLWJhY2tncm91bmQgQkxPQ0tRVU9URTtcblx0fVxuXG5cdCYgZGV0YWlscyB7XG5cdFx0QG1peGluIGJsb2NrLW5hbWUtYmFja2dyb3VuZCBERVRBSUxTO1xuXHR9XG5cblx0JiBkaXY6bm90KC5jay13aWRnZXQsIC5jay13aWRnZXQgKikge1xuXHRcdEBtaXhpbiBibG9jay1uYW1lLWJhY2tncm91bmQgRElWO1xuXHR9XG5cblx0JiBmb290ZXIge1xuXHRcdEBtaXhpbiBibG9jay1uYW1lLWJhY2tncm91bmQgRk9PVEVSO1xuXHR9XG5cblx0JiBoMSB7XG5cdFx0QG1peGluIGJsb2NrLW5hbWUtYmFja2dyb3VuZCBIMTtcblx0fVxuXG5cdCYgaDIge1xuXHRcdEBtaXhpbiBibG9jay1uYW1lLWJhY2tncm91bmQgSDI7XG5cdH1cblxuXHQmIGgzIHtcblx0XHRAbWl4aW4gYmxvY2stbmFtZS1iYWNrZ3JvdW5kIEgzO1xuXHR9XG5cblx0JiBoNCB7XG5cdFx0QG1peGluIGJsb2NrLW5hbWUtYmFja2dyb3VuZCBINDtcblx0fVxuXG5cdCYgaDUge1xuXHRcdEBtaXhpbiBibG9jay1uYW1lLWJhY2tncm91bmQgSDU7XG5cdH1cblxuXHQmIGg2IHtcblx0XHRAbWl4aW4gYmxvY2stbmFtZS1iYWNrZ3JvdW5kIEg2O1xuXHR9XG5cblx0JiBoZWFkZXIge1xuXHRcdEBtaXhpbiBibG9jay1uYW1lLWJhY2tncm91bmQgSEVBREVSO1xuXHR9XG5cblx0JiBtYWluIHtcblx0XHRAbWl4aW4gYmxvY2stbmFtZS1iYWNrZ3JvdW5kIE1BSU47XG5cdH1cblxuXHQmIG5hdiB7XG5cdFx0QG1peGluIGJsb2NrLW5hbWUtYmFja2dyb3VuZCBOQVY7XG5cdH1cblxuXHQmIHByZSB7XG5cdFx0QG1peGluIGJsb2NrLW5hbWUtYmFja2dyb3VuZCBQUkU7XG5cdH1cblxuXHQmIG9sIHtcblx0XHRAbWl4aW4gYmxvY2stbmFtZS1iYWNrZ3JvdW5kIE9MO1xuXHR9XG5cblx0JiB1bCB7XG5cdFx0QG1peGluIGJsb2NrLW5hbWUtYmFja2dyb3VuZCBVTDtcblx0fVxuXG5cdCYgcCB7XG5cdFx0QG1peGluIGJsb2NrLW5hbWUtYmFja2dyb3VuZCBQO1xuXHR9XG5cblx0JiBzZWN0aW9uIHtcblx0XHRAbWl4aW4gYmxvY2stbmFtZS1iYWNrZ3JvdW5kIFNFQ1RJT047XG5cdH1cblxuXHQmIDp3aGVyZShmaWd1cmUuaW1hZ2UsIGZpZ3VyZS50YWJsZSkgZmlnY2FwdGlvbiB7XG5cdFx0QG1peGluIGJsb2NrLW5hbWUtYmFja2dyb3VuZCBGSUdDQVBUSU9OO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL21peGlucy9fcm91bmRlZC5jc3NcIjtcbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvbWl4aW5zL19mb2N1cy5jc3NcIjtcbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvbWl4aW5zL19zaGFkb3cuY3NzXCI7XG5cbi5jay1zb3VyY2UtZWRpdGluZy1hcmVhIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY2stc291cmNlLWVkaXRpbmctYXJlYTo6YWZ0ZXIsXG4uY2stc291cmNlLWVkaXRpbmctYXJlYSB0ZXh0YXJlYSB7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRtYXJnaW46IDA7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRsaW5lLWhlaWdodDogdmFyKC0tY2stbGluZS1oZWlnaHQtYmFzZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tY2stZm9udC1zaXplLW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG5cdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLmNrLXNvdXJjZS1lZGl0aW5nLWFyZWE6OmFmdGVyIHtcblx0Y29udGVudDogYXR0cihkYXRhLXZhbHVlKSBcIiBcIjtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmNrLXNvdXJjZS1lZGl0aW5nLWFyZWEgdGV4dGFyZWEge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHJlc2l6ZTogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblxuXHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHR9XG5cblx0Jjpub3QoW3JlYWRvbmx5XSk6Zm9jdXMge1xuXHRcdEBtaXhpbiBjay1mb2N1cy1yaW5nO1xuXHRcdEBtaXhpbiBjay1ib3gtc2hhZG93IHZhcigtLWNrLWlubmVyLXNoYWRvdyk7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSB2aXN1YWwgc3R5bGUgb2YgZm9jdXNlZCBlbGVtZW50J3MgYm9yZGVyLlxuICovXG5AZGVmaW5lLW1peGluIGNrLWZvY3VzLXJpbmcge1xuXHQvKiBEaXNhYmxlIG5hdGl2ZSBvdXRsaW5lLiAqL1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXI6IHZhcigtLWNrLWZvY3VzLXJpbmcpXG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stY2hhcmFjdGVyLWdyaWQge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cblx0JiAuY2stY2hhcmFjdGVyLWdyaWRfX3RpbGVzIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stY2hhcmFjdGVyLWluZm8ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogTm90ZTogVGhpcyBmaWxlIHNob3VsZCBjb250YWluIHRoZSB3aXJlZnJhbWUgc3R5bGVzIG9ubHkuIEJ1dCBzaW5jZSB0aGVyZSBhcmUgbm8gc3VjaCBzdHlsZXMsXG4gKiBpdCBhY3RzIGFzIGEgbWVzc2FnZSB0byB0aGUgYnVpbGRlciB0ZWxsaW5nIHRoYXQgaXQgc2hvdWxkIGxvb2sgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHN0eWxlc1xuICogKippbiB0aGUgdGhlbWUqKiB3aGVuIGNvbXBpbGluZyB0aGUgZWRpdG9yLlxuICovXG5cbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fcndkLmNzc1wiO1xuXG4uY2suY2stc3BlY2lhbC1jaGFyYWN0ZXJzIHtcblx0JiA+IC5jay1kaWFsb2dfX2NvbnRlbnQgPiBkaXYge1xuXHRcdHdpZHRoOiAzNTBweDtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLWNvbHVtbi1nYXA6IDBweDtcblx0XHRncmlkLXJvdy1nYXA6IDBweDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyIGF1dG87XG5cblx0XHQmID4gLmNrLWNoYXJhY3Rlci1jYXRlZ29yaWVzIHtcblx0XHRcdGdyaWQtYXJlYTogMSAvIDEgLyAyIC8gMjtcblx0XHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKSB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblxuXHRcdFx0JiA+IC5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRcdCYgLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlld19fc3RhdHVzIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWVycm9yKTtcblx0XHRcdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0XHRcdFx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKSB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdFx0XHRcdFx0bWluLXdpZHRoOiB2YXIoLS1jay10YWJsZS1wcm9wZXJ0aWVzLW1pbi1lcnJvci13aWR0aCk7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHRcdFx0LyogVGhlIGFycm93IHBvaW50aW5nIHRvd2FyZHMgdGhlIGZpZWxkLiAqL1xuXHRcdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0tY2stY29sb3ItYmFzZS1lcnJvcikgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRib3JkZXItd2lkdGg6IDAgdmFyKC0tY2stdGFibGUtcHJvcGVydGllcy1lcnJvci1hcnJvdy1zaXplKSB2YXIoLS1jay10YWJsZS1wcm9wZXJ0aWVzLWVycm9yLWFycm93LXNpemUpIHZhcigtLWNrLXRhYmxlLXByb3BlcnRpZXMtZXJyb3ItYXJyb3ctc2l6ZSk7XG5cdFx0XHRcdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGFuaW1hdGlvbjogY2stdGFibGUtZm9ybS1sYWJlbGVkLXZpZXctc3RhdHVzLWFwcGVhciAuMTVzIGVhc2UgYm90aDtcblxuXHRcdFx0XHRcdEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cdFx0XHRcdFx0XHRhbmltYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LyogSGlkZSB0aGUgZXJyb3IgYmFsbG9vbiB3aGVuIHRoZSBmaWVsZCBpcyBibHVycmVkLiBNYWtlcyB0aGUgZXhwZXJpZW5jZSBtdWNoIG1vcmUgY2xlYXIuICovXG5cdFx0XHRcdCYgLmNrLWlucHV0LmNrLWVycm9yOm5vdCg6Zm9jdXMpICsgLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlld19fc3RhdHVzIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JiA+IC5jay1sYWJlbCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiB2YXIoLS1jay1mb250LXNpemUtdGlueSk7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5jay1kcm9wZG93biB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0XHQmID4gYnV0dG9uIHtcblx0XHRcdFx0XHQmOm5vdCg6Zm9jdXMpIHtcblx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmID4gc3BhbiB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmID4gLmNrLWNoYXJhY3Rlci1ncmlkIHtcblx0XHRcdGdyaWQtYXJlYTogMiAvIDEgLyAzIC8gMjtcblx0XHRcdG1heC1oZWlnaHQ6IDIwMHB4O1xuXHRcdH1cblxuXHRcdCYgPiAuY2stY2hhcmFjdGVyLWluZm8ge1xuXHRcdFx0Z3JpZC1hcmVhOiAzIC8gMSAvIDQgLyAyO1xuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLXN0eWxlLXBhbmVsLWNvbHVtbnM6IDM7XG59XG5cbi5jay5jay1zdHlsZS1wYW5lbCAuY2stc3R5bGUtZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLWNrLXN0eWxlLXBhbmVsLWNvbHVtbnMpLGF1dG8pO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuXG5cdCYgLmNrLXN0eWxlLWdyaWRfX2J1dHRvbiB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuXHRcdCYgLmNrLXN0eWxlLWdyaWRfX2J1dHRvbl9fcHJldmlldyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24tY29udGVudDogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGZsZXgtZ3JvdzogMTtcblx0XHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2stY29udGVudCAudGFibGUge1xuXHQvKiBHaXZlIHRoZSB0YWJsZSB3aWRnZXQgc29tZSBhaXIgYW5kIGNlbnRlciBpdCBob3Jpem9udGFsbHkgKi9cblx0LyogVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBlcXVhbCB0byAtLWNrLXNwYWNpbmctbGFyZ2UgdmFyaWFibGUgaWYgdXNlZCBpbiB0aGUgZWRpdG9yIGNvbnRleHRcblx0dG8gYXZvaWQgdGhlIGNvbnRlbnQganVtcGluZyAoU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzk4MjUpLiAqL1xuXHRtYXJnaW46IDAuOWVtIGF1dG87XG5cdGRpc3BsYXk6IHRhYmxlO1xuXG5cdCYgdGFibGUge1xuXHRcdC8qIFRoZSB0YWJsZSBjZWxscyBzaG91bGQgaGF2ZSBzbGlnaHQgYm9yZGVycyAqL1xuXHRcdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdFx0Ym9yZGVyLXNwYWNpbmc6IDA7XG5cblx0XHQvKiBUYWJsZSB3aWR0aCBhbmQgaGVpZ2h0IGFyZSBzZXQgb24gdGhlIHBhcmVudCA8ZmlndXJlPi4gTWFrZSBzdXJlIHRoZSB0YWJsZSBpbnNpZGUgc3RyZXRjaGVzXG5cdFx0dG8gdGhlIGZ1bGwgZGltZW5zaW9ucyBvZiB0aGUgY29udGFpbmVyIChodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy82MTg2KS4gKi9cblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0XHQvKiBUaGUgb3V0ZXIgYm9yZGVyIG9mIHRoZSB0YWJsZSBzaG91bGQgYmUgc2xpZ2h0bHkgZGFya2VyIHRoYW4gdGhlIGlubmVyIGxpbmVzLlxuXHRcdEFsc28gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGFibGUvaXNzdWVzLzUwLiAqL1xuXHRcdGJvcmRlcjogMXB4IGRvdWJsZSBoc2woMCwgMCUsIDcwJSk7XG5cblx0XHQmIHRkLFxuXHRcdCYgdGgge1xuXHRcdFx0bWluLXdpZHRoOiAyZW07XG5cdFx0XHRwYWRkaW5nOiAuNGVtO1xuXG5cdFx0XHQvKiBUaGUgYm9yZGVyIGlzIGluaGVyaXRlZCBmcm9tIC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZSBzdHlsZXMsIHNvIHRoZW9yZXRpY2FsbHkgaXQncyBub3QgbmVjZXNzYXJ5IGhlcmUuXG5cdFx0XHRIb3dldmVyLCB0aGUgYm9yZGVyIGlzIGEgY29udGVudCBzdHlsZSwgc28gaXQgc2hvdWxkIHVzZSAuY2stY29udGVudCAoc28gaXQgd29ya3Mgb3V0c2lkZSB0aGUgZWRpdG9yKS5cblx0XHRcdEhlbmNlLCB0aGUgZHVwbGljYXRpb24uIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy82MzE0ICovXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCBoc2woMCwgMCUsIDc1JSk7XG5cdFx0fVxuXG5cdFx0JiB0aCB7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGJhY2tncm91bmQ6IGhzbGEoMCwgMCUsIDAlLCA1JSk7XG5cdFx0fVxuXHR9XG59XG5cbi8qKlxuICogRXhwYW5kaW5nIHRoZSB0YWJsZSB0byB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHBhcmVudCBjb250YWluZXIgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGFibGVzXG4gKiBhcmUgcmVuZGVyZWQgaW5zaWRlIDxmaWd1cmU+IGVsZW1lbnRzLCB3aGljaCBpcyBraW5kYSBidWdneSBpbiB0YWJsZSBoZWlnaHQgY2FsY3VsYXRpb24uXG4gKiBXaGlsZSBzZXR0aW5nIGBoZWlnaHQ6IDEwMCVgIGZpeGVzIHRoZSBpc3N1ZSBpbiB0aGUgZWRpdGluZyBtb2RlIGRlc2NyaWJlZCBoZXJlOlxuICogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNjE4NlxuICpcbiAqIGl0J3MgY2F1c2luZyBhbm90aGVyIGlzc3VlIHdpdGggdGhlIHRhYmxlIGhlaWdodCBpbiB0aGUgcHJpbnQgcHJldmlldyBtb2RlIGhlcmU6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xNjg1NlxuICpcbiAqIEZvciBub3csIHJlc2V0dGluZyB0aGUgaGVpZ2h0IHRvIGBpbml0aWFsYCBpbiB0aGUgcHJpbnQgbW9kZSB3b3JrcyBhcyBhIHdvcmthcm91bmQuXG4gKi9cbkBtZWRpYSBwcmludCB7XG5cdC5jay1jb250ZW50IC50YWJsZSB0YWJsZSB7XG5cdFx0aGVpZ2h0OiBpbml0aWFsO1xuXHR9XG59XG5cbi8qIFRleHQgYWxpZ25tZW50IG9mIHRoZSB0YWJsZSBoZWFkZXIgc2hvdWxkIG1hdGNoIHRoZSBlZGl0b3Igc2V0dGluZ3MgYW5kIG92ZXJyaWRlIHRoZSBuYXRpdmUgYnJvd3NlciBzdHlsaW5nLFxud2hlbiBjb250ZW50IGlzIGF2YWlsYWJsZSBvdXRzaWRlIHRoZSBlZGl0b3IuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy82NjM4ICovXG4uY2stY29udGVudFtkaXI9XCJydGxcIl0gLnRhYmxlIHRoIHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jay1jb250ZW50W2Rpcj1cImx0clwiXSAudGFibGUgdGgge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY2stZWRpdG9yX19lZGl0YWJsZSAuY2stdGFibGUtYm9ndXMtcGFyYWdyYXBoIHtcblx0Lypcblx0ICogVXNlIGRpc3BsYXk6aW5saW5lLWJsb2NrIHRvIGZvcmNlIENocm9tZS9TYWZhcmkgdG8gbGltaXQgdGV4dCBtdXRhdGlvbnMgdG8gdGhpcyBlbGVtZW50LlxuXHQgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNjA2Mi5cblx0ICovXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHQvKlxuXHQgKiBJbmxpbmUgSFRNTCBlbGVtZW50cyBuZXN0ZWQgaW4gdGhlIHNwYW4gc2hvdWxkIGFsd2F5cyBiZSBkaW1lbnNpb25lZCBpbiByZWxhdGlvbiB0byB0aGUgd2hvbGUgY2VsbCB3aWR0aC5cblx0ICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzkxMTcuXG5cdCAqL1xuXHR3aWR0aDogMTAwJTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jayAuY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duX19ncmlkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWZvcm1fX3JvdyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0LyogSWdub3JlIGxhYmVscyB0aGF0IHdvcmsgYXMgZmllbGRzZXQgbGVnZW5kcyAqL1xuXHQmID4gKjpub3QoLmNrLWxhYmVsKSB7XG5cdFx0ZmxleC1ncm93OiAxO1xuXHR9XG5cblx0Ji5jay10YWJsZS1mb3JtX19hY3Rpb24tcm93IHtcblx0XHQmIC5jay1idXR0b24tc2F2ZSxcblx0XHQmIC5jay1idXR0b24tY2FuY2VsIHtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLXRhYmxlLWNlbGwtcHJvcGVydGllcy1mb3JtIHtcblx0JiAuY2stZm9ybV9fcm93IHtcblx0XHQmLmNrLXRhYmxlLWNlbGwtcHJvcGVydGllcy1mb3JtX19hbGlnbm1lbnQtcm93IHtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblxuXHRcdFx0JiAuY2suY2stdG9vbGJhciB7XG5cdFx0XHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0LyogNCBidXR0b25zIG91dCBvZiA3IChoLWFsaWdubWVudCArIHYtYWxpZ25tZW50KSA9IDAuNTcgKi9cblx0XHRcdFx0XHRmbGV4LWdyb3c6IDAuNTc7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0LyogMyBidXR0b25zIG91dCBvZiA3IChoLWFsaWdubWVudCArIHYtYWxpZ25tZW50KSA9IDAuNDMgKi9cblx0XHRcdFx0XHRmbGV4LWdyb3c6IDAuNDM7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmIC5jay1idXR0b24ge1xuXHRcdFx0XHRcdGZsZXgtZ3JvdzogMTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWlucHV0LWNvbG9yIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuXHQmID4gaW5wdXQuY2suY2staW5wdXQtdGV4dCB7XG5cdFx0bWluLXdpZHRoOiBhdXRvO1xuXHRcdGZsZXgtZ3JvdzogMTtcblx0fVxuXG5cdCYgPiBkaXYuY2suY2stZHJvcGRvd24ge1xuXHRcdG1pbi13aWR0aDogYXV0bztcblxuXHRcdC8qIFRoaXMgZHJvcGRvd24gaGFzIG5vIGFycm93IGJ1dCBhIGNvbG9yIHByZXZpZXcgaW5zdGVhZC4gKi9cblx0XHQmID4gLmNrLWlucHV0LWNvbG9yX19idXR0b24gLmNrLWRyb3Bkb3duX19hcnJvdyB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCYgLmNrLmNrLWlucHV0LWNvbG9yX19idXR0b24ge1xuXHRcdC8qIFJlc29sdmluZyBpc3N1ZSB3aXRoIG1pc2FsaWduZWQgYnV0dG9ucyBvbiBTYWZhcmkgKHNlZSAjMTA1ODkpICovXG5cdFx0ZGlzcGxheTogZmxleDtcblxuXHRcdCYgLmNrLmNrLWlucHV0LWNvbG9yX19idXR0b25fX3ByZXZpZXcge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdFx0JiA+IC5jay5jay1pbnB1dC1jb2xvcl9fYnV0dG9uX19wcmV2aWV3X19uby1jb2xvci1pbmRpY2F0b3Ige1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLXRhYmxlLWZvcm0ge1xuXHQmIC5jay1mb3JtX19yb3cge1xuXHRcdCYuY2stdGFibGUtZm9ybV9fYm9yZGVyLXJvdyB7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0fVxuXG5cdFx0Ji5jay10YWJsZS1mb3JtX19iYWNrZ3JvdW5kLXJvdyB7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0fVxuXG5cdFx0Ji5jay10YWJsZS1mb3JtX19kaW1lbnNpb25zLXJvdyB7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHQmIC5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRcdFx0JiAuY2suY2stZHJvcGRvd24ge1xuXHRcdFx0XHRcdGZsZXgtZ3JvdzogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmIC5jay10YWJsZS1mb3JtX19kaW1lbnNpb24tb3BlcmF0b3Ige1xuXHRcdFx0XHRmbGV4LWdyb3c6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0JiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0XHQvKiBBbGxvdyBhYnNvbHV0ZSBwb3NpdGlvbmluZyBvZiB0aGUgc3RhdHVzIChlcnJvcikgYmFsbG9vbnMuICovXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0JiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXMge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0Ym90dG9tOiBjYWxjKCAtMSAqIHZhcigtLWNrLXRhYmxlLXByb3BlcnRpZXMtZXJyb3ItYXJyb3ctc2l6ZSkgKTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsMTAwJSk7XG5cblx0XHRcdC8qIE1ha2Ugc3VyZSB0aGUgYmFsbG9vbiBzdGF0dXMgc3RheXMgb24gdG9wIG9mIG90aGVyIGZvcm0gZWxlbWVudHMuICovXG5cdFx0XHR6LWluZGV4OiAxO1xuXG5cdFx0XHQvKiBUaGUgYXJyb3cgcG9pbnRpbmcgdG93YXJkcyB0aGUgZmllbGQuICovXG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiBjYWxjKCAtMSAqIHZhcigtLWNrLXRhYmxlLXByb3BlcnRpZXMtZXJyb3ItYXJyb3ctc2l6ZSkgKTtcblx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIC01MCUgKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay10YWJsZS1wcm9wZXJ0aWVzLWZvcm0ge1xuXHQmIC5jay1mb3JtX19yb3cge1xuXHRcdCYuY2stdGFibGUtcHJvcGVydGllcy1mb3JtX19hbGlnbm1lbnQtcm93IHtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGZsZXgtYmFzaXM6IDA7XG5cdFx0XHRhbGlnbi1jb250ZW50OiBiYXNlbGluZTtcblxuXHRcdFx0JiAuY2suY2stdG9vbGJhciAuY2stdG9vbGJhcl9faXRlbXMge1xuXHRcdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fbWVkaWFjb2xvcnMuY3NzXCI7XG5cbjpyb290IHtcblx0LS1jay1jb2xvci1zZWxlY3Rvci1jYXB0aW9uLWJhY2tncm91bmQ6IGhzbCgwLCAwJSwgOTclKTtcblx0LS1jay1jb2xvci1zZWxlY3Rvci1jYXB0aW9uLXRleHQ6IGhzbCgwLCAwJSwgMjAlKTtcblx0LS1jay1jb2xvci1zZWxlY3Rvci1jYXB0aW9uLWhpZ2hsaWdodGVkLWJhY2tncm91bmQ6IGhzbCg1MmRlZyAxMDAlIDUwJSk7XG59XG5cbi8qIENvbnRlbnQgc3R5bGVzICovXG4uY2stY29udGVudCAudGFibGUgPiBmaWdjYXB0aW9uIHtcblx0ZGlzcGxheTogdGFibGUtY2FwdGlvbjtcblx0Y2FwdGlvbi1zaWRlOiB0b3A7XG5cdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLXNlbGVjdG9yLWNhcHRpb24tdGV4dCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLXNlbGVjdG9yLWNhcHRpb24tYmFja2dyb3VuZCk7XG5cdHBhZGRpbmc6IC42ZW07XG5cdGZvbnQtc2l6ZTogLjc1ZW07XG5cdG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuXG5cdC8qIEltcHJvdmUgcGxhY2Vob2xkZXIgcmVuZGVyaW5nIGluIGhpZ2gtY29uc3RyYXN0IG1vZGUgKGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE0OTA3KS4gKi9cblx0QG1peGluIGNrLW1lZGlhLWZvcmNlZC1jb2xvcnMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuXHRcdGNvbG9yOiB1bnNldDtcblx0fVxufVxuXG4vKiBFZGl0aW5nIHN0eWxlcyAqL1xuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLnRhYmxlID4gZmlnY2FwdGlvbiB7XG5cdEBtaXhpbiBjay1tZWRpYS1kZWZhdWx0LWNvbG9ycyB7XG5cdFx0Ji50YWJsZV9fY2FwdGlvbl9oaWdobGlnaHRlZCB7XG5cdFx0XHRhbmltYXRpb246IGNrLXRhYmxlLWNhcHRpb24taGlnaGxpZ2h0IC42cyBlYXNlLW91dDtcblx0XHR9XG5cdH1cblxuXHQmLmNrLXBsYWNlaG9sZGVyOjpiZWZvcmUge1xuXHRcdHBhZGRpbmctbGVmdDogaW5oZXJpdDtcblx0XHRwYWRkaW5nLXJpZ2h0OiBpbmhlcml0O1xuXG5cdFx0Lypcblx0XHQgKiBNYWtlIHN1cmUgdGhlIHRhYmxlIGNhcHRpb24gcGxhY2Vob2xkZXIgZG9lc24ndCBvdmVyZmxvdyB0aGUgcGxhY2Vob2xkZXIgYXJlYS5cblx0XHQgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvOTE2Mi5cblx0XHQgKi9cblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBjay10YWJsZS1jYXB0aW9uLWhpZ2hsaWdodCB7XG5cdDAlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci1zZWxlY3Rvci1jYXB0aW9uLWhpZ2hsaWdodGVkLWJhY2tncm91bmQpO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stY29sb3Itc2VsZWN0b3ItY2FwdGlvbi1iYWNrZ3JvdW5kKTtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLXNlbGVjdG9yLWNvbHVtbi1yZXNpemVyLWhvdmVyOiB2YXIoLS1jay1jb2xvci1iYXNlLWFjdGl2ZSk7XG5cdC0tY2stdGFibGUtY29sdW1uLXJlc2l6ZXItd2lkdGg6IDdweDtcblxuXHQvKiBUaGUgb2Zmc2V0IHVzZWQgZm9yIGFic29sdXRlIHBvc2l0aW9uaW5nIG9mIHRoZSByZXNpemVyIGVsZW1lbnQsIHNvIHRoYXQgaXQgaXMgcGxhY2VkIGV4YWN0bHkgYWJvdmUgdGhlIGNlbGwgYm9yZGVyLlxuXHQgICBUaGUgdmFsdWUgaXM6IG1pbnVzIGhhbGYgdGhlIHdpZHRoIG9mIHRoZSByZXNpemVyIGRlY3JlYXNlZCBhZGRpdGlvbmFseSBieSB0aGUgaGFsZiB0aGUgd2lkdGggb2YgdGhlIGJvcmRlciAoMC41cHgpLiAqL1xuXHQtLWNrLXRhYmxlLWNvbHVtbi1yZXNpemVyLXBvc2l0aW9uLW9mZnNldDogY2FsYyh2YXIoLS1jay10YWJsZS1jb2x1bW4tcmVzaXplci13aWR0aCkgKiAtMC41IC0gMC41cHgpO1xufVxuXG4uY2stY29udGVudCAudGFibGUgLmNrLXRhYmxlLXJlc2l6ZWQge1xuXHR0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuXG4uY2stY29udGVudCAudGFibGUgdGFibGUge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY2stY29udGVudCAudGFibGUgdGQsXG4uY2stY29udGVudCAudGFibGUgdGgge1xuXHQvKiBUbyBwcmV2ZW50IHRleHQgb3ZlcmZsb3dpbmcgYmV5b25kIGl0cyBjZWxsIHdoZW4gY29sdW1ucyBhcmUgcmVzaXplZCBieSByZXNpemUgaGFuZGxlclxuXHQoaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9wdWxsLzE0Mzc5I2lzc3VlY29tbWVudC0xNTg5NDYwOTc4KS4gKi9cblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAudGFibGUgLmNrLXRhYmxlLWNvbHVtbi1yZXNpemVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0cmlnaHQ6IHZhcigtLWNrLXRhYmxlLWNvbHVtbi1yZXNpemVyLXBvc2l0aW9uLW9mZnNldCk7XG5cdHdpZHRoOiB2YXIoLS1jay10YWJsZS1jb2x1bW4tcmVzaXplci13aWR0aCk7XG5cdGN1cnNvcjogY29sLXJlc2l6ZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdHotaW5kZXg6IHZhcigtLWNrLXotZGVmYXVsdCk7XG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWNvbHVtbi1yZXNpemVfZGlzYWJsZWQgLnRhYmxlIC5jay10YWJsZS1jb2x1bW4tcmVzaXplciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFRoZSByZXNpemVyIGVsZW1lbnRzLCB3aGljaCBhcmUgZXh0ZW5kZWQgdG8gYW4gZXh0cmVtZWx5IGhpZ2ggaGVpZ2h0LCBicmVhayB0aGUgZHJhZyAmIGRyb3AgZmVhdHVyZSBpbiBDaHJvbWUuIFRvIG1ha2UgaXQgd29yayBhZ2FpbixcbiAgIGFsbCByZXNpemVycyBtdXN0IGJlIGhpZGRlbiB3aGlsZSB0aGUgdGFibGUgaXMgZHJhZ2dlZC4gKi9cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC50YWJsZVtkcmFnZ2FibGVdIC5jay10YWJsZS1jb2x1bW4tcmVzaXplciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC50YWJsZSAuY2stdGFibGUtY29sdW1uLXJlc2l6ZXI6aG92ZXIsXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAudGFibGUgLmNrLXRhYmxlLWNvbHVtbi1yZXNpemVyX19hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci1zZWxlY3Rvci1jb2x1bW4tcmVzaXplci1ob3Zlcik7XG5cdG9wYWNpdHk6IDAuMjU7XG5cdC8qIFRoZSByZXNpemVyIGVsZW1lbnQgcmVzaWRlcyBpbiBlYWNoIGNlbGwgc28gdG8gb2NjdXB5IHRoZSBlbnRpcmUgaGVpZ2h0IG9mIHRoZSB0YWJsZSwgd2hpY2ggaXMgdW5rbm93biBmcm9tIGEgQ1NTIHBvaW50IG9mIHZpZXcsXG5cdCAgIGl0IGlzIGV4dGVuZGVkIHRvIGFuIGV4dHJlbWVseSBoaWdoIGhlaWdodC4gRXZlbiBmb3Igc2NyZWVucyB3aXRoIGEgdmVyeSBoaWdoIHBpeGVsIGRlbnNpdHksIHRoZSByZXNpemVyIHdpbGwgZnVsZmlsbCBpdHMgcm9sZSBhc1xuXHQgICBpdCBzaG91bGQsIGkuZS4gZm9yIGEgc2NyZWVuIG9mIDQ3NiBwcGkgdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgcmVzaXplciB3aWxsIHRha2Ugb3ZlciAzNTAgc2hlZXRzIG9mIEE0IGZvcm1hdCwgd2hpY2ggaXMgdG90YWxseVxuXHQgICB1bnJlYWxpc3RpYyBoZWlnaHQgZm9yIGEgc2luZ2xlIHRhYmxlLiAqL1xuXHR0b3A6IC05OTk5OTlweDtcblx0Ym90dG9tOiAtOTk5OTk5cHg7XG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlW2Rpcj1ydGxdIC50YWJsZSAuY2stdGFibGUtY29sdW1uLXJlc2l6ZXIge1xuXHRsZWZ0OiB2YXIoLS1jay10YWJsZS1jb2x1bW4tcmVzaXplci1wb3NpdGlvbi1vZmZzZXQpO1xuXHRyaWdodDogdW5zZXQ7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiLi9faGlkZGVuLmNzc1wiO1xuQGltcG9ydCBcIi4vX3ppbmRleC5jc3NcIjtcbkBpbXBvcnQgXCIuL190cmFuc2l0aW9uLmNzc1wiO1xuQGltcG9ydCBcIi4vX3Bvd2VyZWRieS5jc3NcIjtcbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBjbGFzcyB3aGljaCBoaWRlcyBhbiBlbGVtZW50IGluIERPTS5cbiAqL1xuLmNrLWhpZGRlbiB7XG5cdC8qIE92ZXJyaWRlIHNlbGVjdG9yIHNwZWNpZmljaXR5LiBPdGhlcndpc2UsIGFsbCBlbGVtZW50cyB3aXRoIHNvbWUgZGlzcGxheVxuXHRzdHlsZSBkZWZpbmVkIHdpbGwgb3ZlcnJpZGUgdGhpcyBvbmUsIHdoaWNoIGlzIG5vdCBhIGRlc2lyZWQgcmVzdWx0LiAqL1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stei1kZWZhdWx0OiAxO1xuXHQtLWNrLXotcGFuZWw6IGNhbGMoIHZhcigtLWNrLXotZGVmYXVsdCkgKyA5OTkgKTtcblx0LS1jay16LWRpYWxvZzogOTk5OTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBjbGFzcyB0aGF0IGRpc2FibGVzIGFsbCB0cmFuc2l0aW9ucyBvZiB0aGUgZWxlbWVudCBhbmQgaXRzIGNoaWxkcmVuLlxuICovXG4uY2stdHJhbnNpdGlvbnMtZGlzYWJsZWQsXG4uY2stdHJhbnNpdGlvbnMtZGlzYWJsZWQgKiB7XG5cdHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1wb3dlcmVkLWJ5LWxpbmUtaGVpZ2h0OiAxMHB4O1xuXHQtLWNrLXBvd2VyZWQtYnktcGFkZGluZy12ZXJ0aWNhbDogMnB4O1xuXHQtLWNrLXBvd2VyZWQtYnktcGFkZGluZy1ob3Jpem9udGFsOiA0cHg7XG5cdC0tY2stcG93ZXJlZC1ieS10ZXh0LWNvbG9yOiBoc2woMCwgMCUsIDMxJSk7XG5cdC0tY2stcG93ZXJlZC1ieS1ib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0LS1jay1wb3dlcmVkLWJ5LWJhY2tncm91bmQ6IGhzbCgwLCAwJSwgMTAwJSk7XG5cdC0tY2stcG93ZXJlZC1ieS1ib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcik7XG59XG5cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLXBvd2VyZWQtYnktYmFsbG9vbiB7XG5cdC0tY2stYm9yZGVyLXJhZGl1czogdmFyKC0tY2stcG93ZXJlZC1ieS1ib3JkZXItcmFkaXVzKTtcblxuXHRib3gtc2hhZG93OiBub25lO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1wb3dlcmVkLWJ5LWJhY2tncm91bmQpO1xuXHRtaW4taGVpZ2h0OiB1bnNldDtcblx0ei1pbmRleDogY2FsYyggdmFyKC0tY2stei1wYW5lbCkgLSAxICk7XG5cblx0JiAuY2suY2stcG93ZXJlZC1ieSB7XG5cdFx0bGluZS1oZWlnaHQ6IHZhcigtLWNrLXBvd2VyZWQtYnktbGluZS1oZWlnaHQpO1xuXG5cdFx0JiBhIHtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0b3BhY2l0eTogLjY2O1xuXHRcdFx0ZmlsdGVyOiBncmF5c2NhbGUoODAlKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiB2YXIoLS1jay1wb3dlcmVkLWJ5LWxpbmUtaGVpZ2h0KTtcblx0XHRcdHBhZGRpbmc6IHZhcigtLWNrLXBvd2VyZWQtYnktcGFkZGluZy12ZXJ0aWNhbCkgdmFyKC0tY2stcG93ZXJlZC1ieS1wYWRkaW5nLWhvcml6b250YWwpO1xuXHRcdH1cblxuXHRcdCYgLmNrLXBvd2VyZWQtYnlfX2xhYmVsIHtcblx0XHRcdGZvbnQtc2l6ZTogNy41cHg7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogLS4ycHg7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDJweDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdG1hcmdpbi1yaWdodDogNHB4O1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRcdGNvbG9yOiB2YXIoLS1jay1wb3dlcmVkLWJ5LXRleHQtY29sb3IpO1xuXG5cdFx0fVxuXG5cdFx0JiAuY2staWNvbiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdCYgYSB7XG5cdFx0XHRcdGZpbHRlcjogZ3JheXNjYWxlKDAlKTtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmW2NsYXNzKj1cInBvc2l0aW9uX2luc2lkZVwiXSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0fVxuXG5cdCZbY2xhc3MqPVwicG9zaXRpb25fYm9yZGVyXCJdIHtcblx0XHRib3JkZXI6IHZhcigtLWNrLWZvY3VzLXJpbmcpO1xuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2stcG93ZXJlZC1ieS1ib3JkZXItY29sb3IpO1xuXHR9XG59XG5cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvX3Vuc2VsZWN0YWJsZS5jc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvX2Rpci5jc3NcIjtcblxuLmNrLmNrLWJ1dHRvbixcbmEuY2suY2stYnV0dG9uIHtcblx0QG1peGluIGNrLXVuc2VsZWN0YWJsZTtcblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdEBtaXhpbiBjay1kaXIgbHRyIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG5cdH1cblxuXHRAbWl4aW4gY2stZGlyIHJ0bCB7XG5cdFx0anVzdGlmeS1jb250ZW50OiByaWdodDtcblx0fVxuXG5cdCYgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQmLmNrLWJ1dHRvbl93aXRoLXRleHQge1xuXHRcdCYgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblx0fVxuXG5cdC8qIENlbnRlciB0aGUgaWNvbiBob3Jpem9udGFsbHkgaW4gYSBidXR0b24gd2l0aG91dCB0ZXh0LiAqL1xuXHQmOm5vdCguY2stYnV0dG9uX3dpdGgtdGV4dCkgIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBNYWtlcyBlbGVtZW50IHVuc2VsZWN0YWJsZS5cbiAqL1xuQGRlZmluZS1taXhpbiBjay11bnNlbGVjdGFibGUge1xuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdHVzZXItc2VsZWN0OiBub25lXG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AZGVmaW5lLW1peGluIGNrLWRpciAkZGlyZWN0aW9uIHtcblx0W2Rpcj1cIiQoZGlyZWN0aW9uKVwiXSAmIHtcblx0XHRAbWl4aW4tY29udGVudDtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24ge1xuXHQmIC5jay1idXR0b25fX3RvZ2dsZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHQmIC5jay1idXR0b25fX3RvZ2dsZV9faW5uZXIge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL19kaXIuY3NzXCI7XG5cbi5jay5jay1saXN0LWl0ZW0tYnV0dG9uIHtcblx0bWluLWhlaWdodDogdW5zZXQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdEBtaXhpbiBjay1kaXIgbHRyIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG5cblx0Ji5jay1saXN0LWl0ZW0tYnV0dG9uX3RvZ2dsZWFibGUge1xuXHRcdEBtaXhpbiBjay1kaXIgbHRyIHtcblx0XHRcdHBhZGRpbmctbGVmdDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0fVxuXG5cdFx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdFx0cGFkZGluZy1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0fVxuXHR9XG5cblx0JiAuY2stbGlzdC1pdGVtLWJ1dHRvbl9fY2hlY2staG9sZGVyIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHR3aWR0aDogLjllbTtcblx0XHRoZWlnaHQ6IC45ZW07XG5cblx0XHRAbWl4aW4gY2stZGlyIGx0ciB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdH1cblxuXHRcdEBtaXhpbiBjay1kaXIgcnRsIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHR9XG5cdH1cblxuXHQmIC5jay1saXN0LWl0ZW0tYnV0dG9uX19jaGVjay1pY29uIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1jb2xsYXBzaWJsZS5jay1jb2xsYXBzaWJsZV9jb2xsYXBzZWQge1xuXHQmID4gLmNrLWNvbGxhcHNpYmxlX19jaGlsZHJlbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWNvbG9yLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNvbG9yLXBpY2tlci1oZXgtaW5wdXQge1xuXHR3aWR0aDogbWF4LWNvbnRlbnQ7XG5cblx0JiAuY2suY2staW5wdXQge1xuXHRcdG1pbi13aWR0aDogdW5zZXQ7XG5cdH1cbn1cblxuLmNrLmNrLWNvbG9yLXBpY2tlcl9fcm93IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleC13cmFwOiBub3dyYXA7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSAwIDA7XG5cdHdpZHRoOiB1bnNldDtcblxuXHQmIC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdHBhZGRpbmctdG9wOiB1bnNldDtcblx0fVxuXG5cdCYgLmNrLmNrLWlucHV0LXRleHQge1xuXHRcdHdpZHRoOiB1bnNldDtcblx0fVxuXG5cdCYgLmNrLWNvbG9yLXBpY2tlcl9faGFzaC12aWV3IHtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tY2stc3BhY2luZy10aW55KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fZGlyLmNzc1wiO1xuXG4uY2suY2stY29sb3Itc2VsZWN0b3Ige1xuXHQvKiBWaWV3IGZyYWdtZW50IHdpdGggY29sb3IgZ3JpZHMuICovXG5cdCYgLmNrLWNvbG9yLWdyaWRzLWZyYWdtZW50IHtcblx0XHQmIC5jay1idXR0b24uY2stY29sb3Itc2VsZWN0b3JfX3JlbW92ZS1jb2xvcixcblx0XHQmIC5jay1idXR0b24uY2stY29sb3Itc2VsZWN0b3JfX2NvbG9yLXBpY2tlciB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0QG1peGluIGNrLWRpciBydGwge1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyogVmlldyBmcmFnbWVudCB3aXRoIGEgY29sb3IgcGlja2VyLiAqL1xuXHQmIC5jay1jb2xvci1waWNrZXItZnJhZ21lbnQge1xuXHRcdCYgLmNrLmNrLWNvbG9yLXNlbGVjdG9yX2FjdGlvbi1iYXIge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcblxuXHRcdFx0JiAuY2stYnV0dG9uLXNhdmUsXG5cdFx0XHQmIC5jay1idXR0b24tY2FuY2VsIHtcblx0XHRcdFx0ZmxleDogMVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWRpYWxvZyB7XG5cdCYgLmNrLmNrLWRpYWxvZ19fYWN0aW9ucyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZGlhbG9nLW92ZXJsYXkge1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0b3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcblxuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdHRvcDogMDtcblxuXHQmLmNrLWRpYWxvZy1vdmVybGF5X190cmFuc3BhcmVudCB7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0YW5pbWF0aW9uOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdH1cbn1cblxuLmNrLmNrLWRpYWxvZyB7XG5cdG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG5cdHdpZHRoOiBmaXQtY29udGVudDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdCYgLmNrLmNrLWZvcm1fX2hlYWRlciAge1xuXHRcdGZsZXgtc2hyaW5rOiAwO1xuXHR9XG5cblx0LyogTW9kYWxzIHNob3VsZCBub3QgYmUgZHJhZ2dhYmxlLiAqL1xuXHQmOm5vdCguY2stZGlhbG9nX21vZGFsKSB7XG5cdFx0JiAuY2suY2stZm9ybV9faGVhZGVyIC5jay1mb3JtX19oZWFkZXJfX2xhYmVsIHtcblx0XHRcdGN1cnNvcjogZ3JhYjtcblx0XHR9XG5cdH1cblxuXHQuY2suY2stZGlhbG9nLW92ZXJsYXkuY2stZGlhbG9nLW92ZXJsYXlfX3RyYW5zcGFyZW50ICYge1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1kcm9wZG93bi1tYXgtd2lkdGg6IDc1dnc7XG59XG5cbi5jay5jay1kcm9wZG93biB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCYgLmNrLWRyb3Bkb3duX19hcnJvdyB7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0ei1pbmRleDogdmFyKC0tY2stei1kZWZhdWx0KTtcblx0fVxuXG5cdC8qIERyb3Bkb3duIGJ1dHRvbiBzaG91bGQgc3BhbiBob3Jpem9udGFsbHksIGUuZy4gaW4gdmVydGljYWwgdG9vbGJhcnMgKi9cblx0JiAuY2stYnV0dG9uLmNrLWRyb3Bkb3duX19idXR0b24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0JiAuY2stZHJvcGRvd25fX3BhbmVsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHotaW5kZXg6IHZhcigtLWNrLXotcGFuZWwpO1xuXHRcdG1heC13aWR0aDogdmFyKC0tY2stZHJvcGRvd24tbWF4LXdpZHRoKTtcblxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHRcdCYuY2stZHJvcGRvd25fX3BhbmVsLXZpc2libGUge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblxuXHRcdCYuY2stZHJvcGRvd25fX3BhbmVsX25lLFxuXHRcdCYuY2stZHJvcGRvd25fX3BhbmVsX253LFxuXHRcdCYuY2stZHJvcGRvd25fX3BhbmVsX24sXG5cdFx0Ji5jay1kcm9wZG93bl9fcGFuZWxfbm13LFxuXHRcdCYuY2stZHJvcGRvd25fX3BhbmVsX25tZSB7XG5cdFx0XHRib3R0b206IDEwMCU7XG5cdFx0fVxuXG5cdFx0Ji5jay1kcm9wZG93bl9fcGFuZWxfc2UsXG5cdFx0Ji5jay1kcm9wZG93bl9fcGFuZWxfc3csXG5cdFx0Ji5jay1kcm9wZG93bl9fcGFuZWxfc213LFxuXHRcdCYuY2stZHJvcGRvd25fX3BhbmVsX3NtZSxcblx0XHQmLmNrLWRyb3Bkb3duX19wYW5lbF9zIHtcblx0XHRcdC8qXG5cdFx0XHQgKiBVc2luZyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAxMDAlLCAwICkgY2F1c2VzIGJsdXJyeSBkcm9wZG93biBvbiBDaHJvbWUgNjctNzgrIG9uIG5vbi1yZXRpbmEgZGlzcGxheXMuXG5cdFx0XHQgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTA1My5cblx0XHRcdCAqL1xuXHRcdFx0dG9wOiAxMDAlO1xuXHRcdFx0Ym90dG9tOiBhdXRvO1xuXHRcdH1cblxuXHRcdCYuY2stZHJvcGRvd25fX3BhbmVsX25lLFxuXHRcdCYuY2stZHJvcGRvd25fX3BhbmVsX3NlIHtcblx0XHRcdGxlZnQ6IDBweDtcblx0XHR9XG5cblx0XHQmLmNrLWRyb3Bkb3duX19wYW5lbF9udyxcblx0XHQmLmNrLWRyb3Bkb3duX19wYW5lbF9zdyB7XG5cdFx0XHRyaWdodDogMHB4O1xuXHRcdH1cblxuXHRcdCYuY2stZHJvcGRvd25fX3BhbmVsX3MsXG5cdFx0Ji5jay1kcm9wZG93bl9fcGFuZWxfbiB7XG5cdFx0XHQvKiBQb3NpdGlvbmluZyBwYW5lbHMgcmVsYXRpdmUgdG8gdGhlIGNlbnRlciBvZiB0aGUgYnV0dG9uICovXG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0fVxuXG5cdFx0Ji5jay1kcm9wZG93bl9fcGFuZWxfbm13LFxuXHRcdCYuY2stZHJvcGRvd25fX3BhbmVsX3NtdyB7XG5cdFx0XHQvKiBQb3NpdGlvbmluZyBwYW5lbHMgcmVsYXRpdmUgdG8gdGhlIG1pZGRsZS13ZXN0IG9mIHRoZSBidXR0b24gKi9cblx0XHRcdGxlZnQ6IDc1JTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNzUlKTtcblx0XHR9XG5cblx0XHQmLmNrLWRyb3Bkb3duX19wYW5lbF9ubWUsXG5cdFx0Ji5jay1kcm9wZG93bl9fcGFuZWxfc21lIHtcblx0XHRcdC8qIFBvc2l0aW9uaW5nIHBhbmVscyByZWxhdGl2ZSB0byB0aGUgbWlkZGxlLWVhc3Qgb2YgdGhlIGJ1dHRvbiAqL1xuXHRcdFx0bGVmdDogMjUlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpO1xuXHRcdH1cblx0fVxufVxuXG4vKlxuICogVG9vbGJhciBkcm9wZG93biBwYW5lbHMgc2hvdWxkIGJlIGFsd2F5cyBhYm92ZSB0aGUgVUkgKGVnLiBvdGhlciBkcm9wZG93biBwYW5lbHMpIGZyb20gdGhlIGVkaXRvcidzIGNvbnRlbnQuXG4gKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNzg3NFxuICovXG4uY2suY2stdG9vbGJhciAuY2stZHJvcGRvd25fX3BhbmVsIHtcblx0ei1pbmRleDogY2FsYyggdmFyKC0tY2stei1wYW5lbCkgKyAxICk7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stc3BsaXRidXR0b24ge1xuXHQvKiBFbmFibGUgZm9udCBzaXplIGluaGVyaXRhbmNlLCB3aGljaCBhbGxvd3MgZmx1aWQgVUkgc2NhbGluZy4gKi9cblx0Zm9udC1zaXplOiBpbmhlcml0O1xuXG5cdCYgLmNrLXNwbGl0YnV0dG9uX19hY3Rpb246Zm9jdXMge1xuXHRcdHotaW5kZXg6IGNhbGModmFyKC0tY2stei1kZWZhdWx0KSArIDEpO1xuXHR9XG59XG5cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay10b29sYmFyLWRyb3Bkb3duLW1heC13aWR0aDogNjB2dztcbn1cblxuLmNrLmNrLXRvb2xiYXItZHJvcGRvd24gPiAuY2stZHJvcGRvd25fX3BhbmVsIHtcblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNTU4NiAqL1xuXHR3aWR0aDogbWF4LWNvbnRlbnQ7XG5cdG1heC13aWR0aDogdmFyKC0tY2stdG9vbGJhci1kcm9wZG93bi1tYXgtd2lkdGgpO1xuXG5cdCYgLmNrLWJ1dHRvbiB7XG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHR6LWluZGV4OiBjYWxjKHZhcigtLWNrLXotZGVmYXVsdCkgKyAxKTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1kcm9wZG93bi1tZW51LWxpc3RfX25lc3RlZC1tZW51X19idXR0b24gPiAuY2stZHJvcGRvd24tbWVudS1saXN0X19uZXN0ZWQtbWVudV9fYnV0dG9uX19hcnJvdyB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR6LWluZGV4OiB2YXIoLS1jay16LWRlZmF1bHQpO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stZHJvcGRvd24tbWVudV9fbmVzdGVkLW1lbnVfX3BhbmVsIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRtYXgtaGVpZ2h0OiAzMTRweDsgLyogV2l0aCB0aGUgZGVmYXVsdCBzZXR0aW5ncywgdGhpcyBpcyBlcXVhbCB0byAxMCBtZW51IGl0ZW1zLiAqL1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHR6LWluZGV4OiBjYWxjKHZhcigtLWNrLXotcGFuZWwpICsgMSk7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZHJvcGRvd24tbWVudS1saXN0X19uZXN0ZWQtbWVudSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWFyaWEtbGl2ZS1hbm5vdW5jZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IC0xMDAwMHB4O1xuXHR0b3A6IC0xMDAwMHB4O1xufVxuXG4uY2suY2stYXJpYS1saXZlLXJlZ2lvbi1saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWZvcm1fX2hlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0JiBoMi5jay1mb3JtX19oZWFkZXJfX2xhYmVsIHtcblx0XHRmbGV4LWdyb3c6IDE7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1pY29uIHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1sYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2suY2stdm9pY2UtbGFiZWwge1xuXHRkaXNwbGF5OiBub25lO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdCYgPiAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG5cdCYgLmNrLmNrLWxhYmVsIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvX3Vuc2VsZWN0YWJsZS5jc3NcIjtcblxuLmNrLmNrLWxpc3Qge1xuXHRAbWl4aW4gY2stdW5zZWxlY3RhYmxlO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0JiAuY2stbGlzdF9faXRlbSxcblx0JiAuY2stbGlzdF9fc2VwYXJhdG9yIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdC8qIE1ha2Ugc3VyZSB0aGF0IHdoYXRldmVyIGNoaWxkIG9mIHRoZSBsaXN0IGl0ZW0gZ2V0cyBmb2N1cywgaXQgcmVtYWlucyBvbiB0aGVcblx0dG9wLiBUaGFua3MgdG8gdGhhdCwgc3R5bGVzIGxpa2UgYm94LXNoYWRvdywgb3V0bGluZSwgZXRjLiBhcmUgbm90IG1hc2tlZCBieVxuXHRhZGphY2VudCBsaXN0IGl0ZW1zLiAqL1xuXHQmIC5jay1saXN0X19pdGVtID4gKjpmb2N1cyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IHZhcigtLWNrLXotZGVmYXVsdCk7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LyogTWFrZSBzdXJlIHRoZSBiYWxsb29uIGFycm93IGRvZXMgbm90IGZsb2F0IG92ZXIgaXRzIGNoaWxkcmVuLiAqL1xuXHQtLWNrLWJhbGxvb24tcGFuZWwtYXJyb3ctei1pbmRleDogY2FsYyh2YXIoLS1jay16LWRlZmF1bHQpIC0gMyk7XG59XG5cbi5jay5jay1iYWxsb29uLXBhbmVsIHtcblx0ZGlzcGxheTogbm9uZTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdHotaW5kZXg6IHZhcigtLWNrLXotcGFuZWwpO1xuXG5cdCYuY2stYmFsbG9vbi1wYW5lbF93aXRoLWFycm93IHtcblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR9XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0ei1pbmRleDogdmFyKC0tY2stYmFsbG9vbi1wYW5lbC1hcnJvdy16LWluZGV4KTtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHR6LWluZGV4OiBjYWxjKHZhcigtLWNrLWJhbGxvb24tcGFuZWwtYXJyb3ctei1pbmRleCkgKyAxKTtcblx0XHR9XG5cdH1cblxuXHQmW2NsYXNzKj1cImFycm93X25cIl0ge1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR6LWluZGV4OiB2YXIoLS1jay1iYWxsb29uLXBhbmVsLWFycm93LXotaW5kZXgpO1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHotaW5kZXg6IGNhbGModmFyKC0tY2stYmFsbG9vbi1wYW5lbC1hcnJvdy16LWluZGV4KSArIDEpO1xuXHRcdH1cblx0fVxuXG5cdCZbY2xhc3MqPVwiYXJyb3dfc1wiXSB7XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHotaW5kZXg6IHZhcigtLWNrLWJhbGxvb24tcGFuZWwtYXJyb3ctei1pbmRleCk7XG5cdFx0fVxuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0ei1pbmRleDogY2FsYyh2YXIoLS1jay1iYWxsb29uLXBhbmVsLWFycm93LXotaW5kZXgpICsgMSk7XG5cdFx0fVxuXHR9XG5cblx0Ji5jay1iYWxsb29uLXBhbmVsX3Zpc2libGUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2sgLmNrLWJhbGxvb24tcm90YXRvcl9fbmF2aWdhdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBCdXR0b25zIGluc2lkZSBhIHRvb2xiYXIgc2hvdWxkIGJlIGNlbnRlcmVkIHdoZW4gcm90YXRvciBiYXIgaXMgd2lkZXIuXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdWkvaXNzdWVzLzQ5NVxuICovXG4uY2sgLmNrLWJhbGxvb24tcm90YXRvcl9fY29udGVudCAuY2stdG9vbGJhciB7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrIC5jay1mYWtlLXBhbmVsIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdC8qIEZha2UgcGFuZWxzIHNob3VsZCBiZSBwbGFjZWQgdW5kZXIgbWFpbiBiYWxsb29uIGNvbnRlbnQuICovXG5cdHotaW5kZXg6IGNhbGModmFyKC0tY2stei1wYW5lbCkgLSAxKTtcbn1cblxuLmNrIC5jay1mYWtlLXBhbmVsIGRpdiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmNrIC5jay1mYWtlLXBhbmVsIGRpdjpudGgtY2hpbGQoIDEgKSB7XG5cdHotaW5kZXg6IDI7XG59XG5cbi5jayAuY2stZmFrZS1wYW5lbCBkaXY6bnRoLWNoaWxkKCAyICkge1xuXHR6LWluZGV4OiAxO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLXN0aWNreS1wYW5lbCB7XG5cdCYgLmNrLXN0aWNreS1wYW5lbF9fY29udGVudF9zdGlja3kge1xuXHRcdHotaW5kZXg6IHZhcigtLWNrLXotcGFuZWwpOyAvKiAjMzE1ICovXG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogMDtcblx0fVxuXG5cdCYgLmNrLXN0aWNreS1wYW5lbF9fY29udGVudF9zdGlja3lfYm90dG9tLWxpbWl0IHtcblx0XHR0b3A6IGF1dG87XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stYXV0b2NvbXBsZXRlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCYgPiAuY2stc2VhcmNoX19yZXN1bHRzIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogdmFyKC0tY2stei1wYW5lbCk7XG5cblx0XHQmLmNrLXNlYXJjaF9fcmVzdWx0c19uIHtcblx0XHRcdGJvdHRvbTogMTAwJTtcblx0XHR9XG5cblx0XHQmLmNrLXNlYXJjaF9fcmVzdWx0c19zIHtcblx0XHRcdHRvcDogMTAwJTtcblx0XHRcdGJvdHRvbTogYXV0bztcblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL21peGlucy9fZGlyLmNzc1wiO1xuXG4uY2suY2stc2VhcmNoIHtcblx0JiA+IC5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdCYgPiAuY2stbGFiZWxlZC1maWVsZC12aWV3X19pbnB1dC13cmFwcGVyID4gLmNrLWljb24ge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cblx0XHRcdEBtaXhpbiBjay1kaXIgbHRyIHtcblx0XHRcdFx0bGVmdDogdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRcdFx0fVxuXG5cdFx0XHRAbWl4aW4gY2stZGlyIHJ0bCB7XG5cdFx0XHRcdHJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JiAuY2stc2VhcmNoX19yZXNldCB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHR9XG5cdH1cblxuXHQmID4gLmNrLXNlYXJjaF9fcmVzdWx0cyB7XG5cdFx0JiA+IC5jay1zZWFyY2hfX2luZm8ge1xuXHRcdFx0JiA+IHNwYW46Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblxuXHRcdFx0LyogSGlkZSB0aGUgZmlsdGVyZWQgdmlldyB3aGVuIG5vdGhpbmcgd2FzIGZvdW5kICovXG5cdFx0XHQmOm5vdCguY2staGlkZGVuKSB+ICoge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWhpZ2hsaWdodGVkLXRleHQgbWFyayB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWhpZ2hsaWdodC1iYWNrZ3JvdW5kKTtcblx0dmVydGljYWwtYWxpZ246IGluaXRpYWw7XG5cdGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuQGltcG9ydCBcIi4uLy4uL21peGlucy9fdW5zZWxlY3RhYmxlLmNzc1wiO1xuXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay10b29sdGlwIHtcblx0QG1peGluIGNrLXVuc2VsZWN0YWJsZTtcblxuXHR6LWluZGV4OiBjYWxjKCB2YXIoLS1jay16LWRpYWxvZykgKyAxMDAgKTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay10b29sYmFyLXNwaW5uZXItc2l6ZTogMThweDtcbn1cblxuLmNrLmNrLXNwaW5uZXItY29udGFpbmVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNrLmNrLXNwaW5uZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0bWFyZ2luOiAwIGF1dG87XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0ei1pbmRleDogMTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvX3Vuc2VsZWN0YWJsZS5jc3NcIjtcblxuLmNrLmNrLXRvb2xiYXIge1xuXHRAbWl4aW4gY2stdW5zZWxlY3RhYmxlO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHQmID4gLmNrLXRvb2xiYXJfX2l0ZW1zIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRmbGV4LWdyb3c6IDE7XG5cblx0fVxuXG5cdCYgLmNrLmNrLXRvb2xiYXJfX3NlcGFyYXRvciB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0Lypcblx0XHQgKiBBIGxlYWRpbmcgb3IgdHJhaWxpbmcgc2VwYXJhdG9yIG1ha2VzIG5vIHNlbnNlIChzZXBhcmF0ZXMgZnJvbSBub3RoaW5nIG9uIG9uZSBzaWRlKS5cblx0XHQgKiBGb3IgaW5zdGFuY2UsIGl0IGNhbiBoYXBwZW4gd2hlbiB0b29sYmFyIGl0ZW1zIChhbHNvIHNlcGFyYXRvcnMpIGFyZSBnZXR0aW5nIGdyb3VwZWQgb25lIGJ5IG9uZSBhbmRcblx0XHQgKiBtb3ZlZCB0byBhbm90aGVyIHRvb2xiYXIgaW4gdGhlIGRyb3Bkb3duLlxuXHRcdCAqL1xuXHRcdCY6Zmlyc3QtY2hpbGQsXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0JiAuY2stdG9vbGJhcl9fbGluZS1icmVhayB7XG5cdFx0ZmxleC1iYXNpczogMTAwJTtcblx0fVxuXG5cdCYuY2stdG9vbGJhcl9ncm91cGluZyA+IC5jay10b29sYmFyX19pdGVtcyB7XG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdH1cblxuXHQmLmNrLXRvb2xiYXJfdmVydGljYWwgPiAuY2stdG9vbGJhcl9faXRlbXMge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdH1cblxuXHQmLmNrLXRvb2xiYXJfZmxvYXRpbmcgPiAuY2stdG9vbGJhcl9faXRlbXMge1xuXHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHR9XG5cblx0JiA+IC5jay5jay10b29sYmFyX19ncm91cGVkLWRyb3Bkb3duIHtcblx0XHQmID4gLmNrLWRyb3Bkb3duX19idXR0b24gLmNrLWRyb3Bkb3duX19hcnJvdyB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWJsb2NrLXRvb2xiYXItYnV0dG9uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiB2YXIoLS1jay16LWRlZmF1bHQpO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLW1lbnUtYmFyX19tZW51ICB7XG5cdCYgPiAuY2stbWVudS1iYXJfX21lbnVfX2J1dHRvbiA+IC5jay1tZW51LWJhcl9fbWVudV9fYnV0dG9uX19hcnJvdyB7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0ei1pbmRleDogdmFyKC0tY2stei1kZWZhdWx0KTtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLW1lbnUtYmFyLW1lbnUtbWF4LXdpZHRoOiA3NXZ3O1xuXHQtLWNrLW1lbnUtYmFyLW5lc3RlZC1tZW51LWhvcml6b250YWwtb2Zmc2V0OiA1cHg7XG59XG5cbi5jay5jay1tZW51LWJhcl9fbWVudSA+IC5jay5jay1tZW51LWJhcl9fbWVudV9fcGFuZWwge1xuXHR6LWluZGV4OiB2YXIoLS1jay16LXBhbmVsKTtcblx0bWF4LXdpZHRoOiB2YXIoLS1jay1tZW51LWJhci1tZW51LW1heC13aWR0aCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHQmLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl9uZSxcblx0Ji5jay1tZW51LWJhcl9fbWVudV9fcGFuZWxfcG9zaXRpb25fbncge1xuXHRcdGJvdHRvbTogMTAwJTtcblx0fVxuXG5cdCYuY2stbWVudS1iYXJfX21lbnVfX3BhbmVsX3Bvc2l0aW9uX3NlLFxuXHQmLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl9zdyB7XG5cdFx0dG9wOiAxMDAlO1xuXHRcdGJvdHRvbTogYXV0bztcblx0fVxuXG5cdCYuY2stbWVudS1iYXJfX21lbnVfX3BhbmVsX3Bvc2l0aW9uX25lLFxuXHQmLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl9zZSB7XG5cdFx0bGVmdDogMHB4O1xuXHR9XG5cblx0Ji5jay1tZW51LWJhcl9fbWVudV9fcGFuZWxfcG9zaXRpb25fbncsXG5cdCYuY2stbWVudS1iYXJfX21lbnVfX3BhbmVsX3Bvc2l0aW9uX3N3IHtcblx0XHRyaWdodDogMHB4O1xuXHR9XG5cblx0Ji5jay1tZW51LWJhcl9fbWVudV9fcGFuZWxfcG9zaXRpb25fZXMsXG5cdCYuY2stbWVudS1iYXJfX21lbnVfX3BhbmVsX3Bvc2l0aW9uX2VuIHtcblx0XHRsZWZ0OiBjYWxjKCAxMDAlIC0gdmFyKC0tY2stbWVudS1iYXItbmVzdGVkLW1lbnUtaG9yaXpvbnRhbC1vZmZzZXQpICk7XG5cdH1cblxuXHQmLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl9lcyB7XG5cdFx0dG9wOiAwcHg7XG5cdH1cblxuXHQmLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl9lbiB7XG5cdFx0Ym90dG9tOiAwcHg7XG5cdH1cblxuXHQmLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl93cyxcblx0Ji5jay1tZW51LWJhcl9fbWVudV9fcGFuZWxfcG9zaXRpb25fd24ge1xuXHRcdHJpZ2h0OiBjYWxjKCAxMDAlIC0gdmFyKC0tY2stbWVudS1iYXItbmVzdGVkLW1lbnUtaG9yaXpvbnRhbC1vZmZzZXQpICk7XG5cdH1cblxuXHQmLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl93cyB7XG5cdFx0dG9wOiAwcHg7XG5cdH1cblxuXHQmLmNrLW1lbnUtYmFyX19tZW51X19wYW5lbF9wb3NpdGlvbl93biB7XG5cdFx0Ym90dG9tOiAwcHg7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1tZW51LWJhcl9fbWVudSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjQsIENLU291cmNlIEhvbGRpbmcgc3AuIHogby5vLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stY29sb3ItcmVzaXplcjogdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKTtcblx0LS1jay1jb2xvci1yZXNpemVyLXRvb2x0aXAtYmFja2dyb3VuZDogaHNsKDAsIDAlLCAxNSUpO1xuXHQtLWNrLWNvbG9yLXJlc2l6ZXItdG9vbHRpcC10ZXh0OiBoc2woMCwgMCUsIDk1JSk7XG5cblx0LS1jay1yZXNpemVyLWJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHQtLWNrLXJlc2l6ZXItdG9vbHRpcC1vZmZzZXQ6IDEwcHg7XG5cdC0tY2stcmVzaXplci10b29sdGlwLWhlaWdodDogY2FsYyh2YXIoLS1jay1zcGFjaW5nLXNtYWxsKSAqIDIgKyAxMHB4KTtcbn1cblxuLmNrIC5jay13aWRnZXQge1xuXHQvKiBUaGlzIGlzIG5lY2Nlc3NhcnkgZm9yIHR5cGUgYXJvdW5kIFVJIHRvIGJlIHBvc2l0aW9uZWQgcHJvcGVybHkuICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZSB7XG5cdC8qIE1ha2UgdGhlIHdpZGdldCB3cmFwcGVyIGEgcmVsYXRpdmUgcG9zaXRpb25pbmcgY29udGFpbmVyIGZvciB0aGUgZHJhZyBoYW5kbGUuICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHRcdCYgLmNrLWljb24ge1xuXHRcdFx0LyogTWFrZSBzdXJlIHRoZSBpY29uIGluIG5vdCBhIHN1YmplY3QgdG8gZm9udC1zaXplIG9yIGxpbmUtaGVpZ2h0IHRvIGF2b2lkXG5cdFx0XHR1bm5lY2Vzc2FyeSBzcGFjaW5nIGFyb3VuZCBpdC4gKi9cblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXG5cdC8qIFNob3cgdGhlIHNlbGVjdGlvbiBoYW5kbGUgb24gbW91c2UgaG92ZXIgb3ZlciB0aGUgd2lkZ2V0LCBidXQgbm90IGZvciBuZXN0ZWQgd2lkZ2V0cy4gKi9cblx0Jjpob3ZlciA+IC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUge1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdH1cblxuXHQvKiBTaG93IHRoZSBzZWxlY3Rpb24gaGFuZGxlIHdoZW4gdGhlIHdpZGdldCBpcyBzZWxlY3RlZCwgYnV0IG5vdCBmb3IgbmVzdGVkIHdpZGdldHMuICovXG5cdCYuY2std2lkZ2V0X3NlbGVjdGVkID4gLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSB7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0fVxufVxuXG4uY2sgLmNrLXNpemUtdmlldyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXJlc2l6ZXItdG9vbHRpcC1iYWNrZ3JvdW5kKTtcblx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLXJlc2l6ZXItdG9vbHRpcC10ZXh0KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItcmVzaXplci10b29sdGlwLXRleHQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1yZXNpemVyLWJvcmRlci1yYWRpdXMpO1xuXHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS10aW55KTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDAgdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdGhlaWdodDogdmFyKC0tY2stcmVzaXplci10b29sdGlwLWhlaWdodCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1jay1yZXNpemVyLXRvb2x0aXAtaGVpZ2h0KTtcblxuXHQmLmNrLW9yaWVudGF0aW9uLXRvcC1sZWZ0LFxuXHQmLmNrLW9yaWVudGF0aW9uLXRvcC1yaWdodCxcblx0Ji5jay1vcmllbnRhdGlvbi1ib3R0b20tcmlnaHQsXG5cdCYuY2stb3JpZW50YXRpb24tYm90dG9tLWxlZnQsXG5cdCYuY2stb3JpZW50YXRpb24tYWJvdmUtY2VudGVyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdH1cblxuXHQmLmNrLW9yaWVudGF0aW9uLXRvcC1sZWZ0IHtcblx0XHR0b3A6IHZhcigtLWNrLXJlc2l6ZXItdG9vbHRpcC1vZmZzZXQpO1xuXHRcdGxlZnQ6IHZhcigtLWNrLXJlc2l6ZXItdG9vbHRpcC1vZmZzZXQpO1xuXHR9XG5cblx0Ji5jay1vcmllbnRhdGlvbi10b3AtcmlnaHQge1xuXHRcdHRvcDogdmFyKC0tY2stcmVzaXplci10b29sdGlwLW9mZnNldCk7XG5cdFx0cmlnaHQ6IHZhcigtLWNrLXJlc2l6ZXItdG9vbHRpcC1vZmZzZXQpO1xuXHR9XG5cblx0Ji5jay1vcmllbnRhdGlvbi1ib3R0b20tcmlnaHQge1xuXHRcdGJvdHRvbTogdmFyKC0tY2stcmVzaXplci10b29sdGlwLW9mZnNldCk7XG5cdFx0cmlnaHQ6IHZhcigtLWNrLXJlc2l6ZXItdG9vbHRpcC1vZmZzZXQpO1xuXHR9XG5cblx0Ji5jay1vcmllbnRhdGlvbi1ib3R0b20tbGVmdCB7XG5cdFx0Ym90dG9tOiB2YXIoLS1jay1yZXNpemVyLXRvb2x0aXAtb2Zmc2V0KTtcblx0XHRsZWZ0OiB2YXIoLS1jay1yZXNpemVyLXRvb2x0aXAtb2Zmc2V0KTtcblx0fVxuXG5cdC8qIENsYXNzIGFwcGxpZWQgaWYgdGhlIHdpZGdldCBpcyB0b28gc21hbGwgdG8gY29udGFpbiB0aGUgc2l6ZSBsYWJlbCAqL1xuXHQmLmNrLW9yaWVudGF0aW9uLWFib3ZlLWNlbnRlciB7XG5cdFx0dG9wOiBjYWxjKHZhcigtLWNrLXJlc2l6ZXItdG9vbHRpcC1oZWlnaHQpICogLTEpO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDI0LCBDS1NvdXJjZSBIb2xkaW5nIHNwLiB6IG8uby4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrIC5jay13aWRnZXRfd2l0aC1yZXNpemVyIHtcblx0LyogTWFrZSB0aGUgd2lkZ2V0IHdyYXBwZXIgYSByZWxhdGl2ZSBwb3NpdGlvbmluZyBjb250YWluZXIgZm9yIHRoZSBkcmFnIGhhbmRsZS4gKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2sgLmNrLXdpZGdldF9fcmVzaXplciB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHQvKiBUaGUgd3JhcHBlciBpdHNlbGYgc2hvdWxkIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgcG9pbnRlciBkZXZpY2UsIG9ubHkgdGhlIGhhbmRsZXMgc2hvdWxkLiAqL1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG59XG5cbi5jay1mb2N1c2VkIC5jay13aWRnZXRfd2l0aC1yZXNpemVyLmNrLXdpZGdldF9zZWxlY3RlZCB7XG5cdCYgPiAuY2std2lkZ2V0X19yZXNpemVyIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG4uY2sgLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdC8qIFJlc2l6ZXJzIGFyZSB0aGUgb25seSBVSSBlbGVtZW50cyB0aGF0IHNob3VsZCBpbnRlcmZlcmUgd2l0aCBhIHBvaW50ZXIgZGV2aWNlLiAqL1xuXHRwb2ludGVyLWV2ZW50czogYWxsO1xuXG5cdCYuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUtdG9wLWxlZnQsXG5cdCYuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUtYm90dG9tLXJpZ2h0IHtcblx0XHRjdXJzb3I6IG53c2UtcmVzaXplO1xuXHR9XG5cblx0Ji5jay13aWRnZXRfX3Jlc2l6ZXJfX2hhbmRsZS10b3AtcmlnaHQsXG5cdCYuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUtYm90dG9tLWxlZnQge1xuXHRcdGN1cnNvcjogbmVzdy1yZXNpemU7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyNCwgQ0tTb3VyY2UgSG9sZGluZyBzcC4geiBvLm8uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jayAuY2std2lkZ2V0IHtcblx0Lypcblx0ICogU3R5bGVzIG9mIHRoZSB0eXBlIGFyb3VuZCBidXR0b25zXG5cdCAqL1xuXHQmIC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHotaW5kZXg6IHZhcigtLWNrLXotZGVmYXVsdCk7XG5cblx0XHQmIHN2ZyB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdHotaW5kZXg6IGNhbGModmFyKC0tY2stei1kZWZhdWx0KSArIDIpO1xuXHRcdH1cblxuXHRcdCYuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uX2JlZm9yZSB7XG5cdFx0XHQvKiBQbGFjZSBpdCBpbiB0aGUgbWlkZGxlIG9mIHRoZSBvdXRsaW5lICovXG5cdFx0XHR0b3A6IGNhbGMoLTAuNSAqIHZhcigtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzcykpO1xuXHRcdFx0bGVmdDogbWluKDEwJSwgMzBweCk7XG5cblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHR9XG5cblx0XHQmLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbl9hZnRlciB7XG5cdFx0XHQvKiBQbGFjZSBpdCBpbiB0aGUgbWlkZGxlIG9mIHRoZSBvdXRsaW5lICovXG5cdFx0XHRib3R0b206IGNhbGMoLTAuNSAqIHZhcigtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzcykpO1xuXHRcdFx0cmlnaHQ6IG1pbigxMCUsIDMwcHgpO1xuXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcblx0XHR9XG5cdH1cblxuXHQvKlxuXHQgKiBTdHlsZXMgZm9yIHRoZSBidXR0b25zIHdoZW46XG5cdCAqIC0gdGhlIHdpZGdldCBpcyBzZWxlY3RlZCxcblx0ICogLSBvciB0aGUgYnV0dG9uIGlzIGJlaW5nIGhvdmVyZWQgKHJlZ2FyZGxlc3Mgb2YgdGhlIHdpZGdldCBzdGF0ZSkuXG5cdCAqL1xuXHQmLmNrLXdpZGdldF9zZWxlY3RlZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbixcblx0JiA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbjpob3ZlciB7XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAxcHg7XG5cdFx0XHRsZWZ0OiAxcHg7XG5cdFx0XHR6LWluZGV4OiBjYWxjKHZhcigtLWNrLXotZGVmYXVsdCkgKyAxKTtcblx0XHR9XG5cdH1cblxuXHQvKlxuXHQgKiBTdHlsZXMgZm9yIHRoZSBob3Jpem9udGFsIFwiZmFrZSBjYXJldFwiIHdoaWNoIGlzIGRpc3BsYXllZCB3aGVuIHRoZSB1c2VyIG5hdmlnYXRlcyB1c2luZyB0aGUga2V5Ym9hcmQuXG5cdCAqL1xuXHQmID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fZmFrZS1jYXJldCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0fVxuXG5cdC8qXG5cdCAqIFdoZW4gdGhlIHdpZGdldCBpcyBob3ZlcmVkIHRoZSBcImZha2UgY2FyZXRcIiB3b3VsZCBub3JtYWxseSBiZSBuYXJyb3dlciB0aGFuIHRoZVxuXHQgKiBleHRyYSBvdXRsaW5lIGRpc3BsYXllZCBhcm91bmQgdGhlIHdpZGdldC4gTGV0J3MgZXh0ZW5kIHRoZSBcImZha2UgY2FyZXRcIiB0byBtYXRjaFxuXHQgKiB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgd2lkZ2V0LlxuXHQgKi9cblx0Jjpob3ZlciA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2Zha2UtY2FyZXQge1xuXHRcdGxlZnQ6IGNhbGMoIC0xICogdmFyKC0tY2std2lkZ2V0LW91dGxpbmUtdGhpY2tuZXNzKSApO1xuXHRcdHJpZ2h0OiBjYWxjKCAtMSAqIHZhcigtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzcykgKTtcblx0fVxuXG5cdC8qXG5cdCAqIFN0eWxlcyBmb3IgdGhlIGhvcml6b250YWwgXCJmYWtlIGNhcmV0XCIgd2hlbiBpdCBzaG91bGQgYmUgZGlzcGxheWVkIGJlZm9yZSB0aGUgd2lkZ2V0IChiYWNrd2FyZCBrZXlib2FyZCBuYXZpZ2F0aW9uKS5cblx0ICovXG5cdCYuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9iZWZvcmUgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19mYWtlLWNhcmV0IHtcblx0XHR0b3A6IGNhbGMoIC0xICogdmFyKC0tY2std2lkZ2V0LW91dGxpbmUtdGhpY2tuZXNzKSAtIDFweCApO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Lypcblx0ICogU3R5bGVzIGZvciB0aGUgaG9yaXpvbnRhbCBcImZha2UgY2FyZXRcIiB3aGVuIGl0IHNob3VsZCBiZSBkaXNwbGF5ZWQgYWZ0ZXIgdGhlIHdpZGdldCAoZm9yd2FyZCBrZXlib2FyZCBuYXZpZ2F0aW9uKS5cblx0ICovXG5cdCYuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9hZnRlciA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2Zha2UtY2FyZXQge1xuXHRcdGJvdHRvbTogY2FsYyggLTEgKiB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpIC0gMXB4ICk7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLypcbiAqIEludGVncmF0aW9uIHdpdGggdGhlIHJlYWQtb25seSBtb2RlIG9mIHRoZSBlZGl0b3IuXG4gKi9cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLXJlYWQtb25seSAuY2std2lkZ2V0X190eXBlLWFyb3VuZCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG4gKiBJbnRlZ3JhdGlvbiB3aXRoIHRoZSByZXN0cmljdGVkIGVkaXRpbmcgbW9kZSAoZmVhdHVyZSkgb2YgdGhlIGVkaXRvci5cbiAqL1xuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stcmVzdHJpY3RlZC1lZGl0aW5nX21vZGVfcmVzdHJpY3RlZCAuY2std2lkZ2V0X190eXBlLWFyb3VuZCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG4gKiBJbnRlZ3JhdGlvbiB3aXRoIHRoZSAjaXNFbmFibGVkIHByb3BlcnR5IG9mIHRoZSBXaWRnZXRUeXBlQXJvdW5kIHBsdWdpbi5cbiAqL1xuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2std2lkZ2V0X190eXBlLWFyb3VuZF9kaXNhYmxlZCAuY2std2lkZ2V0X190eXBlLWFyb3VuZCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKipcbiAqIHRvbS1zZWxlY3QuY3NzICh2Ly9AQHZlcnNpb24pXG4gKiBDb3B5cmlnaHQgKGMpIGNvbnRyaWJ1dG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzXG4gKiBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDpcbiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0ZcbiAqIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZVxuICogZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqXG4gKi9cbi50cy1jb250cm9sIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbiAgcGFkZGluZzogOHB4IDhweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4udHMtd3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgLnRzLWNvbnRyb2wge1xuICBwYWRkaW5nOiBjYWxjKDhweCAtIDJweCAtIDFweCkgOHB4IGNhbGMoOHB4IC0gMnB4IC0gM3B4IC0gMXB4KTtcbn1cbi5mdWxsIC50cy1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5kaXNhYmxlZCAudHMtY29udHJvbCwgLmRpc2FibGVkIC50cy1jb250cm9sICoge1xuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbn1cbi5mb2N1cyAudHMtY29udHJvbCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuLnRzLWNvbnRyb2wgPiAqIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udHMtd3JhcHBlci5tdWx0aSAudHMtY29udHJvbCA+IGRpdiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luOiAwIDNweCAzcHggMDtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgYmFja2dyb3VuZDogIzFkYTdlZTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDczYmI7XG59XG4udHMtd3JhcHBlci5tdWx0aSAudHMtY29udHJvbCA+IGRpdi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjOTJjODM2O1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwNTc4ZDtcbn1cbi50cy13cmFwcGVyLm11bHRpLmRpc2FibGVkIC50cy1jb250cm9sID4gZGl2LCAudHMtd3JhcHBlci5tdWx0aS5kaXNhYmxlZCAudHMtY29udHJvbCA+IGRpdi5hY3RpdmUge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6ICNkMmQyZDI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWFhYWE7XG59XG4udHMtY29udHJvbCA+IGlucHV0IHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogN3JlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgdGV4dC1pbmRlbnQ6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwIG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB1c2VyLXNlbGVjdDogYXV0byAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4udHMtY29udHJvbCA+IGlucHV0OjotbXMtY2xlYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRzLWNvbnRyb2wgPiBpbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgPiBpbnB1dCB7XG4gIG1hcmdpbjogMCA0cHggIWltcG9ydGFudDtcbn1cbi50cy1jb250cm9sLnJ0bCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnRzLWNvbnRyb2wucnRsLnNpbmdsZSAudHMtY29udHJvbDphZnRlciB7XG4gIGxlZnQ6IDE1cHg7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLnRzLWNvbnRyb2wucnRsIC50cy1jb250cm9sID4gaW5wdXQge1xuICBtYXJnaW46IDAgNHB4IDAgLTJweCAhaW1wb3J0YW50O1xufVxuLmRpc2FibGVkIC50cy1jb250cm9sIHtcbiAgb3BhY2l0eTogMC41O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xufVxuLmlucHV0LWhpZGRlbiAudHMtY29udHJvbCA+IGlucHV0IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTAwMDBweDtcbn1cblxuLnRzLWRyb3Bkb3duIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luOiAwLjI1cmVtIDAgMDtcbiAgYm9yZGVyLXRvcDogMCBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDtcbn1cbi50cy1kcm9wZG93biBbZGF0YS1zZWxlY3RhYmxlXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50cy1kcm9wZG93biBbZGF0YS1zZWxlY3RhYmxlXSAuaGlnaGxpZ2h0IHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDE2OCwgMjA4LCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG59XG4udHMtZHJvcGRvd24gLm9wdGlvbixcbi50cy1kcm9wZG93biAub3B0Z3JvdXAtaGVhZGVyLFxuLnRzLWRyb3Bkb3duIC5uby1yZXN1bHRzLFxuLnRzLWRyb3Bkb3duIC5jcmVhdGUge1xuICBwYWRkaW5nOiA1cHggOHB4O1xufVxuLnRzLWRyb3Bkb3duIC5vcHRpb24sIC50cy1kcm9wZG93biBbZGF0YS1kaXNhYmxlZF0sIC50cy1kcm9wZG93biBbZGF0YS1kaXNhYmxlZF0gW2RhdGEtc2VsZWN0YWJsZV0ub3B0aW9uIHtcbiAgY3Vyc29yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjU7XG59XG4udHMtZHJvcGRvd24gW2RhdGEtc2VsZWN0YWJsZV0ub3B0aW9uIHtcbiAgb3BhY2l0eTogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnRzLWRyb3Bkb3duIC5vcHRncm91cDpmaXJzdC1jaGlsZCAub3B0Z3JvdXAtaGVhZGVyIHtcbiAgYm9yZGVyLXRvcDogMCBub25lO1xufVxuLnRzLWRyb3Bkb3duIC5vcHRncm91cC1oZWFkZXIge1xuICBjb2xvcjogIzMwMzAzMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLnRzLWRyb3Bkb3duIC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmYWZkO1xuICBjb2xvcjogIzQ5NWM2ODtcbn1cbi50cy1kcm9wZG93biAuYWN0aXZlLmNyZWF0ZSB7XG4gIGNvbG9yOiAjNDk1YzY4O1xufVxuLnRzLWRyb3Bkb3duIC5jcmVhdGUge1xuICBjb2xvcjogcmdiYSg0OCwgNDgsIDQ4LCAwLjUpO1xufVxuLnRzLWRyb3Bkb3duIC5zcGlubmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW46IDVweCA4cHg7XG59XG4udHMtZHJvcGRvd24gLnNwaW5uZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW46IDNweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDVweCBzb2xpZCAjZDBkMGQwO1xuICBib3JkZXItY29sb3I6ICNkMGQwZDAgdHJhbnNwYXJlbnQgI2QwZDBkMCB0cmFuc3BhcmVudDtcbiAgYW5pbWF0aW9uOiBsZHMtZHVhbC1yaW5nIDEuMnMgbGluZWFyIGluZmluaXRlO1xufVxuQGtleWZyYW1lcyBsZHMtZHVhbC1yaW5nIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuLnRzLWRyb3Bkb3duLWNvbnRlbnQge1xuICBvdmVyZmxvdzogaGlkZGVuIGF1dG87XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuLnRzLXdyYXBwZXIucGx1Z2luLWRyYWdfZHJvcCAudHMtZHJhZ2dpbmcge1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi50cy13cmFwcGVyLnBsdWdpbi1kcmFnX2Ryb3AgLnRzLWRyYWdnaW5nID4gKiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4ucGx1Z2luLWNoZWNrYm94X29wdGlvbnM6bm90KC5ydGwpIC5vcHRpb24gaW5wdXQge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLnBsdWdpbi1jaGVja2JveF9vcHRpb25zLnJ0bCAub3B0aW9uIGlucHV0IHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tbmFtZS1jYXNlICovXG4ucGx1Z2luLWNsZWFyX2J1dHRvbiB7XG4gIC0tdHMtcHItY2xlYXItYnV0dG9uOiAxZW07XG59XG4ucGx1Z2luLWNsZWFyX2J1dHRvbiAuY2xlYXItYnV0dG9uIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICByaWdodDogY2FsYyg4cHggLSA2cHgpO1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucGx1Z2luLWNsZWFyX2J1dHRvbi5mb3JtLXNlbGVjdCAuY2xlYXItYnV0dG9uLCAucGx1Z2luLWNsZWFyX2J1dHRvbi5zaW5nbGUgLmNsZWFyLWJ1dHRvbiB7XG4gIHJpZ2h0OiBtYXgodmFyKC0tdHMtcHItY2FyZXQpLCA4cHgpO1xufVxuLnBsdWdpbi1jbGVhcl9idXR0b24uZm9jdXMuaGFzLWl0ZW1zIC5jbGVhci1idXR0b24sIC5wbHVnaW4tY2xlYXJfYnV0dG9uOm5vdCguZGlzYWJsZWQpOmhvdmVyLmhhcy1pdGVtcyAuY2xlYXItYnV0dG9uIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnRzLXdyYXBwZXIgLmRyb3Bkb3duLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCA4cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDBkMGQwO1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoI2ZmZiwgI2QwZDBkMCwgODUlKTtcbiAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7XG59XG4udHMtd3JhcHBlciAuZHJvcGRvd24taGVhZGVyLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogOHB4O1xuICB0b3A6IDUwJTtcbiAgY29sb3I6ICMzMDMwMzA7XG4gIG9wYWNpdHk6IDAuNDtcbiAgbWFyZ2luLXRvcDogLTEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbn1cbi50cy13cmFwcGVyIC5kcm9wZG93bi1oZWFkZXItY2xvc2U6aG92ZXIge1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5wbHVnaW4tZHJvcGRvd25faW5wdXQuZm9jdXMuZHJvcGRvd24tYWN0aXZlIC50cy1jb250cm9sIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbn1cbi5wbHVnaW4tZHJvcGRvd25faW5wdXQgLmRyb3Bkb3duLWlucHV0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogOHB4IDhweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnBsdWdpbi1kcm9wZG93bl9pbnB1dCAuaXRlbXMtcGxhY2Vob2xkZXIge1xuICBib3JkZXI6IDAgbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnBsdWdpbi1kcm9wZG93bl9pbnB1dC5oYXMtaXRlbXMgLml0ZW1zLXBsYWNlaG9sZGVyLCAucGx1Z2luLWRyb3Bkb3duX2lucHV0LmRyb3Bkb3duLWFjdGl2ZSAuaXRlbXMtcGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgPiBpbnB1dCB7XG4gIG1pbi13aWR0aDogMDtcbn1cbi50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMuZm9jdXMgLnRzLWNvbnRyb2wgPiBpbnB1dCB7XG4gIGZsZXg6IG5vbmU7XG4gIG1pbi13aWR0aDogNHB4O1xufVxuLnRzLXdyYXBwZXIucGx1Z2luLWlucHV0X2F1dG9ncm93Lmhhcy1pdGVtcy5mb2N1cyAudHMtY29udHJvbCA+IGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnRzLWRyb3Bkb3duLnBsdWdpbi1vcHRncm91cF9jb2x1bW5zIC50cy1kcm9wZG93bi1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi50cy1kcm9wZG93bi5wbHVnaW4tb3B0Z3JvdXBfY29sdW1ucyAub3B0Z3JvdXAge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZjJmMmYyO1xuICBib3JkZXItdG9wOiAwIG5vbmU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1iYXNpczogMDtcbiAgbWluLXdpZHRoOiAwO1xufVxuLnRzLWRyb3Bkb3duLnBsdWdpbi1vcHRncm91cF9jb2x1bW5zIC5vcHRncm91cDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwIG5vbmU7XG59XG4udHMtZHJvcGRvd24ucGx1Z2luLW9wdGdyb3VwX2NvbHVtbnMgLm9wdGdyb3VwOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRzLWRyb3Bkb3duLnBsdWdpbi1vcHRncm91cF9jb2x1bW5zIC5vcHRncm91cC1oZWFkZXIge1xuICBib3JkZXItdG9wOiAwIG5vbmU7XG59XG5cbi50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uIC5pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSAucmVtb3ZlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDZweDtcbiAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4udHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSAucmVtb3ZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLmRpc2FibGVkIC5pdGVtIC5yZW1vdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b24gLnJlbW92ZS1zaW5nbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGZvbnQtc2l6ZTogMjNweDtcbn1cblxuLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b246bm90KC5ydGwpIC5pdGVtIHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b246bm90KC5ydGwpIC5pdGVtIC5yZW1vdmUge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMDczYmI7XG4gIG1hcmdpbi1sZWZ0OiA2cHg7XG59XG4udHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbjpub3QoLnJ0bCkgLml0ZW0uYWN0aXZlIC5yZW1vdmUge1xuICBib3JkZXItbGVmdC1jb2xvcjogIzAwNTc4ZDtcbn1cbi50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uOm5vdCgucnRsKS5kaXNhYmxlZCAuaXRlbSAucmVtb3ZlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNhYWFhYWE7XG59XG5cbi50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bCAuaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b24ucnRsIC5pdGVtIC5yZW1vdmUge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMDA3M2JiO1xuICBtYXJnaW4tcmlnaHQ6IDZweDtcbn1cbi50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bCAuaXRlbS5hY3RpdmUgLnJlbW92ZSB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogIzAwNTc4ZDtcbn1cbi50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bC5kaXNhYmxlZCAuaXRlbSAucmVtb3ZlIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjYWFhYWFhO1xufVxuXG46cm9vdCB7XG4gIC0tdHMtcHItY2xlYXItYnV0dG9uOiAwO1xuICAtLXRzLXByLWNhcmV0OiAwO1xuICAtLXRzLXByLW1pbjogLjc1cmVtO1xufVxuXG4udHMtd3JhcHBlci5zaW5nbGUgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLnNpbmdsZSAudHMtY29udHJvbCBpbnB1dCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRzLWNvbnRyb2w6bm90KC5ydGwpIHtcbiAgcGFkZGluZy1yaWdodDogbWF4KHZhcigtLXRzLXByLW1pbiksIHZhcigtLXRzLXByLWNsZWFyLWJ1dHRvbikgKyB2YXIoLS10cy1wci1jYXJldCkpICFpbXBvcnRhbnQ7XG59XG5cbi50cy1jb250cm9sLnJ0bCB7XG4gIHBhZGRpbmctbGVmdDogbWF4KHZhcigtLXRzLXByLW1pbiksIHZhcigtLXRzLXByLWNsZWFyLWJ1dHRvbikgKyB2YXIoLS10cy1wci1jYXJldCkpICFpbXBvcnRhbnQ7XG59XG5cbi50cy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udHMtZHJvcGRvd24sXG4udHMtY29udHJvbCxcbi50cy1jb250cm9sIGlucHV0IHtcbiAgY29sb3I6ICMzMDMwMzA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuXG4udHMtY29udHJvbCxcbi50cy13cmFwcGVyLnNpbmdsZS5pbnB1dC1hY3RpdmUgLnRzLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjdXJzb3I6IHRleHQ7XG59XG5cbi50cy1oaWRkZW4tYWNjZXNzaWJsZSB7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4udHMtd3JhcHBlci5zaW5nbGUgLnRzLWNvbnRyb2wge1xuICAtLXRzLXByLWNhcmV0OiAycmVtO1xufVxuLnRzLXdyYXBwZXIuc2luZ2xlIC50cy1jb250cm9sOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDAgNXB4O1xuICBib3JkZXItY29sb3I6ICM4MDgwODAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG4udHMtd3JhcHBlci5zaW5nbGUgLnRzLWNvbnRyb2w6bm90KC5ydGwpOjphZnRlciB7XG4gIHJpZ2h0OiAxNXB4O1xufVxuLnRzLXdyYXBwZXIuc2luZ2xlIC50cy1jb250cm9sLnJ0bDo6YWZ0ZXIge1xuICBsZWZ0OiAxNXB4O1xufVxuLnRzLXdyYXBwZXIuc2luZ2xlLmRyb3Bkb3duLWFjdGl2ZSAudHMtY29udHJvbDo6YWZ0ZXIge1xuICBtYXJnaW4tdG9wOiAtNHB4O1xuICBib3JkZXItd2lkdGg6IDAgNXB4IDVweCA1cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzgwODA4MCB0cmFuc3BhcmVudDtcbn1cbi50cy13cmFwcGVyLnNpbmdsZS5pbnB1dC1hY3RpdmUgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLnNpbmdsZS5pbnB1dC1hY3RpdmUgLnRzLWNvbnRyb2wgaW5wdXQge1xuICBjdXJzb3I6IHRleHQ7XG59XG5cbi50cy13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogMzZweDtcbn1cbi50cy13cmFwcGVyLm11bHRpLmhhcy1pdGVtcyAudHMtY29udHJvbCB7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICAtLXRzLXByLW1pbjogJHBhZGRpbmcteDtcbn1cbi50cy13cmFwcGVyLm11bHRpIC50cy1jb250cm9sIFtkYXRhLXZhbHVlXSB7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwIHJnYmEoMCwgNTEsIDgzLCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peCgjMWRhN2VlLCAjMTc4ZWU5LCA2MCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMWRhN2VlLCAjMTc4ZWU5KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4yKSwgaW5zZXQgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzKTtcbn1cbi50cy13cmFwcGVyLm11bHRpIC50cy1jb250cm9sIFtkYXRhLXZhbHVlXS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoIzAwOGZkOCwgIzAwNzVjZiwgNjAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwOGZkOCwgIzAwNzVjZik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbi50cy13cmFwcGVyLm11bHRpLmRpc2FibGVkIC50cy1jb250cm9sIFtkYXRhLXZhbHVlXSB7XG4gIGNvbG9yOiAjOTk5O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi50cy13cmFwcGVyLm11bHRpLmRpc2FibGVkIC50cy1jb250cm9sIFtkYXRhLXZhbHVlXSwgLnRzLXdyYXBwZXIubXVsdGkuZGlzYWJsZWQgLnRzLWNvbnRyb2wgW2RhdGEtdmFsdWVdIC5yZW1vdmUge1xuICBib3JkZXItY29sb3I6ICNlNmU2ZTY7XG59XG4udHMtd3JhcHBlci5tdWx0aS5kaXNhYmxlZCAudHMtY29udHJvbCBbZGF0YS12YWx1ZV0gLnJlbW92ZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4udHMtd3JhcHBlci5zaW5nbGUgLnRzLWNvbnRyb2wge1xuICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSksIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoI2ZlZmVmZSwgI2YyZjJmMiwgNjAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZlZmVmZSwgI2YyZjJmMik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLnRzLXdyYXBwZXIuc2luZ2xlIC50cy1jb250cm9sLCAudHMtZHJvcGRvd24uc2luZ2xlIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjhiOGI4O1xufVxuXG4uZHJvcGRvd24tYWN0aXZlIC50cy1jb250cm9sIHtcbiAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7XG59XG5cbi50cy1kcm9wZG93biAub3B0Z3JvdXAtaGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44NWVtO1xufVxuLnRzLWRyb3Bkb3duIC5vcHRncm91cCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjBmMGYwO1xufVxuLnRzLWRyb3Bkb3duIC5vcHRncm91cDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDAgbm9uZTtcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/