/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-13.use[2]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[4]!./assets/website/scss/styles.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************/
@import url(https://use.typekit.net/fgo1cmt.css);
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-13.use[2]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[4]!./assets/website/scss/styles.scss (1) ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
:root {
  --feedback-primary-color: #d98c2f;
  --feedback-modal-modal-wrapper-z-index: 1020;
  --Basis-Dark: #2f2f2f;
  --Basis-White: #fff;
  --Basis-Cream: #f3eee9;
  --Basis-Ivory: #ece3d9;
  --Basis-Cocos: #b28d66;
  --Basis-Desert: #b97727;
  --actie-water: linear-gradient(
    90deg,
    rgba(65, 168, 215, 1) 0%,
    rgba(43, 134, 178, 1) 100%
  );
  --Tinten-Water-Light: #c6dce6;
  --Tinten-Water-Hover: #2680ac;
  --Hoofdkleur-Sun: linear-gradient(
    90deg,
    rgba(217, 140, 47, 1) 0%,
    rgba(217, 140, 47, 1) 100%
  );
  --Accent-Raspberry: #d83350;
  --Accent-Amber: #e4a006;
  --Accent-Forest: #315641;
  --Tinten-Light-Grey: #f2f2f2;
  --Tinten-Grey: #c0c0c0;
  --Tinten-Dark-Grey: #8a8a8a;
  --Tinten-Clay: #afa99f;
  --Tinten-Loam: #553611;
  --Tinten-Extra-Light: #eaf6fc;
  --Notification-Error: #e23838;
  --Notification-Error-Light: #fcebeb;
  --Notification-Warning: #eb872b;
  --Notification-Warning-Light: #fdf3e9;
  --Notification-Success: #5dca29;
  --Notification-Success-Light: #eef9e9;
  --zoomist-wrapper-bg-color: transparant;
  --zoomist-zoomer-button-color: #e4a006;
  --zoomist-zoomer-icon-color: #fff;
  --zoomist-zoomer-button-color-disabled: #f9dd9e;
  --zoomist-zoomer-icon-color-disabled: #fff;
  --dp-font-family: $font-base;
  --dp-action-row-padding: 0;
  --dp-border-radius: 1.75rem;
  --dp-cell-border-radius: 1.75rem;
  --dp-cell-size: 35px;
  --dp-row-margin: 1px 0;
  --dp-common-transition: background-color 0.1s ease-in, transform 0.1s ease-in,
    border 0.1s ease-in, opacity 0.1s ease-in, width 0.1s ease-in,
    height 0.1s ease-in, margin 0.1s ease-in;
  --dp-action-row-transtion: background-color 0.1s ease-in,
    transform 0.1s ease-in, border 0.1s ease-in, opacity 0.1s ease-in,
    width 0.1s ease-in, height 0.1s ease-in, margin 0.1s ease-in;
}

.dp__theme_light {
  --dp-background-color: #fff;
  --dp-text-color: #212121;
  --dp-hover-color: linear-gradient(90deg, #41a8d7 0%, #2b86b2 100%);
  --dp-hover-text-color: #fff;
  --dp-hover-icon-color: #fff;
  --dp-primary-color: linear-gradient(90deg, #41a8d7 0%, #2b86b2 100%);
  --dp-primary-disabled-color: #6bacea;
  --dp-primary-text-color: #f8f5f5;
  --dp-secondary-color: #c0c4cc;
  --dp-border-color: #ddd;
  --dp-menu-border-color: #ddd;
  --dp-border-color-hover: #aaaeb7;
  --dp-border-color-focus: #aaaeb7;
  --dp-disabled-color: #f6f6f6;
  --dp-scroll-bar-background: #f3f3f3;
  --dp-scroll-bar-color: #959595;
  --dp-success-color: #76d275;
  --dp-success-color-disabled: #a3d9b1;
  --dp-icon-color: #959595;
  --dp-danger-color: #ff6f60;
  --dp-marker-color: #ff6f60;
  --dp-tooltip-color: #fafafa;
  --dp-disabled-color-text: #8e8e8e;
  --dp-highlight-color: rgb(25 118 210 / 10%);
  --dp-range-between-dates-background-color: #c6dce6;
  --dp-range-between-dates-text-color: #2f2f2f;
  --dp-range-between-border-color: #c6dce6;
}

.dp__calendar_header_item,
.dp__calendar_item {
  flex-grow: unset;
}

.bg-basic-dark {
  background: #2f2f2f;
}

.bg-basic-white {
  background: #fff;
}

.bg-basic-cream {
  background: #f3eee9;
}

.bg-basic-cream-85p {
  background: linear-gradient(#f3eee9 85%, transparent 85%);
}

.bg-basic-ivory {
  background: #ece3d9;
}

.bg-basic-cocos {
  background: #b28d66;
}

.bg-basic-desert {
  background: #b97727;
}

.bg-sun {
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%);
}

.bg-water {
  background: linear-gradient(90deg, #41a8d7 0%, #2b86b2 100%);
}

.bg-discount {
  background: linear-gradient(90deg, #d83350 0%, #e15699 100%);
}

#pushfeedback {
  position: fixed;
  left: -10px;
  bottom: 150px;
  transform: rotate(-90deg) translateY(-50%);
  z-index: 1020;
}
#pushfeedback .btn {
  padding: 0.25rem 0.5rem;
  font-weight: 100;
  font-size: 0.75rem;
}

@font-face {
  font-family: "Twemoji Country Flags";
  unicode-range: U+1F1E6-1F1FF, U+1F3F4, U+E0062-E0063, U+E0065, U+E0067, U+E006C, U+E006E, U+E0073-E0074, U+E0077, U+E007F;
  src: url("https://cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1/dist/TwemojiCountryFlags.woff2") format("woff2");
}
.win {
  font-family: "Twemoji Country Flags", effra, sans-serif;
}

: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: #d98c2f;
  --bs-secondary: #41a8d7;
  --bs-success: #5dca29;
  --bs-info: #0dcaf0;
  --bs-warning: #eb872b;
  --bs-danger: #e23838;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 217, 140, 47;
  --bs-secondary-rgb: 65, 168, 215;
  --bs-success-rgb: 93, 202, 41;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 235, 135, 43;
  --bs-danger-rgb: 226, 56, 56;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: #573813;
  --bs-secondary-text-emphasis: #1a4356;
  --bs-success-text-emphasis: #255110;
  --bs-info-text-emphasis: #055160;
  --bs-warning-text-emphasis: #5e3611;
  --bs-danger-text-emphasis: #5a1616;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #f7e8d5;
  --bs-secondary-bg-subtle: #d9eef7;
  --bs-success-bg-subtle: #eef9e9;
  --bs-info-bg-subtle: #cff4fc;
  --bs-warning-bg-subtle: #fdf3e9;
  --bs-danger-bg-subtle: #fcebeb;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #f0d1ac;
  --bs-secondary-border-subtle: #b3dcef;
  --bs-success-border-subtle: #5dca29;
  --bs-info-border-subtle: #9eeaf9;
  --bs-warning-border-subtle: #eb872b;
  --bs-danger-border-subtle: #e23838;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-root-font-size: 16px;
  --bs-body-font-family: effra, sans-serif;
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #2f2f2f;
  --bs-body-color-rgb: 47, 47, 47;
  --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(47, 47, 47, 0.75);
  --bs-secondary-color-rgb: 47, 47, 47;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(47, 47, 47, 0.5);
  --bs-tertiary-color-rgb: 47, 47, 47;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #d98c2f;
  --bs-link-color-rgb: 217, 140, 47;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #ae7026;
  --bs-link-hover-color-rgb: 174, 112, 38;
  --bs-code-color: #d63384;
  --bs-highlight-color: #2f2f2f;
  --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: 1rem;
  --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: 0px 8px 20px 0px rgba(70, 70, 70, 0.2);
  --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(217, 140, 47, 0.25);
  --bs-form-valid-color: #5dca29;
  --bs-form-valid-border-color: #5dca29;
  --bs-form-invalid-color: #e23838;
  --bs-form-invalid-border-color: #e23838;
}

[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: #e8ba82;
  --bs-secondary-text-emphasis: #8dcbe7;
  --bs-success-text-emphasis: #9edf7f;
  --bs-info-text-emphasis: #6edff6;
  --bs-warning-text-emphasis: #f3b780;
  --bs-danger-text-emphasis: #ee8888;
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: #2b1c09;
  --bs-secondary-bg-subtle: #0d222b;
  --bs-success-bg-subtle: #132808;
  --bs-info-bg-subtle: #032830;
  --bs-warning-bg-subtle: #2f1b09;
  --bs-danger-bg-subtle: #2d0b0b;
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: #82541c;
  --bs-secondary-border-subtle: #276581;
  --bs-success-border-subtle: #387919;
  --bs-info-border-subtle: #087990;
  --bs-warning-border-subtle: #8d511a;
  --bs-danger-border-subtle: #882222;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: #e8ba82;
  --bs-link-hover-color: #edc89b;
  --bs-link-color-rgb: 232, 186, 130;
  --bs-link-hover-color-rgb: 237, 200, 155;
  --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;
}

:root {
  font-size: var(--bs-root-font-size);
}
@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-family: effra, sans-serif;
  font-weight: 400;
  line-height: 1.2;
  color: var(--bs-heading-color);
}

h1, .h1 {
  font-size: calc(1.425rem + 2.1vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 3rem;
  }
}

h2, .h2 {
  font-size: calc(1.4125rem + 1.95vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 2.875rem;
  }
}

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

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

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

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

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

::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);
  box-shadow: var(--bs-box-shadow-sm);
  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);
}

.grid {
  display: grid;
  grid-template-rows: repeat(var(--bs-rows, 1), 1fr);
  grid-template-columns: repeat(var(--bs-columns, 12), 1fr);
  gap: var(--bs-gap, 1.5rem);
}
.grid .g-col-1 {
  grid-column: auto/span 1;
}
.grid .g-col-2 {
  grid-column: auto/span 2;
}
.grid .g-col-3 {
  grid-column: auto/span 3;
}
.grid .g-col-4 {
  grid-column: auto/span 4;
}
.grid .g-col-5 {
  grid-column: auto/span 5;
}
.grid .g-col-6 {
  grid-column: auto/span 6;
}
.grid .g-col-7 {
  grid-column: auto/span 7;
}
.grid .g-col-8 {
  grid-column: auto/span 8;
}
.grid .g-col-9 {
  grid-column: auto/span 9;
}
.grid .g-col-10 {
  grid-column: auto/span 10;
}
.grid .g-col-11 {
  grid-column: auto/span 11;
}
.grid .g-col-12 {
  grid-column: auto/span 12;
}
.grid .g-start-1 {
  grid-column-start: 1;
}
.grid .g-start-2 {
  grid-column-start: 2;
}
.grid .g-start-3 {
  grid-column-start: 3;
}
.grid .g-start-4 {
  grid-column-start: 4;
}
.grid .g-start-5 {
  grid-column-start: 5;
}
.grid .g-start-6 {
  grid-column-start: 6;
}
.grid .g-start-7 {
  grid-column-start: 7;
}
.grid .g-start-8 {
  grid-column-start: 8;
}
.grid .g-start-9 {
  grid-column-start: 9;
}
.grid .g-start-10 {
  grid-column-start: 10;
}
.grid .g-start-11 {
  grid-column-start: 11;
}
@media (min-width: 576px) {
  .grid .g-col-sm-1 {
    grid-column: auto/span 1;
  }
  .grid .g-col-sm-2 {
    grid-column: auto/span 2;
  }
  .grid .g-col-sm-3 {
    grid-column: auto/span 3;
  }
  .grid .g-col-sm-4 {
    grid-column: auto/span 4;
  }
  .grid .g-col-sm-5 {
    grid-column: auto/span 5;
  }
  .grid .g-col-sm-6 {
    grid-column: auto/span 6;
  }
  .grid .g-col-sm-7 {
    grid-column: auto/span 7;
  }
  .grid .g-col-sm-8 {
    grid-column: auto/span 8;
  }
  .grid .g-col-sm-9 {
    grid-column: auto/span 9;
  }
  .grid .g-col-sm-10 {
    grid-column: auto/span 10;
  }
  .grid .g-col-sm-11 {
    grid-column: auto/span 11;
  }
  .grid .g-col-sm-12 {
    grid-column: auto/span 12;
  }
  .grid .g-start-sm-1 {
    grid-column-start: 1;
  }
  .grid .g-start-sm-2 {
    grid-column-start: 2;
  }
  .grid .g-start-sm-3 {
    grid-column-start: 3;
  }
  .grid .g-start-sm-4 {
    grid-column-start: 4;
  }
  .grid .g-start-sm-5 {
    grid-column-start: 5;
  }
  .grid .g-start-sm-6 {
    grid-column-start: 6;
  }
  .grid .g-start-sm-7 {
    grid-column-start: 7;
  }
  .grid .g-start-sm-8 {
    grid-column-start: 8;
  }
  .grid .g-start-sm-9 {
    grid-column-start: 9;
  }
  .grid .g-start-sm-10 {
    grid-column-start: 10;
  }
  .grid .g-start-sm-11 {
    grid-column-start: 11;
  }
}
@media (min-width: 768px) {
  .grid .g-col-md-1 {
    grid-column: auto/span 1;
  }
  .grid .g-col-md-2 {
    grid-column: auto/span 2;
  }
  .grid .g-col-md-3 {
    grid-column: auto/span 3;
  }
  .grid .g-col-md-4 {
    grid-column: auto/span 4;
  }
  .grid .g-col-md-5 {
    grid-column: auto/span 5;
  }
  .grid .g-col-md-6 {
    grid-column: auto/span 6;
  }
  .grid .g-col-md-7 {
    grid-column: auto/span 7;
  }
  .grid .g-col-md-8 {
    grid-column: auto/span 8;
  }
  .grid .g-col-md-9 {
    grid-column: auto/span 9;
  }
  .grid .g-col-md-10 {
    grid-column: auto/span 10;
  }
  .grid .g-col-md-11 {
    grid-column: auto/span 11;
  }
  .grid .g-col-md-12 {
    grid-column: auto/span 12;
  }
  .grid .g-start-md-1 {
    grid-column-start: 1;
  }
  .grid .g-start-md-2 {
    grid-column-start: 2;
  }
  .grid .g-start-md-3 {
    grid-column-start: 3;
  }
  .grid .g-start-md-4 {
    grid-column-start: 4;
  }
  .grid .g-start-md-5 {
    grid-column-start: 5;
  }
  .grid .g-start-md-6 {
    grid-column-start: 6;
  }
  .grid .g-start-md-7 {
    grid-column-start: 7;
  }
  .grid .g-start-md-8 {
    grid-column-start: 8;
  }
  .grid .g-start-md-9 {
    grid-column-start: 9;
  }
  .grid .g-start-md-10 {
    grid-column-start: 10;
  }
  .grid .g-start-md-11 {
    grid-column-start: 11;
  }
}
@media (min-width: 992px) {
  .grid .g-col-lg-1 {
    grid-column: auto/span 1;
  }
  .grid .g-col-lg-2 {
    grid-column: auto/span 2;
  }
  .grid .g-col-lg-3 {
    grid-column: auto/span 3;
  }
  .grid .g-col-lg-4 {
    grid-column: auto/span 4;
  }
  .grid .g-col-lg-5 {
    grid-column: auto/span 5;
  }
  .grid .g-col-lg-6 {
    grid-column: auto/span 6;
  }
  .grid .g-col-lg-7 {
    grid-column: auto/span 7;
  }
  .grid .g-col-lg-8 {
    grid-column: auto/span 8;
  }
  .grid .g-col-lg-9 {
    grid-column: auto/span 9;
  }
  .grid .g-col-lg-10 {
    grid-column: auto/span 10;
  }
  .grid .g-col-lg-11 {
    grid-column: auto/span 11;
  }
  .grid .g-col-lg-12 {
    grid-column: auto/span 12;
  }
  .grid .g-start-lg-1 {
    grid-column-start: 1;
  }
  .grid .g-start-lg-2 {
    grid-column-start: 2;
  }
  .grid .g-start-lg-3 {
    grid-column-start: 3;
  }
  .grid .g-start-lg-4 {
    grid-column-start: 4;
  }
  .grid .g-start-lg-5 {
    grid-column-start: 5;
  }
  .grid .g-start-lg-6 {
    grid-column-start: 6;
  }
  .grid .g-start-lg-7 {
    grid-column-start: 7;
  }
  .grid .g-start-lg-8 {
    grid-column-start: 8;
  }
  .grid .g-start-lg-9 {
    grid-column-start: 9;
  }
  .grid .g-start-lg-10 {
    grid-column-start: 10;
  }
  .grid .g-start-lg-11 {
    grid-column-start: 11;
  }
}
@media (min-width: 1200px) {
  .grid .g-col-xl-1 {
    grid-column: auto/span 1;
  }
  .grid .g-col-xl-2 {
    grid-column: auto/span 2;
  }
  .grid .g-col-xl-3 {
    grid-column: auto/span 3;
  }
  .grid .g-col-xl-4 {
    grid-column: auto/span 4;
  }
  .grid .g-col-xl-5 {
    grid-column: auto/span 5;
  }
  .grid .g-col-xl-6 {
    grid-column: auto/span 6;
  }
  .grid .g-col-xl-7 {
    grid-column: auto/span 7;
  }
  .grid .g-col-xl-8 {
    grid-column: auto/span 8;
  }
  .grid .g-col-xl-9 {
    grid-column: auto/span 9;
  }
  .grid .g-col-xl-10 {
    grid-column: auto/span 10;
  }
  .grid .g-col-xl-11 {
    grid-column: auto/span 11;
  }
  .grid .g-col-xl-12 {
    grid-column: auto/span 12;
  }
  .grid .g-start-xl-1 {
    grid-column-start: 1;
  }
  .grid .g-start-xl-2 {
    grid-column-start: 2;
  }
  .grid .g-start-xl-3 {
    grid-column-start: 3;
  }
  .grid .g-start-xl-4 {
    grid-column-start: 4;
  }
  .grid .g-start-xl-5 {
    grid-column-start: 5;
  }
  .grid .g-start-xl-6 {
    grid-column-start: 6;
  }
  .grid .g-start-xl-7 {
    grid-column-start: 7;
  }
  .grid .g-start-xl-8 {
    grid-column-start: 8;
  }
  .grid .g-start-xl-9 {
    grid-column-start: 9;
  }
  .grid .g-start-xl-10 {
    grid-column-start: 10;
  }
  .grid .g-start-xl-11 {
    grid-column-start: 11;
  }
}
@media (min-width: 1400px) {
  .grid .g-col-xxl-1 {
    grid-column: auto/span 1;
  }
  .grid .g-col-xxl-2 {
    grid-column: auto/span 2;
  }
  .grid .g-col-xxl-3 {
    grid-column: auto/span 3;
  }
  .grid .g-col-xxl-4 {
    grid-column: auto/span 4;
  }
  .grid .g-col-xxl-5 {
    grid-column: auto/span 5;
  }
  .grid .g-col-xxl-6 {
    grid-column: auto/span 6;
  }
  .grid .g-col-xxl-7 {
    grid-column: auto/span 7;
  }
  .grid .g-col-xxl-8 {
    grid-column: auto/span 8;
  }
  .grid .g-col-xxl-9 {
    grid-column: auto/span 9;
  }
  .grid .g-col-xxl-10 {
    grid-column: auto/span 10;
  }
  .grid .g-col-xxl-11 {
    grid-column: auto/span 11;
  }
  .grid .g-col-xxl-12 {
    grid-column: auto/span 12;
  }
  .grid .g-start-xxl-1 {
    grid-column-start: 1;
  }
  .grid .g-start-xxl-2 {
    grid-column-start: 2;
  }
  .grid .g-start-xxl-3 {
    grid-column-start: 3;
  }
  .grid .g-start-xxl-4 {
    grid-column-start: 4;
  }
  .grid .g-start-xxl-5 {
    grid-column-start: 5;
  }
  .grid .g-start-xxl-6 {
    grid-column-start: 6;
  }
  .grid .g-start-xxl-7 {
    grid-column-start: 7;
  }
  .grid .g-start-xxl-8 {
    grid-column-start: 8;
  }
  .grid .g-start-xxl-9 {
    grid-column-start: 9;
  }
  .grid .g-start-xxl-10 {
    grid-column-start: 10;
  }
  .grid .g-start-xxl-11 {
    grid-column-start: 11;
  }
}

.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: transparent;
  --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: #f7e8d5;
  --bs-table-border-color: #c6baaa;
  --bs-table-striped-bg: #ebdcca;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #ded1c0;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e4d7c5;
  --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: #d9eef7;
  --bs-table-border-color: #aebec6;
  --bs-table-striped-bg: #cee2eb;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #c3d6de;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #c9dce4;
  --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: #dff4d4;
  --bs-table-border-color: #b2c3aa;
  --bs-table-striped-bg: #d4e8c9;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #c9dcbf;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #cee2c4;
  --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: #fbe7d5;
  --bs-table-border-color: #c9b9aa;
  --bs-table-striped-bg: #eedbca;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #e2d0c0;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e8d6c5;
  --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: #f9d7d7;
  --bs-table-border-color: #c7acac;
  --bs-table-striped-bg: #edcccc;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #e0c2c2;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e6c7c7;
  --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(1rem + var(--bs-border-width));
  padding-bottom: calc(1rem + 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: 1rem 1.5rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  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);
  box-shadow: var(--bs-box-shadow-inset);
  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: #ecc697;
  outline: 0;
  box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(217, 140, 47, 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::placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 1rem 1.5rem;
  margin: -1rem -1.5rem;
  margin-inline-end: 1.5rem;
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  background-image: var(--bs-gradient);
  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::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 1rem 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::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  margin-inline-end: 0.5rem;
}

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

textarea.form-control {
  min-height: calc(1.5em + 2rem + 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 + 2rem + calc(var(--bs-border-width) * 2));
  padding: 1rem;
}
.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: 1rem 4.5rem 1rem 1.5rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  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 1.5rem center;
  background-size: 16px 12px;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  box-shadow: var(--bs-box-shadow-inset);
  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: #ecc697;
  outline: 0;
  box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(217, 140, 47, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 1.5rem;
  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;
  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;
          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: #ecc697;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(217, 140, 47, 0.25);
}
.form-check-input:checked {
  background-color: #d98c2f;
  border-color: #d98c2f;
}
.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"), var(--bs-gradient);
}
.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"), var(--bs-gradient);
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: #d98c2f;
  border-color: #d98c2f;
  --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"), var(--bs-gradient);
}
.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%23ecc697%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"), var(--bs-gradient);
}
.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;
  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(217, 140, 47, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(217, 140, 47, 0.25);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  appearance: none;
  background-color: #d98c2f;
  background-image: var(--bs-gradient);
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);
  -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: #f4ddc1;
  background-image: var(--bs-gradient);
}
.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;
  box-shadow: var(--bs-box-shadow-inset);
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  appearance: none;
  background-color: #d98c2f;
  background-image: var(--bs-gradient);
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);
  -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: #f4ddc1;
  background-image: var(--bs-gradient);
}
.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;
  box-shadow: var(--bs-box-shadow-inset);
}
.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 1.5rem;
  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 1.5rem;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  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::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.75rem;
  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: 1rem 1.5rem;
  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: 6rem;
}

.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 + 2rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27  viewBox=%270 0 18 19%27 fill=%27none%27%3e %3cpath d=%27M12.543 11.6094C11.7696 12.9495 10.4766 13.7188 9 13.7188C7.52344 13.7188 6.2325 12.9502 5.45696 11.6094C5.34989 11.4159 5.32305 11.1882 5.3822 10.9751C5.44136 10.7621 5.58178 10.5807 5.77325 10.4702C5.96473 10.3596 6.19196 10.3286 6.40606 10.3838C6.62015 10.4391 6.804 10.5762 6.91805 10.7656C7.19157 11.2388 7.82578 12.0312 9 12.0312C10.1742 12.0312 10.8084 11.2381 11.082 10.7656C11.1362 10.6675 11.2095 10.5813 11.2975 10.5118C11.3855 10.4424 11.4865 10.3912 11.5945 10.3612C11.7025 10.3312 11.8154 10.323 11.9266 10.3372C12.0378 10.3513 12.1451 10.3874 12.2421 10.4435C12.3392 10.4996 12.4241 10.5744 12.492 10.6637C12.5598 10.7529 12.6092 10.8548 12.6372 10.9633C12.6652 11.0719 12.6713 11.1849 12.6551 11.2958C12.639 11.4067 12.6009 11.5133 12.543 11.6094ZM16.5938 9.5C16.5938 11.0019 16.1484 12.4701 15.314 13.7189C14.4796 14.9676 13.2936 15.941 11.906 16.5157C10.5184 17.0905 8.99158 17.2408 7.51854 16.9478C6.04549 16.6548 4.69242 15.9316 3.63041 14.8696C2.56841 13.8076 1.84517 12.4545 1.55217 10.9815C1.25916 9.50842 1.40954 7.98157 1.98429 6.594C2.55905 5.20642 3.53236 4.02044 4.78114 3.18603C6.02993 2.35162 7.4981 1.90625 9 1.90625C11.0133 1.90848 12.9435 2.70925 14.3671 4.13287C15.7907 5.5565 16.5915 7.4867 16.5938 9.5ZM14.9063 9.5C14.9063 8.33185 14.5599 7.18994 13.9109 6.21866C13.2619 5.24739 12.3395 4.49037 11.2602 4.04334C10.181 3.59631 8.99345 3.47934 7.84775 3.70724C6.70205 3.93513 5.64966 4.49765 4.82365 5.32365C3.99765 6.14965 3.43513 7.20205 3.20724 8.34775C2.97935 9.49345 3.09631 10.681 3.54334 11.7602C3.99037 12.8394 4.74739 13.7619 5.71867 14.4109C6.68994 15.0599 7.83186 15.4062 9 15.4062C10.5659 15.4046 12.0672 14.7818 13.1745 13.6745C14.2818 12.5672 14.9046 11.0659 14.9063 9.5ZM6.46875 9.21875C6.69126 9.21875 6.90876 9.15277 7.09377 9.02915C7.27877 8.90554 7.42297 8.72984 7.50812 8.52427C7.59327 8.3187 7.61555 8.0925 7.57214 7.87427C7.52873 7.65604 7.42158 7.45559 7.26425 7.29825C7.10691 7.14092 6.90646 7.03377 6.68823 6.99037C6.47 6.94696 6.2438 6.96924 6.03823 7.05439C5.83267 7.13953 5.65697 7.28373 5.53335 7.46873C5.40973 7.65374 5.34375 7.87125 5.34375 8.09375C5.34375 8.39212 5.46228 8.67827 5.67326 8.88925C5.88424 9.10022 6.17038 9.21875 6.46875 9.21875ZM11.5313 6.96875C11.3087 6.96875 11.0912 7.03473 10.9062 7.15835C10.7212 7.28196 10.577 7.45766 10.4919 7.66323C10.4067 7.8688 10.3845 8.095 10.4279 8.31323C10.4713 8.53146 10.5784 8.73191 10.7358 8.88925C10.8931 9.04658 11.0935 9.15373 11.3118 9.19713C11.53 9.24054 11.7562 9.21826 11.9618 9.13311C12.1673 9.04797 12.343 8.90377 12.4667 8.71877C12.5903 8.53376 12.6563 8.31625 12.6563 8.09375C12.6563 7.79538 12.5377 7.50923 12.3267 7.29825C12.1158 7.08728 11.8296 6.96875 11.5313 6.96875Z%27 fill=%27%235dca29%27/%3e %3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.5rem) center;
  background-size: calc(0.75em + 1rem) calc(0.75em + 1rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: var(--bs-box-shadow-inset), 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 + 2rem);
  background-position: top calc(0.375em + 0.5rem) right calc(0.375em + 0.5rem);
}

.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 18 19%27 fill=%27none%27%3e %3cpath d=%27M12.543 11.6094C11.7696 12.9495 10.4766 13.7188 9 13.7188C7.52344 13.7188 6.2325 12.9502 5.45696 11.6094C5.34989 11.4159 5.32305 11.1882 5.3822 10.9751C5.44136 10.7621 5.58178 10.5807 5.77325 10.4702C5.96473 10.3596 6.19196 10.3286 6.40606 10.3838C6.62015 10.4391 6.804 10.5762 6.91805 10.7656C7.19157 11.2388 7.82578 12.0312 9 12.0312C10.1742 12.0312 10.8084 11.2381 11.082 10.7656C11.1362 10.6675 11.2095 10.5813 11.2975 10.5118C11.3855 10.4424 11.4865 10.3912 11.5945 10.3612C11.7025 10.3312 11.8154 10.323 11.9266 10.3372C12.0378 10.3513 12.1451 10.3874 12.2421 10.4435C12.3392 10.4996 12.4241 10.5744 12.492 10.6637C12.5598 10.7529 12.6092 10.8548 12.6372 10.9633C12.6652 11.0719 12.6713 11.1849 12.6551 11.2958C12.639 11.4067 12.6009 11.5133 12.543 11.6094ZM16.5938 9.5C16.5938 11.0019 16.1484 12.4701 15.314 13.7189C14.4796 14.9676 13.2936 15.941 11.906 16.5157C10.5184 17.0905 8.99158 17.2408 7.51854 16.9478C6.04549 16.6548 4.69242 15.9316 3.63041 14.8696C2.56841 13.8076 1.84517 12.4545 1.55217 10.9815C1.25916 9.50842 1.40954 7.98157 1.98429 6.594C2.55905 5.20642 3.53236 4.02044 4.78114 3.18603C6.02993 2.35162 7.4981 1.90625 9 1.90625C11.0133 1.90848 12.9435 2.70925 14.3671 4.13287C15.7907 5.5565 16.5915 7.4867 16.5938 9.5ZM14.9063 9.5C14.9063 8.33185 14.5599 7.18994 13.9109 6.21866C13.2619 5.24739 12.3395 4.49037 11.2602 4.04334C10.181 3.59631 8.99345 3.47934 7.84775 3.70724C6.70205 3.93513 5.64966 4.49765 4.82365 5.32365C3.99765 6.14965 3.43513 7.20205 3.20724 8.34775C2.97935 9.49345 3.09631 10.681 3.54334 11.7602C3.99037 12.8394 4.74739 13.7619 5.71867 14.4109C6.68994 15.0599 7.83186 15.4062 9 15.4062C10.5659 15.4046 12.0672 14.7818 13.1745 13.6745C14.2818 12.5672 14.9046 11.0659 14.9063 9.5ZM6.46875 9.21875C6.69126 9.21875 6.90876 9.15277 7.09377 9.02915C7.27877 8.90554 7.42297 8.72984 7.50812 8.52427C7.59327 8.3187 7.61555 8.0925 7.57214 7.87427C7.52873 7.65604 7.42158 7.45559 7.26425 7.29825C7.10691 7.14092 6.90646 7.03377 6.68823 6.99037C6.47 6.94696 6.2438 6.96924 6.03823 7.05439C5.83267 7.13953 5.65697 7.28373 5.53335 7.46873C5.40973 7.65374 5.34375 7.87125 5.34375 8.09375C5.34375 8.39212 5.46228 8.67827 5.67326 8.88925C5.88424 9.10022 6.17038 9.21875 6.46875 9.21875ZM11.5313 6.96875C11.3087 6.96875 11.0912 7.03473 10.9062 7.15835C10.7212 7.28196 10.577 7.45766 10.4919 7.66323C10.4067 7.8688 10.3845 8.095 10.4279 8.31323C10.4713 8.53146 10.5784 8.73191 10.7358 8.88925C10.8931 9.04658 11.0935 9.15373 11.3118 9.19713C11.53 9.24054 11.7562 9.21826 11.9618 9.13311C12.1673 9.04797 12.343 8.90377 12.4667 8.71877C12.5903 8.53376 12.6563 8.31625 12.6563 8.09375C12.6563 7.79538 12.5377 7.50923 12.3267 7.29825C12.1158 7.08728 11.8296 6.96875 11.5313 6.96875Z%27 fill=%27%235dca29%27/%3e %3c/svg%3e");
  padding-right: 8.25rem;
  background-position: right 1.5rem center, center right 4.5rem;
  background-size: 16px 12px, calc(0.75em + 1rem) calc(0.75em + 1rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: var(--bs-box-shadow-inset), 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 + 2rem));
}

.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 + 2rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27  viewBox=%270 0 18 18%27 fill=%27none%27%3e %3cpath d=%27M9 1.40625C7.4981 1.40625 6.02993 1.85162 4.78114 2.68603C3.53236 3.52044 2.55905 4.70642 1.98429 6.094C1.40954 7.48157 1.25916 9.00842 1.55217 10.4815C1.84517 11.9545 2.56841 13.3076 3.63041 14.3696C4.69242 15.4316 6.04549 16.1548 7.51854 16.4478C8.99158 16.7408 10.5184 16.5905 11.906 16.0157C13.2936 15.441 14.4796 14.4676 15.314 13.2189C16.1484 11.9701 16.5938 10.5019 16.5938 9C16.5915 6.9867 15.7907 5.0565 14.3671 3.63287C12.9435 2.20925 11.0133 1.40848 9 1.40625ZM9 14.9062C7.83186 14.9062 6.68994 14.5599 5.71867 13.9109C4.74739 13.2619 3.99037 12.3394 3.54334 11.2602C3.09631 10.181 2.97935 8.99345 3.20724 7.84775C3.43513 6.70205 3.99765 5.64965 4.82365 4.82365C5.64966 3.99765 6.70205 3.43513 7.84775 3.20724C8.99345 2.97934 10.181 3.09631 11.2602 3.54334C12.3395 3.99037 13.2619 4.74739 13.9109 5.71866C14.5599 6.68994 14.9063 7.83185 14.9063 9C14.9046 10.5659 14.2818 12.0672 13.1745 13.1745C12.0672 14.2818 10.5659 14.9046 9 14.9062ZM5.34375 7.59375C5.34375 7.37125 5.40973 7.15374 5.53335 6.96873C5.65697 6.78373 5.83267 6.63953 6.03823 6.55439C6.2438 6.46924 6.47 6.44696 6.68823 6.49037C6.90646 6.53377 7.10691 6.64092 7.26425 6.79825C7.42158 6.95559 7.52873 7.15604 7.57214 7.37427C7.61555 7.5925 7.59327 7.8187 7.50812 8.02427C7.42297 8.22984 7.27877 8.40554 7.09377 8.52915C6.90876 8.65277 6.69126 8.71875 6.46875 8.71875C6.17038 8.71875 5.88424 8.60022 5.67326 8.38925C5.46228 8.17827 5.34375 7.89212 5.34375 7.59375ZM12.6563 7.59375C12.6563 7.81625 12.5903 8.03376 12.4667 8.21877C12.343 8.40377 12.1673 8.54797 11.9618 8.63311C11.7562 8.71826 11.53 8.74054 11.3118 8.69713C11.0935 8.65373 10.8931 8.54658 10.7358 8.38925C10.5784 8.23191 10.4713 8.03146 10.4279 7.81323C10.3845 7.595 10.4067 7.3688 10.4919 7.16323C10.577 6.95766 10.7212 6.78196 10.9062 6.65835C11.0912 6.53473 11.3087 6.46875 11.5313 6.46875C11.8296 6.46875 12.1158 6.58728 12.3267 6.79825C12.5377 7.00923 12.6563 7.29538 12.6563 7.59375ZM12.427 11.6016C12.5496 11.7835 12.5965 12.006 12.5578 12.2219C12.5191 12.4378 12.3978 12.6301 12.2197 12.7581C12.0416 12.8861 11.8206 12.9398 11.6036 12.9076C11.3866 12.8755 11.1907 12.7601 11.0573 12.5859C10.823 12.259 10.5142 11.9927 10.1564 11.8089C9.79863 11.6252 9.40221 11.5293 9 11.5293C8.5978 11.5293 8.20138 11.6252 7.8436 11.8089C7.48582 11.9927 7.17697 12.259 6.94266 12.5859C6.80931 12.7601 6.61338 12.8755 6.3964 12.9076C6.17942 12.9398 5.95845 12.8861 5.78033 12.7581C5.60222 12.6301 5.48095 12.4378 5.44224 12.2219C5.40353 12.006 5.45042 11.7835 5.57297 11.6016C5.9636 11.0575 6.47816 10.6142 7.07409 10.3084C7.67003 10.0026 8.3302 9.84316 9 9.84316C9.6698 9.84316 10.33 10.0026 10.9259 10.3084C11.5218 10.6142 12.0364 11.0575 12.427 11.6016Z%27 fill=%27%23e23838%27/%3e %3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.5rem) center;
  background-size: calc(0.75em + 1rem) calc(0.75em + 1rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: var(--bs-box-shadow-inset), 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 + 2rem);
  background-position: top calc(0.375em + 0.5rem) right calc(0.375em + 0.5rem);
}

.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 18 18%27 fill=%27none%27%3e %3cpath d=%27M9 1.40625C7.4981 1.40625 6.02993 1.85162 4.78114 2.68603C3.53236 3.52044 2.55905 4.70642 1.98429 6.094C1.40954 7.48157 1.25916 9.00842 1.55217 10.4815C1.84517 11.9545 2.56841 13.3076 3.63041 14.3696C4.69242 15.4316 6.04549 16.1548 7.51854 16.4478C8.99158 16.7408 10.5184 16.5905 11.906 16.0157C13.2936 15.441 14.4796 14.4676 15.314 13.2189C16.1484 11.9701 16.5938 10.5019 16.5938 9C16.5915 6.9867 15.7907 5.0565 14.3671 3.63287C12.9435 2.20925 11.0133 1.40848 9 1.40625ZM9 14.9062C7.83186 14.9062 6.68994 14.5599 5.71867 13.9109C4.74739 13.2619 3.99037 12.3394 3.54334 11.2602C3.09631 10.181 2.97935 8.99345 3.20724 7.84775C3.43513 6.70205 3.99765 5.64965 4.82365 4.82365C5.64966 3.99765 6.70205 3.43513 7.84775 3.20724C8.99345 2.97934 10.181 3.09631 11.2602 3.54334C12.3395 3.99037 13.2619 4.74739 13.9109 5.71866C14.5599 6.68994 14.9063 7.83185 14.9063 9C14.9046 10.5659 14.2818 12.0672 13.1745 13.1745C12.0672 14.2818 10.5659 14.9046 9 14.9062ZM5.34375 7.59375C5.34375 7.37125 5.40973 7.15374 5.53335 6.96873C5.65697 6.78373 5.83267 6.63953 6.03823 6.55439C6.2438 6.46924 6.47 6.44696 6.68823 6.49037C6.90646 6.53377 7.10691 6.64092 7.26425 6.79825C7.42158 6.95559 7.52873 7.15604 7.57214 7.37427C7.61555 7.5925 7.59327 7.8187 7.50812 8.02427C7.42297 8.22984 7.27877 8.40554 7.09377 8.52915C6.90876 8.65277 6.69126 8.71875 6.46875 8.71875C6.17038 8.71875 5.88424 8.60022 5.67326 8.38925C5.46228 8.17827 5.34375 7.89212 5.34375 7.59375ZM12.6563 7.59375C12.6563 7.81625 12.5903 8.03376 12.4667 8.21877C12.343 8.40377 12.1673 8.54797 11.9618 8.63311C11.7562 8.71826 11.53 8.74054 11.3118 8.69713C11.0935 8.65373 10.8931 8.54658 10.7358 8.38925C10.5784 8.23191 10.4713 8.03146 10.4279 7.81323C10.3845 7.595 10.4067 7.3688 10.4919 7.16323C10.577 6.95766 10.7212 6.78196 10.9062 6.65835C11.0912 6.53473 11.3087 6.46875 11.5313 6.46875C11.8296 6.46875 12.1158 6.58728 12.3267 6.79825C12.5377 7.00923 12.6563 7.29538 12.6563 7.59375ZM12.427 11.6016C12.5496 11.7835 12.5965 12.006 12.5578 12.2219C12.5191 12.4378 12.3978 12.6301 12.2197 12.7581C12.0416 12.8861 11.8206 12.9398 11.6036 12.9076C11.3866 12.8755 11.1907 12.7601 11.0573 12.5859C10.823 12.259 10.5142 11.9927 10.1564 11.8089C9.79863 11.6252 9.40221 11.5293 9 11.5293C8.5978 11.5293 8.20138 11.6252 7.8436 11.8089C7.48582 11.9927 7.17697 12.259 6.94266 12.5859C6.80931 12.7601 6.61338 12.8755 6.3964 12.9076C6.17942 12.9398 5.95845 12.8861 5.78033 12.7581C5.60222 12.6301 5.48095 12.4378 5.44224 12.2219C5.40353 12.006 5.45042 11.7835 5.57297 11.6016C5.9636 11.0575 6.47816 10.6142 7.07409 10.3084C7.67003 10.0026 8.3302 9.84316 9 9.84316C9.6698 9.84316 10.33 10.0026 10.9259 10.3084C11.5218 10.6142 12.0364 11.0575 12.427 11.6016Z%27 fill=%27%23e23838%27/%3e %3c/svg%3e");
  padding-right: 8.25rem;
  background-position: right 1.5rem center, center right 4.5rem;
  background-size: 16px 12px, calc(0.75em + 1rem) calc(0.75em + 1rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: var(--bs-box-shadow-inset), 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 + 2rem));
}

.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: 1.5rem;
  --bs-btn-padding-y: 1rem;
  --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: 2.5rem;
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.2);
  --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;
          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);
  background-image: var(--bs-gradient);
  box-shadow: var(--bs-btn-box-shadow);
  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);
  background-image: var(--bs-gradient);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-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-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);
  background-image: none;
  border-color: var(--bs-btn-active-border-color);
  box-shadow: var(--bs-btn-active-shadow);
}
.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-active-shadow), var(--bs-btn-focus-box-shadow);
}
.btn-check:checked:focus-visible + .btn {
  box-shadow: var(--bs-btn-active-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);
  background-image: none;
  border-color: var(--bs-btn-disabled-border-color);
  opacity: var(--bs-btn-disabled-opacity);
  box-shadow: none;
}

.btn-primary {
  --bs-btn-color: #000;
  --bs-btn-bg: #d98c2f;
  --bs-btn-border-color: #d98c2f;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #df9d4e;
  --bs-btn-hover-border-color: #dd9844;
  --bs-btn-focus-shadow-rgb: 184, 119, 40;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #e1a359;
  --bs-btn-active-border-color: #dd9844;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #d98c2f;
  --bs-btn-disabled-border-color: #d98c2f;
}

.btn-secondary {
  --bs-btn-color: #000;
  --bs-btn-bg: #41a8d7;
  --bs-btn-border-color: #41a8d7;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #5eb5dd;
  --bs-btn-hover-border-color: #54b1db;
  --bs-btn-focus-shadow-rgb: 55, 143, 183;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #67b9df;
  --bs-btn-active-border-color: #54b1db;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #41a8d7;
  --bs-btn-disabled-border-color: #41a8d7;
}

.btn-success {
  --bs-btn-color: #000;
  --bs-btn-bg: #5dca29;
  --bs-btn-border-color: #5dca29;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #75d249;
  --bs-btn-hover-border-color: #6dcf3e;
  --bs-btn-focus-shadow-rgb: 79, 172, 35;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #7dd554;
  --bs-btn-active-border-color: #6dcf3e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #5dca29;
  --bs-btn-disabled-border-color: #5dca29;
}

.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: #eb872b;
  --bs-btn-border-color: #eb872b;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ee994b;
  --bs-btn-hover-border-color: #ed9340;
  --bs-btn-focus-shadow-rgb: 200, 115, 37;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ef9f55;
  --bs-btn-active-border-color: #ed9340;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #eb872b;
  --bs-btn-disabled-border-color: #eb872b;
}

.btn-danger {
  --bs-btn-color: #000;
  --bs-btn-bg: #e23838;
  --bs-btn-border-color: #e23838;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #e65656;
  --bs-btn-hover-border-color: #e54c4c;
  --bs-btn-focus-shadow-rgb: 192, 48, 48;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #e86060;
  --bs-btn-active-border-color: #e54c4c;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #e23838;
  --bs-btn-disabled-border-color: #e23838;
}

.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: #d98c2f;
  --bs-btn-border-color: #d98c2f;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d98c2f;
  --bs-btn-hover-border-color: #d98c2f;
  --bs-btn-focus-shadow-rgb: 217, 140, 47;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #d98c2f;
  --bs-btn-active-border-color: #d98c2f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #d98c2f;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #d98c2f;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: #41a8d7;
  --bs-btn-border-color: #41a8d7;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #41a8d7;
  --bs-btn-hover-border-color: #41a8d7;
  --bs-btn-focus-shadow-rgb: 65, 168, 215;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #41a8d7;
  --bs-btn-active-border-color: #41a8d7;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #41a8d7;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #41a8d7;
  --bs-gradient: none;
}

.btn-outline-success {
  --bs-btn-color: #5dca29;
  --bs-btn-border-color: #5dca29;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #5dca29;
  --bs-btn-hover-border-color: #5dca29;
  --bs-btn-focus-shadow-rgb: 93, 202, 41;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #5dca29;
  --bs-btn-active-border-color: #5dca29;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #5dca29;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #5dca29;
  --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: #eb872b;
  --bs-btn-border-color: #eb872b;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #eb872b;
  --bs-btn-hover-border-color: #eb872b;
  --bs-btn-focus-shadow-rgb: 235, 135, 43;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #eb872b;
  --bs-btn-active-border-color: #eb872b;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #eb872b;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #eb872b;
  --bs-gradient: none;
}

.btn-outline-danger {
  --bs-btn-color: #e23838;
  --bs-btn-border-color: #e23838;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #e23838;
  --bs-btn-hover-border-color: #e23838;
  --bs-btn-focus-shadow-rgb: 226, 56, 56;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #e23838;
  --bs-btn-active-border-color: #e23838;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #e23838;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #e23838;
  --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: 184, 119, 40;
  text-decoration: underline;
  background-image: none;
}
.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: 1.125rem;
  --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: 0;
  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - 0);
  --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: #d98c2f;
  --bs-dropdown-link-hover-bg: none;
  --bs-dropdown-link-active-color: #d98c2f;
  --bs-dropdown-link-active-bg: none;
  --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);
  box-shadow: var(--bs-dropdown-box-shadow);
}
.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);
  background-image: var(--bs-gradient);
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
  background-image: var(--bs-gradient);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
  background-image: none;
}

.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: #d98c2f;
  --bs-dropdown-link-active-bg: none;
  --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: 2.5rem;
}
.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: 1.125rem;
  padding-left: 1.125rem;
}
.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.show .dropdown-toggle {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.show .dropdown-toggle.btn-link {
  box-shadow: none;
}

.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(217, 140, 47, 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: #d98c2f;
}
.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);
  background-image: var(--bs-gradient);
}

.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: #2f2f2f;
  --bs-navbar-hover-color: #2f2f2f;
  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
  --bs-navbar-active-color: #2f2f2f;
  --bs-navbar-brand-padding-y: 0.3125rem;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 1.25rem;
  --bs-navbar-brand-color: #2f2f2f;
  --bs-navbar-brand-hover-color: #2f2f2f;
  --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%2847, 47, 47, 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: 2.5rem;
  --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);
  background-image: var(--bs-gradient);
}
.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;
    box-shadow: none;
    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;
    box-shadow: none;
    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;
    box-shadow: none;
    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;
    box-shadow: none;
    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;
    box-shadow: none;
    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;
  box-shadow: none;
  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: 0px 8px 20px 0px rgba(70, 70, 70, 0.2);
  --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);
  box-shadow: var(--bs-card-box-shadow);
}
.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;
  }
}

.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: #8a8a8a;
  --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, url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%276%27 height=%2711%27 viewBox=%270 0 6 11%27 fill=%27none%27%3e%3cpath d=%27M1.12278 0.193641L5.49778 4.56864C5.55896 4.62961 5.6075 4.70205 5.64062 4.78182C5.67375 4.86159 5.6908 4.94711 5.6908 5.03348C5.6908 5.11986 5.67375 5.20538 5.64062 5.28515C5.6075 5.36491 5.55896 5.43736 5.49778 5.49833L1.12278 9.87333C0.999495 9.99661 0.832286 10.0659 0.657935 10.0659C0.483585 10.0659 0.316376 9.99661 0.193091 9.87333C0.0698072 9.75004 0.000546994 9.58283 0.000546992 9.40848C0.00054699 9.23413 0.0698072 9.06692 0.193091 8.94364L4.1038 5.03294L0.192545 1.12224C0.0692607 0.998951 0 0.831742 0 0.657392C0 0.483041 0.0692607 0.315832 0.192545 0.192548C0.315829 0.0692636 0.483038 1.90735e-06 0.657389 1.90735e-06C0.831739 1.90735e-06 0.998948 0.0692636 1.12223 0.192548L1.12278 0.193641Z%27 fill=%27%238a8a8a%27/%3e%3c/svg%3e")) /* rtl: var(--bs-breadcrumb-divider, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='6' height='11' viewBox='0 0 6 11' fill='none'%3e%3cpath d='M1.12278 0.193641L5.49778 4.56864C5.55896 4.62961 5.6075 4.70205 5.64062 4.78182C5.67375 4.86159 5.6908 4.94711 5.6908 5.03348C5.6908 5.11986 5.67375 5.20538 5.64062 5.28515C5.6075 5.36491 5.55896 5.43736 5.49778 5.49833L1.12278 9.87333C0.999495 9.99661 0.832286 10.0659 0.657935 10.0659C0.483585 10.0659 0.316376 9.99661 0.193091 9.87333C0.0698072 9.75004 0.000546994 9.58283 0.000546992 9.40848C0.00054699 9.23413 0.0698072 9.06692 0.193091 8.94364L4.1038 5.03294L0.192545 1.12224C0.0692607 0.998951 0 0.831742 0 0.657392C0 0.483041 0.0692607 0.315832 0.192545 0.192548C0.315829 0.0692636 0.483038 1.90735e-06 0.657389 1.90735e-06C0.831739 1.90735e-06 0.998948 0.0692636 1.12223 0.192548L1.12278 0.193641Z' fill='%238a8a8a'/%3e%3c/svg%3e")) */;
}
.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color);
}

.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: 0rem;
  --bs-accordion-btn-padding-y: 2rem;
  --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 width=%2718%27 height=%2718%27 viewBox=%270 0 18 18%27 fill=%27none%27%3E%3Cpath d=%27M16.0312 9C16.0312 9.22378 15.9424 9.43839 15.7841 9.59662C15.6259 9.75485 15.4113 9.84375 15.1875 9.84375H9.84375V15.1875C9.84375 15.4113 9.75485 15.6259 9.59662 15.7841C9.43839 15.9424 9.22378 16.0312 9 16.0312C8.77622 16.0312 8.56161 15.9424 8.40338 15.7841C8.24514 15.6259 8.15625 15.4113 8.15625 15.1875V9.84375H2.8125C2.58872 9.84375 2.37411 9.75485 2.21588 9.59662C2.05764 9.43839 1.96875 9.22378 1.96875 9C1.96875 8.77622 2.05764 8.56161 2.21588 8.40338C2.37411 8.24514 2.58872 8.15625 2.8125 8.15625H8.15625V2.8125C8.15625 2.58872 8.24514 2.37411 8.40338 2.21588C8.56161 2.05764 8.77622 1.96875 9 1.96875C9.22378 1.96875 9.43839 2.05764 9.59662 2.21588C9.75485 2.37411 9.84375 2.58872 9.84375 2.8125V8.15625H15.1875C15.4113 8.15625 15.6259 8.24514 15.7841 8.40338C15.9424 8.56161 16.0312 8.77622 16.0312 9Z%27 fill=%27%232F2F2F%27/%3E%3C/svg%3E");
  --bs-accordion-btn-icon-width: 1rem;
  --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 width=%2718%27 height=%2718%27 viewBox=%270 0 18 18%27 fill=%27none%27%3E%3Cpath d=%27M16.0312 9C16.0312 9.22378 15.9424 9.43839 15.7841 9.59662C15.6259 9.75485 15.4113 9.84375 15.1875 9.84375H2.8125C2.58872 9.84375 2.37411 9.75485 2.21588 9.59662C2.05764 9.43839 1.96875 9.22378 1.96875 9C1.96875 8.77622 2.05764 8.56161 2.21588 8.40338C2.37411 8.24514 2.58872 8.15625 2.8125 8.15625H15.1875C15.4113 8.15625 15.6259 8.24514 15.7841 8.40338C15.9424 8.56161 16.0312 8.77622 16.0312 9Z%27 fill=%27%232F2F2F%27/%3E%3C/svg%3E");
  --bs-accordion-btn-focus-box-shadow: transparant;
  --bs-accordion-body-padding-x: 0rem;
  --bs-accordion-body-padding-y: 2rem;
  --bs-accordion-active-color: #2f2f2f;
  --bs-accordion-active-bg: transparant;
}

.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%23e8ba82%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%23e8ba82%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");
}

.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(217, 140, 47, 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #d98c2f;
  --bs-pagination-active-border-color: #d98c2f;
  --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);
  background-image: var(--bs-gradient);
  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);
  background-image: var(--bs-gradient);
}
.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: 2px 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);
}

.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: #d98c2f;
  --bs-list-group-active-border-color: #d98c2f;
  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(217, 140, 47, 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: 1rem;
  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;
          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);
}

.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);
  box-shadow: var(--bs-modal-box-shadow);
  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: 300px;
  --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: #2f2f2f;
  --bs-tooltip-border-radius: var(--bs-border-radius);
  --bs-tooltip-opacity: 1;
  --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: effra, 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: #fff;
  --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: effra, 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);
  box-shadow: var(--bs-popover-box-shadow);
}
.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);
}

.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: 100vw;
  --bs-offcanvas-height: 100vh;
  --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: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-offcanvas-transition: transform 100ms 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;
    box-shadow: var(--bs-offcanvas-box-shadow);
    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;
    box-shadow: var(--bs-offcanvas-box-shadow);
    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;
    box-shadow: var(--bs-offcanvas-box-shadow);
    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;
    box-shadow: var(--bs-offcanvas-box-shadow);
    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;
    box-shadow: var(--bs-offcanvas-box-shadow);
    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;
  box-shadow: var(--bs-offcanvas-box-shadow);
  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: #000 !important;
  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

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

.text-bg-success {
  color: #000 !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: #000 !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;
  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: RGBA(225, 163, 89, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(225, 163, 89, var(--bs-link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-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(103, 185, 223, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(103, 185, 223, var(--bs-link-underline-opacity, 1)) !important;
}

.link-success {
  color: RGBA(var(--bs-success-rgb), var(--bs-link-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(125, 213, 84, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(125, 213, 84, var(--bs-link-underline-opacity, 1)) !important;
}

.link-info {
  color: RGBA(var(--bs-info-rgb), var(--bs-link-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;
  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;
  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: RGBA(239, 159, 85, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(239, 159, 85, var(--bs-link-underline-opacity, 1)) !important;
}

.link-danger {
  color: RGBA(var(--bs-danger-rgb), var(--bs-link-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(232, 96, 96, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(232, 96, 96, var(--bs-link-underline-opacity, 1)) !important;
}

.link-light {
  color: RGBA(var(--bs-light-rgb), var(--bs-link-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;
  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;
  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;
  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;
  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;
  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;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  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: sticky;
  top: 0;
  z-index: 1020;
}

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

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

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

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  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 {
  object-fit: contain !important;
}

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

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

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

.object-fit-none {
  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: 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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ms-n5 {
  margin-left: -3rem !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 {
  column-gap: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

.fs-6 {
  font-size: 1.25rem !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;
  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}

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

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

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

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

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

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

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

.link-underline {
  --bs-link-underline-opacity: 1;
  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;
          user-select: all !important;
}

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

.user-select-none {
  -webkit-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 {
    object-fit: contain !important;
  }
  .object-fit-sm-cover {
    object-fit: cover !important;
  }
  .object-fit-sm-fill {
    object-fit: fill !important;
  }
  .object-fit-sm-scale {
    object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    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;
  }
  .m-sm-n1 {
    margin: -0.25rem !important;
  }
  .m-sm-n2 {
    margin: -0.5rem !important;
  }
  .m-sm-n3 {
    margin: -1rem !important;
  }
  .m-sm-n4 {
    margin: -1.5rem !important;
  }
  .m-sm-n5 {
    margin: -3rem !important;
  }
  .mx-sm-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-sm-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-sm-n3 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-sm-n4 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-sm-n5 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .my-sm-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-sm-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-sm-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-sm-n4 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-sm-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .mt-sm-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-sm-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-sm-n3 {
    margin-top: -1rem !important;
  }
  .mt-sm-n4 {
    margin-top: -1.5rem !important;
  }
  .mt-sm-n5 {
    margin-top: -3rem !important;
  }
  .me-sm-n1 {
    margin-right: -0.25rem !important;
  }
  .me-sm-n2 {
    margin-right: -0.5rem !important;
  }
  .me-sm-n3 {
    margin-right: -1rem !important;
  }
  .me-sm-n4 {
    margin-right: -1.5rem !important;
  }
  .me-sm-n5 {
    margin-right: -3rem !important;
  }
  .mb-sm-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-sm-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-sm-n3 {
    margin-bottom: -1rem !important;
  }
  .mb-sm-n4 {
    margin-bottom: -1.5rem !important;
  }
  .mb-sm-n5 {
    margin-bottom: -3rem !important;
  }
  .ms-sm-n1 {
    margin-left: -0.25rem !important;
  }
  .ms-sm-n2 {
    margin-left: -0.5rem !important;
  }
  .ms-sm-n3 {
    margin-left: -1rem !important;
  }
  .ms-sm-n4 {
    margin-left: -1.5rem !important;
  }
  .ms-sm-n5 {
    margin-left: -3rem !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 {
    column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-sm-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-sm-3 {
    column-gap: 1rem !important;
  }
  .column-gap-sm-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-sm-5 {
    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 {
    object-fit: contain !important;
  }
  .object-fit-md-cover {
    object-fit: cover !important;
  }
  .object-fit-md-fill {
    object-fit: fill !important;
  }
  .object-fit-md-scale {
    object-fit: scale-down !important;
  }
  .object-fit-md-none {
    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;
  }
  .m-md-n1 {
    margin: -0.25rem !important;
  }
  .m-md-n2 {
    margin: -0.5rem !important;
  }
  .m-md-n3 {
    margin: -1rem !important;
  }
  .m-md-n4 {
    margin: -1.5rem !important;
  }
  .m-md-n5 {
    margin: -3rem !important;
  }
  .mx-md-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-md-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-md-n3 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-md-n4 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-md-n5 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .my-md-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-md-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-md-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-md-n4 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-md-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .mt-md-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-md-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-md-n3 {
    margin-top: -1rem !important;
  }
  .mt-md-n4 {
    margin-top: -1.5rem !important;
  }
  .mt-md-n5 {
    margin-top: -3rem !important;
  }
  .me-md-n1 {
    margin-right: -0.25rem !important;
  }
  .me-md-n2 {
    margin-right: -0.5rem !important;
  }
  .me-md-n3 {
    margin-right: -1rem !important;
  }
  .me-md-n4 {
    margin-right: -1.5rem !important;
  }
  .me-md-n5 {
    margin-right: -3rem !important;
  }
  .mb-md-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-md-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-md-n3 {
    margin-bottom: -1rem !important;
  }
  .mb-md-n4 {
    margin-bottom: -1.5rem !important;
  }
  .mb-md-n5 {
    margin-bottom: -3rem !important;
  }
  .ms-md-n1 {
    margin-left: -0.25rem !important;
  }
  .ms-md-n2 {
    margin-left: -0.5rem !important;
  }
  .ms-md-n3 {
    margin-left: -1rem !important;
  }
  .ms-md-n4 {
    margin-left: -1.5rem !important;
  }
  .ms-md-n5 {
    margin-left: -3rem !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 {
    column-gap: 0 !important;
  }
  .column-gap-md-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-md-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-md-3 {
    column-gap: 1rem !important;
  }
  .column-gap-md-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-md-5 {
    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 {
    object-fit: contain !important;
  }
  .object-fit-lg-cover {
    object-fit: cover !important;
  }
  .object-fit-lg-fill {
    object-fit: fill !important;
  }
  .object-fit-lg-scale {
    object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    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;
  }
  .m-lg-n1 {
    margin: -0.25rem !important;
  }
  .m-lg-n2 {
    margin: -0.5rem !important;
  }
  .m-lg-n3 {
    margin: -1rem !important;
  }
  .m-lg-n4 {
    margin: -1.5rem !important;
  }
  .m-lg-n5 {
    margin: -3rem !important;
  }
  .mx-lg-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-lg-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-lg-n3 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-lg-n4 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-lg-n5 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .my-lg-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-lg-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-lg-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-lg-n4 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-lg-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .mt-lg-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-lg-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-lg-n3 {
    margin-top: -1rem !important;
  }
  .mt-lg-n4 {
    margin-top: -1.5rem !important;
  }
  .mt-lg-n5 {
    margin-top: -3rem !important;
  }
  .me-lg-n1 {
    margin-right: -0.25rem !important;
  }
  .me-lg-n2 {
    margin-right: -0.5rem !important;
  }
  .me-lg-n3 {
    margin-right: -1rem !important;
  }
  .me-lg-n4 {
    margin-right: -1.5rem !important;
  }
  .me-lg-n5 {
    margin-right: -3rem !important;
  }
  .mb-lg-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-lg-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-lg-n3 {
    margin-bottom: -1rem !important;
  }
  .mb-lg-n4 {
    margin-bottom: -1.5rem !important;
  }
  .mb-lg-n5 {
    margin-bottom: -3rem !important;
  }
  .ms-lg-n1 {
    margin-left: -0.25rem !important;
  }
  .ms-lg-n2 {
    margin-left: -0.5rem !important;
  }
  .ms-lg-n3 {
    margin-left: -1rem !important;
  }
  .ms-lg-n4 {
    margin-left: -1.5rem !important;
  }
  .ms-lg-n5 {
    margin-left: -3rem !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 {
    column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-lg-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-lg-3 {
    column-gap: 1rem !important;
  }
  .column-gap-lg-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-lg-5 {
    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 {
    object-fit: contain !important;
  }
  .object-fit-xl-cover {
    object-fit: cover !important;
  }
  .object-fit-xl-fill {
    object-fit: fill !important;
  }
  .object-fit-xl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    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;
  }
  .m-xl-n1 {
    margin: -0.25rem !important;
  }
  .m-xl-n2 {
    margin: -0.5rem !important;
  }
  .m-xl-n3 {
    margin: -1rem !important;
  }
  .m-xl-n4 {
    margin: -1.5rem !important;
  }
  .m-xl-n5 {
    margin: -3rem !important;
  }
  .mx-xl-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-xl-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-xl-n3 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-xl-n4 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-xl-n5 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .my-xl-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-xl-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-xl-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-xl-n4 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-xl-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .mt-xl-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-xl-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-xl-n3 {
    margin-top: -1rem !important;
  }
  .mt-xl-n4 {
    margin-top: -1.5rem !important;
  }
  .mt-xl-n5 {
    margin-top: -3rem !important;
  }
  .me-xl-n1 {
    margin-right: -0.25rem !important;
  }
  .me-xl-n2 {
    margin-right: -0.5rem !important;
  }
  .me-xl-n3 {
    margin-right: -1rem !important;
  }
  .me-xl-n4 {
    margin-right: -1.5rem !important;
  }
  .me-xl-n5 {
    margin-right: -3rem !important;
  }
  .mb-xl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-xl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-xl-n3 {
    margin-bottom: -1rem !important;
  }
  .mb-xl-n4 {
    margin-bottom: -1.5rem !important;
  }
  .mb-xl-n5 {
    margin-bottom: -3rem !important;
  }
  .ms-xl-n1 {
    margin-left: -0.25rem !important;
  }
  .ms-xl-n2 {
    margin-left: -0.5rem !important;
  }
  .ms-xl-n3 {
    margin-left: -1rem !important;
  }
  .ms-xl-n4 {
    margin-left: -1.5rem !important;
  }
  .ms-xl-n5 {
    margin-left: -3rem !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 {
    column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xl-3 {
    column-gap: 1rem !important;
  }
  .column-gap-xl-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xl-5 {
    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 {
    object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    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;
  }
  .m-xxl-n1 {
    margin: -0.25rem !important;
  }
  .m-xxl-n2 {
    margin: -0.5rem !important;
  }
  .m-xxl-n3 {
    margin: -1rem !important;
  }
  .m-xxl-n4 {
    margin: -1.5rem !important;
  }
  .m-xxl-n5 {
    margin: -3rem !important;
  }
  .mx-xxl-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-xxl-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-xxl-n3 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-xxl-n4 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-xxl-n5 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .my-xxl-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-xxl-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-xxl-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-xxl-n4 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-xxl-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .mt-xxl-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-xxl-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-xxl-n3 {
    margin-top: -1rem !important;
  }
  .mt-xxl-n4 {
    margin-top: -1.5rem !important;
  }
  .mt-xxl-n5 {
    margin-top: -3rem !important;
  }
  .me-xxl-n1 {
    margin-right: -0.25rem !important;
  }
  .me-xxl-n2 {
    margin-right: -0.5rem !important;
  }
  .me-xxl-n3 {
    margin-right: -1rem !important;
  }
  .me-xxl-n4 {
    margin-right: -1.5rem !important;
  }
  .me-xxl-n5 {
    margin-right: -3rem !important;
  }
  .mb-xxl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-xxl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-xxl-n3 {
    margin-bottom: -1rem !important;
  }
  .mb-xxl-n4 {
    margin-bottom: -1.5rem !important;
  }
  .mb-xxl-n5 {
    margin-bottom: -3rem !important;
  }
  .ms-xxl-n1 {
    margin-left: -0.25rem !important;
  }
  .ms-xxl-n2 {
    margin-left: -0.5rem !important;
  }
  .ms-xxl-n3 {
    margin-left: -1rem !important;
  }
  .ms-xxl-n4 {
    margin-left: -1.5rem !important;
  }
  .ms-xxl-n5 {
    margin-left: -3rem !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 {
    column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xxl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xxl-3 {
    column-gap: 1rem !important;
  }
  .column-gap-xxl-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xxl-5 {
    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: 3rem !important;
  }
  .fs-2 {
    font-size: 2.875rem !important;
  }
  .fs-3 {
    font-size: 2rem !important;
  }
  .fs-4 {
    font-size: 1.75rem !important;
  }
  .fs-5 {
    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;
  }
}
:root {
  --zoomist-wrapper-bg-color: #efefef;
  --zoomist-slider-bg-color: rgba(255, 255, 255, .8);
  --zoomist-slider-border-radius: 0 0 4px 0;
  --zoomist-slider-padding-x: 20px;
  --zoomist-slider-padding-y: 20px;
  --zoomist-slider-track-color: #ddd;
  --zoomist-slider-track-color-hover: #ccc;
  --zoomist-slider-bar-size: 120px;
  --zoomist-slider-bar-side: 2px;
  --zoomist-slider-bar-border-radius: 2px;
  --zoomist-slider-bar-color: #666;
  --zoomist-slider-bar-color-hover: #444;
  --zoomist-slider-button-size: 12px;
  --zoomist-slider-button-color: #fff;
  --zoomist-zoomer-button-size: 48px;
  --zoomist-zoomer-button-color: rgba(255, 255, 255, .8);
  --zoomist-zoomer-button-color-hover: rgba(255, 255, 255, .9);
  --zoomist-zoomer-button-color-disabled: rgba(255, 255, 255, .8);
  --zoomist-zoomer-button-opacity-disabled: .7;
  --zoomist-zoomer-icon-size: 14px;
  --zoomist-zoomer-icon-color: #333;
  --zoomist-zoomer-icon-color-hover: #111;
  --zoomist-zoomer-icon-color-disabled: #999;
  --zoomist-modules-tranistion-duration: .3s;
}

.zoomist-container {
  position: relative;
  padding: 0 !important;
  -webkit-user-select: none;
          user-select: none;
}

.zoomist-wrapper {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 0 !important;
  overflow: hidden;
  background-color: var(--zoomist-wrapper-bg-color);
}

.zoomist-image {
  position: relative;
  max-width: none !important;
  max-height: none !important;
}

.zoomist-slider {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  padding: var(--zoomist-slider-padding-y) var(--zoomist-slider-padding-x);
  background-color: var(--zoomist-slider-bg-color);
  border-radius: var(--zoomist-slider-border-radius);
}

.zoomist-slider:hover .zoomist-slider-wrapper {
  background-color: var(--zoomist-slider-track-color-hover);
}

.zoomist-slider:hover .zoomist-slider-bar {
  background-color: var(--zoomist-slider-bar-color-hover);
}

.zoomist-slider:hover .zoomist-slider-button:before {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

.zoomist-slider-horizontal .zoomist-slider-wrapper {
  align-items: center;
  justify-content: flex-start;
  width: var(--zoomist-slider-bar-size);
  height: var(--zoomist-slider-bar-side);
}

.zoomist-slider-horizontal .zoomist-slider-bar {
  top: 0;
  width: calc(var(--value) * 1%);
  height: 100%;
}

.zoomist-slider-horizontal .zoomist-slider-button {
  left: calc(var(--value) * 1%);
}

.zoomist-slider-vertical .zoomist-slider-wrapper {
  align-items: flex-end;
  justify-content: center;
  width: var(--zoomist-slider-bar-side);
  height: var(--zoomist-slider-bar-size);
}

.zoomist-slider-vertical .zoomist-slider-bar {
  bottom: 0;
  width: 100%;
  height: calc(var(--value) * 1%);
}

.zoomist-slider-vertical .zoomist-slider-button {
  bottom: calc(var(--value) * 1%);
}

.zoomist-slider-wrapper {
  position: relative;
  display: flex;
  background-color: var(--zoomist-slider-track-color);
  transition: background-color var(--zoomist-modules-tranistion-duration);
}

.zoomist-slider-bar {
  position: absolute;
  z-index: 0;
  left: 0;
  display: block;
  border-radius: var(--zoomist-slider-bar-border-radius);
  background-color: var(--zoomist-slider-bar-color);
  transition: background-color var(--zoomist-modules-tranistion-duration);
}

.zoomist-slider-button {
  position: relative;
  z-index: 1;
  display: block;
  width: 0 !important;
  height: 0 !important;
}

.zoomist-slider-button:before {
  content: "";
  position: absolute;
  left: calc(var(--zoomist-slider-button-size) * -0.5);
  top: calc(var(--zoomist-slider-button-size) * -0.5);
  width: var(--zoomist-slider-button-size);
  height: var(--zoomist-slider-button-size);
  display: block;
  background-color: var(--zoomist-slider-button-color, #fff);
  border-radius: 50%;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
  transition: box-shadow var(--zoomist-modules-tranistion-duration);
}

.zoomist-zoomer {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  border-radius: 0 0 0 4px;
  overflow: hidden;
}

.zoomist-zoomer-button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--zoomist-zoomer-button-size);
  height: var(--zoomist-zoomer-button-size);
  background: none;
  background-color: var(--zoomist-zoomer-button-color);
  border: 0;
  transition: background-color var(--zoomist-modules-tranistion-duration);
  cursor: pointer;
}

.zoomist-zoomer-button:hover {
  background-color: var(--zoomist-zoomer-button-color-hover);
}

.zoomist-zoomer-button:hover .zoomist-zoomer-icon {
  fill: var(--zoomist-zoomer-icon-color-hover);
}

.zoomist-zoomer-button.zoomist-zoomer-disabled {
  pointer-events: none;
  background-color: var(--zoomist-zoomer-button-color-disabled);
  opacity: var(--zoomist-zoomer-button-opacity-disabled);
}

.zoomist-zoomer-button.zoomist-zoomer-disabled .zoomist-zoomer-icon {
  fill: var(--zoomist-zoomer-icon-color-disabled);
}

.zoomist-zoomer-icon {
  width: var(--zoomist-zoomer-icon-size);
  height: var(--zoomist-zoomer-icon-size);
  fill: var(--zoomist-zoomer-icon-color);
  transition: fill var(--zoomist-modules-tranistion-duration);
}

.flicking-viewport {
  position: relative;
  overflow: hidden;
}

.flicking-viewport.vertical {
  display: inline-flex;
}

.flicking-viewport.vertical > .flicking-camera {
  display: inline-flex;
  flex-direction: column;
}

.flicking-viewport.flicking-hidden > .flicking-camera > * {
  visibility: hidden;
}

.flicking-camera {
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
  flex-direction: row;
  z-index: 1;
  will-change: transform;
}

.flicking-camera > * {
  flex-shrink: 0;
}

.flicking-arrow-prev,
.flicking-arrow-next {
  position: absolute;
  top: 50%;
  width: 64px;
  height: 64px;
  cursor: pointer;
  transform: translateY(-50%);
  z-index: 2;
}

.flicking-arrow-prev.is-circle,
.flicking-arrow-next.is-circle {
  background-color: #f2a65e;
  border-radius: 50%;
}

.flicking-arrow-disabled.is-circle {
  background-color: rgb(10 10 10/10%);
}

.flicking-arrow-prev.is-circle::before,
.flicking-arrow-prev.is-circle::after,
.flicking-arrow-next.is-circle::before,
.flicking-arrow-next.is-circle::after {
  background-color: white;
}

.flicking-arrow-prev {
  left: 10px;
}

.flicking-arrow-next {
  right: 10px;
}

.flicking-arrow-prev.is-outside {
  left: -74px;
}

.flicking-arrow-next.is-outside {
  right: -74px;
}

.flicking-arrow-prev::before,
.flicking-arrow-prev::after,
.flicking-arrow-next::before,
.flicking-arrow-next::after {
  content: "";
  width: 24px;
  height: 6px;
  position: absolute;
  background-color: #f2a65e;
}

.flicking-arrow-prev::before {
  top: 50%;
  left: 22px;
  transform: rotate(-45deg);
  transform-origin: 0% 50%;
}

.flicking-arrow-prev::after {
  top: calc(50% - 4px);
  left: 22px;
  transform: rotate(45deg);
  transform-origin: 0% 50%;
}

.flicking-arrow-next::before {
  top: 50%;
  right: 22px;
  transform: rotate(45deg);
  transform-origin: 100% 50%;
}

.flicking-arrow-next::after {
  top: calc(50% - 4px);
  right: 22px;
  transform: rotate(-45deg);
  transform-origin: 100% 50%;
}

.flicking-arrow-disabled,
.flicking-arrow-disabled {
  cursor: default;
}

.flicking-arrow-disabled::before,
.flicking-arrow-disabled::after,
.flicking-arrow-disabled::before,
.flicking-arrow-disabled::after {
  background-color: #e6e6e6;
}

.flicking-arrow-prev.is-thin::before,
.flicking-arrow-prev.is-thin::after,
.flicking-arrow-next.is-thin::before,
.flicking-arrow-next.is-thin::after {
  height: 3px;
}

.flicking-arrow-prev.is-thin::after,
.flicking-arrow-next.is-thin::after {
  top: calc(50% - 2px);
}

#topbar {
  background: #b97727;
}
#topbar .top-slogan {
  color: #fff;
}
#topbar .nav .nav-item .nav-link {
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 1.575rem */
  transition: all 125ms ease-in-out;
}
#topbar .nav .nav-item .nav-link svg {
  margin-left: 3px;
}
#topbar .nav .nav-item .nav-link:hover {
  transform: scale(1.05);
}
#topbar .nav .nav-item .nav-link:hover::before {
  display: none;
}
#topbar .nav .nav-item .nav-link.dropdown-toggle::after {
  display: none;
}
#topbar .nav .language-holder .fix-line-height {
  line-height: normal;
}
#topbar .nav .language-holder .circle-lang {
  width: 25px; /* Pas aan naar de gewenste grootte */
  height: 25px; /* Pas aan naar de gewenste grootte */
  border-radius: 50%;
  overflow: hidden; /* Zorgt ervoor dat de inhoud binnen de cirkel blijft */
  border: 2px solid white;
  line-height: 0px;
}
#topbar .nav .language-holder .circle-lang.language-dropdown {
  border-color: #d98c2f;
}
#topbar .nav .language-holder .circle-lang .fi {
  width: 100%; /* Zorgt ervoor dat de afbeelding de hele container bedekt */
  height: 100%; /* Zorgt ervoor dat de afbeelding de hele container bedekt */
  background-size: cover; /* Zorgt ervoor dat de afbeelding de container volledig bedekt */
  background-position: center; /* Centreert de afbeelding binnen de container */
}
#topbar .nav .dropdown-menu .dropdown-item:hover {
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
#topbar .nav .dropdown-menu .dropdown-item:hover::before {
  display: none;
}

@media (max-width: 575.98px) {
  .navbar-brand {
    max-width: 120px;
  }
}

#mainmenu {
  padding-top: 1.125rem;
  padding-bottom: 1.125rem;
}
#mainmenu #menuWrapper {
  gap: 1rem;
}
#mainmenu.navbar .navbar-nav.menu-items {
  gap: 1rem;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 25.2px */
}
#mainmenu.navbar .navbar-nav.menu-items .nav-item {
  position: relative;
}
.nav-link:not(#mainmenu.navbar .navbar-nav.menu-items .nav-item.active)::before {
  position: absolute;
  left: 50%;
  top: 30px;
  opacity: 0;
  content: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%275%27 height=%275%27 viewBox=%270 0 5 5%27 fill=%27none%27%3E%3Ccircle cx=%272.5%27 cy=%272.5%27 r=%272%27 fill=%27%232F2F2F%27/%3E%3C/svg%3E");
  transition: left 125ms ease-in-out, top 125ms ease-in-out, opacity 125ms ease-in-out;
}
.nav-link:not(#mainmenu.navbar .navbar-nav.menu-items .nav-item.active):hover {
  transition: all 125ms ease-in-out;
}
.nav-link:not(#mainmenu.navbar .navbar-nav.menu-items .nav-item.active):hover::before {
  position: absolute;
  left: 50%;
  top: 20px;
  opacity: 1;
  content: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%275%27 height=%275%27 viewBox=%270 0 5 5%27 fill=%27none%27%3E%3Ccircle cx=%272.5%27 cy=%272.5%27 r=%272%27 fill=%27%232F2F2F%27/%3E%3C/svg%3E");
  transition: left 125ms ease-in-out, top 125ms ease-in-out, opacity 125ms ease-in-out;
}
#mainmenu.navbar .navbar-nav.menu-items .nav-item .nav-link.active::before, #mainmenu.navbar .navbar-nav.menu-items .nav-item .nav-link.show::before {
  position: absolute;
  left: 50%;
  top: 20px;
  opacity: 1;
  content: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%275%27 height=%275%27 viewBox=%270 0 5 5%27 fill=%27none%27%3E%3Ccircle cx=%272.5%27 cy=%272.5%27 r=%272%27 fill=%27%232F2F2F%27/%3E%3C/svg%3E");
  transition: left 125ms ease-in-out, top 125ms ease-in-out, opacity 125ms ease-in-out;
}
#mainmenu.navbar .navbar-nav.menu-items .nav-item .dropdown-toggle {
  position: relative;
}
#mainmenu.navbar .navbar-nav.menu-items .nav-item .dropdown-toggle::after {
  content: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 14 14%27 fill=%27none%27%3E%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 14 14%27 fill=%27none%27%3E%3Cpath d=%27M11.8393 5.71427L7.46427 10.0893C7.40331 10.1505 7.33086 10.199 7.25109 10.2321C7.17132 10.2652 7.0858 10.2823 6.99943 10.2823C6.91306 10.2823 6.82754 10.2652 6.74777 10.2321C6.668 10.199 6.59555 10.1505 6.53458 10.0893L2.15959 5.71427C2.0363 5.59099 1.96704 5.42378 1.96704 5.24943C1.96704 5.07508 2.0363 4.90787 2.15959 4.78458C2.28287 4.6613 2.45008 4.59204 2.62443 4.59204C2.79878 4.59204 2.96599 4.6613 3.08927 4.78458L6.99998 8.69529L10.9107 4.78404C11.034 4.66075 11.2012 4.59149 11.3755 4.59149C11.5499 4.59149 11.7171 4.66075 11.8404 4.78404C11.9636 4.90732 12.0329 5.07453 12.0329 5.24888C12.0329 5.42323 11.9636 5.59044 11.8404 5.71372L11.8393 5.71427Z%27 fill=%27%232F2F2F%27/%3E%3C/svg%3E%3C/svg%3E");
  border: none;
  vertical-align: baseline;
  display: inline-block;
  transition: transform 125ms ease; /* Apply transition for rotation */
}
#mainmenu.navbar .navbar-nav.menu-items .nav-item .dropdown-toggle.show::after, #mainmenu.navbar .navbar-nav.menu-items .nav-item .dropdown-toggle:hover::after {
  transform: rotate(180deg); /* Rotate the arrow when dropdown is open */
  content: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 14 14%27 fill=%27none%27%3E%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 14 14%27 fill=%27none%27%3E%3Cpath d=%27M11.8393 5.71427L7.46427 10.0893C7.40331 10.1505 7.33086 10.199 7.25109 10.2321C7.17132 10.2652 7.0858 10.2823 6.99943 10.2823C6.91306 10.2823 6.82754 10.2652 6.74777 10.2321C6.668 10.199 6.59555 10.1505 6.53458 10.0893L2.15959 5.71427C2.0363 5.59099 1.96704 5.42378 1.96704 5.24943C1.96704 5.07508 2.0363 4.90787 2.15959 4.78458C2.28287 4.6613 2.45008 4.59204 2.62443 4.59204C2.79878 4.59204 2.96599 4.6613 3.08927 4.78458L6.99998 8.69529L10.9107 4.78404C11.034 4.66075 11.2012 4.59149 11.3755 4.59149C11.5499 4.59149 11.7171 4.66075 11.8404 4.78404C11.9636 4.90732 12.0329 5.07453 12.0329 5.24888C12.0329 5.42323 11.9636 5.59044 11.8404 5.71372L11.8393 5.71427Z%27 fill=%27%232F2F2F%27/%3E%3C/svg%3E%3C/svg%3E");
}
#mainmenu.navbar .navbar-nav.menu-items .nav-item .dropdown-menu {
  padding: 1.5rem;
}
#mainmenu.navbar .navbar-nav.menu-items .nav-item .dropdown-menu.show {
  gap: 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
#mainmenu.navbar .navbar-nav.menu-items .nav-item .dropdown-menu li {
  position: relative;
  transition: all 100ms ease-in-out;
}
#mainmenu.navbar .navbar-nav.menu-items .nav-item .dropdown-menu li::before {
  position: absolute;
  opacity: 0;
  left: -10px;
  top: 6px;
  content: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2718%27 height=%2719%27 viewBox=%270 0 18 19%27 fill=%27none%27%3E%3Cpath d=%27M12.972 10.0969L7.34698 15.7219C7.18848 15.8804 6.97349 15.9695 6.74933 15.9695C6.52516 15.9695 6.31018 15.8804 6.15167 15.7219C5.99316 15.5634 5.90411 15.3484 5.90411 15.1243C5.90411 14.9001 5.99316 14.6851 6.15167 14.5266L11.1797 9.49997L6.15308 4.47192C6.07459 4.39344 6.01233 4.30026 5.96986 4.19772C5.92738 4.09517 5.90552 3.98526 5.90552 3.87427C5.90552 3.76327 5.92738 3.65336 5.96986 3.55082C6.01233 3.44827 6.07459 3.3551 6.15308 3.27661C6.23156 3.19812 6.32474 3.13587 6.42728 3.09339C6.52983 3.05091 6.63974 3.02905 6.75073 3.02905C6.86173 3.02905 6.97164 3.05091 7.07418 3.09339C7.17673 3.13587 7.2699 3.19812 7.34839 3.27661L12.9734 8.90161C13.052 8.98009 13.1143 9.07331 13.1567 9.17592C13.1992 9.27853 13.221 9.38851 13.2209 9.49956C13.2207 9.61061 13.1987 9.72054 13.156 9.82305C13.1133 9.92556 13.0507 10.0186 12.972 10.0969Z%27 fill=%27url%28%23paint0_linear_805_2776%29%27/%3E%3Cdefs%3E%3ClinearGradient id=%27paint0_linear_805_2776%27 x1=%275.90411%27 y1=%273.02905%27 x2=%2714.3608%27 y2=%273.8227%27 gradientUnits=%27userSpaceOnUse%27%3E%3Cstop stop-color=%27%23D98C2F%27/%3E%3Cstop offset=%271%27 stop-color=%27%23ECA827%27/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  transition: left 125ms ease-in-out, opacity 125ms ease-in-out;
}
#mainmenu.navbar .navbar-nav.menu-items .nav-item .dropdown-menu li:hover a {
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
#mainmenu.navbar .navbar-nav.menu-items .nav-item .dropdown-menu li:hover::before {
  position: absolute;
  opacity: 1;
  left: 0;
  content: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2718%27 height=%2719%27 viewBox=%270 0 18 19%27 fill=%27none%27%3E%3Cpath d=%27M12.972 10.0969L7.34698 15.7219C7.18848 15.8804 6.97349 15.9695 6.74933 15.9695C6.52516 15.9695 6.31018 15.8804 6.15167 15.7219C5.99316 15.5634 5.90411 15.3484 5.90411 15.1243C5.90411 14.9001 5.99316 14.6851 6.15167 14.5266L11.1797 9.49997L6.15308 4.47192C6.07459 4.39344 6.01233 4.30026 5.96986 4.19772C5.92738 4.09517 5.90552 3.98526 5.90552 3.87427C5.90552 3.76327 5.92738 3.65336 5.96986 3.55082C6.01233 3.44827 6.07459 3.3551 6.15308 3.27661C6.23156 3.19812 6.32474 3.13587 6.42728 3.09339C6.52983 3.05091 6.63974 3.02905 6.75073 3.02905C6.86173 3.02905 6.97164 3.05091 7.07418 3.09339C7.17673 3.13587 7.2699 3.19812 7.34839 3.27661L12.9734 8.90161C13.052 8.98009 13.1143 9.07331 13.1567 9.17592C13.1992 9.27853 13.221 9.38851 13.2209 9.49956C13.2207 9.61061 13.1987 9.72054 13.156 9.82305C13.1133 9.92556 13.0507 10.0186 12.972 10.0969Z%27 fill=%27url%28%23paint0_linear_805_2776%29%27/%3E%3Cdefs%3E%3ClinearGradient id=%27paint0_linear_805_2776%27 x1=%275.90411%27 y1=%273.02905%27 x2=%2714.3608%27 y2=%273.8227%27 gradientUnits=%27userSpaceOnUse%27%3E%3Cstop stop-color=%27%23D98C2F%27/%3E%3Cstop offset=%271%27 stop-color=%27%23ECA827%27/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  transition: left 125ms ease-in-out, opacity 125ms ease-in-out;
}
#mainmenu.navbar .navbar-nav.menu-items .nav-item .dropdown-menu li.active a {
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
#mainmenu.navbar .navbar-nav.menu-items .nav-item .dropdown-menu li.active::before {
  position: absolute;
  opacity: 1;
  left: 0;
  top: 6px;
  content: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2718%27 height=%2719%27 viewBox=%270 0 18 19%27 fill=%27none%27%3E%3Cpath d=%27M12.972 10.0969L7.34698 15.7219C7.18848 15.8804 6.97349 15.9695 6.74933 15.9695C6.52516 15.9695 6.31018 15.8804 6.15167 15.7219C5.99316 15.5634 5.90411 15.3484 5.90411 15.1243C5.90411 14.9001 5.99316 14.6851 6.15167 14.5266L11.1797 9.49997L6.15308 4.47192C6.07459 4.39344 6.01233 4.30026 5.96986 4.19772C5.92738 4.09517 5.90552 3.98526 5.90552 3.87427C5.90552 3.76327 5.92738 3.65336 5.96986 3.55082C6.01233 3.44827 6.07459 3.3551 6.15308 3.27661C6.23156 3.19812 6.32474 3.13587 6.42728 3.09339C6.52983 3.05091 6.63974 3.02905 6.75073 3.02905C6.86173 3.02905 6.97164 3.05091 7.07418 3.09339C7.17673 3.13587 7.2699 3.19812 7.34839 3.27661L12.9734 8.90161C13.052 8.98009 13.1143 9.07331 13.1567 9.17592C13.1992 9.27853 13.221 9.38851 13.2209 9.49956C13.2207 9.61061 13.1987 9.72054 13.156 9.82305C13.1133 9.92556 13.0507 10.0186 12.972 10.0969Z%27 fill=%27url%28%23paint0_linear_805_2776%29%27/%3E%3Cdefs%3E%3ClinearGradient id=%27paint0_linear_805_2776%27 x1=%275.90411%27 y1=%273.02905%27 x2=%2714.3608%27 y2=%273.8227%27 gradientUnits=%27userSpaceOnUse%27%3E%3Cstop stop-color=%27%23D98C2F%27/%3E%3Cstop offset=%271%27 stop-color=%27%23ECA827%27/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
}
#mainmenu.navbar .navbar-nav.menu-items .nav-item .dropdown-menu li .dropdown-item {
  transition: color 100ms ease-in-out;
}
#mainmenu.navbar .navbar-nav.action-buttons {
  gap: 0.5rem;
}

.mobile-header-buttons {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
}

#mobileWrapper .menu_list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}
#mobileWrapper .menu_list a {
  text-decoration: none;
}
#mobileWrapper .menu_list a:not(.btn) {
  color: #2f2f2f;
}
#mobileWrapper .menu_sub_list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2rem;
}
#mobileWrapper .menu_sub_list a {
  text-decoration: none;
  color: #2f2f2f;
}
#mobileWrapper .menu_sub_list a,
#mobileWrapper .menu_sub_list hr {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
#mobileWrapper .menu_sub_list hr {
  margin: 0;
  border-color: #c0c0c0;
}
#mobileWrapper .menu_sub_list .hr-margin-top {
  margin-top: 2rem;
}
#mobileWrapper .menu_sub_list .hr-margin-bottom {
  margin-bottom: 2rem;
}
#mobileWrapper .menu_footer_social_list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
}
#mobileWrapper .menu_footer_social_list .mobile-lang-switch {
  border-color: #2f2f2f;
}
#mobileWrapper .menu_footer_social_list .mobile-lang-switch-dropwdown {
  padding: 0.5rem;
}
#mobileWrapper .dropdown-toggle::after, #mobileWrapper .dropdown-toggle::before {
  display: none;
}
#mobileWrapper .dropdown-toggle .booking-widget-arrow {
  transition: transform 150ms ease-in-out;
}
#mobileWrapper .dropdown-toggle.show .booking-widget-arrow {
  transform: rotate(90deg) translate(-25%, -25%);
}

.link-dark, .link-light, .link-secondary, .link-primary, .text-primary {
  text-decoration: none;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.01rem;
  line-height: 140%; /* 1.4rem */
}

.btn {
  display: inline-flex;
  padding: 1rem 1.5rem;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.01rem;
  line-height: 140%; /* 1.4rem */
  transition: all 125ms ease-in-out;
}
.btn.no-transition {
  transition: none;
}
.btn.btn-circle {
  padding: 1rem;
}
.btn.btn-circle.account-logged-in {
  border-color: #b97727;
  background-color: #b97727;
}
.btn.btn-circle.account-logged-in svg path {
  fill: #fff;
}
.btn.btn-circle.account-logged-in:hover {
  background-color: #654115;
}
.btn.btn-circle.account-page {
  border-color: #b97727;
}
.btn.btn-circle.account-page svg path {
  fill: #b97727;
}
.btn.btn-circle.account-page:hover {
  background-color: #654115;
}
.btn.btn-primary {
  --bs-btn-color: #fff;
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%);
}
.btn.btn-primary:hover, .btn.btn-primary:active, .btn.btn-primary:focus-visible {
  color: #fff;
  background: linear-gradient(90deg, #b97727 0%, #b97727 100%);
  border-color: #b97727;
}
.btn.btn-secondary {
  --bs-btn-color: #fff;
  background: linear-gradient(90deg, #41a8d7 0%, #2b86b2 100%);
}
.btn.btn-secondary:hover, .btn.btn-secondary:active, .btn.btn-secondary:focus-visible {
  color: #fff;
  background: linear-gradient(90deg, #2680ac 0%, #2680ac 100%);
  border-color: #2680ac;
}
.btn:hover {
  box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.3);
}
.btn.btn-danger {
  --bs-btn-color: #fff;
}
.btn.btn-danger:hover {
  color: #2f2f2f;
  background: #fcebeb;
}
.btn.btn-warning {
  --bs-btn-color: #fff;
}
.btn.btn-warning:hover {
  color: #2f2f2f;
  background: #fdf3e9;
}
.btn.btn-success {
  --bs-btn-color: #fff;
}
.btn.btn-success:hover {
  color: #2f2f2f;
  background: #eef9e9;
}
.btn.btn-light {
  border: 2px solid #f2f2f2;
}
.btn.btn-light:hover {
  background: #fff;
  box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.3);
}
.btn.btn-outline-primary {
  color: #d98c2f;
  border: 2px solid transparent;
  position: relative;
  z-index: 1;
  transition: color 0.3s;
}
.btn.btn-outline-primary:hover {
  color: #d98c2f;
  background-color: #f8f1e9;
}
.btn.btn-outline-primary:hover::after {
  background: #f8f1e9;
}
.btn.btn-outline-primary:hover::before {
  opacity: 1;
}
.btn.btn-outline-primary::before {
  border-radius: 2.5rem;
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%);
  z-index: -1;
  transition: opacity 0.3s;
}
.btn.btn-outline-primary::after {
  border-radius: 2.5rem;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: white;
  z-index: -1;
  transition: background 0.3s;
}
.btn.btn-outline-primary span {
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
.btn.btn-outline-secondary {
  border: 2px solid transparent;
  position: relative;
  z-index: 1;
  transition: color 0.3s;
}
.btn.btn-outline-secondary:hover {
  background-color: #e5eef3;
  color: #2680ac;
}
.btn.btn-outline-secondary:hover::after {
  background: #e5eef3;
}
.btn.btn-outline-secondary:hover::before {
  opacity: 1;
}
.btn.btn-outline-secondary::before {
  border-radius: 2.5rem;
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(90deg, #41a8d7 0%, #2b86b2 100%);
  z-index: -1;
  transition: opacity 0.3s;
}
.btn.btn-outline-secondary::after {
  border-radius: 2.5rem;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: white;
  z-index: -1;
  transition: background 0.3s;
}
.btn.btn-outline-secondary span {
  background: linear-gradient(90deg, #41a8d7 0%, #2b86b2 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
.btn.btn-outline-light {
  color: #fff;
  border: 2px solid #fff;
  background: rgba(255, 255, 255, 0.1);
}
.btn.btn-outline-light:hover, .btn.btn-outline-light:active, .btn.btn-outline-light:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, 0.2);
  box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.3);
}
.btn.btn-outline-dark {
  color: #2f2f2f;
  border: 2px solid #f2f2f2;
  background: rgb(255, 255, 255);
}
.btn.btn-outline-dark:hover, .btn.btn-outline-dark:active, .btn.btn-outline-dark:focus-visible {
  color: #2f2f2f;
  background: rgb(255, 255, 255);
  box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.3);
}

.text-primary {
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.link-primary {
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
.link-primary:hover {
  background: #b97727;
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  cursor: pointer;
}

.link-secondary {
  background: linear-gradient(90deg, #41a8d7 0%, #2b86b2 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
.link-secondary:hover {
  background: #2680ac;
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.primary-text-gradient {
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
.primary-text-gradient:hover {
  background: #b97727;
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.primary-text-gradient-no-hover {
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.secondary-text-gradient {
  background: linear-gradient(90deg, #41a8d7 0%, #2b86b2 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
.secondary-text-gradient:hover {
  background: #2680ac;
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.secondary-text-gradient-no-hover {
  background: linear-gradient(90deg, #41a8d7 0%, #2b86b2 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.alert {
  color: #2f2f2f;
  box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.2);
  padding: 1rem 2rem;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 1.4rem */
}
.alert h5, .alert .h5 {
  display: flex;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.01rem;
  line-height: 130%;
  gap: 0.5rem;
  align-items: center;
}
.alert p {
  margin-bottom: 0;
}

.tag-holder {
  padding: 0.5rem;
}
@media (min-width: 992px) {
  .tag-holder {
    padding: 1rem;
  }
}

.custom-tag {
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 1.225rem */
  background: #fff;
  border-radius: 2.5rem;
  display: inline-flex;
  padding: 0.25rem 0.5rem;
  align-items: center;
  gap: 0.25rem;
  border: 2px solid #b97727;
  color: #b97727;
}
@media (min-width: 992px) {
  .custom-tag {
    font-size: 0.875rem;
  }
}
@media (min-width: 992px) {
  .custom-tag {
    padding: 0.375rem 0.75rem;
  }
}
.custom-tag:hover {
  cursor: default;
}
.custom-tag.transparant {
  background: transparent;
  border-color: transparent;
  padding: 0;
}
@media (max-width: 767.98px) {
  .custom-tag svg {
    width: 15px;
    height: 15px;
  }
}
.custom-tag.default {
  border: 2px solid #b97727;
  color: #b97727;
}
.custom-tag.default svg path {
  fill: #b97727;
}
.custom-tag.amber {
  border: 2px solid #e4a006;
  color: #e4a006;
}
.custom-tag.amber svg path {
  fill: #e4a006;
}
.custom-tag.raspberry {
  border: 2px solid #d83350;
  color: #d83350;
}
.custom-tag.raspberry svg path {
  fill: #d83350;
}
.custom-tag.forest {
  border: 2px solid #315641;
  color: #315641;
}
.custom-tag.forest svg path {
  fill: #315641;
}
.custom-tag.water {
  border: 2px solid #2680ac;
  color: #2680ac;
}
.custom-tag.water svg path {
  fill: #2680ac;
}
.custom-tag.desert {
  border: 2px solid #b97727;
  color: #b97727;
}
.custom-tag.desert svg path {
  fill: #b97727;
}

.card {
  transition: all 125ms ease-in-out;
}
.card:hover {
  box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.3);
}
.card.map-card .flickity-page-dots {
  display: none !important;
}
.card .card-carousel {
  height: 100%;
}
.card .card-carousel .card-carousel-img {
  height: 100%;
}
.card .card-carousel .flickity-page-dots {
  bottom: 20px;
}
.card .card-carousel .flickity-page-dots .flickity-page-dot {
  margin: 0 0.25rem;
  width: 0.5rem;
  height: 0.5rem;
  opacity: 1;
  background: #fff;
  border-radius: 1rem;
  transition: 0.1s width ease-in-out;
}
.card .card-carousel .flickity-page-dots .flickity-page-dot.is-selected {
  width: 1.5rem;
  height: 0.5rem;
}
.card .card-carousel .flickity-page-dots .flickity-page-dot:focus {
  box-shadow: none;
}
.card .card-carousel-portrait .flickity-viewport {
  aspect-ratio: 16/9;
}
.card .card-carousel-portrait .flickity-cell {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ensures image covers the container */
  position: absolute;
  top: 0;
  left: 0;
}
.card .card-carousel-portrait .flickity-cell.carousel-cell-image {
  transition: opacity 0.4s;
  opacity: 0;
}
.card .card-carousel-portrait .flickity-cell.carousel-cell-image.flickity-lazyerror, .card .card-carousel-portrait .flickity-cell.carousel-cell-image.flickity-lazyloaded {
  opacity: 1;
}
.card .card-carousel-portrait .flickity-page-dots {
  bottom: 20px;
}
.card .card-carousel-portrait .flickity-page-dots .flickity-page-dot {
  margin: 0 0.25rem;
  width: 0.5rem;
  height: 0.5rem;
  opacity: 1;
  background: #fff;
  border-radius: 1rem;
  transition: 0.1s width ease-in-out;
}
.card .card-carousel-portrait .flickity-page-dots .flickity-page-dot.is-selected {
  width: 1.5rem;
  height: 0.5rem;
}
.card .card-carousel-portrait .flickity-page-dots .flickity-page-dot:focus {
  box-shadow: none;
}
.card .card-body .card-data {
  gap: 0.625rem;
}
.card .card-body .card-facilities .card-facilities-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  white-space: nowrap;
}
.card .card-body .card-facilities .card-facilities-list .facility {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
}
.card .card-body .card-facilities .card-facilities-list .facility span {
  font-size: 0.85rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 1.4rem */
  font-size: 0.75rem;
}
@media (min-width: 992px) {
  .card .card-body .card-facilities .card-facilities-list .facility span {
    font-size: 0.85rem;
  }
}
.card .card-body .card-title {
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 130%; /* 1.95rem */
}
@media (min-width: 992px) {
  .card .card-body .card-title {
    font-size: 1.25rem;
  }
}
.card .card-body .card-text {
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 1.4rem */
}
@media (min-width: 992px) {
  .card .card-body .card-text {
    font-size: 1rem;
  }
}
.card .card-body .card-rating .review-summary-rating {
  color: #e4a006;
}
.card .card-body .card-rating .review-summary-rating .rating-number {
  font-weight: 700;
  font-size: 1rem;
}
.card .card-body .card-location {
  font-size: 0.75rem;
  line-height: 130%; /* 1.625rem */
}
@media (min-width: 992px) {
  .card .card-body .card-location {
    font-size: 1rem;
  }
}
.card .card-body .card-distance {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 140%; /* 1.225rem */
}
.card .card-body .card-message {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 140%; /* 1.225rem */
  color: #eb872b;
}
.card .card-body .card-booking .card-booking-data {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  row-gap: 0;
}
.card .card-body .card-booking .card-booking-data .card-booking-stock {
  font-size: 0.75rem;
  color: #d83350;
}
@media (min-width: 992px) {
  .card .card-body .card-booking .card-booking-data .card-booking-stock {
    font-size: 0.875rem;
  }
}
.card .card-body .card-booking .card-booking-data .card-booking-date {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #8a8a8a;
  font-size: 0.75rem;
  font-weight: 400;
  row-gap: 0;
}
@media (min-width: 992px) {
  .card .card-body .card-booking .card-booking-data .card-booking-date {
    font-size: 1rem;
  }
}
.card .card-body .card-booking .card-booking-data .card-booking-price {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 130%; /* 1.625rem */
}
.card .card-body .card-booking .card-booking-data .card-booking-price.discount-price {
  font-size: 0.85rem;
  font-weight: 500;
  text-decoration: line-through !important;
  color: #d83350;
  line-height: normal;
}
.card .card-body .card-booking .card-booking-data .card-booking-price.discount-price-percentage {
  color: #fff;
  border-radius: 2.5rem;
  padding: 0.25rem 0.5rem;
  font-weight: 500;
  font-size: 0.85rem;
  line-height: 1.125;
}
.card .card-body .card-booking .card-booking-data .card-no-date-selected {
  color: #eb872b;
}
@media (min-width: 576px) {
  .card.portrait:not(.accommodation) .card-body {
    height: 24rem;
  }
}
@media (min-width: 768px) {
  .card.portrait:not(.accommodation) .card-body {
    height: 25rem;
  }
}
@media (min-width: 992px) {
  .card.portrait:not(.accommodation) .card-body {
    height: 23.875rem;
  }
}
.card.portrait.accommodation .card-body {
  gap: 1rem;
}
.card.portrait.accommodation .card-body .card-data {
  gap: 1rem;
}
.card.portrait.accommodation .card-body .card-data .facility-accommodation {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
}
.card.portrait.blog .card-img-top .image-holder {
  height: 120px;
}
@media (min-width: 576px) {
  .card.portrait.blog .card-img-top .image-holder {
    height: 150px;
  }
}
@media (min-width: 768px) {
  .card.portrait.blog .card-img-top .image-holder {
    height: 180px;
  }
}
@media (min-width: 992px) {
  .card.portrait.blog .card-img-top .image-holder {
    height: 150px;
  }
}
@media (min-width: 1200px) {
  .card.portrait.blog .card-img-top .image-holder {
    height: 200px;
  }
}
@media (min-width: 576px) {
  .card.portrait.blog .card-body {
    height: 13rem;
  }
}
@media (min-width: 768px) {
  .card.portrait.blog .card-body {
    height: 13rem;
  }
}
@media (min-width: 992px) {
  .card.portrait.blog .card-body {
    height: 13rem;
  }
}
.card.portrait.camping_card .card-body .card-title {
  min-height: 4rem;
  display: flex;
  align-items: center;
}
.card.portrait.camping_card .card-body .card-location {
  font-size: 1rem;
}
.card.landscape .card-body .card-data {
  gap: 0.25rem;
}
@media (min-width: 768px) {
  .card.landscape .card-body .card-data {
    gap: 0.5rem;
  }
}
.card.landscape .card-body .card-data .card-facilities-list {
  display: flex;
  gap: 1rem;
  justify-content: flex-start;
}
@media (min-width: 768px) {
  .card.landscape .card-body .card-data .card-facilities-list {
    gap: 1.5rem;
  }
}
.card.otherDates {
  border: 2px solid #eb872b !important;
}
.card.otherDates .card-booking-dates {
  color: #eb872b;
}
.card.card-accommodation-disabled .card-img-top {
  opacity: 0.5; /* Makes the card look faded */
  -webkit-user-select: none;
          user-select: none; /* Disables text selection */
}
.card.card-accommodation-disabled .card-data:not(.card-message) {
  opacity: 0.5; /* Makes the card look faded */
  pointer-events: none; /* Disables clicks and other interactions */
  -webkit-user-select: none;
          user-select: none; /* Disables text selection */
}

.mobile-card-carousel-portrait {
  height: 16rem;
  overflow: hidden;
  /* fade in image when loaded */
}
.mobile-card-carousel-portrait.is-fullscreen {
  z-index: 1021;
  padding-bottom: 0;
  background: rgba(0, 0, 0, 0.7);
}
.mobile-card-carousel-portrait.is-fullscreen .flickity-fullscreen-button .flickity-button-icon {
  position: absolute;
  width: 26px;
  height: 26px;
  left: -10px;
  top: 10px;
}
.mobile-card-carousel-portrait.is-fullscreen .carousel-cell {
  height: 100%;
  background: unset;
}
.mobile-card-carousel-portrait.is-fullscreen .carousel-cell img {
  height: unset;
  object-fit: unset;
  position: unset;
}
.mobile-card-carousel-portrait .carousel-counter {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  padding: 0.25rem 0.5rem;
  border-radius: 1rem;
  font-size: 0.875rem;
  z-index: 10;
}
.mobile-card-carousel-portrait .carousel-cell {
  width: 100%;
  height: 16rem;
  background: #222;
  /* center images in cells with flexbox */
  display: flex;
  align-items: center;
  justify-content: center;
}
.mobile-card-carousel-portrait .carousel-cell img {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
  position: absolute;
}
.mobile-card-carousel-portrait .carousel-cell-image {
  transition: opacity 0.4s;
  opacity: 0;
}
.mobile-card-carousel-portrait .carousel-cell-image.flickity-lazyloaded,
.mobile-card-carousel-portrait .carousel-cell-image.flickity-lazyerror {
  opacity: 1;
}
.mobile-card-carousel-portrait .flickity-button {
  background: none;
  color: #fff;
}
.mobile-card-carousel-portrait .flickity-button:focus {
  box-shadow: none;
}
.mobile-card-carousel-portrait .flickity-page-dots {
  bottom: 20px;
}
.mobile-card-carousel-portrait .flickity-page-dots .flickity-page-dot {
  margin: 0 0.25rem;
  width: 0.5rem;
  height: 0.5rem;
  opacity: 1;
  background: #fff;
  border-radius: 1rem;
  transition: 0.1s width ease-in-out;
}
.mobile-card-carousel-portrait .flickity-page-dots .flickity-page-dot.is-selected {
  width: 1.5rem;
  height: 0.5rem;
}
.mobile-card-carousel-portrait .flickity-page-dots .flickity-page-dot:focus {
  box-shadow: none;
}

.newsletter-cta-bottom .input-group {
  background: #fff;
  border-radius: 2.5rem;
  padding: 0.5rem;
}
.newsletter-cta-bottom .input-group input {
  border: 0;
  box-shadow: none;
}
.newsletter-cta-bottom .input-group #submitNewsletter {
  border-radius: 2.5rem;
}

footer {
  line-height: 140%; /* 1.4rem */
}
footer .footer-review-summary {
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 1.225rem */
}
footer .review-summary-rating {
  color: #e4a006;
}
footer .review-summary-rating .rating-number {
  font-weight: 700;
  font-size: 1rem;
}
footer .nav .nav-item .nav-link {
  color: #2f2f2f;
  transition: font-weight 100ms ease-in-out !important;
  font-weight: 400;
  font-size: 1.125rem;
}
footer .nav .nav-item .nav-link:hover {
  font-weight: 700;
  transition: font-weight 100ms ease-in-out;
}
footer .nav .nav-item .nav-link.active {
  font-weight: 700;
}
footer .nav .nav-item .subtext {
  color: #8a8a8a;
  font-weight: 400;
  font-size: 1rem;
}
footer .subfooter {
  border-top-color: #c0c0c0 !important;
  border-top-width: 2px !important;
}
footer .subfooter .payments {
  gap: 1rem;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 1.575rem */
}
footer .subfooter .payments .payment-logos {
  gap: 0.5rem;
}
footer .subfooter .payments .payment-logos .payment-logo {
  border-radius: 0.5rem;
}
footer .subfooter .zoover-award img {
  max-height: 8.5rem;
}
footer .subfooter .socials {
  gap: 1.5rem;
}
footer h5, footer .h5 {
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: 130%; /* 1.625rem */
}
footer .bottom-footer {
  border-top-color: #c0c0c0 !important;
  border-top-width: 2px !important;
  letter-spacing: 0.01rem;
  font-weight: 700;
}

.footer_widget {
  z-index: 1019;
}
.footer_widget .default_footer_widget {
  background: #fff;
  box-shadow: 1px -5px 20px 0px rgba(70, 70, 70, 0.15);
  border-radius: 1rem 0.375rem 0rem 0rem;
}
.footer_widget .default_footer_widget .widget_elements {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3.5rem;
}
.footer_widget .default_footer_widget .widget_elements .footer_chat a,
.footer_widget .default_footer_widget .widget_elements .footer_discover a {
  width: 3rem;
  height: 3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #2f2f2f;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
}
.footer_widget .default_footer_widget .widget_elements .footer_search .big_search_button {
  height: 5rem;
  background: #fff;
}
.footer_widget .default_footer_widget .widget_elements .footer_search .big_search_button a {
  transform: scale(1.2);
  border: 10px solid #fff;
  box-shadow: none;
  margin-top: -10px;
}

.clamp-text-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.clamp-text-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.clamp-text-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.clamp-text-4 {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.clamp-text-5 {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.clamp-text-6 {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.clamp-text-7 {
  display: -webkit-box;
  -webkit-line-clamp: 7;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.clamp-text-8 {
  display: -webkit-box;
  -webkit-line-clamp: 8;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.clamp-text-9 {
  display: -webkit-box;
  -webkit-line-clamp: 9;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.clamp-text-10 {
  display: -webkit-box;
  -webkit-line-clamp: 10;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.placeholder {
  border-radius: 1rem;
}

.back-button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.animated-link span {
  transition: margin-right 200ms ease-in-out;
}
.animated-link:hover span {
  margin-right: 5px;
}

.btn-outline-dark:not(.btn-circle, .no-svg-animation):has(svg) svg,
.btn.btn-secondary:not(.no-svg-animation):has(svg) svg,
.btn.btn-outline-secondary:not(.no-svg-animation):has(svg) svg,
.btn.btn-primary:not(.no-svg-animation):has(svg) svg,
.btn.btn-outline-primary:not(.no-svg-animation):has(svg) svg,
.link-primary:not(.no-svg-animation):has(svg) svg,
.link-secondary:not(.no-svg-animation):has(svg) svg {
  transition: transform 200ms ease-in-out;
}
.btn-outline-dark:not(.btn-circle, .no-svg-animation):has(svg):hover svg,
.btn.btn-secondary:not(.no-svg-animation):has(svg):hover svg,
.btn.btn-outline-secondary:not(.no-svg-animation):has(svg):hover svg,
.btn.btn-primary:not(.no-svg-animation):has(svg):hover svg,
.btn.btn-outline-primary:not(.no-svg-animation):has(svg):hover svg,
.link-primary:not(.no-svg-animation):has(svg):hover svg,
.link-secondary:not(.no-svg-animation):has(svg):hover svg {
  transform: translateX(5px); /* Moves the svg slightly to the right */
}
.btn-outline-dark:not(.btn-circle, .no-svg-animation):has(svg).svg-left:hover svg,
.btn.btn-secondary:not(.no-svg-animation):has(svg).svg-left:hover svg,
.btn.btn-outline-secondary:not(.no-svg-animation):has(svg).svg-left:hover svg,
.btn.btn-primary:not(.no-svg-animation):has(svg).svg-left:hover svg,
.btn.btn-outline-primary:not(.no-svg-animation):has(svg).svg-left:hover svg,
.link-primary:not(.no-svg-animation):has(svg).svg-left:hover svg,
.link-secondary:not(.no-svg-animation):has(svg).svg-left:hover svg {
  transform: translateX(-5px); /* Moves the svg slightly to the right */
}

.sticky-scroller {
  position: sticky;
  top: 140px;
  z-index: 10;
}
.sticky-scroller.checkout-scroller {
  top: 60px;
}

.custom_popover:hover {
  cursor: pointer;
}

@media (max-width: 991.98px) {
  .TrengoWidgetLauncher__iframe,
  .TrengoOnlineStatus__iframe,
  .TrengoWidgetGreeter__iframe,
  .TrengoWidgetBadge__iframe,
  .TrengoOnlineStatus__iframe {
    display: none !important;
  }
}
.form-control,
.form-select {
  border-radius: 2.5rem;
}

.fslightbox-container {
  background: rgba(255, 255, 255, 0.8) !important;
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
}
.fslightbox-container .fslightboxs {
  border-radius: 1rem;
}
.fslightbox-container .fslightbox-slide-number-container {
  color: #b97727;
}
.fslightbox-container .fslightbox-slide-number-container .fslightbox-slash {
  background: #b97727;
}
.fslightbox-container .fslightbox-loader-child {
  border-color: #b97727 transparent transparent transparent;
}
.fslightbox-container .fslightbox-thumbs .fslightbox-thumb-wrapper:first-child img {
  border-top-left-radius: 1rem;
  border-bottom-left-radius: 1rem;
}
.fslightbox-container .fslightbox-thumbs .fslightbox-thumb-wrapper:last-child img {
  border-top-right-radius: 1rem;
  border-bottom-right-radius: 1rem;
}
.fslightbox-container .fslightbox-thumbs .fslightbox-thumb-wrapper .fslightboxta {
  border-color: #d98c2f !important;
}

lite-youtube > .lty-playbtn {
  background: no-repeat center/90px 90px;
  background-image: url("data:image/svg+xml,%3Csvg width=%2790%27 height=%2790%27 viewBox=%270 0 90 91%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cg filter=%27url%28%23filter0_d_2790_20382%29%27%3E%3Crect x=%2720%27 y=%2712.5%27 width=%2750%27 height=%2750%27 rx=%2725%27 fill=%27url%28%23paint0_linear_2790_20382%29%27/%3E%3Cpath d=%27M51.2688 35.9022L41.1382 29.7055C40.9258 29.576 40.6827 29.5052 40.434 29.5003C40.1852 29.4954 39.9396 29.5565 39.7222 29.6776C39.5048 29.7986 39.3234 29.9752 39.1965 30.1892C39.0696 30.4032 39.0018 30.6471 39 30.8959V43.2892C39.0018 43.538 39.0696 43.7819 39.1965 43.9959C39.3234 44.21 39.5048 44.3865 39.7222 44.5075C39.9396 44.6286 40.1852 44.6898 40.434 44.6849C40.6827 44.6799 40.9258 44.6091 41.1382 44.4796L51.2688 38.283C51.4731 38.1586 51.6419 37.9838 51.7591 37.7753C51.8763 37.5668 51.9378 37.3317 51.9378 37.0926C51.9378 36.8534 51.8763 36.6183 51.7591 36.4098C51.6419 36.2013 51.4731 36.0265 51.2688 35.9022ZM40.6875 42.7773V31.4078L49.98 37.0926L40.6875 42.7773Z%27 fill=%27white%27/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id=%27filter0_d_2790_20382%27 x=%270%27 y=%270.5%27 width=%2790%27 height=%2790%27 filterUnits=%27userSpaceOnUse%27 color-interpolation-filters=%27sRGB%27%3E%3CfeFlood flood-opacity=%270%27 result=%27BackgroundImageFix%27/%3E%3CfeColorMatrix in=%27SourceAlpha%27 type=%27matrix%27 values=%270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0%27 result=%27hardAlpha%27/%3E%3CfeOffset dy=%278%27/%3E%3CfeGaussianBlur stdDeviation=%2710%27/%3E%3CfeComposite in2=%27hardAlpha%27 operator=%27out%27/%3E%3CfeColorMatrix type=%27matrix%27 values=%270 0 0 0 0.27451 0 0 0 0 0.27451 0 0 0 0 0.27451 0 0 0 0.2 0%27/%3E%3CfeBlend mode=%27normal%27 in2=%27BackgroundImageFix%27 result=%27effect1_dropShadow_2790_20382%27/%3E%3CfeBlend mode=%27normal%27 in=%27SourceGraphic%27 in2=%27effect1_dropShadow_2790_20382%27 result=%27shape%27/%3E%3C/filter%3E%3ClinearGradient id=%27paint0_linear_2790_20382%27 x1=%2720%27 y1=%2712.5%27 x2=%2776.736%27 y2=%2721.9171%27 gradientUnits=%27userSpaceOnUse%27%3E%3Cstop stop-color=%27%23D98C2F%27/%3E%3Cstop offset=%271%27 stop-color=%27%23ECA827%27/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  filter: none;
  transition: transform 200ms ease-in-out;
}
lite-youtube:hover > .lty-playbtn {
  transform: scale(1.2);
  filter: none;
}

.promotionContent p {
  margin-bottom: 0;
}

.marquee-container {
  display: flex;
  white-space: nowrap;
  align-items: center;
  width: 100%;
  height: clamp(2em, 8vw, 3.5em);
  overflow: hidden;
  font-family: sans-serif;
  padding: 10px;
  position: relative;
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%);
  transform: rotate(-1deg);
}

.loop-text {
  font-family: questa-grande, serif;
  font-style: italic;
  letter-spacing: 0.01rem;
  font-size: clamp(1.25rem, 3.5vw, 2rem);
  font-weight: 700;
  padding: 0 0.15em;
  animation: loopText 15s infinite linear;
  margin-bottom: 0;
  color: #fff;
}
.loop-text a {
  font-family: questa-grande, serif;
  font-style: italic;
  letter-spacing: 0.01rem;
  font-size: clamp(1.25rem, 3.5vw, 2rem);
  font-weight: 700;
  color: #fff;
  text-decoration: none;
}

@keyframes loopText {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
#CampingDatePickerResult {
  scroll-margin-top: 100px;
}

#villatent_camping_date_picker {
  scroll-margin-top: 115px;
}

#priceMatrixMobile {
  scroll-margin-top: 120px;
}

.camping-page .row {
  margin-bottom: 2rem;
}
.camping-page .custom-padding {
  padding-top: 3.25rem;
  padding-bottom: 3.25rem;
}
.camping-page .camping-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.625rem;
}
.camping-page .camping-header .camping-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
}
.camping-page .camping-header .camping-topbar .camping-rating {
  color: #e4a006;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 1.575rem */
}
.camping-page .camping-header .camping-title h3, .camping-page .camping-header .camping-title .h3 {
  font-size: 2rem;
  font-style: normal;
  font-weight: 500;
  line-height: 130%; /* 2.6rem */
}
.camping-page .camping-header .camping-location {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  align-self: stretch;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: 130%; /* 1.625rem */
}
.camping-page .camping-facilities .camping-intro-description p {
  margin-bottom: 0;
}
.camping-page .camping-gallery_main-image {
  height: 26rem;
  transition: box-shadow 125ms ease-in-out;
}
.camping-page .camping-gallery_main-image:hover {
  box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.2);
}
.camping-page .camping-gallery_main-image img {
  width: 100%;
  height: 100%;
}
.camping-page .camping-gallery_thumbnail-grid .image-holder {
  height: 7.25rem;
  width: 100%;
  transition: box-shadow 125ms ease-in-out;
}
.camping-page .camping-gallery_thumbnail-grid .image-holder:hover {
  box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.2);
}
.camping-page .camping-gallery_thumbnail-grid .image-holder img {
  width: 100%;
  height: 100%;
}
.camping-page .camping-gallery_thumbnail-grid .image-top-left {
  border-bottom-left-radius: 1rem;
}
.camping-page .camping-gallery_thumbnail-grid .image-top-left img {
  border-bottom-left-radius: 1rem;
}
.camping-page .camping-gallery_thumbnail-grid .image-bottom-right {
  border-bottom-right-radius: 1rem;
}
.camping-page .camping-gallery_thumbnail-grid .image-bottom-right img {
  border-bottom-right-radius: 1rem;
}
.camping-page .camping-gallery_thumbnail-grid .more-images-overlay {
  height: 100%;
  width: 100%;
  border-bottom-right-radius: 1rem;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 25%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 75%);
}
.camping-page .camping-gallery_thumbnail-grid .more-images {
  color: #fff;
  padding: 1rem 1.5rem;
  border-radius: 2.5rem;
  border: 2px solid #fff;
  background: rgba(255, 255, 255, 0.1);
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 1.4rem */
  white-space: nowrap;
}
.camping-page .camping-information .camping-information-tabs {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
}
@media (max-width: 991.98px) {
  .camping-page .camping-information .camping-information-tabs {
    flex-direction: row;
    flex-wrap: wrap;
    margin-bottom: 1rem;
  }
}
.camping-page .camping-information .camping-information-tabs .camping-information-tab {
  display: flex;
  padding: 1.5rem;
  align-items: center;
  gap: 0.5rem;
  align-self: stretch;
  border-right: 2px solid #c0c0c0;
  border-radius: 1rem 0rem 0rem 1rem;
  transition: border-color 0.3s ease, background-color 0.3s ease;
}
@media (max-width: 991.98px) {
  .camping-page .camping-information .camping-information-tabs .camping-information-tab {
    gap: 0.25rem;
    padding: 1.5rem 0.5rem;
    border-bottom: 1px solid #c0c0c0;
    border-right: none;
    flex: 0 0 33.3333%;
    justify-content: center;
    border-radius: 0;
  }
}
.camping-page .camping-information .camping-information-tabs .camping-information-tab span {
  color: #666;
  font-size: 1.125rem;
}
@media (max-width: 991.98px) {
  .camping-page .camping-information .camping-information-tabs .camping-information-tab span {
    font-size: 0.875rem;
  }
}
.camping-page .camping-information .camping-information-tabs .camping-information-tab .orange_icon {
  display: none;
}
.camping-page .camping-information .camping-information-tabs .camping-information-tab.active {
  border-right: 3px solid #d98c2f;
  background: #fdf3e9;
}
@media (max-width: 991.98px) {
  .camping-page .camping-information .camping-information-tabs .camping-information-tab.active {
    border-bottom: 3px solid #d98c2f;
    border-right: 0;
  }
}
.camping-page .camping-information .camping-information-tabs .camping-information-tab.active svg.grey_icon path {
  fill: #d98c2f;
  transition: fill 0.3s ease;
}
.camping-page .camping-information .camping-information-tabs .camping-information-tab.active .orange_icon {
  display: block;
}
.camping-page .camping-information .camping-information-tabs .camping-information-tab.active span {
  font-weight: 700;
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%), linear-gradient(99deg, #d98c2f 0%, #eca827 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.camping-page .camping-information .camping-information-tabs .camping-information-tab:hover {
  cursor: pointer;
  border-right: 3px solid #d98c2f;
  background: #fdf3e9;
}
@media (max-width: 991.98px) {
  .camping-page .camping-information .camping-information-tabs .camping-information-tab:hover {
    border-bottom: 3px solid #d98c2f;
    border-right: 0;
  }
}
.camping-page .camping-information .camping-information-tabs .camping-information-tab:hover span {
  font-weight: 700;
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%), linear-gradient(99deg, #d98c2f 0%, #eca827 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.camping-page .camping-information .camping-information-tabs .camping-information-tab:hover svg.grey_icon path {
  fill: #d98c2f;
  transition: fill 0.1s ease;
}
.camping-page .camping-information #camping-info-content {
  line-height: 140%;
}
.camping-page .zoomist-container {
  width: 100%;
}
.camping-page .zoomist-image {
  width: 100%;
}
.camping-page .zoomist-zoomer-in {
  border-radius: 0 1rem 0 0;
}
.camping-page .zoomist-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.camping-page #accommodationCardslider {
  padding-bottom: 2rem;
}
.camping-page #accommodationCardslider .panel {
  margin-right: 1.5rem;
}

.camping-facilities .camping-facilities-list .facility .facility-text {
  font-size: 0.75rem;
}
@media (min-width: 992px) {
  .camping-facilities .camping-facilities-list .facility .facility-text {
    font-size: 1rem;
  }
}

.zoek-boek-page {
  margin-top: 1rem;
}
@media (min-width: 992px) {
  .zoek-boek-page {
    margin-top: 3.5rem;
  }
}
.zoek-boek-page .zoek-boek-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (min-width: 992px) {
  .zoek-boek-page .zoek-boek-list {
    gap: 2.5rem;
  }
}
.zoek-boek-page .zoek-boek-list .zoek-boek-list-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 991.98px) {
  .zoek-boek-page .zoek-boek-list .zoek-boek-list-topbar {
    margin-bottom: 1rem;
  }
}
.zoek-boek-page .zoek-boek-list .zoek-boek-total-results {
  font-size: 1rem;
}
@media (min-width: 992px) {
  .zoek-boek-page .zoek-boek-list .zoek-boek-total-results {
    font-size: 1.25rem;
  }
}
.zoek-boek-page .zoek-boek-list .zoek-boek-sorter a {
  color: #2f2f2f;
  text-decoration: none;
}
.zoek-boek-page .zoek-boek-list .card-list-layout,
.zoek-boek-page .zoek-boek-list .card-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.zoek-boek-page .zoek-boek-sidebar {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.zoek-boek-page .zoek-boek-sidebar .small-map {
  width: 100%;
  height: 10.125rem;
  background-color: #f3eee9;
  background-image: url(/build/website/images/villatent-map-1200-800.59a407c2.png);
  background-position: 50% 50%;
  background-size: cover;
}
.zoek-boek-page .zoek-boek-sidebar .zoek-boek-summary {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  gap: 1rem;
}
.zoek-boek-page .zoek-boek-sidebar .zoek-boek-filters {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-self: stretch;
}
.zoek-boek-page .zoek-boek-sidebar .zoek-boek-filters .zoek-boek-filter {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-self: stretch;
}
.zoek-boek-page .zoek-boek-sidebar .zoek-boek-filters .zoek-boek-filter .zoek-boek-filter-list {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  align-self: stretch;
}
.zoek-boek-page .zoek-boek-sidebar .zoek-boek-filters .zoek-boek-filter .zoek-boek-filter-list .zoek-boek-show-more-filters:hover,
.zoek-boek-page .zoek-boek-sidebar .zoek-boek-filters .zoek-boek-filter .zoek-boek-filter-list .zoek-boek-show-less-filters:hover {
  cursor: pointer;
}
.zoek-boek-page .zoek-boek-sidebar .zoek-boek-filters .zoek-boek-filter .zoek-boek-filter-list .form-check label:hover {
  text-decoration: underline;
  cursor: pointer;
}
.zoek-boek-page .zoek_boek_extra_buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  gap: 0.5rem;
  align-self: stretch;
  flex-wrap: wrap;
}
.zoek-boek-page .zoek_boek_extra_buttons button {
  display: flex;
  padding: 0.5rem 1rem;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  border: 2px solid #8a8a8a;
  background: #fff;
  color: #8a8a8a;
  font-weight: 400;
  line-height: 1.4;
}
.zoek-boek-page .zoek_boek_extra_buttons button.active-date-picker {
  border: 2px solid #2f2f2f;
  background: #fff;
  color: #2f2f2f;
}
.zoek-boek-page .zoek_boek_extra_buttons button svg {
  width: 1.125rem;
  height: 1.125rem;
}

.booking-widget-person-picker .dropdown-menu {
  min-width: 320px;
}

.booking-widget-destination-picker .btn-check:checked + .btn,
.booking-widget-destination-picker :not(.btn-check) + .btn:active,
.booking-widget-destination-picker .btn:first-child:active,
.booking-widget-destination-picker .btn.active,
.booking-widget-destination-picker .btn.show,
.booking-widget-destination-picker .link-dark.show,
.booking-widget-person-picker .btn-check:checked + .btn,
.booking-widget-person-picker :not(.btn-check) + .btn:active,
.booking-widget-person-picker .btn:first-child:active,
.booking-widget-person-picker .btn.active,
.booking-widget-person-picker .btn.show,
.booking-widget-person-picker .link-dark.show,
.booking-widget-date-picker .btn-check:checked + .btn,
.booking-widget-date-picker :not(.btn-check) + .btn:active,
.booking-widget-date-picker .btn:first-child:active,
.booking-widget-date-picker .btn.active,
.booking-widget-date-picker .btn.show,
.booking-widget-date-picker .link-dark.show,
.custom-dropdown .btn-check:checked + .btn,
.custom-dropdown :not(.btn-check) + .btn:active,
.custom-dropdown .btn:first-child:active,
.custom-dropdown .btn.active,
.custom-dropdown .btn.show,
.custom-dropdown .link-dark.show {
  color: #2f2f2f;
}
.booking-widget-destination-picker::after,
.booking-widget-person-picker::after,
.booking-widget-date-picker::after,
.custom-dropdown::after {
  display: none !important;
}
.booking-widget-destination-picker .booking-widget-date-range,
.booking-widget-person-picker .booking-widget-date-range,
.booking-widget-date-picker .booking-widget-date-range,
.custom-dropdown .booking-widget-date-range {
  display: flex;
  gap: 0.5rem;
}
.booking-widget-destination-picker .dropdown-menu,
.booking-widget-person-picker .dropdown-menu,
.booking-widget-date-picker .dropdown-menu,
.custom-dropdown .dropdown-menu {
  padding: 1.5rem;
  margin-top: 0.5rem;
  border: 2px solid #f2f2f2;
}
.booking-widget-destination-picker .dropdown-menu.show,
.booking-widget-person-picker .dropdown-menu.show,
.booking-widget-date-picker .dropdown-menu.show,
.custom-dropdown .dropdown-menu.show {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}
.booking-widget-destination-picker .dropdown-menu li,
.booking-widget-person-picker .dropdown-menu li,
.booking-widget-date-picker .dropdown-menu li,
.custom-dropdown .dropdown-menu li {
  position: relative;
  transition: all 100ms ease-in-out;
}
.booking-widget-destination-picker .dropdown-menu li::before,
.booking-widget-person-picker .dropdown-menu li::before,
.booking-widget-date-picker .dropdown-menu li::before,
.custom-dropdown .dropdown-menu li::before {
  position: absolute;
  opacity: 0;
  left: -10px;
  top: 6px;
  content: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2718%27 height=%2719%27 viewBox=%270 0 18 19%27 fill=%27none%27%3E%3Cpath d=%27M12.972 10.0969L7.34698 15.7219C7.18848 15.8804 6.97349 15.9695 6.74933 15.9695C6.52516 15.9695 6.31018 15.8804 6.15167 15.7219C5.99316 15.5634 5.90411 15.3484 5.90411 15.1243C5.90411 14.9001 5.99316 14.6851 6.15167 14.5266L11.1797 9.49997L6.15308 4.47192C6.07459 4.39344 6.01233 4.30026 5.96986 4.19772C5.92738 4.09517 5.90552 3.98526 5.90552 3.87427C5.90552 3.76327 5.92738 3.65336 5.96986 3.55082C6.01233 3.44827 6.07459 3.3551 6.15308 3.27661C6.23156 3.19812 6.32474 3.13587 6.42728 3.09339C6.52983 3.05091 6.63974 3.02905 6.75073 3.02905C6.86173 3.02905 6.97164 3.05091 7.07418 3.09339C7.17673 3.13587 7.2699 3.19812 7.34839 3.27661L12.9734 8.90161C13.052 8.98009 13.1143 9.07331 13.1567 9.17592C13.1992 9.27853 13.221 9.38851 13.2209 9.49956C13.2207 9.61061 13.1987 9.72054 13.156 9.82305C13.1133 9.92556 13.0507 10.0186 12.972 10.0969Z%27 fill=%27url%28%23paint0_linear_805_2776%29%27/%3E%3Cdefs%3E%3ClinearGradient id=%27paint0_linear_805_2776%27 x1=%275.90411%27 y1=%273.02905%27 x2=%2714.3608%27 y2=%273.8227%27 gradientUnits=%27userSpaceOnUse%27%3E%3Cstop stop-color=%27%23D98C2F%27/%3E%3Cstop offset=%271%27 stop-color=%27%23ECA827%27/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  transition: left 125ms ease-in-out, opacity 125ms ease-in-out;
}
.booking-widget-destination-picker .dropdown-menu li:hover a,
.booking-widget-person-picker .dropdown-menu li:hover a,
.booking-widget-date-picker .dropdown-menu li:hover a,
.custom-dropdown .dropdown-menu li:hover a {
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  cursor: pointer;
}
.booking-widget-destination-picker .dropdown-menu li:hover::before,
.booking-widget-person-picker .dropdown-menu li:hover::before,
.booking-widget-date-picker .dropdown-menu li:hover::before,
.custom-dropdown .dropdown-menu li:hover::before {
  position: absolute;
  opacity: 1;
  left: 0;
  content: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2718%27 height=%2719%27 viewBox=%270 0 18 19%27 fill=%27none%27%3E%3Cpath d=%27M12.972 10.0969L7.34698 15.7219C7.18848 15.8804 6.97349 15.9695 6.74933 15.9695C6.52516 15.9695 6.31018 15.8804 6.15167 15.7219C5.99316 15.5634 5.90411 15.3484 5.90411 15.1243C5.90411 14.9001 5.99316 14.6851 6.15167 14.5266L11.1797 9.49997L6.15308 4.47192C6.07459 4.39344 6.01233 4.30026 5.96986 4.19772C5.92738 4.09517 5.90552 3.98526 5.90552 3.87427C5.90552 3.76327 5.92738 3.65336 5.96986 3.55082C6.01233 3.44827 6.07459 3.3551 6.15308 3.27661C6.23156 3.19812 6.32474 3.13587 6.42728 3.09339C6.52983 3.05091 6.63974 3.02905 6.75073 3.02905C6.86173 3.02905 6.97164 3.05091 7.07418 3.09339C7.17673 3.13587 7.2699 3.19812 7.34839 3.27661L12.9734 8.90161C13.052 8.98009 13.1143 9.07331 13.1567 9.17592C13.1992 9.27853 13.221 9.38851 13.2209 9.49956C13.2207 9.61061 13.1987 9.72054 13.156 9.82305C13.1133 9.92556 13.0507 10.0186 12.972 10.0969Z%27 fill=%27url%28%23paint0_linear_805_2776%29%27/%3E%3Cdefs%3E%3ClinearGradient id=%27paint0_linear_805_2776%27 x1=%275.90411%27 y1=%273.02905%27 x2=%2714.3608%27 y2=%273.8227%27 gradientUnits=%27userSpaceOnUse%27%3E%3Cstop stop-color=%27%23D98C2F%27/%3E%3Cstop offset=%271%27 stop-color=%27%23ECA827%27/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  transition: left 125ms ease-in-out, opacity 125ms ease-in-out;
}
.booking-widget-destination-picker .dropdown-menu li.active a,
.booking-widget-person-picker .dropdown-menu li.active a,
.booking-widget-date-picker .dropdown-menu li.active a,
.custom-dropdown .dropdown-menu li.active a {
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
.booking-widget-destination-picker .dropdown-menu li.active::before,
.booking-widget-person-picker .dropdown-menu li.active::before,
.booking-widget-date-picker .dropdown-menu li.active::before,
.custom-dropdown .dropdown-menu li.active::before {
  position: absolute;
  opacity: 1;
  left: 0;
  top: 6px;
  content: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2718%27 height=%2719%27 viewBox=%270 0 18 19%27 fill=%27none%27%3E%3Cpath d=%27M12.972 10.0969L7.34698 15.7219C7.18848 15.8804 6.97349 15.9695 6.74933 15.9695C6.52516 15.9695 6.31018 15.8804 6.15167 15.7219C5.99316 15.5634 5.90411 15.3484 5.90411 15.1243C5.90411 14.9001 5.99316 14.6851 6.15167 14.5266L11.1797 9.49997L6.15308 4.47192C6.07459 4.39344 6.01233 4.30026 5.96986 4.19772C5.92738 4.09517 5.90552 3.98526 5.90552 3.87427C5.90552 3.76327 5.92738 3.65336 5.96986 3.55082C6.01233 3.44827 6.07459 3.3551 6.15308 3.27661C6.23156 3.19812 6.32474 3.13587 6.42728 3.09339C6.52983 3.05091 6.63974 3.02905 6.75073 3.02905C6.86173 3.02905 6.97164 3.05091 7.07418 3.09339C7.17673 3.13587 7.2699 3.19812 7.34839 3.27661L12.9734 8.90161C13.052 8.98009 13.1143 9.07331 13.1567 9.17592C13.1992 9.27853 13.221 9.38851 13.2209 9.49956C13.2207 9.61061 13.1987 9.72054 13.156 9.82305C13.1133 9.92556 13.0507 10.0186 12.972 10.0969Z%27 fill=%27url%28%23paint0_linear_805_2776%29%27/%3E%3Cdefs%3E%3ClinearGradient id=%27paint0_linear_805_2776%27 x1=%275.90411%27 y1=%273.02905%27 x2=%2714.3608%27 y2=%273.8227%27 gradientUnits=%27userSpaceOnUse%27%3E%3Cstop stop-color=%27%23D98C2F%27/%3E%3Cstop offset=%271%27 stop-color=%27%23ECA827%27/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
}
.booking-widget-destination-picker .dropdown-menu li .dropdown-item,
.booking-widget-person-picker .dropdown-menu li .dropdown-item,
.booking-widget-date-picker .dropdown-menu li .dropdown-item,
.custom-dropdown .dropdown-menu li .dropdown-item {
  transition: color 100ms ease-in-out;
}
.booking-widget-destination-picker .dropdown-menu .dp__menu,
.booking-widget-person-picker .dropdown-menu .dp__menu,
.booking-widget-date-picker .dropdown-menu .dp__menu,
.custom-dropdown .dropdown-menu .dp__menu {
  border: none;
}
.booking-widget-destination-picker .dropdown-menu .dp__cell_inner:hover,
.booking-widget-person-picker .dropdown-menu .dp__cell_inner:hover,
.booking-widget-date-picker .dropdown-menu .dp__cell_inner:hover,
.custom-dropdown .dropdown-menu .dp__cell_inner:hover {
  transition: background-color 0.1s ease-in, transform 0.1s ease-in, border 0.1s ease-in, opacity 0.1s ease-in, width 0.1s ease-in, height 0.1s ease-in, margin 0.1s ease-in;
}
.booking-widget-destination-picker .guests-amount-picker,
.booking-widget-destination-picker .package-amount-picker,
.booking-widget-person-picker .guests-amount-picker,
.booking-widget-person-picker .package-amount-picker,
.booking-widget-date-picker .guests-amount-picker,
.booking-widget-date-picker .package-amount-picker,
.custom-dropdown .guests-amount-picker,
.custom-dropdown .package-amount-picker {
  gap: 1rem;
  display: flex;
  flex-direction: column;
}
.booking-widget-destination-picker .guests-amount-picker .guest-type .guest-name,
.booking-widget-destination-picker .guests-amount-picker .guest-type .package-name,
.booking-widget-destination-picker .guests-amount-picker .package-type .guest-name,
.booking-widget-destination-picker .guests-amount-picker .package-type .package-name,
.booking-widget-destination-picker .package-amount-picker .guest-type .guest-name,
.booking-widget-destination-picker .package-amount-picker .guest-type .package-name,
.booking-widget-destination-picker .package-amount-picker .package-type .guest-name,
.booking-widget-destination-picker .package-amount-picker .package-type .package-name,
.booking-widget-person-picker .guests-amount-picker .guest-type .guest-name,
.booking-widget-person-picker .guests-amount-picker .guest-type .package-name,
.booking-widget-person-picker .guests-amount-picker .package-type .guest-name,
.booking-widget-person-picker .guests-amount-picker .package-type .package-name,
.booking-widget-person-picker .package-amount-picker .guest-type .guest-name,
.booking-widget-person-picker .package-amount-picker .guest-type .package-name,
.booking-widget-person-picker .package-amount-picker .package-type .guest-name,
.booking-widget-person-picker .package-amount-picker .package-type .package-name,
.booking-widget-date-picker .guests-amount-picker .guest-type .guest-name,
.booking-widget-date-picker .guests-amount-picker .guest-type .package-name,
.booking-widget-date-picker .guests-amount-picker .package-type .guest-name,
.booking-widget-date-picker .guests-amount-picker .package-type .package-name,
.booking-widget-date-picker .package-amount-picker .guest-type .guest-name,
.booking-widget-date-picker .package-amount-picker .guest-type .package-name,
.booking-widget-date-picker .package-amount-picker .package-type .guest-name,
.booking-widget-date-picker .package-amount-picker .package-type .package-name,
.custom-dropdown .guests-amount-picker .guest-type .guest-name,
.custom-dropdown .guests-amount-picker .guest-type .package-name,
.custom-dropdown .guests-amount-picker .package-type .guest-name,
.custom-dropdown .guests-amount-picker .package-type .package-name,
.custom-dropdown .package-amount-picker .guest-type .guest-name,
.custom-dropdown .package-amount-picker .guest-type .package-name,
.custom-dropdown .package-amount-picker .package-type .guest-name,
.custom-dropdown .package-amount-picker .package-type .package-name {
  color: #2f2f2f;
}
.booking-widget-destination-picker .guests-amount-picker .guest-type .guest-description,
.booking-widget-destination-picker .guests-amount-picker .guest-type .package-description,
.booking-widget-destination-picker .guests-amount-picker .package-type .guest-description,
.booking-widget-destination-picker .guests-amount-picker .package-type .package-description,
.booking-widget-destination-picker .package-amount-picker .guest-type .guest-description,
.booking-widget-destination-picker .package-amount-picker .guest-type .package-description,
.booking-widget-destination-picker .package-amount-picker .package-type .guest-description,
.booking-widget-destination-picker .package-amount-picker .package-type .package-description,
.booking-widget-person-picker .guests-amount-picker .guest-type .guest-description,
.booking-widget-person-picker .guests-amount-picker .guest-type .package-description,
.booking-widget-person-picker .guests-amount-picker .package-type .guest-description,
.booking-widget-person-picker .guests-amount-picker .package-type .package-description,
.booking-widget-person-picker .package-amount-picker .guest-type .guest-description,
.booking-widget-person-picker .package-amount-picker .guest-type .package-description,
.booking-widget-person-picker .package-amount-picker .package-type .guest-description,
.booking-widget-person-picker .package-amount-picker .package-type .package-description,
.booking-widget-date-picker .guests-amount-picker .guest-type .guest-description,
.booking-widget-date-picker .guests-amount-picker .guest-type .package-description,
.booking-widget-date-picker .guests-amount-picker .package-type .guest-description,
.booking-widget-date-picker .guests-amount-picker .package-type .package-description,
.booking-widget-date-picker .package-amount-picker .guest-type .guest-description,
.booking-widget-date-picker .package-amount-picker .guest-type .package-description,
.booking-widget-date-picker .package-amount-picker .package-type .guest-description,
.booking-widget-date-picker .package-amount-picker .package-type .package-description,
.custom-dropdown .guests-amount-picker .guest-type .guest-description,
.custom-dropdown .guests-amount-picker .guest-type .package-description,
.custom-dropdown .guests-amount-picker .package-type .guest-description,
.custom-dropdown .guests-amount-picker .package-type .package-description,
.custom-dropdown .package-amount-picker .guest-type .guest-description,
.custom-dropdown .package-amount-picker .guest-type .package-description,
.custom-dropdown .package-amount-picker .package-type .guest-description,
.custom-dropdown .package-amount-picker .package-type .package-description {
  color: #8a8a8a;
}
.booking-widget-destination-picker .guests-amount-picker .plus-min-guest-wrapper,
.booking-widget-destination-picker .package-amount-picker .plus-min-guest-wrapper,
.booking-widget-person-picker .guests-amount-picker .plus-min-guest-wrapper,
.booking-widget-person-picker .package-amount-picker .plus-min-guest-wrapper,
.booking-widget-date-picker .guests-amount-picker .plus-min-guest-wrapper,
.booking-widget-date-picker .package-amount-picker .plus-min-guest-wrapper,
.custom-dropdown .guests-amount-picker .plus-min-guest-wrapper,
.custom-dropdown .package-amount-picker .plus-min-guest-wrapper {
  display: flex;
  align-items: center;
}
.booking-widget-destination-picker .guests-amount-picker .plus-min-guest-wrapper .guest-amount,
.booking-widget-destination-picker .package-amount-picker .plus-min-guest-wrapper .guest-amount,
.booking-widget-person-picker .guests-amount-picker .plus-min-guest-wrapper .guest-amount,
.booking-widget-person-picker .package-amount-picker .plus-min-guest-wrapper .guest-amount,
.booking-widget-date-picker .guests-amount-picker .plus-min-guest-wrapper .guest-amount,
.booking-widget-date-picker .package-amount-picker .plus-min-guest-wrapper .guest-amount,
.custom-dropdown .guests-amount-picker .plus-min-guest-wrapper .guest-amount,
.custom-dropdown .package-amount-picker .plus-min-guest-wrapper .guest-amount {
  width: 2.5rem;
  text-align: center;
}
.booking-widget-destination-picker .guests-amount-picker .plus-min-guest-wrapper .plus-min-guest,
.booking-widget-destination-picker .package-amount-picker .plus-min-guest-wrapper .plus-min-guest,
.booking-widget-person-picker .guests-amount-picker .plus-min-guest-wrapper .plus-min-guest,
.booking-widget-person-picker .package-amount-picker .plus-min-guest-wrapper .plus-min-guest,
.booking-widget-date-picker .guests-amount-picker .plus-min-guest-wrapper .plus-min-guest,
.booking-widget-date-picker .package-amount-picker .plus-min-guest-wrapper .plus-min-guest,
.custom-dropdown .guests-amount-picker .plus-min-guest-wrapper .plus-min-guest,
.custom-dropdown .package-amount-picker .plus-min-guest-wrapper .plus-min-guest {
  display: flex;
  padding: 0.5rem;
  border-radius: 2.5rem;
  border: 2px solid #f2f2f2;
  background: rgba(255, 255, 255, 0.1);
  /* Shadow_Low */
  box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.2);
}
.booking-widget-destination-picker .guests-amount-picker .plus-min-guest-wrapper button:disabled,
.booking-widget-destination-picker .package-amount-picker .plus-min-guest-wrapper button:disabled,
.booking-widget-person-picker .guests-amount-picker .plus-min-guest-wrapper button:disabled,
.booking-widget-person-picker .package-amount-picker .plus-min-guest-wrapper button:disabled,
.booking-widget-date-picker .guests-amount-picker .plus-min-guest-wrapper button:disabled,
.booking-widget-date-picker .package-amount-picker .plus-min-guest-wrapper button:disabled,
.custom-dropdown .guests-amount-picker .plus-min-guest-wrapper button:disabled,
.custom-dropdown .package-amount-picker .plus-min-guest-wrapper button:disabled {
  cursor: not-allowed;
}
.booking-widget-destination-picker .guests-amount-picker .plus-min-guest-wrapper button:disabled svg path,
.booking-widget-destination-picker .package-amount-picker .plus-min-guest-wrapper button:disabled svg path,
.booking-widget-person-picker .guests-amount-picker .plus-min-guest-wrapper button:disabled svg path,
.booking-widget-person-picker .package-amount-picker .plus-min-guest-wrapper button:disabled svg path,
.booking-widget-date-picker .guests-amount-picker .plus-min-guest-wrapper button:disabled svg path,
.booking-widget-date-picker .package-amount-picker .plus-min-guest-wrapper button:disabled svg path,
.custom-dropdown .guests-amount-picker .plus-min-guest-wrapper button:disabled svg path,
.custom-dropdown .package-amount-picker .plus-min-guest-wrapper button:disabled svg path {
  box-shadow: none;
  fill: #f2f2f2;
}

.clearDates {
  display: flex;
  padding: 0.75rem 0rem;
  align-items: center;
  align-self: stretch;
}

.zoek_boek_extra_buttons p {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
}

.searchListError {
  display: flex;
  gap: 1rem;
  align-self: stretch;
}
.searchListError .searchErrorWrap {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: baseline;
}

.reviews {
  padding: 0 0.9375rem;
  gap: 1.5rem;
}
.reviews .review-summary .review-rating {
  gap: 0.5rem;
}
.reviews .review-summary .review-rating .review-rating-number {
  text-align: center;
  width: 2.625rem;
  height: 2.625rem;
  padding: 0.5rem;
  border-radius: 1.875rem;
  background: #e4a006;
  color: #fff;
  line-height: 160%;
}
.reviews .review-summary .review-rating .review-rating-stars {
  height: 2.625rem;
}
.reviews .review-summary .review-totals {
  color: #2f2f2f;
  font-size: 1.25rem;
  line-height: 130%; /* 1.625rem */
}
.reviews .review-cards {
  gap: 1.5rem;
}
.reviews .review-cards .review-card .review-card-body {
  gap: 0.25rem;
}
.reviews .review-cards .review-card .review-card-body .review-card-name {
  font-weight: 700;
  line-height: normal;
}
.reviews .review-cards .review-card .review-card-body .review-card-rating {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.reviews .review-cards .review-card .review-card-body .review-card-rating .review-card-number {
  color: #e4a006;
  font-weight: 700;
  line-height: normal;
}
.reviews .review-cards .review-card .review-card-body .review-card-date {
  color: #8a8a8a;
  font-size: 0.875rem;
  font-style: normal;
  line-height: 140%;
}
.reviews .review-cards .review-card .review-card-body .review-card-text {
  line-height: 140%;
}
.reviews .review-cards .review-card .review-card-body .review-card-camping .review-card-camping-name {
  color: #8a8a8a;
  font-size: 0.875rem;
  line-height: 140%;
}

#reviews-read-more-popup .review-cards {
  gap: unset;
}

.camping-faq-wrapper {
  gap: 1rem;
}
.camping-faq-wrapper .accordion {
  gap: 1.5rem;
}
.camping-faq-wrapper .accordion .accordion-item .accordion-header .accordion-button:after {
  border-radius: 2.5rem;
  border: 2px solid var(--Tinten-Light-Grey, #F2F2F2);
  background-color: rgba(255, 255, 255, 0.5);
  background-position: center;
  padding: 1.5rem;
  /* Shadow_Low */
  box-shadow: 0 0 20px 0 rgba(70, 70, 70, 0.2);
}

.camping-favorite .favorite-header .alt-span {
  font-weight: 500;
}
.camping-favorite .favorite-header .alt-span span {
  font-size: 2rem;
}
.camping-favorite .favorite-footer .favorite-name {
  gap: 0.5rem;
  font-size: 1.25rem;
}
.camping-favorite .favorite-footer .favorite-name span {
  font-weight: 700;
}

.customer-service-block {
  padding: 5rem 2rem 1rem 2rem;
  flex-direction: column;
  gap: 1rem;
  background: linear-gradient(90deg, #d98c2f 0%, #eca827 100%);
  color: #fff;
}
@media (min-width: 768px) {
  .customer-service-block {
    padding: 4.5rem 6.5rem 2.5rem 6.5rem;
  }
}
.customer-service-block .customer-service-employee {
  gap: 0.5rem;
  font-size: 1.25rem;
}
.customer-service-block .customer-service-employee .customer-service-name {
  font-weight: 700;
}
.customer-service-block .customer-service-buttons {
  gap: 1rem;
}

.camping-booking-widget {
  display: flex;
  padding: 2rem 1rem;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
}
.camping-booking-widget.widget-homepage {
  padding: 1rem;
  gap: 0.5rem;
}
@media (min-width: 992px) {
  .camping-booking-widget.widget-homepage {
    padding: 2.5rem;
  }
}
.camping-booking-widget.widget-homepage .camping-booking-widget-homepage .booking-widget-summary {
  margin: unset;
}
.camping-booking-widget.widget-homepage .camping-booking-widget-homepage .dropdown-menu {
  min-width: 270px;
}
@media (max-width: 991.98px) {
  .camping-booking-widget.widget-homepage .camping-booking-widget-homepage .btn {
    padding: 1rem;
    font-size: 0.875rem;
  }
}
.camping-booking-widget .booking-widget-date-range {
  display: flex;
  gap: 0.5rem;
}
.camping-booking-widget .booking-widget-summary {
  margin: 0 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.camping-booking-widget .booking-widget-summary .booking-widget-cancallation .btn-group {
  gap: 1rem;
}
.camping-booking-widget .booking-widget-summary .booking-widget-cancallation .btn-group .btn-check + .btn {
  border-width: 2px;
  border-style: solid;
  border-color: #c0c0c0;
}
.camping-booking-widget .booking-widget-summary .booking-widget-cancallation .btn-group .btn-check:checked + .btn, .camping-booking-widget .booking-widget-summary .booking-widget-cancallation .btn-group .btn-check:focus + .btn {
  border-color: #41a8d7;
  background: #eaf6fc;
}
.camping-booking-widget .booking-widget-summary .booking-widget-cancallation .btn-group label.cancallation-package {
  display: flex;
  flex-direction: column;
  padding: 0.625rem 1rem;
  gap: 0;
  justify-content: space-between;
}
.camping-booking-widget .booking-widget-summary .booking-widget-summary-date {
  display: flex;
}
.camping-booking-widget .booking-widget-summary .booking-widget-summary-date .booking-widget-summary-data {
  color: #8a8a8a;
  display: flex;
  gap: 0.5rem;
}
.camping-booking-widget .booking-widget-summary .booking-widget-date-summary-price {
  font-size: 1.5rem;
  color: #2f2f2f;
}
.camping-booking-widget .booking-widget-summary .booking-widget-date-summary-price .discount-price {
  font-size: 1rem;
  font-weight: 500;
  text-decoration: line-through !important;
  color: #d83350;
  line-height: normal;
}
.camping-booking-widget .booking-widget-price-text {
  color: #8a8a8a;
  font-size: 0.875rem;
}

.gradient-border {
  position: relative;
  padding: 5px; /* Adjust padding to border width */
  background: linear-gradient(to right, #f06, #4a90e2);
  border-radius: 10px; /* Optional */
}

.gradient-border::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: white; /* Background color of the element */
  border-radius: 10px; /* Match the border radius */
  margin: 5px; /* Should match the padding set above */
}

.mobile-booking-widget .warning-text-message {
  color: #eb872b;
}
.mobile-booking-widget .mobile-availability-header .mobile-availability-button {
  background: linear-gradient(90deg, #41a8d7 0%, #2b86b2 100%);
  color: #fff;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
}
.mobile-booking-widget .mobile-summary {
  background: #fff;
  display: flex;
  padding: 0.75rem;
  justify-content: space-between;
  align-items: center;
}
.mobile-booking-widget .mobile-summary .mobile-summary-left .mobile-summary-price .booking-widget-summary {
  margin: 0 0.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  align-self: stretch;
}
.mobile-booking-widget .mobile-summary .mobile-summary-left .mobile-summary-price .booking-widget-summary .booking-widget-cancallation .btn-group {
  gap: 1rem;
}
.mobile-booking-widget .mobile-summary .mobile-summary-left .mobile-summary-price .booking-widget-summary .booking-widget-cancallation .btn-group .btn-check + .btn {
  border-width: 2px;
  border-style: solid;
  border-color: #c0c0c0;
}
.mobile-booking-widget .mobile-summary .mobile-summary-left .mobile-summary-price .booking-widget-summary .booking-widget-cancallation .btn-group .btn-check:checked + .btn, .mobile-booking-widget .mobile-summary .mobile-summary-left .mobile-summary-price .booking-widget-summary .booking-widget-cancallation .btn-group .btn-check:focus + .btn {
  border-color: #41a8d7;
  background: #eaf6fc;
}
.mobile-booking-widget .mobile-summary .mobile-summary-left .mobile-summary-price .booking-widget-summary .booking-widget-cancallation .btn-group label.cancallation-package {
  display: flex;
  flex-direction: column;
  padding: 0.625rem 1rem;
  gap: 0;
  justify-content: space-between;
}
.mobile-booking-widget .mobile-summary .mobile-summary-left .mobile-summary-price .booking-widget-summary .booking-widget-summary-date {
  display: flex;
  justify-content: space-between;
  align-self: stretch;
}
.mobile-booking-widget .mobile-summary .mobile-summary-left .mobile-summary-price .booking-widget-summary .booking-widget-summary-date .booking-widget-summary-data {
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  color: #8a8a8a;
  display: flex;
  gap: 0.5rem;
}
.mobile-booking-widget .mobile-summary .mobile-summary-left .mobile-summary-price .booking-widget-summary .booking-widget-date-summary-price {
  font-size: 1.5rem;
  color: #2f2f2f;
}
.mobile-booking-widget .mobile-summary .mobile-summary-left .mobile-summary-price .booking-widget-summary .booking-widget-date-summary-price .discount-price {
  font-size: 1rem;
  font-weight: 500;
  text-decoration: line-through !important;
  color: #d83350;
  line-height: normal;
}
.mobile-booking-widget .mobile-summary .mobile-summary-left .mobile-summary-price .booking-widget-price-text {
  color: #8a8a8a;
  font-size: 0.875rem;
}
.mobile-booking-widget .mobile-summary .mobile-summary-left .mobile-summary-data {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  color: #8a8a8a;
}
.mobile-booking-widget .mobile-summary .mobile-summary-left .mobile-summary-data .mobile-summary-date {
  color: #2f2f2f;
}
.mobile-booking-widget .mobile-checkout-summary-container {
  padding: 1.5rem;
  overflow-y: scroll;
}
.mobile-booking-widget .mobile-checkout-summary-container .alert.alert-warning {
  display: none;
}
.mobile-booking-widget .mobile-checkout-summary-container .checkout-summary {
  gap: 0.5rem;
  padding: 0;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.mobile-booking-widget .mobile-checkout-summary-container .checkout-summary .checkout-accommodation .checkout-accommodation-title {
  font-size: 1rem;
}
.mobile-booking-widget .mobile-checkout-summary-container .checkout-summary .checkout-accommodation-booking,
.mobile-booking-widget .mobile-checkout-summary-container .checkout-summary .checkout-accommodation-booking-updates {
  gap: 0;
}

.checkout-page {
  margin-bottom: 100px;
}
.checkout-page .checkout-wrapper {
  display: flex;
  gap: 1rem;
  flex-direction: column;
}
@media (max-width: 991.98px) {
  .checkout-page .checkout-wrapper {
    gap: 0.5rem;
  }
}
.checkout-page .steps {
  position: relative;
  display: flex;
  background-position: center;
  flex-direction: row;
  justify-content: space-between;
  height: 5rem;
}
.checkout-page .steps .step {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
}
@media (max-width: 991.98px) {
  .checkout-page .steps .step.active .btn {
    width: auto;
  }
}
.checkout-page .steps .step .btn {
  width: 2.25rem;
  height: 2.25rem;
  font-weight: 400;
  line-height: 140%;
}
.checkout-page .steps .step .btn svg {
  transition: none !important;
  transform: none !important;
}
.checkout-page .steps .step .btn.disabled, .checkout-page .steps .step .btn:disabled {
  opacity: 1;
  color: #fff;
}
.checkout-page .steps .step span {
  font-size: 0.875rem;
  margin-top: 0.5rem;
}
.checkout-page .steps .step .last-step {
  pointer-events: none;
}
.checkout-page .steps::before {
  content: "";
  position: absolute;
  top: 29%;
  left: 10%;
  right: 5%;
  height: 0.25rem;
  background-color: #f3eee9;
  z-index: 1;
}
@media (max-width: 991.98px) {
  .checkout-page .steps::before {
    top: 50%;
    right: 2%;
    left: 2%;
  }
}
.checkout-page .steps:after {
  background-color: #e7a129;
  content: "";
  height: 0.25rem;
  left: 10%;
  position: absolute;
  width: 0%;
  top: 29%;
  z-index: 1;
  transition: all 350ms ease-in-out;
}
@media (max-width: 991.98px) {
  .checkout-page .steps:after {
    top: 50%;
    right: 2%;
    left: 2%;
  }
}
.checkout-page .steps.checkout-step-2:after {
  animation: grow-width-0-25 350ms ease-in-out forwards;
}
@keyframes grow-width-0-25 {
  0% {
    width: 0%;
  }
  100% {
    width: 25%;
  }
}
.checkout-page .steps.checkout-step-3:after {
  animation: grow-width-25-55 350ms ease-in-out forwards;
}
@keyframes grow-width-25-55 {
  0% {
    width: 25%;
  }
  100% {
    width: 55%;
  }
}
.checkout-page .steps.checkout-step-4:after {
  animation: grow-width-55-85 350ms ease-in-out forwards;
}
@keyframes grow-width-55-85 {
  0% {
    width: 55%;
  }
  100% {
    width: 85%;
  }
}
.checkout-page .checkout-left-side {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}
.checkout-page .checkout-left-side .trash-hover {
  transition: transform 0.2s ease; /* Smooth transition for the scale effect */
}
.checkout-page .checkout-left-side .trash-hover:hover {
  cursor: pointer; /* Change cursor to pointer on hover */
  transform: scale(1.2); /* Slightly enlarge the SVG on hover */
}
.checkout-page .checkout-summary {
  display: flex;
  padding: 1.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}
.checkout-page .checkout-summary .checkout-accommodation {
  display: flex;
  align-items: center;
  gap: 1rem;
  align-self: stretch;
}
.checkout-page .checkout-summary .checkout-accommodation .checkout-accommodation-details .checkout-accommodation-review {
  color: #e4a006;
  font-weight: 700;
}
.checkout-page .checkout-summary .checkout-accommodation .checkout-accommodation-details .checkout-accommodation-title {
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
}
.checkout-page .checkout-summary .checkout-accommodation-booking {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  align-self: stretch;
}
.checkout-page .checkout-summary .checkout-accommodation-booking .checkout-accommodation-booking-place,
.checkout-page .checkout-summary .checkout-accommodation-booking .checkout-accommodation-booking-date,
.checkout-page .checkout-summary .checkout-accommodation-booking .checkout-accommodation-booking-persons {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  align-self: stretch;
}
.checkout-page .checkout-summary .checkout-accommodation-booking .checkout-accommodation-booking-total-rent {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  align-self: stretch;
  justify-content: space-between;
}
.checkout-page .checkout-summary .checkout-accommodation-booking .checkout-accommodation-booking-total-rent .checkout-accommodation-booking-total-rent-price s {
  font-size: 0.85rem;
  font-weight: 400;
  color: #d83350;
  line-height: normal;
}
.checkout-page .checkout-summary .checkout-accommodation-booking-divider {
  height: 0.125rem;
  background: #f2f2f2;
}
.checkout-page .checkout-summary .checkout-accommodation-booking-updates {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  align-self: stretch;
}
.checkout-page .checkout-summary .checkout-accommodation-booking-updates .checkout-accommodation-booking-update {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  align-self: stretch;
  justify-content: space-between;
}
.checkout-page .checkout-summary .checkout-accommodation-booking-total {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  align-self: stretch;
  justify-content: space-between;
}
.checkout-page .checkout-summary .checkout-accommodation-booking-total .checkout-accommodation-booking-total {
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: 130%; /* 1.625rem */
}
.checkout-page .checkout-summary .checkout-accommodation-booking-total .checkout-accommodation-booking-total-price {
  font-size: 1.75rem;
  font-style: normal;
  font-weight: 700;
  line-height: 130%; /* 2.275rem */
}
.checkout-page .checkout-summary .checkout-accommodation-booking-invoice-extras {
  background: #f3eee9;
  display: flex;
  padding: 0.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  align-self: stretch;
  border-radius: 0.5rem;
}
.checkout-page .mobile-summary {
  background: #fff;
  display: flex;
  padding: 1.5rem;
  justify-content: space-between;
  align-items: center;
}
.checkout-page .mobile-summary .mobile-summary-left .mobile-summary-price {
  font-size: 1.375rem;
  font-weight: 700;
}
.checkout-page .mobile-summary .mobile-summary-left .mobile-summary-price s {
  font-size: 1rem;
  font-weight: 400;
  color: #d83350;
  line-height: normal;
}
.checkout-page .mobile-summary .mobile-summary-left .mobile-summary-data {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  color: #8a8a8a;
}
.checkout-page .mobile-checkout-summary-container {
  padding: 1.5rem;
  overflow-y: scroll;
}
.checkout-page .mobile-checkout-summary-container .alert.alert-warning {
  display: none;
}
.checkout-page .mobile-checkout-summary-container .checkout-summary {
  gap: 0.5rem;
  padding: 0;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.checkout-page .mobile-checkout-summary-container .checkout-summary .checkout-accommodation .checkout-accommodation-title {
  font-size: 1rem;
}
.checkout-page .mobile-checkout-summary-container .checkout-summary .checkout-accommodation-booking,
.checkout-page .mobile-checkout-summary-container .checkout-summary .checkout-accommodation-booking-updates {
  gap: 0;
}
.checkout-page .checkout-confirm-summary {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.checkout-page .checkout-confirm-summary .checkout-customer-data-name {
  width: 10rem;
}
.checkout-page .payment-types {
  padding: 1rem;
  border-radius: 0.5rem;
  font-size: 1.25rem;
  background-color: #eaf6fc;
  display: flex;
  flex-direction: column;
}
.checkout-page .payment-types label {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.checkout-page .payment-types label:hover {
  cursor: pointer;
}
.checkout-page .payment-types hr {
  border-width: 0.125rem;
  border-color: #c0c0c0;
}
.checkout-page .payment-types .payment-scheme {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 1rem;
}
.checkout-page .payment-types .payment-scheme div {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.checkout-error-text {
  color: #e23838;
}

.checkout-data-form form #firstName,
.checkout-data-form form #lastName,
.checkout-data-form form #birthday,
.checkout-data-form form #address,
.checkout-data-form form #emailAddress,
.checkout-data-form form #phone {
  scroll-margin-top: 6rem;
}

.content-spacer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}

.custom-padding {
  padding-top: 3.25rem;
  padding-bottom: 3.25rem;
}

.page-template .row {
  margin-bottom: 3rem;
}

.custom-row-gap {
  gap: 3rem;
}
@media (min-width: 992px) {
  .custom-row-gap {
    gap: 6rem;
  }
}

.large-spacer {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media (min-width: 992px) {
  .large-spacer {
    gap: 6rem;
  }
}

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

.tips .tip_number {
  font-family: effra, sans-serif;
  font-size: 4.875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 6.825rem */
}

.imageText .imageTwo {
  height: 300px;
}
.imageText .imageTwo img {
  width: 60%;
}
@media (min-width: 576px) {
  .imageText .imageTwo {
    height: 300px;
  }
}
@media (min-width: 768px) {
  .imageText .imageTwo {
    height: 480px;
  }
}
@media (min-width: 992px) {
  .imageText .imageTwo {
    height: 250px;
  }
}
@media (min-width: 1200px) {
  .imageText .imageTwo {
    height: 310px;
  }
}
@media (min-width: 1400px) {
  .imageText .imageTwo {
    height: 350px;
  }
}

.imageGallery {
  /* Ensure that the outer container doesn't clip the shadow */
}
.imageGallery .slick-list {
  overflow: visible !important; /* Allow shadows to flow outside the slider */
}
.imageGallery .slick-track {
  overflow: visible !important; /* Ensure that the track doesn't clip the shadow */
}
.imageGallery .slick-slide {
  height: 325px; /* Or 20rem */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; /* Hide overflow for images larger than the container */
  margin-right: 1.6875rem;
  box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.2);
  border-radius: 1rem;
  transition: opacity 250ms ease-in-out;
  opacity: 1;
}
.imageGallery .slick-slide img {
  height: 100%;
  width: auto; /* Maintain aspect ratio */
  object-fit: cover; /* Ensures the image fills the area while keeping its aspect ratio */
  object-position: center; /* Center the image */
}
.imageGallery .slick-slide:not(.slick-active) {
  opacity: 0;
}
.imageGallery .slick-dots {
  display: none;
}

.imageImpression {
  /* Ensure that the outer container doesn't clip the shadow */
}
.imageImpression .slick-list {
  overflow: visible !important; /* Allow shadows to flow outside the slider */
}
.imageImpression .slick-track {
  overflow: visible !important; /* Ensure that the track doesn't clip the shadow */
}
.imageImpression .slick-slide {
  height: 18.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; /* Hide overflow for images larger than the container */
  margin-right: 1.6875rem;
  box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.2);
  border-radius: 1rem;
  transition: opacity 250ms ease-in-out;
  opacity: 1;
}
.imageImpression .slick-slide img {
  height: 100%;
  width: auto; /* Maintain aspect ratio */
  object-fit: cover; /* Ensures the image fills the area while keeping its aspect ratio */
  object-position: center; /* Center the image */
}
.imageImpression .slick-slide:not(.slick-active) {
  opacity: 0;
}
.imageImpression .slick-dots {
  display: none;
}

.blog_author {
  gap: 1rem;
}
.blog_author .author_image img {
  width: 4.75rem;
}
.blog_author .author_writtenby_title {
  color: #8a8a8a;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 1.225rem */
}
.blog_author .author_writtenby {
  gap: 0.5rem;
}

.usps-list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.25rem;
}
@media (min-width: 768px) {
  .usps-list {
    flex-direction: row;
    gap: 1.5rem;
  }
}
@media (min-width: 992px) {
  .usps-list {
    flex-direction: row;
    gap: 1.5rem;
  }
}
.usps-list .usp {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.blog-overview .blog-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6rem;
}
@media (max-width: 991.98px) {
  .blog-overview .blog-wrapper {
    gap: 3.75rem;
  }
}
.blog-overview .blog-wrapper .blog-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.blog-overview .blog-wrapper .blog-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.5rem;
}
.blog-overview .blog-wrapper .blog-list .blog-page-grid .blog-item {
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 1;
  transform: scale(1);
}
.blog-overview .blog-wrapper .blog-list .blog-page-grid .blog-item.hidden {
  opacity: 0;
  transform: scale(0.95);
  pointer-events: none; /* Prevent interaction with hidden items */
}

.destination-item .btn {
  background: #fff;
  font-weight: 400;
}

@media (max-width: 767.98px) {
  .button_list_grid .destination-item .btn {
    border: 0;
    padding-left: 0 !important;
    font-size: 1.125rem;
  }
  .button_list_grid .destination-item:nth-child(even) .btn {
    padding-left: 1rem !important;
  }
}
/* Mobile 2-column buttons divider */
.buttons-grid-mobile-divider {
  position: relative;
}
.buttons-grid-mobile-divider::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.08); /* subtle divider */
  pointer-events: none;
}
@media (min-width: 768px) {
  .buttons-grid-mobile-divider::before {
    display: none;
  }
}

.hero_image {
  height: 12.0625rem;
}
@media (min-width: 576px) {
  .hero_image {
    height: 15.0625rem;
  }
}
@media (min-width: 768px) {
  .hero_image {
    height: 18.0625rem;
  }
}
@media (min-width: 992px) {
  .hero_image {
    height: 21.25rem;
  }
}

.homepage_hero_image #villatent_search_home_widget {
  margin-top: -0.75rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .homepage_hero_image {
    margin-bottom: 2.5rem;
  }
  .homepage_hero_image #villatent_search_home_widget {
    margin-top: -10.75rem;
  }
}
@media (min-width: 1200px) {
  .homepage_hero_image {
    height: 30rem;
    margin-bottom: 6.55rem;
  }
  .homepage_hero_image #villatent_search_home_widget {
    margin-top: 23rem;
  }
  .homepage_hero_image .homepage_hero_image_wrapper,
  .homepage_hero_image .homepage_hero_widget_wrapper {
    position: absolute;
  }
}
@media (min-width: 1200px) {
  .homepage_hero_image {
    height: 34.3125rem;
  }
}

.imageMapText .show-on-map .big-map {
  background-color: #f3eee9;
  height: 10rem;
}
@media (min-width: 576px) {
  .imageMapText .show-on-map .big-map {
    height: 15rem;
  }
}
@media (min-width: 768px) {
  .imageMapText .show-on-map .big-map {
    height: 20rem;
  }
}
@media (min-width: 992px) {
  .imageMapText .show-on-map .big-map {
    height: unset;
  }
}

.campingSlider,
.blogSlider {
  /* Ensure that the outer container doesn't clip the shadow */
}
.campingSlider .slick-list,
.blogSlider .slick-list {
  overflow: visible !important; /* Allow shadows to flow outside the slider */
}
.campingSlider .slick-track,
.blogSlider .slick-track {
  overflow: visible !important; /* Ensure that the track doesn't clip the shadow */
}
.campingSlider .slick-slide,
.blogSlider .slick-slide {
  box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.2);
  border-radius: 1rem;
  transition: opacity 250ms ease-in-out;
  opacity: 1;
}
@media (min-width: 768px) {
  .campingSlider .slick-slide,
  .blogSlider .slick-slide {
    margin-right: 1.6875rem;
  }
}
.campingSlider .slick-slide img,
.blogSlider .slick-slide img {
  width: auto; /* Maintain aspect ratio */
  object-fit: cover; /* Ensures the image fills the area while keeping its aspect ratio */
  object-position: center; /* Center the image */
}
.campingSlider .slick-slide:not(.slick-active),
.blogSlider .slick-slide:not(.slick-active) {
  opacity: 0;
}
.campingSlider .slick-slide .card.portrait.camping_card .card-body .card-title,
.blogSlider .slick-slide .card.portrait.camping_card .card-body .card-title {
  display: -webkit-box;
}
.campingSlider .slick-dots,
.blogSlider .slick-dots {
  display: none;
}

.camping-gallery_main-image {
  height: 26.5rem;
  transition: box-shadow 125ms ease-in-out;
}
.camping-gallery_main-image:hover {
  box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.2);
}
.camping-gallery_main-image img {
  width: 100%;
  height: 100%;
}
.camping-gallery_thumbnail-grid .image-holder {
  height: 13rem;
  width: 100%;
  transition: box-shadow 125ms ease-in-out;
}
.camping-gallery_thumbnail-grid .image-holder:hover {
  box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.2);
}
.camping-gallery_thumbnail-grid .image-holder img {
  width: 100%;
  height: 100%;
}
.camping-gallery_thumbnail-grid .image-top-left {
  border-bottom-left-radius: 1rem;
}
.camping-gallery_thumbnail-grid .image-top-left img {
  border-bottom-left-radius: 1rem;
}
.camping-gallery_thumbnail-grid .image-bottom-right {
  border-bottom-right-radius: 1rem;
}
.camping-gallery_thumbnail-grid .image-bottom-right img {
  border-bottom-right-radius: 1rem;
}
.camping-gallery_thumbnail-grid .more-images-overlay {
  height: 100%;
  width: 100%;
  border-bottom-right-radius: 1rem;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 25%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 75%);
}
.camping-gallery_thumbnail-grid .more-images {
  color: #fff;
  padding: 1rem 1.5rem;
  border-radius: 2.5rem;
  border: 2px solid #fff;
  background: rgba(255, 255, 255, 0.1);
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 1.4rem */
  white-space: nowrap;
}

.overview-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.overview-card .overview-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-self: stretch;
}
@media (min-width: 992px) {
  .overview-card .overview-content {
    gap: 1rem;
  }
}
@media (max-width: 767.98px) {
  .overview-card .overview-content .overview-text {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
@media (min-width: 992px) {
  .overview-card .overview-content .overview-text {
    min-height: 115px;
  }
}
@media (min-width: 1200px) {
  .overview-card .overview-content .overview-text {
    min-height: 135px;
  }
}
.overview-card .overview-content .overview-text p {
  margin-bottom: 0;
}

.hightlightGallery {
  /* Ensure that the outer container doesn't clip the shadow */
}
.hightlightGallery .slick-list {
  overflow: visible !important; /* Allow shadows to flow outside the slider */
}
.hightlightGallery .slick-track {
  overflow: visible !important; /* Ensure that the track doesn't clip the shadow */
}
.hightlightGallery .slick-slide {
  height: 20.5rem; /* Or 20rem */
  justify-content: center;
  align-items: center;
  overflow: hidden; /* Hide overflow for images larger than the container */
  margin-right: 1.6875rem;
  box-shadow: 0px 8px 20px 0px rgba(70, 70, 70, 0.2);
  border-radius: 1rem;
  transition: opacity 250ms ease-in-out;
  opacity: 1;
}
.hightlightGallery .slick-slide div:first-child {
  height: 100% !important;
}
.hightlightGallery .slick-slide img {
  height: 100%;
  width: auto; /* Maintain aspect ratio */
  object-fit: cover; /* Ensures the image fills the area while keeping its aspect ratio */
  object-position: center; /* Center the image */
}
.hightlightGallery .slick-slide:not(.slick-active) {
  opacity: 0;
}
.hightlightGallery .slick-slide:last-child {
  margin-right: 0;
}
.hightlightGallery .slick-dots {
  display: none;
}
.hightlightGallery .slider-custom-overlay {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
}

.contact_block {
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  position: relative;
}
@media (min-width: 992px) {
  .contact_block {
    gap: 0.25rem;
    flex-direction: column;
  }
  .contact_block button {
    position: absolute;
    top: 0 !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
  }
}
.contact_block .contact_block_content {
  background: #f3eee9;
  display: flex;
  padding: 1rem 1rem 1rem 3rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  flex: 1 0 0;
}
@media (max-width: 991.98px) {
  .contact_block .contact_block_content {
    margin-left: -1.625rem;
  }
}
@media (min-width: 992px) {
  .contact_block .contact_block_content {
    padding: 2.5rem 1rem 1.5rem 1rem;
  }
}
.contact_block .contact_block_content p,
.contact_block .contact_block_content h6,
.contact_block .contact_block_content .h6 {
  margin-bottom: 0;
}

.pagination .page-item a {
  padding: 0.75rem 1.25rem;
}
.pagination .page-item a:hover {
  text-decoration: underline;
}
.pagination .page-item .btn-primary.btn-circle {
  border: 2px solid #d98c2f;
}

.promotionContent h1, .promotionContent .h1,
.promotionContent h2,
.promotionContent .h2,
.promotionContent h3,
.promotionContent .h3,
.promotionContent h4,
.promotionContent .h4,
.promotionContent h5,
.promotionContent .h5,
.promotionContent h6,
.promotionContent .h6,
.promotionContent p {
  margin-bottom: 0;
}

.page-template-error {
  height: 1060px;
  background-position: bottom;
}
@media (min-width: 992px) {
  .page-template-error {
    height: 1170px;
  }
}
.page-template-error .page-not-found-content {
  display: flex;
  padding: 2.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  border-radius: 1rem;
  background: #fff;
}
.page-template-error .error_number {
  font-size: 10.5rem;
  font-weight: 700;
  color: #fff;
}
@media (min-width: 992px) {
  .page-template-error .error_number {
    font-size: 19.5rem;
  }
}

.search_page {
  min-height: 50vh;
}
@media (max-width: 991.98px) {
  .search_page .homepage_hero_image {
    margin-bottom: 2.5rem;
    height: 15rem;
  }
}
@media (min-width: 992px) {
  .search_page .homepage_hero_image {
    height: 23.3125rem;
    margin-bottom: 6.55rem;
  }
}
@media (min-width: 1200px) {
  .search_page .homepage_hero_image {
    height: 23.3125rem;
  }
}
.search_page .search_wrapper {
  margin-top: -5rem;
}
.search_page .search_widget {
  display: flex;
  padding: 2.5rem;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  background: #fff;
}
.search_page .search_widget .input-group {
  background: #fff;
  border-radius: 2.5rem;
  padding: 0.5rem;
  border: 1px solid #c7c7c7;
}
.search_page .search_widget .input-group input {
  box-shadow: none;
  border: 0;
}
.search_page .search_widget .input-group #submitSearch {
  border-radius: 2.5rem;
}
.search_page h3, .search_page .h3,
.search_page p {
  margin-bottom: 0;
}
.icon-list {
  padding-left: 0;
  list-style: none;
}
.icon-list li {
  display: flex;
  margin-bottom: 0.25rem;
  gap: 0.5rem;
  align-items: center;
}
.icon-list li::before {
  display: block;
  flex-shrink: 0;
  width: 1.125em;
  height: 1.125em;
  content: "";
  background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2718%27 height=%2718%27 viewBox=%270 0 18 18%27 fill=%27none%27%3E%3Cpath d=%27M16.3469 5.66021L7.34692 14.6602C7.26853 14.7389 7.17539 14.8013 7.07283 14.8439C6.97027 14.8865 6.86031 14.9084 6.74927 14.9084C6.63822 14.9084 6.52826 14.8865 6.4257 14.8439C6.32314 14.8013 6.23 14.7389 6.15161 14.6602L2.21411 10.7227C2.13562 10.6442 2.07337 10.5511 2.03089 10.4485C1.98841 10.346 1.96655 10.2361 1.96655 10.1251C1.96655 10.0141 1.98841 9.90415 2.03089 9.80161C2.07337 9.69906 2.13562 9.60589 2.21411 9.5274C2.2926 9.44892 2.38577 9.38666 2.48832 9.34418C2.59086 9.30171 2.70077 9.27984 2.81177 9.27984C2.92276 9.27984 3.03267 9.30171 3.13522 9.34418C3.23776 9.38666 3.33094 9.44892 3.40942 9.5274L6.74997 12.8679L15.153 4.46631C15.3115 4.3078 15.5265 4.21875 15.7507 4.21875C15.9748 4.21875 16.1898 4.3078 16.3483 4.46631C16.5068 4.62482 16.5959 4.8398 16.5959 5.06396C16.5959 5.28813 16.5068 5.50311 16.3483 5.66162L16.3469 5.66021Z%27 fill=%27url%28%23paint0_linear_839_5283%29%27/%3E%3Cdefs%3E%3ClinearGradient id=%27paint0_linear_839_5283%27 x1=%271.96655%27 y1=%274.21875%27 x2=%2718.1871%27 y2=%277.90331%27 gradientUnits=%27userSpaceOnUse%27%3E%3Cstop stop-color=%27%23D98C2F%27/%3E%3Cstop offset=%271%27 stop-color=%27%23ECA827%27/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E") no-repeat center center/100% auto;
}

@media (max-width: 991.98px) {
  .mobile-zoek-boek-sidebar-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .mobile-filters h5, .mobile-filters .h5 {
    font-size: 1.375rem;
  }
  .mobile-filters .delete-filters {
    color: #8a8a8a !important;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
  }
}
h1.alt, .alt.h1,
h2.alt,
.alt.h2,
h3.alt,
.alt.h3,
h4.alt,
.alt.h4,
h5.alt,
.alt.h5,
h6.alt,
.alt.h6 {
  font-family: questa-grande, serif;
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0.01rem;
}
h1.alt-span span, .alt-span.h1 span,
h2.alt-span span,
.alt-span.h2 span,
h3.alt-span span,
.alt-span.h3 span,
h4.alt-span span,
.alt-span.h4 span,
h5.alt-span span,
.alt-span.h5 span,
h6.alt-span span,
.alt-span.h6 span {
  font-family: questa-grande, serif;
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0.01rem;
}

p {
  line-height: 140%; /* 1.4rem */
}
p.xs {
  font-size: 0.875rem;
}

.breadcrumb .breadcrumb-item {
  font-size: 1rem;
  font-style: normal;
  line-height: 140%; /* 1.575rem */
  color: #8a8a8a;
}
.breadcrumb .breadcrumb-item a {
  color: #b97727;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-13.use[2]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/SearchDatePicker.vue?vue&type=style&index=0&id=5fa805c1&lang=scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.marker-legenda {
  height: 3px;
  width: 10px;
  border-radius: 5px;
  background-color: rgb(213, 233, 255);
}
.dp__tooltip_text {
  font-size: 0.85rem;
  padding: 0.1rem 0.5rem;
}
.dp__tooltip_mark {
  display: none;
}
.dp__marker_line {
  width: 30% !important;
  height: 3px;
  left: unset;
  border-radius: 5px;
  bottom: 2px;
  transition: all 250ms ease-in-out;
}
.dp__date_hover .dp__marker_line {
  background-color: #fff !important;
}
.dp__range_start .dp__marker_line,
.dp__range_end .dp__marker_line {
  background-color: #fff !important;
}
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/SearchRegion.vue?vue&type=style&index=0&id=65d7a559&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

button.booking-widget-destination-picker[data-v-65d7a559]:disabled {
  background-color: lightgrey;
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/SearchSpecialDatePeriods.vue?vue&type=style&index=0&id=12f2e430&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.btn-outline-primary[data-v-12f2e430] {
  position: relative;
  z-index: 1;
  border-radius: 20px;
  font-size: 0.9rem;
  padding: 0.375rem 1rem;
  border: 2px solid;
}
.btn-outline-primary.active[data-v-12f2e430] {
  color: white;
  border: 2px solid #d98c2f;
}
.btn-outline-primary.active[data-v-12f2e430]::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #d98c2f;
  color: white;
}
.btn-outline-primary[data-v-12f2e430]::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;
  opacity: 0.1;
  z-index: -1;
}
.btn-outline-primary[data-v-12f2e430]:hover::before,
.btn-outline-primary.active[data-v-12f2e430]::before {
  opacity: 0.2;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/SearchCardRating.vue?vue&type=style&index=0&id=aa4c6f9c&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.rating-number.rating_number_mobile {
  display: flex;
  padding: 0.25rem;
  justify-content: center;
  align-items: center;
  gap: 0.125rem;
  border-radius: 3rem;
  background: #e4a006;
  color: #fff;
  font-size: 0.75rem !important;
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 1.05rem */
  width: 1.5625rem;
  height: 1.5625rem;
  margin-right: 0 !important;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/SearchCardFacilities.vue?vue&type=style&index=0&id=5faaa096&scoped=true&lang=css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.airco_cls-1[data-v-5faaa096] {
  stroke: #2f2f2f;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6px;
}
.airco_cls-1[data-v-5faaa096],
.airco_cls-2[data-v-5faaa096] {
  fill: #2f2f2f;
}
.airco_cls-2[data-v-5faaa096] {
  fill-rule: evenodd;
}
.heating_cls-1[data-v-5faaa096],
.heating_cls-2[data-v-5faaa096] {
  fill: #2f2f2f;
}
.heating_cls-2[data-v-5faaa096] {
  stroke: #2f2f2f;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/SearchCard.vue?vue&type=style&index=0&id=d070ca96&scoped=true&lang=css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* @media (min-width: 1200px) {
  .card {
    height: 15.5rem;
  }
} */
.card-booking[data-v-d070ca96] {
  min-width: 11rem;
}
.card-seperator[data-v-d070ca96] {
  flex: 0 0 auto;
  display: flex;
  align-items: stretch;
  height: 100%;
  margin: 0 10px;
}
.card-seperator svg[data-v-d070ca96] {
  height: 100%;
}
.card-carousel-img[data-v-d070ca96] {
  height: 100%;
  width: 100%;
}
/* Image container and responsive styles */
.card-carousel-img-container[data-v-d070ca96] {
  height: 100%;
  width: 100%;
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.card-carousel-img img.carousel-cell-image[data-v-d070ca96] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Safari-specific modifications */
@supports (-webkit-touch-callout: none) {
.card-carousel-img img.carousel-cell-image[data-v-d070ca96] {
    /* Safari rendering enhancements */
    transform: translateZ(0);
    backface-visibility: hidden;
}
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/SearchListTopBar.vue?vue&type=style&index=0&id=b43fbebe&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.scroll-margin-top_mobile {
  scroll-margin-top: 90px;
}
.scroll-margin-top_desktop {
  scroll-margin-top: 140px;
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/SearchList.vue?vue&type=style&index=0&id=2f0b4d7a&scoped=true&lang=css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* Container for the full-width SearchCard */
.map-bottom-card[data-v-2f0b4d7a] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  padding: 10px;
  max-height: 35vh;
  overflow-y: auto;
}
.map-list-layout[data-v-2f0b4d7a] {
  position: relative;
}
.card-animation-move[data-v-2f0b4d7a], 
.card-animation-enter-active[data-v-2f0b4d7a],
.card-animation-leave-active[data-v-2f0b4d7a] {
  transition: all 0.75s ease;
}
.card-animation-enter-from[data-v-2f0b4d7a] {
  opacity: 0;
  transform: translateX(45px);
}
.card-animation-leave-to[data-v-2f0b4d7a] {
  opacity: 0;
  display: none;
  transform: translateX(-45px);
}

/* For manual animation trigger on pagination */
.card-animation-apply[data-v-2f0b4d7a] {
  animation: card-slide-in-2f0b4d7a 0.75s ease forwards;
  /* Animation will respect the element's transitionDelay property */
  animation-delay: var(--animation-delay, 0ms);
  opacity: 0; /* Start hidden */
}
@keyframes card-slide-in-2f0b4d7a {
0% {
    opacity: 0;
    transform: translateX(45px);
}
100% {
    opacity: 1;
    transform: translateX(0);
}
}

/* iOS Safari specific optimizations as per memory */
@supports (-webkit-touch-callout: none) {
.card-animation-apply[data-v-2f0b4d7a] {
    transform: translateZ(0);
    backface-visibility: hidden;
}
}

/* Ensure proper spacing between cards */
.card-container[data-v-2f0b4d7a] {
  width: 100%;
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/SearchSideBarMobile.vue?vue&type=style&index=0&id=0675a029&scoped=true&lang=css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* Transitions for the bottom filter button */
.slide-fade-enter-active[data-v-0675a029] {
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform, opacity;
}
.slide-fade-leave-active[data-v-0675a029] {
  transition: all 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  will-change: transform, opacity;
}
.slide-fade-enter-from[data-v-0675a029],
.slide-fade-leave-to[data-v-0675a029] {
  transform: translateY(30px);
  opacity: 0;
}
.slide-fade-enter-to[data-v-0675a029],
.slide-fade-leave-from[data-v-0675a029] {
  transform: translateY(0);
  opacity: 1;
}

/* Fixes for iOS Safari */
@supports (-webkit-touch-callout: none) {
.slide-fade-enter-active[data-v-0675a029],
  .slide-fade-leave-active[data-v-0675a029] {
    /* Use more compatible transitions for iOS Safari */
    transition-property: opacity, transform;
}
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-13.use[2]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/SearchPriceMatrix.vue?vue&type=style&index=0&id=1dbafa55&scoped=true&lang=scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.price-grid-wrapper[data-v-1dbafa55] {
  display: grid;
  grid-row-gap: 1rem;
}
.price-grid-wrapper .price-grid-header[data-v-1dbafa55],
.price-grid-wrapper .price-grid-prices[data-v-1dbafa55] {
  display: grid;
  grid-template-columns: repeat(var(--dynamic-colls), 1fr);
  grid-template-rows: repeat(1, 1fr);
  grid-column-gap: 0.5rem;
}
.price-grid-wrapper .price-grid-header .grid-col[data-v-1dbafa55],
.price-grid-wrapper .price-grid-prices .grid-col[data-v-1dbafa55] {
  text-align: center;
  display: grid;
  align-items: center;
}
.price-grid-wrapper .price-grid-header .grid-col.price[data-v-1dbafa55],
.price-grid-wrapper .price-grid-prices .grid-col.price[data-v-1dbafa55] {
  min-height: 3.75rem;
}
.price-grid-wrapper .price-grid-header .grid-col.price span[data-v-1dbafa55],
.price-grid-wrapper .price-grid-prices .grid-col.price span[data-v-1dbafa55] {
  padding: 0.625rem;
  border-radius: 2.5rem;
  background: #f2f2f2;
}
.price-grid-wrapper .price-grid-header .grid-col.price.has-price span[data-v-1dbafa55],
.price-grid-wrapper .price-grid-prices .grid-col.price.has-price span[data-v-1dbafa55] {
  background: #fff;
  border: 2px solid #fff;
  display: flex;
  flex-direction: column;
  line-height: normal;
  height: 100%;
  justify-content: center;
}
.price-grid-wrapper .price-grid-header .grid-col.price.has-price s[data-v-1dbafa55],
.price-grid-wrapper .price-grid-prices .grid-col.price.has-price s[data-v-1dbafa55] {
  font-size: 0.85rem;
  font-weight: 400;
  color: #d83350;
  line-height: normal;
}
.price-grid-wrapper .price-grid-header .grid-col.price.has-price.price-selected span[data-v-1dbafa55], .price-grid-wrapper .price-grid-header .grid-col.price.has-price:hover span[data-v-1dbafa55],
.price-grid-wrapper .price-grid-prices .grid-col.price.has-price.price-selected span[data-v-1dbafa55],
.price-grid-wrapper .price-grid-prices .grid-col.price.has-price:hover span[data-v-1dbafa55] {
  background: linear-gradient(90deg, #41a8d7 0%, #2b86b2 100%);
  border-color: #2b86b2;
  color: #fff;
  cursor: pointer;
}
.price-grid-wrapper .price-grid-header .grid-col.price.has-price.price-selected span s[data-v-1dbafa55], .price-grid-wrapper .price-grid-header .grid-col.price.has-price:hover span s[data-v-1dbafa55],
.price-grid-wrapper .price-grid-prices .grid-col.price.has-price.price-selected span s[data-v-1dbafa55],
.price-grid-wrapper .price-grid-prices .grid-col.price.has-price:hover span s[data-v-1dbafa55] {
  color: #000000;
}
.price-grid-wrapper .price-grid-header .grid-col.price.has-no-price span[data-v-1dbafa55],
.price-grid-wrapper .price-grid-prices .grid-col.price.has-no-price span[data-v-1dbafa55] {
  border: 2px solid #c0c0c0;
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.price-grid-wrapper .price-grid-header .grid-col.price.has-no-price[data-v-1dbafa55]:hover,
.price-grid-wrapper .price-grid-prices .grid-col.price.has-no-price[data-v-1dbafa55]:hover {
  cursor: not-allowed;
}
.price-grid-wrapper .price-grid-header .grid-col.nights[data-v-1dbafa55],
.price-grid-wrapper .price-grid-prices .grid-col.nights[data-v-1dbafa55] {
  min-height: 3.75rem;
}
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/BookingWidgedSummary.vue?vue&type=style&index=0&id=20ae5bd4&lang=css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.card-message {
  color: #eb872b;
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/BookingWidgetMobile.vue?vue&type=style&index=0&id=34acd872&scoped=true&lang=css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.arrow-up[data-v-34acd872] {
  transform: rotate(180deg);
  transform-origin: center;
  transition: transform 0.3s ease;
}
.mobile-booking-widget[data-v-34acd872] {
  position: relative;
}
.mobile-summary[data-v-34acd872] {
  position: relative;
  z-index: 2;
  background: white;
}
.mobile-availability-header[data-v-34acd872] {
  position: absolute;
  width: 100%;
  bottom: 100%;
  z-index: 1;
}
.slide-enter-active[data-v-34acd872],
.slide-leave-active[data-v-34acd872] {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.slide-enter-from[data-v-34acd872],
.slide-leave-to[data-v-34acd872] {
  transform: translateY(100%);
  opacity: 0;
}
.slide-enter-to[data-v-34acd872],
.slide-leave-from[data-v-34acd872] {
  transform: translateY(0);
  opacity: 1;
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/checkout/CheckoutSummary.vue?vue&type=style&index=0&id=6829be14&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.updateCart-animation[data-v-6829be14] {
  animation: updateCart-6829be14 750ms ease;
}
@keyframes updateCart-6829be14 {
0% {
    transform: scale(1);
}
50% {
    transform: scale(1.025);
}
100% {
    transform: scale(1);
}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-13.use[2]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/checkout/CheckoutSummaryMobile.vue?vue&type=style&index=0&id=4a397cd6&lang=scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.mobile-checkout-summary-container {
  width: 100%;
  background-color: white;
  overflow: hidden;
  max-height: 0; /* Start with hidden state */
  transition: max-height 0.4s ease-in-out; /* Smooth transition */
}

/* Transition active states for entering and leaving */
.slide-up-enter-active,
.slide-up-leave-active {
  transition: max-height 0.4s ease-in-out;
}
.slide-up-enter {
  max-height: 0; /* Start with hidden */
}
.slide-up-enter-to {
  max-height: 65vh; /* Expands to 75% of the screen height */
}
.slide-up-leave-to {
  max-height: 0; /* Collapse back to hidden */
}
.checkout-visible {
  overflow: hidden;
}
#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent dark overlay */
  z-index: 999; /* Ensure it sits above content but below the popup */
  opacity: 0; /* Initially invisible */
  visibility: hidden; /* Prevent it from blocking clicks when hidden */
  transition: opacity 300ms ease, visibility 0s linear 300ms; /* Delay visibility change to match opacity fade */
}
#overlay.visible {
  opacity: 1; /* Fully visible */
  visibility: visible; /* Make it visible immediately */
  transition: opacity 300ms ease, visibility 0s; /* Visibility immediately, opacity transition */
}
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/checkout/CheckoutSummaryMobile.vue?vue&type=style&index=1&id=4a397cd6&scoped=true&lang=css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.updateCart-animation[data-v-4a397cd6] {
  animation: updateCart-4a397cd6 300ms ease;
}
@keyframes updateCart-4a397cd6 {
0% {
    transform: scale(1);
}
50% {
    transform: scale(1.025);
}
100% {
    transform: (1);
}
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/checkout/CheckoutUpdatesPicker.vue?vue&type=style&index=0&id=7eb78a34&scoped=true&lang=css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.guest-question[data-v-7eb78a34] {
  margin-top: 1rem;
}
/*
  Enter and leave animations can use different
  durations and timing functions.
*/
.slide-fade-enter-active[data-v-7eb78a34] {
  transition: all 0.3s ease-out;
}
.slide-fade-leave-active[data-v-7eb78a34] {
  transition: all 0.3s cubic-bezier(1, 0.5, 0.8, 1);
}
.slide-fade-enter-from[data-v-7eb78a34],
.slide-fade-leave-to[data-v-7eb78a34] {
  transform: translatey(-20px);
  opacity: 0;
}
textarea[data-v-7eb78a34] {
  overflow: hidden; /* Hide the scrollbar */
  resize: none; /* Disable manual resizing */
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/checkout/CheckoutDataForm.vue?vue&type=style&index=0&id=b2f209e0&scoped=true&lang=css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

textarea[data-v-b2f209e0] {
  overflow: hidden; /* Hide the scrollbar */
  resize: none; /* Disable manual resizing */
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/website/js/vue/checkout/CheckoutLoader.vue?vue&type=style&index=0&id=384fc795&scoped=true&lang=css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.checkout-loader-overlay[data-v-384fc795] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  overflow: hidden;
}
.checkout-loader[data-v-384fc795] {
  text-align: center;
}
.spinner[data-v-384fc795] {
  width: 50px;
  height: 50px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #d98c2f;
  border-radius: 50%;
  animation: spin-384fc795 1s linear infinite;
  margin: 0 auto;
  margin-bottom: 20px;
}
.loading-text[data-v-384fc795] {
  color: #d98c2f;
  font-size: 1rem;
  padding: 3rem;
}
p[data-v-384fc795] {
  margin-bottom: 5px;
}
@keyframes spin-384fc795 {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2FwcC5jMDdjZDFlYi5jc3MiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLGdCQUFnQjtBQ3NEaEI7RUFDRTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7Ozs7R0FBQTtFQUtBO0VBQ0E7RUFHQTs7OztHQUFBO0VBT0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs0Q0FBQTtFQUdBOztnRUFBQTtBRDNERjs7QUNnRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUQ3REY7O0FDK0RBOztFQUVFO0FENURGOztBQytEQTtFQUNFLG1CQTlKVztBRGtHYjs7QUMrREE7RUFDRSxnQkFqS1k7QURxR2Q7O0FDK0RBO0VBQ0UsbUJBcEtZO0FEd0dkOztBQzhEQTtFQUNFO0FEM0RGOztBQzhEQTtFQUNFLG1CQTFLWTtBRCtHZDs7QUM4REE7RUFDRSxtQkE3S1k7QURrSGQ7O0FDOERBO0VBQ0UsbUJBaExhO0FEcUhmOztBQzhEQTtFQUNFLDREQWhLZTtBRHFHakI7O0FDOERBO0VBQ0UsNERBNUtZO0FEaUhkOztBQzhEQTtFQUNFLDREQXZMa0I7QUQ0SHBCOztBQzhEQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUQzREY7QUM0REU7RUFDRTtFQUNBO0VBQ0E7QUQxREo7O0FFdElBO0VBQ0U7RUFDQTtFQUVBO0FGd0lGO0FFcElBO0VBQ0U7QUZzSUY7O0FHN0pBOztFQVNJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUdGO0VBQ0E7RUFNQTtFQUNBO0VBQ0E7RUFLRTtFQUVGO0VDMk9JLHlCQUxJO0VEcE9SO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBTUE7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7QUh3SkY7O0FLeFFJO0VGc0hBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUdFO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUdGO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7QUh3Sko7O0FNaFVBOzs7RUFHRTtBTm1VRjs7QU0xVEE7RUZvUU0sbUNBTEk7QUorRFY7QU14VEk7RUFOSjtJQU9NO0VOMlRKO0FBQ0Y7O0FNOVNBO0VBQ0U7RUFDQTtFRjZPSSxtQ0FMSTtFRXRPUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTmlURjs7QU14U0E7RUFDRTtFQUNBLGNDbW5CNEI7RURsbkI1QjtFQUNBO0VBQ0EsYUN5bkI0QjtBUDlVOUI7O0FNalNBO0VBQ0U7RUFDQSxxQkN3akI0QjtFRHZqQjVCLDhCSmxGYztFSW9GZCxnQkUzQ3FCO0VGNENyQixnQkN3akI0QjtFRHZqQjVCO0FObVNGOztBTWhTQTtFRnVNUTtBSjZGUjtBSXpQSTtFRTNDSjtJRjhNUTtFSjBGTjtBQUNGOztBTXBTQTtFRmtNUTtBSnNHUjtBSWxRSTtFRXRDSjtJRnlNUTtFSm1HTjtBQUNGOztBTXhTQTtFRjZMUTtBSitHUjtBSTNRSTtFRWpDSjtJRm9NUTtFSjRHTjtBQUNGOztBTTVTQTtFRndMUTtBSndIUjtBSXBSSTtFRTVCSjtJRitMUTtFSnFITjtBQUNGOztBTWhUQTtFRm1MUTtBSmlJUjtBSTdSSTtFRXZCSjtJRjBMUTtFSjhITjtBQUNGOztBTXBUQTtFRjBLTSxrQkFMSTtBSm1KVjs7QU03U0E7RUFDRTtFQUNBLG1CQ3dWMEI7QVB4QzVCOztBTXRTQTtFQUNFO1VBQUE7RUFDQTtFQUNBO1VBQUE7QU55U0Y7O0FNblNBO0VBQ0U7RUFDQTtFQUNBO0FOc1NGOztBTWhTQTs7RUFFRTtBTm1TRjs7QU1oU0E7OztFQUdFO0VBQ0E7QU5tU0Y7O0FNaFNBOzs7O0VBSUU7QU5tU0Y7O0FNaFNBO0VBQ0UsZ0JDNmI0QjtBUDFKOUI7O0FNOVJBO0VBQ0U7RUFDQTtBTmlTRjs7QU0zUkE7RUFDRTtBTjhSRjs7QU10UkE7O0VBRUUsbUJDc2E0QjtBUDdJOUI7O0FNalJBO0VGNkVNLGtCQUxJO0FKNk1WOztBTTlRQTtFQUNFLGlCQ3FmNEI7RURwZjVCO0VBQ0E7QU5pUkY7O0FNeFFBOztFQUVFO0VGd0RJLGlCQUxJO0VFakRSO0VBQ0E7QU4yUUY7O0FNeFFBO0VBQU07QU40UU47O0FNM1FBO0VBQU07QU4rUU47O0FNMVFBO0VBQ0U7RUFDQSwwQkNnTndDO0FQNkQxQztBTTNRRTtFQUNFO0FONlFKOztBTWxRRTtFQUVFO0VBQ0E7QU5vUUo7O0FNN1BBOzs7O0VBSUUscUNDZ1Y0QjtFSGxVeEIsY0FMSTtBSndQVjs7QU16UEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFRkVJLGtCQUxJO0FKZ1FWO0FNeFBFO0VGSEksa0JBTEk7RUVVTjtFQUNBO0FOMFBKOztBTXRQQTtFRlZNLGtCQUxJO0VFaUJSO0VBQ0E7QU55UEY7QU10UEU7RUFDRTtBTndQSjs7QU1wUEE7RUFDRTtFRnRCSSxrQkFMSTtFRTZCUix3QkN5NUNrQztFRHg1Q2xDLHNDQ3k1Q2tDO0VFOXJEaEM7QVQ2aEJKO0FNclBFO0VBQ0U7RUY3QkUsY0FMSTtBSjBSVjs7QU03T0E7RUFDRTtBTmdQRjs7QU0xT0E7O0VBRUU7QU42T0Y7O0FNck9BO0VBQ0U7RUFDQTtBTndPRjs7QU1yT0E7RUFDRSxtQkM0WDRCO0VEM1g1QixzQkMyWDRCO0VEMVg1QixnQ0M0WjRCO0VEM1o1QjtBTndPRjs7QU1qT0E7RUFFRTtFQUNBO0FObU9GOztBTWhPQTs7Ozs7O0VBTUU7RUFDQTtFQUNBO0FObU9GOztBTTNOQTtFQUNFO0FOOE5GOztBTXhOQTtFQUVFO0FOME5GOztBTWxOQTtFQUNFO0FOcU5GOztBTWhOQTs7Ozs7RUFLRTtFQUNBO0VGNUhJLGtCQUxJO0VFbUlSO0FObU5GOztBTS9NQTs7RUFFRTtBTmtORjs7QU03TUE7RUFDRTtBTmdORjs7QU03TUE7RUFHRTtBTjhNRjtBTTNNRTtFQUNFO0FONk1KOztBTXRNQTtFQUNFO0FOeU1GOztBTWpNQTs7OztFQUlFO0FOb01GO0FNak1JOzs7O0VBQ0U7QU5zTU47O0FNL0xBO0VBQ0U7RUFDQTtBTmtNRjs7QU03TEE7RUFDRTtBTmdNRjs7QU10TEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBTnlMRjs7QU1qTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxxQkNtTjRCO0VIcGF0QjtFRW9OTjtBTm1MRjtBSW5pQkk7RUV5V0o7SUZ0TVE7RUpvWU47QUFDRjtBTXRMRTtFQUNFO0FOd0xKOztBTWpMQTs7Ozs7OztFQU9FO0FOb0xGOztBTWpMQTtFQUNFO0FOb0xGOztBTTNLQTtFQUNFO0VBQ0E7QU44S0Y7O0FNdEtBOzs7Ozs7O0NBQUE7QUFXQTtFQUNFO0FOc0tGOztBTWpLQTtFQUNFO0FOb0tGOztBTTdKQTtFQUNFO0VBQ0E7QU5nS0Y7O0FNM0pBO0VBQ0U7QU44SkY7O0FNekpBO0VBQ0U7QU40SkY7O0FNckpBO0VBQ0U7RUFDQTtBTndKRjs7QU1oSkE7RUFDRTtBTm1KRjs7QU0zSUE7RUFDRTtBTjhJRjs7QVVudEJBO0VObVFNLGtCQUxJO0VNNVBSLGdCSHdvQjRCO0FQOEU5Qjs7QVVqdEJFO0VOZ1FNO0VNNVBKLGdCSHluQmtCO0VHeG5CbEIsZ0JId21CMEI7QVAwRzlCO0FJbm5CSTtFTXBHRjtJTnVRTTtFSm9kTjtBQUNGOztBVTV0QkU7RU5nUU07RU01UEosZ0JIeW5Ca0I7RUd4bkJsQixnQkh3bUIwQjtBUHFIOUI7QUk5bkJJO0VNcEdGO0lOdVFNO0VKK2ROO0FBQ0Y7O0FVdnVCRTtFTmdRTTtFTTVQSixnQkh5bkJrQjtFR3huQmxCLGdCSHdtQjBCO0FQZ0k5QjtBSXpvQkk7RU1wR0Y7SU51UU07RUowZU47QUFDRjs7QVVsdkJFO0VOZ1FNO0VNNVBKLGdCSHluQmtCO0VHeG5CbEIsZ0JId21CMEI7QVAySTlCO0FJcHBCSTtFTXBHRjtJTnVRTTtFSnFmTjtBQUNGOztBVTd2QkU7RU5nUU07RU01UEosZ0JIeW5Ca0I7RUd4bkJsQixnQkh3bUIwQjtBUHNKOUI7QUkvcEJJO0VNcEdGO0lOdVFNO0VKZ2dCTjtBQUNGOztBVXh3QkU7RU5nUU07RU01UEosZ0JIeW5Ca0I7RUd4bkJsQixnQkh3bUIwQjtBUGlLOUI7QUkxcUJJO0VNcEdGO0lOdVFNO0VKMmdCTjtBQUNGOztBVTN2QkE7RUN2REU7RUFDQTtBWHN6QkY7O0FVM3ZCQTtFQzVERTtFQUNBO0FYMnpCRjs7QVU3dkJBO0VBQ0U7QVZnd0JGO0FVOXZCRTtFQUNFLG9CSHNvQjBCO0FQMEg5Qjs7QVV0dkJBO0VOOE1NLGtCQUxJO0VNdk1SO0FWeXZCRjs7QVVydkJBO0VBQ0UsbUJIaVVPO0VIMUhILGtCQUxJO0FKdWpCVjtBVXR2QkU7RUFDRTtBVnd2Qko7O0FVcHZCQTtFQUNFO0VBQ0EsbUJIdVRPO0VIMUhILGtCQUxJO0VNdExSLGNIdEZTO0FQNjBCWDtBVXJ2QkU7RUFDRTtBVnV2Qko7O0FZdjFCQTtFQ0lFO0VBR0E7QWJxMUJGOztBWXQxQkE7RUFDRSxnQkwrakRrQztFSzlqRGxDLG1DTCtqRGtDO0VLOWpEbEM7RUhHRTtFS0xFLG1DQVJXO0VES2Y7RUFHQTtBYisxQkY7O0FZajFCQTtFQUVFO0FabTFCRjs7QVloMUJBO0VBQ0U7RUFDQTtBWm0xQkY7O0FZaDFCQTtFUnlQTSxrQkFMSTtFUWxQUixnQ0xrakRrQztBUC90QnBDOztBZXIzQkU7Ozs7Ozs7RUNIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJrNEJGOztBaUI1MEJJO0VGNUNFO0lBQ0UsZ0JSa2VlO0VQMFpyQjtBQUNGO0FpQmwxQkk7RUY1Q0U7SUFDRSxnQlJrZWU7RVArWnJCO0FBQ0Y7QWlCdjFCSTtFRjVDRTtJQUNFLGdCUmtlZTtFUG9hckI7QUFDRjtBaUI1MUJJO0VGNUNFO0lBQ0UsaUJSa2VlO0VQeWFyQjtBQUNGO0FpQmoyQkk7RUY1Q0U7SUFDRSxpQlJrZWU7RVA4YXJCO0FBQ0Y7QWtCajZCQTtFQUVJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBbEJ1NkJKOztBa0JsNkJFO0VDTkE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QW5CMjZCRjtBa0J6NkJJO0VDT0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQnE2QkY7O0FrQjE2QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEI2NkJKO0FtQi96QlU7RUFDRTtBbkJpMEJaO0FtQmwwQlU7RUFDRTtBbkJvMEJaO0FtQnIwQlU7RUFDRTtBbkJ1MEJaO0FtQngwQlU7RUFDRTtBbkIwMEJaO0FtQjMwQlU7RUFDRTtBbkI2MEJaO0FtQjkwQlU7RUFDRTtBbkJnMUJaO0FtQmoxQlU7RUFDRTtBbkJtMUJaO0FtQnAxQlU7RUFDRTtBbkJzMUJaO0FtQnYxQlU7RUFDRTtBbkJ5MUJaO0FtQjExQlU7RUFDRTtBbkI0MUJaO0FtQjcxQlU7RUFDRTtBbkIrMUJaO0FtQmgyQlU7RUFDRTtBbkJrMkJaO0FtQjMxQlU7RUFDRSxvQkFGUztBbkIrMUJyQjtBbUI5MUJVO0VBQ0Usb0JBRlM7QW5CazJCckI7QW1CajJCVTtFQUNFLG9CQUZTO0FuQnEyQnJCO0FtQnAyQlU7RUFDRSxvQkFGUztBbkJ3MkJyQjtBbUJ2MkJVO0VBQ0Usb0JBRlM7QW5CMjJCckI7QW1CMTJCVTtFQUNFLG9CQUZTO0FuQjgyQnJCO0FtQjcyQlU7RUFDRSxvQkFGUztBbkJpM0JyQjtBbUJoM0JVO0VBQ0Usb0JBRlM7QW5CbzNCckI7QW1CbjNCVTtFQUNFLG9CQUZTO0FuQnUzQnJCO0FtQnQzQlU7RUFDRSxxQkFGUztBbkIwM0JyQjtBbUJ6M0JVO0VBQ0UscUJBRlM7QW5CNjNCckI7QWlCNThCSTtFRXdFTTtJQUNFO0VuQnU0QlY7RW1CeDRCUTtJQUNFO0VuQjA0QlY7RW1CMzRCUTtJQUNFO0VuQjY0QlY7RW1COTRCUTtJQUNFO0VuQmc1QlY7RW1CajVCUTtJQUNFO0VuQm01QlY7RW1CcDVCUTtJQUNFO0VuQnM1QlY7RW1CdjVCUTtJQUNFO0VuQnk1QlY7RW1CMTVCUTtJQUNFO0VuQjQ1QlY7RW1CNzVCUTtJQUNFO0VuQis1QlY7RW1CaDZCUTtJQUNFO0VuQms2QlY7RW1CbjZCUTtJQUNFO0VuQnE2QlY7RW1CdDZCUTtJQUNFO0VuQnc2QlY7RW1CajZCUTtJQUNFLG9CQUZTO0VuQnE2Qm5CO0VtQnA2QlE7SUFDRSxvQkFGUztFbkJ3NkJuQjtFbUJ2NkJRO0lBQ0Usb0JBRlM7RW5CMjZCbkI7RW1CMTZCUTtJQUNFLG9CQUZTO0VuQjg2Qm5CO0VtQjc2QlE7SUFDRSxvQkFGUztFbkJpN0JuQjtFbUJoN0JRO0lBQ0Usb0JBRlM7RW5CbzdCbkI7RW1CbjdCUTtJQUNFLG9CQUZTO0VuQnU3Qm5CO0VtQnQ3QlE7SUFDRSxvQkFGUztFbkIwN0JuQjtFbUJ6N0JRO0lBQ0Usb0JBRlM7RW5CNjdCbkI7RW1CNTdCUTtJQUNFLHFCQUZTO0VuQmc4Qm5CO0VtQi83QlE7SUFDRSxxQkFGUztFbkJtOEJuQjtBQUNGO0FpQm5oQ0k7RUV3RU07SUFDRTtFbkI4OEJWO0VtQi84QlE7SUFDRTtFbkJpOUJWO0VtQmw5QlE7SUFDRTtFbkJvOUJWO0VtQnI5QlE7SUFDRTtFbkJ1OUJWO0VtQng5QlE7SUFDRTtFbkIwOUJWO0VtQjM5QlE7SUFDRTtFbkI2OUJWO0VtQjk5QlE7SUFDRTtFbkJnK0JWO0VtQmorQlE7SUFDRTtFbkJtK0JWO0VtQnArQlE7SUFDRTtFbkJzK0JWO0VtQnYrQlE7SUFDRTtFbkJ5K0JWO0VtQjErQlE7SUFDRTtFbkI0K0JWO0VtQjcrQlE7SUFDRTtFbkIrK0JWO0VtQngrQlE7SUFDRSxvQkFGUztFbkI0K0JuQjtFbUIzK0JRO0lBQ0Usb0JBRlM7RW5CKytCbkI7RW1COStCUTtJQUNFLG9CQUZTO0VuQmsvQm5CO0VtQmovQlE7SUFDRSxvQkFGUztFbkJxL0JuQjtFbUJwL0JRO0lBQ0Usb0JBRlM7RW5Cdy9CbkI7RW1Cdi9CUTtJQUNFLG9CQUZTO0VuQjIvQm5CO0VtQjEvQlE7SUFDRSxvQkFGUztFbkI4L0JuQjtFbUI3L0JRO0lBQ0Usb0JBRlM7RW5CaWdDbkI7RW1CaGdDUTtJQUNFLG9CQUZTO0VuQm9nQ25CO0VtQm5nQ1E7SUFDRSxxQkFGUztFbkJ1Z0NuQjtFbUJ0Z0NRO0lBQ0UscUJBRlM7RW5CMGdDbkI7QUFDRjtBaUIxbENJO0VFd0VNO0lBQ0U7RW5CcWhDVjtFbUJ0aENRO0lBQ0U7RW5Cd2hDVjtFbUJ6aENRO0lBQ0U7RW5CMmhDVjtFbUI1aENRO0lBQ0U7RW5COGhDVjtFbUIvaENRO0lBQ0U7RW5CaWlDVjtFbUJsaUNRO0lBQ0U7RW5Cb2lDVjtFbUJyaUNRO0lBQ0U7RW5CdWlDVjtFbUJ4aUNRO0lBQ0U7RW5CMGlDVjtFbUIzaUNRO0lBQ0U7RW5CNmlDVjtFbUI5aUNRO0lBQ0U7RW5CZ2pDVjtFbUJqakNRO0lBQ0U7RW5CbWpDVjtFbUJwakNRO0lBQ0U7RW5Cc2pDVjtFbUIvaUNRO0lBQ0Usb0JBRlM7RW5CbWpDbkI7RW1CbGpDUTtJQUNFLG9CQUZTO0VuQnNqQ25CO0VtQnJqQ1E7SUFDRSxvQkFGUztFbkJ5akNuQjtFbUJ4akNRO0lBQ0Usb0JBRlM7RW5CNGpDbkI7RW1CM2pDUTtJQUNFLG9CQUZTO0VuQitqQ25CO0VtQjlqQ1E7SUFDRSxvQkFGUztFbkJra0NuQjtFbUJqa0NRO0lBQ0Usb0JBRlM7RW5CcWtDbkI7RW1CcGtDUTtJQUNFLG9CQUZTO0VuQndrQ25CO0VtQnZrQ1E7SUFDRSxvQkFGUztFbkIya0NuQjtFbUIxa0NRO0lBQ0UscUJBRlM7RW5COGtDbkI7RW1CN2tDUTtJQUNFLHFCQUZTO0VuQmlsQ25CO0FBQ0Y7QWlCanFDSTtFRXdFTTtJQUNFO0VuQjRsQ1Y7RW1CN2xDUTtJQUNFO0VuQitsQ1Y7RW1CaG1DUTtJQUNFO0VuQmttQ1Y7RW1Cbm1DUTtJQUNFO0VuQnFtQ1Y7RW1CdG1DUTtJQUNFO0VuQndtQ1Y7RW1Cem1DUTtJQUNFO0VuQjJtQ1Y7RW1CNW1DUTtJQUNFO0VuQjhtQ1Y7RW1CL21DUTtJQUNFO0VuQmluQ1Y7RW1CbG5DUTtJQUNFO0VuQm9uQ1Y7RW1Ccm5DUTtJQUNFO0VuQnVuQ1Y7RW1CeG5DUTtJQUNFO0VuQjBuQ1Y7RW1CM25DUTtJQUNFO0VuQjZuQ1Y7RW1CdG5DUTtJQUNFLG9CQUZTO0VuQjBuQ25CO0VtQnpuQ1E7SUFDRSxvQkFGUztFbkI2bkNuQjtFbUI1bkNRO0lBQ0Usb0JBRlM7RW5CZ29DbkI7RW1CL25DUTtJQUNFLG9CQUZTO0VuQm1vQ25CO0VtQmxvQ1E7SUFDRSxvQkFGUztFbkJzb0NuQjtFbUJyb0NRO0lBQ0Usb0JBRlM7RW5CeW9DbkI7RW1CeG9DUTtJQUNFLG9CQUZTO0VuQjRvQ25CO0VtQjNvQ1E7SUFDRSxvQkFGUztFbkIrb0NuQjtFbUI5b0NRO0lBQ0Usb0JBRlM7RW5Ca3BDbkI7RW1CanBDUTtJQUNFLHFCQUZTO0VuQnFwQ25CO0VtQnBwQ1E7SUFDRSxxQkFGUztFbkJ3cENuQjtBQUNGO0FpQnh1Q0k7RUV3RU07SUFDRTtFbkJtcUNWO0VtQnBxQ1E7SUFDRTtFbkJzcUNWO0VtQnZxQ1E7SUFDRTtFbkJ5cUNWO0VtQjFxQ1E7SUFDRTtFbkI0cUNWO0VtQjdxQ1E7SUFDRTtFbkIrcUNWO0VtQmhyQ1E7SUFDRTtFbkJrckNWO0VtQm5yQ1E7SUFDRTtFbkJxckNWO0VtQnRyQ1E7SUFDRTtFbkJ3ckNWO0VtQnpyQ1E7SUFDRTtFbkIyckNWO0VtQjVyQ1E7SUFDRTtFbkI4ckNWO0VtQi9yQ1E7SUFDRTtFbkJpc0NWO0VtQmxzQ1E7SUFDRTtFbkJvc0NWO0VtQjdyQ1E7SUFDRSxvQkFGUztFbkJpc0NuQjtFbUJoc0NRO0lBQ0Usb0JBRlM7RW5Cb3NDbkI7RW1CbnNDUTtJQUNFLG9CQUZTO0VuQnVzQ25CO0VtQnRzQ1E7SUFDRSxvQkFGUztFbkIwc0NuQjtFbUJ6c0NRO0lBQ0Usb0JBRlM7RW5CNnNDbkI7RW1CNXNDUTtJQUNFLG9CQUZTO0VuQmd0Q25CO0VtQi9zQ1E7SUFDRSxvQkFGUztFbkJtdENuQjtFbUJsdENRO0lBQ0Usb0JBRlM7RW5Cc3RDbkI7RW1CcnRDUTtJQUNFLG9CQUZTO0VuQnl0Q25CO0VtQnh0Q1E7SUFDRSxxQkFGUztFbkI0dENuQjtFbUIzdENRO0lBQ0UscUJBRlM7RW5CK3RDbkI7QUFDRjs7QW1CcnlDTTtFQUNFO0FuQnd5Q1I7O0FtQnJ5Q007RUFwQ0o7RUFDQTtBbkI2MENGOztBbUIvekNFO0VBQ0U7RUFDQTtBbkJrMENKOztBbUJwMENFO0VBQ0U7RUFDQTtBbkJ1MENKOztBbUJ6MENFO0VBQ0U7RUFDQTtBbkI0MENKOztBbUI5MENFO0VBQ0U7RUFDQTtBbkJpMUNKOztBbUJuMUNFO0VBQ0U7RUFDQTtBbkJzMUNKOztBbUJ4MUNFO0VBQ0U7RUFDQTtBbkIyMUNKOztBbUI1ekNNO0VBaERKO0VBQ0E7QW5CZzNDRjs7QW1CM3pDVTtFQWhFTjtFQUNBO0FuQiszQ0o7O0FtQmgwQ1U7RUFoRU47RUFDQTtBbkJvNENKOztBbUJyMENVO0VBaEVOO0VBQ0E7QW5CeTRDSjs7QW1CMTBDVTtFQWhFTjtFQUNBO0FuQjg0Q0o7O0FtQi8wQ1U7RUFoRU47RUFDQTtBbkJtNUNKOztBbUJwMUNVO0VBaEVOO0VBQ0E7QW5CdzVDSjs7QW1CejFDVTtFQWhFTjtFQUNBO0FuQjY1Q0o7O0FtQjkxQ1U7RUFoRU47RUFDQTtBbkJrNkNKOztBbUJuMkNVO0VBaEVOO0VBQ0E7QW5CdTZDSjs7QW1CeDJDVTtFQWhFTjtFQUNBO0FuQjQ2Q0o7O0FtQjcyQ1U7RUFoRU47RUFDQTtBbkJpN0NKOztBbUJsM0NVO0VBaEVOO0VBQ0E7QW5CczdDSjs7QW1CLzJDWTtFQXhEVjtBbkIyNkNGOztBbUJuM0NZO0VBeERWO0FuQis2Q0Y7O0FtQnYzQ1k7RUF4RFY7QW5CbTdDRjs7QW1CMzNDWTtFQXhEVjtBbkJ1N0NGOztBbUIvM0NZO0VBeERWO0FuQjI3Q0Y7O0FtQm40Q1k7RUF4RFY7QW5CKzdDRjs7QW1CdjRDWTtFQXhEVjtBbkJtOENGOztBbUIzNENZO0VBeERWO0FuQnU4Q0Y7O0FtQi80Q1k7RUF4RFY7QW5CMjhDRjs7QW1CbjVDWTtFQXhEVjtBbkIrOENGOztBbUJ2NUNZO0VBeERWO0FuQm05Q0Y7O0FtQmg1Q1E7O0VBRUU7QW5CbTVDVjs7QW1CaDVDUTs7RUFFRTtBbkJtNUNWOztBbUIxNUNROztFQUVFO0FuQjY1Q1Y7O0FtQjE1Q1E7O0VBRUU7QW5CNjVDVjs7QW1CcDZDUTs7RUFFRTtBbkJ1NkNWOztBbUJwNkNROztFQUVFO0FuQnU2Q1Y7O0FtQjk2Q1E7O0VBRUU7QW5CaTdDVjs7QW1COTZDUTs7RUFFRTtBbkJpN0NWOztBbUJ4N0NROztFQUVFO0FuQjI3Q1Y7O0FtQng3Q1E7O0VBRUU7QW5CMjdDVjs7QW1CbDhDUTs7RUFFRTtBbkJxOENWOztBbUJsOENROztFQUVFO0FuQnE4Q1Y7O0FpQi8vQ0k7RUVVRTtJQUNFO0VuQnkvQ047RW1CdC9DSTtJQXBDSjtJQUNBO0VuQjZoREE7RW1CL2dEQTtJQUNFO0lBQ0E7RW5CaWhERjtFbUJuaERBO0lBQ0U7SUFDQTtFbkJxaERGO0VtQnZoREE7SUFDRTtJQUNBO0VuQnloREY7RW1CM2hEQTtJQUNFO0lBQ0E7RW5CNmhERjtFbUIvaERBO0lBQ0U7SUFDQTtFbkJpaURGO0VtQm5pREE7SUFDRTtJQUNBO0VuQnFpREY7RW1CdGdESTtJQWhESjtJQUNBO0VuQnlqREE7RW1CcGdEUTtJQWhFTjtJQUNBO0VuQnVrREY7RW1CeGdEUTtJQWhFTjtJQUNBO0VuQjJrREY7RW1CNWdEUTtJQWhFTjtJQUNBO0VuQitrREY7RW1CaGhEUTtJQWhFTjtJQUNBO0VuQm1sREY7RW1CcGhEUTtJQWhFTjtJQUNBO0VuQnVsREY7RW1CeGhEUTtJQWhFTjtJQUNBO0VuQjJsREY7RW1CNWhEUTtJQWhFTjtJQUNBO0VuQitsREY7RW1CaGlEUTtJQWhFTjtJQUNBO0VuQm1tREY7RW1CcGlEUTtJQWhFTjtJQUNBO0VuQnVtREY7RW1CeGlEUTtJQWhFTjtJQUNBO0VuQjJtREY7RW1CNWlEUTtJQWhFTjtJQUNBO0VuQittREY7RW1CaGpEUTtJQWhFTjtJQUNBO0VuQm1uREY7RW1CNWlEVTtJQXhEVjtFbkJ1bURBO0VtQi9pRFU7SUF4RFY7RW5CMG1EQTtFbUJsakRVO0lBeERWO0VuQjZtREE7RW1CcmpEVTtJQXhEVjtFbkJnbkRBO0VtQnhqRFU7SUF4RFY7RW5CbW5EQTtFbUIzakRVO0lBeERWO0VuQnNuREE7RW1COWpEVTtJQXhEVjtFbkJ5bkRBO0VtQmprRFU7SUF4RFY7RW5CNG5EQTtFbUJwa0RVO0lBeERWO0VuQituREE7RW1CdmtEVTtJQXhEVjtFbkJrb0RBO0VtQjFrRFU7SUF4RFY7RW5CcW9EQTtFbUI3a0RVO0lBeERWO0VuQndvREE7RW1CcmtETTs7SUFFRTtFbkJ1a0RSO0VtQnBrRE07O0lBRUU7RW5Cc2tEUjtFbUI3a0RNOztJQUVFO0VuQitrRFI7RW1CNWtETTs7SUFFRTtFbkI4a0RSO0VtQnJsRE07O0lBRUU7RW5CdWxEUjtFbUJwbERNOztJQUVFO0VuQnNsRFI7RW1CN2xETTs7SUFFRTtFbkIrbERSO0VtQjVsRE07O0lBRUU7RW5COGxEUjtFbUJybURNOztJQUVFO0VuQnVtRFI7RW1CcG1ETTs7SUFFRTtFbkJzbURSO0VtQjdtRE07O0lBRUU7RW5CK21EUjtFbUI1bURNOztJQUVFO0VuQjhtRFI7QUFDRjtBaUJ6cURJO0VFVUU7SUFDRTtFbkJrcUROO0VtQi9wREk7SUFwQ0o7SUFDQTtFbkJzc0RBO0VtQnhyREE7SUFDRTtJQUNBO0VuQjByREY7RW1CNXJEQTtJQUNFO0lBQ0E7RW5COHJERjtFbUJoc0RBO0lBQ0U7SUFDQTtFbkJrc0RGO0VtQnBzREE7SUFDRTtJQUNBO0VuQnNzREY7RW1CeHNEQTtJQUNFO0lBQ0E7RW5CMHNERjtFbUI1c0RBO0lBQ0U7SUFDQTtFbkI4c0RGO0VtQi9xREk7SUFoREo7SUFDQTtFbkJrdURBO0VtQjdxRFE7SUFoRU47SUFDQTtFbkJndkRGO0VtQmpyRFE7SUFoRU47SUFDQTtFbkJvdkRGO0VtQnJyRFE7SUFoRU47SUFDQTtFbkJ3dkRGO0VtQnpyRFE7SUFoRU47SUFDQTtFbkI0dkRGO0VtQjdyRFE7SUFoRU47SUFDQTtFbkJnd0RGO0VtQmpzRFE7SUFoRU47SUFDQTtFbkJvd0RGO0VtQnJzRFE7SUFoRU47SUFDQTtFbkJ3d0RGO0VtQnpzRFE7SUFoRU47SUFDQTtFbkI0d0RGO0VtQjdzRFE7SUFoRU47SUFDQTtFbkJneERGO0VtQmp0RFE7SUFoRU47SUFDQTtFbkJveERGO0VtQnJ0RFE7SUFoRU47SUFDQTtFbkJ3eERGO0VtQnp0RFE7SUFoRU47SUFDQTtFbkI0eERGO0VtQnJ0RFU7SUF4RFY7RW5CZ3hEQTtFbUJ4dERVO0lBeERWO0VuQm14REE7RW1CM3REVTtJQXhEVjtFbkJzeERBO0VtQjl0RFU7SUF4RFY7RW5CeXhEQTtFbUJqdURVO0lBeERWO0VuQjR4REE7RW1CcHVEVTtJQXhEVjtFbkIreERBO0VtQnZ1RFU7SUF4RFY7RW5Ca3lEQTtFbUIxdURVO0lBeERWO0VuQnF5REE7RW1CN3VEVTtJQXhEVjtFbkJ3eURBO0VtQmh2RFU7SUF4RFY7RW5CMnlEQTtFbUJudkRVO0lBeERWO0VuQjh5REE7RW1CdHZEVTtJQXhEVjtFbkJpekRBO0VtQjl1RE07O0lBRUU7RW5CZ3ZEUjtFbUI3dURNOztJQUVFO0VuQit1RFI7RW1CdHZETTs7SUFFRTtFbkJ3dkRSO0VtQnJ2RE07O0lBRUU7RW5CdXZEUjtFbUI5dkRNOztJQUVFO0VuQmd3RFI7RW1CN3ZETTs7SUFFRTtFbkIrdkRSO0VtQnR3RE07O0lBRUU7RW5Cd3dEUjtFbUJyd0RNOztJQUVFO0VuQnV3RFI7RW1COXdETTs7SUFFRTtFbkJneERSO0VtQjd3RE07O0lBRUU7RW5CK3dEUjtFbUJ0eERNOztJQUVFO0VuQnd4RFI7RW1CcnhETTs7SUFFRTtFbkJ1eERSO0FBQ0Y7QWlCbDFESTtFRVVFO0lBQ0U7RW5CMjBETjtFbUJ4MERJO0lBcENKO0lBQ0E7RW5CKzJEQTtFbUJqMkRBO0lBQ0U7SUFDQTtFbkJtMkRGO0VtQnIyREE7SUFDRTtJQUNBO0VuQnUyREY7RW1CejJEQTtJQUNFO0lBQ0E7RW5CMjJERjtFbUI3MkRBO0lBQ0U7SUFDQTtFbkIrMkRGO0VtQmozREE7SUFDRTtJQUNBO0VuQm0zREY7RW1CcjNEQTtJQUNFO0lBQ0E7RW5CdTNERjtFbUJ4MURJO0lBaERKO0lBQ0E7RW5CMjREQTtFbUJ0MURRO0lBaEVOO0lBQ0E7RW5CeTVERjtFbUIxMURRO0lBaEVOO0lBQ0E7RW5CNjVERjtFbUI5MURRO0lBaEVOO0lBQ0E7RW5CaTZERjtFbUJsMkRRO0lBaEVOO0lBQ0E7RW5CcTZERjtFbUJ0MkRRO0lBaEVOO0lBQ0E7RW5CeTZERjtFbUIxMkRRO0lBaEVOO0lBQ0E7RW5CNjZERjtFbUI5MkRRO0lBaEVOO0lBQ0E7RW5CaTdERjtFbUJsM0RRO0lBaEVOO0lBQ0E7RW5CcTdERjtFbUJ0M0RRO0lBaEVOO0lBQ0E7RW5CeTdERjtFbUIxM0RRO0lBaEVOO0lBQ0E7RW5CNjdERjtFbUI5M0RRO0lBaEVOO0lBQ0E7RW5CaThERjtFbUJsNERRO0lBaEVOO0lBQ0E7RW5CcThERjtFbUI5M0RVO0lBeERWO0VuQnk3REE7RW1CajREVTtJQXhEVjtFbkI0N0RBO0VtQnA0RFU7SUF4RFY7RW5CKzdEQTtFbUJ2NERVO0lBeERWO0VuQms4REE7RW1CMTREVTtJQXhEVjtFbkJxOERBO0VtQjc0RFU7SUF4RFY7RW5CdzhEQTtFbUJoNURVO0lBeERWO0VuQjI4REE7RW1CbjVEVTtJQXhEVjtFbkI4OERBO0VtQnQ1RFU7SUF4RFY7RW5CaTlEQTtFbUJ6NURVO0lBeERWO0VuQm85REE7RW1CNTVEVTtJQXhEVjtFbkJ1OURBO0VtQi81RFU7SUF4RFY7RW5CMDlEQTtFbUJ2NURNOztJQUVFO0VuQnk1RFI7RW1CdDVETTs7SUFFRTtFbkJ3NURSO0VtQi81RE07O0lBRUU7RW5CaTZEUjtFbUI5NURNOztJQUVFO0VuQmc2RFI7RW1CdjZETTs7SUFFRTtFbkJ5NkRSO0VtQnQ2RE07O0lBRUU7RW5CdzZEUjtFbUIvNkRNOztJQUVFO0VuQmk3RFI7RW1COTZETTs7SUFFRTtFbkJnN0RSO0VtQnY3RE07O0lBRUU7RW5CeTdEUjtFbUJ0N0RNOztJQUVFO0VuQnc3RFI7RW1CLzdETTs7SUFFRTtFbkJpOERSO0VtQjk3RE07O0lBRUU7RW5CZzhEUjtBQUNGO0FpQjMvREk7RUVVRTtJQUNFO0VuQm8vRE47RW1Cai9ESTtJQXBDSjtJQUNBO0VuQndoRUE7RW1CMWdFQTtJQUNFO0lBQ0E7RW5CNGdFRjtFbUI5Z0VBO0lBQ0U7SUFDQTtFbkJnaEVGO0VtQmxoRUE7SUFDRTtJQUNBO0VuQm9oRUY7RW1CdGhFQTtJQUNFO0lBQ0E7RW5Cd2hFRjtFbUIxaEVBO0lBQ0U7SUFDQTtFbkI0aEVGO0VtQjloRUE7SUFDRTtJQUNBO0VuQmdpRUY7RW1CamdFSTtJQWhESjtJQUNBO0VuQm9qRUE7RW1CLy9EUTtJQWhFTjtJQUNBO0VuQmtrRUY7RW1CbmdFUTtJQWhFTjtJQUNBO0VuQnNrRUY7RW1CdmdFUTtJQWhFTjtJQUNBO0VuQjBrRUY7RW1CM2dFUTtJQWhFTjtJQUNBO0VuQjhrRUY7RW1CL2dFUTtJQWhFTjtJQUNBO0VuQmtsRUY7RW1CbmhFUTtJQWhFTjtJQUNBO0VuQnNsRUY7RW1CdmhFUTtJQWhFTjtJQUNBO0VuQjBsRUY7RW1CM2hFUTtJQWhFTjtJQUNBO0VuQjhsRUY7RW1CL2hFUTtJQWhFTjtJQUNBO0VuQmttRUY7RW1CbmlFUTtJQWhFTjtJQUNBO0VuQnNtRUY7RW1CdmlFUTtJQWhFTjtJQUNBO0VuQjBtRUY7RW1CM2lFUTtJQWhFTjtJQUNBO0VuQjhtRUY7RW1CdmlFVTtJQXhEVjtFbkJrbUVBO0VtQjFpRVU7SUF4RFY7RW5CcW1FQTtFbUI3aUVVO0lBeERWO0VuQndtRUE7RW1CaGpFVTtJQXhEVjtFbkIybUVBO0VtQm5qRVU7SUF4RFY7RW5COG1FQTtFbUJ0akVVO0lBeERWO0VuQmluRUE7RW1CempFVTtJQXhEVjtFbkJvbkVBO0VtQjVqRVU7SUF4RFY7RW5CdW5FQTtFbUIvakVVO0lBeERWO0VuQjBuRUE7RW1CbGtFVTtJQXhEVjtFbkI2bkVBO0VtQnJrRVU7SUF4RFY7RW5CZ29FQTtFbUJ4a0VVO0lBeERWO0VuQm1vRUE7RW1CaGtFTTs7SUFFRTtFbkJra0VSO0VtQi9qRU07O0lBRUU7RW5CaWtFUjtFbUJ4a0VNOztJQUVFO0VuQjBrRVI7RW1CdmtFTTs7SUFFRTtFbkJ5a0VSO0VtQmhsRU07O0lBRUU7RW5Ca2xFUjtFbUIva0VNOztJQUVFO0VuQmlsRVI7RW1CeGxFTTs7SUFFRTtFbkIwbEVSO0VtQnZsRU07O0lBRUU7RW5CeWxFUjtFbUJobUVNOztJQUVFO0VuQmttRVI7RW1CL2xFTTs7SUFFRTtFbkJpbUVSO0VtQnhtRU07O0lBRUU7RW5CMG1FUjtFbUJ2bUVNOztJQUVFO0VuQnltRVI7QUFDRjtBaUJwcUVJO0VFVUU7SUFDRTtFbkI2cEVOO0VtQjFwRUk7SUFwQ0o7SUFDQTtFbkJpc0VBO0VtQm5yRUE7SUFDRTtJQUNBO0VuQnFyRUY7RW1CdnJFQTtJQUNFO0lBQ0E7RW5CeXJFRjtFbUIzckVBO0lBQ0U7SUFDQTtFbkI2ckVGO0VtQi9yRUE7SUFDRTtJQUNBO0VuQmlzRUY7RW1CbnNFQTtJQUNFO0lBQ0E7RW5CcXNFRjtFbUJ2c0VBO0lBQ0U7SUFDQTtFbkJ5c0VGO0VtQjFxRUk7SUFoREo7SUFDQTtFbkI2dEVBO0VtQnhxRVE7SUFoRU47SUFDQTtFbkIydUVGO0VtQjVxRVE7SUFoRU47SUFDQTtFbkIrdUVGO0VtQmhyRVE7SUFoRU47SUFDQTtFbkJtdkVGO0VtQnByRVE7SUFoRU47SUFDQTtFbkJ1dkVGO0VtQnhyRVE7SUFoRU47SUFDQTtFbkIydkVGO0VtQjVyRVE7SUFoRU47SUFDQTtFbkIrdkVGO0VtQmhzRVE7SUFoRU47SUFDQTtFbkJtd0VGO0VtQnBzRVE7SUFoRU47SUFDQTtFbkJ1d0VGO0VtQnhzRVE7SUFoRU47SUFDQTtFbkIyd0VGO0VtQjVzRVE7SUFoRU47SUFDQTtFbkIrd0VGO0VtQmh0RVE7SUFoRU47SUFDQTtFbkJteEVGO0VtQnB0RVE7SUFoRU47SUFDQTtFbkJ1eEVGO0VtQmh0RVU7SUF4RFY7RW5CMndFQTtFbUJudEVVO0lBeERWO0VuQjh3RUE7RW1CdHRFVTtJQXhEVjtFbkJpeEVBO0VtQnp0RVU7SUF4RFY7RW5Cb3hFQTtFbUI1dEVVO0lBeERWO0VuQnV4RUE7RW1CL3RFVTtJQXhEVjtFbkIweEVBO0VtQmx1RVU7SUF4RFY7RW5CNnhFQTtFbUJydUVVO0lBeERWO0VuQmd5RUE7RW1CeHVFVTtJQXhEVjtFbkJteUVBO0VtQjN1RVU7SUF4RFY7RW5Cc3lFQTtFbUI5dUVVO0lBeERWO0VuQnl5RUE7RW1CanZFVTtJQXhEVjtFbkI0eUVBO0VtQnp1RU07O0lBRUU7RW5CMnVFUjtFbUJ4dUVNOztJQUVFO0VuQjB1RVI7RW1CanZFTTs7SUFFRTtFbkJtdkVSO0VtQmh2RU07O0lBRUU7RW5Ca3ZFUjtFbUJ6dkVNOztJQUVFO0VuQjJ2RVI7RW1CeHZFTTs7SUFFRTtFbkIwdkVSO0VtQmp3RU07O0lBRUU7RW5CbXdFUjtFbUJod0VNOztJQUVFO0VuQmt3RVI7RW1CendFTTs7SUFFRTtFbkIyd0VSO0VtQnh3RU07O0lBRUU7RW5CMHdFUjtFbUJqeEVNOztJQUVFO0VuQm14RVI7RW1CaHhFTTs7SUFFRTtFbkJreEVSO0FBQ0Y7QW9CeDRFQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBLG1CYmtZTztFYWpZUCxtQmJ1c0I0QjtFYXRzQjVCO0FwQnU0RUY7QW9CaDRFRTtFQUNFO0VBRUE7RUFDQTtFQUNBLDJDYitzQjBCO0VhOXNCMUI7QXBCaTRFSjtBb0I5M0VFO0VBQ0U7QXBCZzRFSjtBb0I3M0VFO0VBQ0U7QXBCKzNFSjs7QW9CMzNFQTtFQUNFO0FwQjgzRUY7O0FvQnYzRUE7RUFDRTtBcEIwM0VGOztBb0JoM0VFO0VBQ0U7QXBCbTNFSjs7QW9CcDJFRTtFQUNFO0FwQnUyRUo7QW9CcDJFSTtFQUNFO0FwQnMyRU47O0FvQi8xRUU7RUFDRTtBcEJrMkVKO0FvQi8xRUU7RUFDRTtBcEJpMkVKOztBb0J2MUVFO0VBQ0U7RUFDQTtBcEIwMUVKOztBb0JwMUVFO0VBQ0U7RUFDQTtBcEJ1MUVKOztBb0IvMEVBO0VBQ0U7RUFDQTtBcEJrMUVGOztBb0IxMEVFO0VBQ0U7RUFDQTtBcEI2MEVKOztBcUJ6OUVFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBckJxOUVKOztBcUJ2K0VFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBckJtK0VKOztBcUJyL0VFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBckJpL0VKOztBcUJuZ0ZFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBckIrL0VKOztBcUJqaEZFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBckI2Z0ZKOztBcUIvaEZFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBckIyaEZKOztBcUI3aUZFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBckJ5aUZKOztBcUIzakZFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBckJ1akZKOztBb0J0NkVJO0VBQ0U7RUFDQTtBcEJ5NkVOOztBaUJwZ0ZJO0VHeUZBO0lBQ0U7SUFDQTtFcEIrNkVKO0FBQ0Y7QWlCM2dGSTtFR3lGQTtJQUNFO0lBQ0E7RXBCcTdFSjtBQUNGO0FpQmpoRkk7RUd5RkE7SUFDRTtJQUNBO0VwQjI3RUo7QUFDRjtBaUJ2aEZJO0VHeUZBO0lBQ0U7SUFDQTtFcEJpOEVKO0FBQ0Y7QWlCN2hGSTtFR3lGQTtJQUNFO0lBQ0E7RXBCdThFSjtBQUNGO0FzQjNtRkE7RUFDRSxxQmZ1MkJzQztBUHN3RHhDOztBc0JwbUZBO0VBQ0U7RUFDQTtFQUNBO0VsQjhRSSxrQkFMSTtFa0JyUVIsZ0JmK2xCNEI7QVBzZ0U5Qjs7QXNCam1GQTtFQUNFO0VBQ0E7RWxCb1FJLGtCQUxJO0FKczJFVjs7QXNCam1GQTtFQUNFO0VBQ0E7RWxCOFBJLG1CQUxJO0FKNDJFVjs7QXVCbG9GQTtFQUNFLG1CaEIrMUJzQztFSHJrQmxDLGtCQUxJO0VtQmpSUixnQ2hCKzFCc0M7QVBveUR4Qzs7QXdCeG9GQTtFQUNFO0VBQ0E7RUFDQTtFcEJ3UkksZUFMSTtFb0JoUlIsZ0JqQmttQjRCO0VpQmptQjVCLGdCakJ5bUI0QjtFaUJ4bUI1QiwyQmpCNDNCc0M7RWlCMzNCdEM7RUFDQSxtQ2pCcTNCc0M7RWlCcDNCdEM7RUFDQTtFZkdFO0VLTEUsc0NBUlc7RVdVWCx3RURNSjtBeEJ1b0ZGO0F5QnpvRk07RURoQk47SUNpQlE7RXpCNG9GTjtBQUNGO0F3QjFvRkU7RUFDRTtBeEI0b0ZKO0F3QjFvRkk7RUFDRTtBeEI0b0ZOO0F3QnZvRkU7RUFDRSwyQmpCczJCb0M7RWlCcjJCcEMsbUNqQmcyQm9DO0VpQi8xQnBDLHFCakI4MkJvQztFaUI3MkJwQztFVnZCRSw4RUFSVztBZHlxRmpCO0F3QmpvRkU7RUFNRTtFQU1BO0VBS0E7QXhCcW5GSjtBd0JobkZFO0VBQ0U7RUFDQTtBeEJrbkZKO0F3QjltRkU7RUFDRSxnQ2pCNDBCb0M7RWlCMTBCcEM7QXhCK21GSjtBd0J2bUZFO0VBRUUsd0NqQjh5Qm9DO0VpQjN5QnBDO0F4QnNtRko7QXdCbG1GRTtFQUNFO0VBQ0E7RUFDQSx5QmhCUGtCO0VnQlFsQiwyQmpCc3lCb0M7RW1CcDRCdEMsdUNuQnFpQ2dDO0VtQmxpQzlCO0VGNkZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsK0NqQmdzQjBCO0VpQi9yQjFCO0VDekZFLHFJRDBGRjtBeEJxbUZKO0F5QjNyRk07RUQwRUo7SUN6RU07RXpCOHJGTjtBQUNGO0F3QnZtRkU7RUFDRSx3Q2pCNDdCOEI7QVA2cURsQzs7QXdCaG1GQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0JqQndmNEI7RWlCdmY1QiwyQmpCMnhCc0M7RWlCMXhCdEM7RUFDQTtFQUNBO0F4Qm1tRkY7QXdCam1GRTtFQUNFO0F4Qm1tRko7QXdCaG1GRTtFQUVFO0VBQ0E7QXhCaW1GSjs7QXdCdGxGQTtFQUNFLG1FakI0d0JzQztFaUIzd0J0QztFcEJ5SUksbUJBTEk7RUt2UU47QVQ4dEZKO0F3QnZsRkU7RUFDRTtFQUNBO0VBQ0EseUJqQm9vQjBCO0FQcTlEOUI7O0F3QnJsRkE7RUFDRSxpRWpCZ3dCc0M7RWlCL3ZCdEM7RXBCNEhJLGtCQUxJO0VLdlFOO0FUMHVGSjtBd0J0bEZFO0VBQ0U7RUFDQTtFQUNBLHVCakIybkIwQjtBUDY5RDlCOztBd0JobEZFO0VBQ0UsaUVqQjZ1Qm9DO0FQczJEeEM7QXdCaGxGRTtFQUNFLG1FakIwdUJvQztBUHcyRHhDO0F3Qi9rRkU7RUFDRSxpRWpCdXVCb0M7QVAwMkR4Qzs7QXdCNWtGQTtFQUNFLFdqQnF1QnNDO0VpQnB1QnRDLDZEakI4dEJzQztFaUI3dEJ0QyxhaEIxR29CO0FSeXJGdEI7QXdCN2tGRTtFQUNFO0F4QitrRko7QXdCNWtGRTtFQUNFO0VmdkxBO0FUc3dGSjtBd0Iza0ZFO0VBQ0U7RWY1TEE7QVQwd0ZKO0F3QjFrRkU7RUFBb0IsK0RqQjhzQmtCO0FQKzNEeEM7QXdCNWtGRTtFQUFvQiw2RGpCOHNCa0I7QVBpNER4Qzs7QTJCOXhGQTtFQUNFO0VBRUE7RUFDQTtFQUNBO0V2QnFSSSxlQUxJO0V1QjdRUixnQnBCK2xCNEI7RW9COWxCNUIsZ0JwQnNtQjRCO0VvQnJtQjVCLDJCcEJ5M0JzQztFb0J4M0J0QztFQUNBLG1DcEJrM0JzQztFb0JqM0J0QztFQUNBO0VBQ0Esd0NwQis5QmtDO0VvQjk5QmxDLDBCcEIrOUJrQztFb0I5OUJsQztFbEJIRTtFS0xFLHNDQVJXO0VXVVgsd0VFU0o7QTNCK3hGRjtBeUJweUZNO0VFZk47SUZnQlE7RXpCdXlGTjtBQUNGO0EyQmx5RkU7RUFDRSxxQnBCczNCb0M7RW9CcjNCcEM7RWJmRSw4RUFSVztBZDR6RmpCO0EyQjV4RkU7RUFFRSxxQm5Ca0RrQjtFbUJqRGxCO0EzQjZ4Rko7QTJCMXhGRTtFQUVFLHdDcEJ1MUJvQztBUG84RHhDO0EyQnR4RkU7RUFDRTtFQUNBO0EzQnd4Rko7O0EyQnB4RkE7RUFDRSxvQnBCc3VCNEI7RW9CcnVCNUIsdUJwQnF1QjRCO0VvQnB1QjVCLG9CcEJxdUI0QjtFSGxnQnhCLG1CQUxJO0VLdlFOO0FUazBGSjs7QTJCcHhGQTtFQUNFLG1CcEJrdUI0QjtFb0JqdUI1QixzQnBCaXVCNEI7RW9CaHVCNUIsa0JwQml1QjRCO0VIdGdCeEIsa0JBTEk7RUt2UU47QVQwMEZKOztBMkJseEZJO0VBQ0U7QTNCcXhGTjs7QTRCNzFGQTtFQUNFO0VBQ0Esa0JyQnE2QndDO0VxQnA2QnhDLG1CckJxNkJ3QztFcUJwNkJ4Qyx1QnJCcTZCd0M7QVAyN0QxQztBNEI5MUZFO0VBQ0U7RUFDQTtBNUJnMkZKOztBNEI1MUZBO0VBQ0Usb0JyQjI1QndDO0VxQjE1QnhDO0VBQ0E7QTVCKzFGRjtBNEI3MUZFO0VBQ0U7RUFDQTtFQUNBO0E1QisxRko7O0E0QjMxRkE7RUFDRTtFQUVBO0VBQ0EsVXJCMDRCd0M7RXFCejRCeEMsV3JCeTRCd0M7RXFCeDRCeEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDJEckIyNEJ3QztFcUIxNEJ4QztVQUFBO0E1QjYxRkY7QTRCMTFGRTtFbkIzQkU7QVR3M0ZKO0E0QnoxRkU7RUFFRSxrQnJCbTRCc0M7QVB1OUQxQztBNEJ2MUZFO0VBQ0UsdUJyQjAzQnNDO0FQKzlEMUM7QTRCdDFGRTtFQUNFLHFCckJzMUJvQztFcUJyMUJwQztFQUNBLGtEckI4Zm9CO0FQMDFFeEI7QTRCcjFGRTtFQUNFLHlCM0JsQ29CO0UyQm1DcEIscUIzQm5Db0I7QUQwM0Z4QjtBNEJyMUZJO0VBRUk7QTVCczFGUjtBNEJoMUZJO0VBRUk7QTVCaTFGUjtBNEIxMEZFO0VBQ0UseUIzQnZEb0I7RTJCd0RwQixxQjNCeERvQjtFMkIyRGxCO0E1QjAwRk47QTRCcDBGRTtFQUNFO0VBQ0E7RUFDQSxZckJrMkJ1QztBUG8rRDNDO0E0Qi96Rkk7RUFDRTtFQUNBLFlyQnkxQnFDO0FQdytEM0M7O0E0Qm56RkE7RUFDRSxtQnJCbzFCZ0M7QVBrK0RsQztBNEJwekZFO0VBQ0U7RUFFQSxVckI4MEI4QjtFcUI3MEI5QjtFQUNBO0VBQ0E7RW5CakhBO0VnQkhFLGlER3NIRjtBNUJxekZKO0F5QnY2Rk07RUcwR0o7SUh6R007RXpCMDZGTjtBQUNGO0E0Qnh6Rkk7RUFDRTtBNUIwekZOO0E0QnZ6Rkk7RUFDRSxpQ3JCNjBCNEI7RXFCMTBCMUI7QTVCdXpGUjtBNEJoekZFO0VBQ0Usb0JyQnd6QjhCO0VxQnZ6QjlCO0E1Qmt6Rko7QTRCaHpGSTtFQUNFO0VBQ0E7QTVCa3pGTjs7QTRCN3lGQTtFQUNFO0VBQ0Esa0JyQnN5QmdDO0FQMGdFbEM7O0E0Qjd5RkE7RUFDRTtFQUNBO0VBQ0E7QTVCZ3pGRjtBNEI1eUZJO0VBQ0U7RUFDQTtFQUNBLGFyQnNwQndCO0FQd3BFOUI7O0E0QnZ5Rkk7RUFDRTtBNUIweUZOOztBNkI3OUZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0JnK0ZGO0E2Qjk5RkU7RUFDRTtBN0JnK0ZKO0E2QjU5Rkk7RUFBMEIsa0V0QjhnQ2E7QVBpOUQzQztBNkI5OUZJO0VBQTBCLGtFdEI2Z0NhO0FQbzlEM0M7QTZCOTlGRTtFQUNFO0E3QmcrRko7QTZCNzlGRTtFQUNFLFd0QisvQnVDO0VzQjkvQnZDLFl0QjgvQnVDO0VzQjcvQnZDO0VBQ0E7RUgxQkYseUJ6QjRCc0I7RXlCekJwQjtFR3lCQSxTdEI2L0J1QztFRTFnQ3ZDO0VLTEUsK0NBUlc7RVdVWCxvSEltQkY7RUpuQkUsNEdJbUJGO0E3QmcrRko7QXlCLytGTTtFSU1KO0lKTE07SUFBQTtFekJrL0ZOO0FBQ0Y7QTZCbitGSTtFSGpDRix5Qm5COGhDeUM7RW1CM2hDdkM7QTFCcWdHSjtBNkJsK0ZFO0VBQ0UsV3RCdytCOEI7RXNCditCOUIsY3RCdytCOEI7RXNCditCOUI7RUFDQSxldEJ1K0I4QjtFc0J0K0I5Qix3Q3RCdStCOEI7RXNCdCtCOUI7RXBCN0JBO0VLTEUsc0NBUlc7QWRnaEdqQjtBNkJqK0ZFO0VBQ0UsV3RCbytCdUM7RXNCbitCdkMsWXRCbStCdUM7RXNCbCtCdkM7RUhwREYseUJ6QjRCc0I7RXlCekJwQjtFR21EQSxTdEJtK0J1QztFRTFnQ3ZDO0VLTEUsK0NBUlc7RVdVWCxpSEk2Q0Y7RUo3Q0UsNEdJNkNGO0E3Qm8rRko7QXlCN2dHTTtFSWlDSjtJSmhDTTtJQUFBO0V6QmdoR047QUFDRjtBNkJ2K0ZJO0VIM0RGLHlCbkI4aEN5QztFbUIzaEN2QztBMUJtaUdKO0E2QnQrRkU7RUFDRSxXdEI4OEI4QjtFc0I3OEI5QixjdEI4OEI4QjtFc0I3OEI5QjtFQUNBLGV0QjY4QjhCO0VzQjU4QjlCLHdDdEI2OEI4QjtFc0I1OEI5QjtFcEJ2REE7RUtMRSxzQ0FSVztBZDhpR2pCO0E2QnIrRkU7RUFDRTtBN0J1K0ZKO0E2QnIrRkk7RUFDRSwyQ3RCZzlCcUM7QVB1aEUzQztBNkJwK0ZJO0VBQ0UsMkN0QjQ4QnFDO0FQMGhFM0M7O0E4QjdqR0E7RUFDRTtBOUJna0dGO0E4QjlqR0U7OztFQUdFLHVEdkJ3aUNvQztFdUJ2aUNwQywyRHZCdWlDb0M7RXVCdGlDcEMsaUJ2QnVpQ29DO0FQeWhFeEM7QThCN2pHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VMUkUsZ0VLU0Y7QTlCK2pHSjtBeUJwa0dNO0VLVEo7SUxVTTtFekJ1a0dOO0FBQ0Y7QThCamtHRTs7RUFFRTtBOUJta0dKO0E4QmprR0k7O0VBQ0U7QTlCb2tHTjtBOEJqa0dJOzs7RUFFRSxxQnZCNGdDa0M7RXVCM2dDbEMsd0J2QjRnQ2tDO0FQd2pFeEM7QThCamtHSTs7RUFDRSxxQnZCdWdDa0M7RXVCdGdDbEMsd0J2QnVnQ2tDO0FQNmpFeEM7QThCaGtHRTtFQUNFLHFCdkJpZ0NvQztFdUJoZ0NwQyx3QnZCaWdDb0M7QVBpa0V4QztBOEIzakdJOzs7O0VBQ0U7RUFDQSw4RHZCMi9Ca0M7QVBxa0V4QztBOEI5akdNOzs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0EsYXZCbS9CZ0M7RXVCbC9CaEM7RUFDQSxtQ3ZCZzBCZ0M7RUVoM0JwQztBVG9uR0o7QThCN2pHSTtFQUNFO0VBQ0EsOER2QjArQmtDO0FQcWxFeEM7QThCMWpHSTtFQUNFO0E5QjRqR047QThCeGpHRTs7RUFFRSxjdkIxRU87QVBvb0dYO0E4QnhqR0k7O0VBQ0Usd0N2QjB5QmtDO0FQaXhFeEM7O0ErQmxwR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQnFwR0Y7QStCbnBHRTs7O0VBR0U7RUFDQTtFQUNBO0VBQ0E7QS9CcXBHSjtBK0JqcEdFOzs7RUFHRTtBL0JtcEdKO0ErQjdvR0U7RUFDRTtFQUNBO0EvQitvR0o7QStCN29HSTtFQUNFO0EvQitvR047O0ErQnBvR0E7RUFDRTtFQUNBO0VBQ0E7RTNCOE9JLGVBTEk7RTJCdk9SLGdCeEJ5akI0QjtFd0J4akI1QixnQnhCZ2tCNEI7RXdCL2pCNUIsMkJ4Qm0xQnNDO0V3QmwxQnRDO0VBQ0E7RUFDQSx1Q3hCMDZCc0M7RXdCejZCdEM7RXRCdENFO0FUOHFHSjs7QStCOW5HQTs7OztFQUlFO0UzQndOSSxrQkFMSTtFS3ZRTjtBVHVyR0o7O0ErQjluR0E7Ozs7RUFJRTtFM0IrTUksbUJBTEk7RUt2UU47QVRnc0dKOztBK0I5bkdBOztFQUVFO0EvQmlvR0Y7O0ErQnBuR0k7Ozs7RXRCakVBO0VBQ0E7QVQ0ckdKO0ErQm5uR0k7Ozs7RXRCMUVBO0VBQ0E7QVRtc0dKO0ErQjdtR0U7RUFDRTtFdEIxRUE7RUFDQTtBVDByR0o7QStCN21HRTs7RXRCOUVFO0VBQ0E7QVQrckdKOztBZ0N2dEdFO0VBQ0U7RUFDQTtFQUNBLG1CekJ1MEJvQztFSHJrQmxDLGtCQUxJO0U0QjFQTixpQ3pCa2pDcUI7QVB1cUV6Qjs7QWdDdHRHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U1QnFQRSxtQkFMSTtFNEI3T04sV3pCcWlDcUI7RXlCcGlDckIsbUN6Qm9pQ3FCO0VFL2pDckI7QVRvdkdKOztBZ0NwdEdJOzs7O0VBRUU7QWhDeXRHTjs7QWdDeHdHSTtFQXFERSwrQ3pCdWhDbUI7RXlCcGhDakIsaUN6QjgxQmdDO0V5QjcxQmhDO0VBQ0E7RUFDQTtFQUNBO0FoQ3F0R1I7QWdDbHRHTTtFQUNFLCtDekI0Z0NpQjtFT3BrQ25CLHVGQVJXO0FkcXhHakI7O0FnQ3J4R0k7RUErRUksaUN6QnUwQmdDO0V5QnQwQmhDO0FoQzBzR1I7O0FnQzF4R0k7RUF1RkUsK0N6QnEvQm1CO0FQa3RFekI7QWdDcHNHUTtFQUVFO0VBQ0Esc0J6QnE1QjhCO0V5QnA1QjlCO0VBQ0E7QWhDcXNHVjtBZ0Nqc0dNO0VBQ0UsK0N6QncrQmlCO0VPcGtDbkIsdUZBUlc7QWR3eUdqQjs7QWdDeHlHSTtFQWtISTtBaEMwckdSOztBZ0M1eUdJO0VBeUhFLCtDekJtOUJtQjtBUG91RXpCO0FnQ3JyR007RUFDRSw0Q3pCZzlCaUI7QVB1dUV6QjtBZ0NwckdNO0VBQ0UsMkR6QjQ4QmlCO0FQMHVFekI7QWdDbnJHTTtFQUNFLGlDekJ3OEJpQjtBUDZ1RXpCOztBZ0NockdJO0VBQ0U7QWhDbXJHTjs7QWdDN3pHSTs7Ozs7RUFvSk07QWhDaXJHVjs7QWdDanpHRTtFQUNFO0VBQ0E7RUFDQSxtQnpCdTBCb0M7RUhya0JsQyxrQkFMSTtFNEIxUE4sbUN6QmtqQ3FCO0FQaXdFekI7O0FnQ2h6R0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFNUJxUEUsbUJBTEk7RTRCN09OLFd6QnFpQ3FCO0V5QnBpQ3JCLGtDekJvaUNxQjtFRS9qQ3JCO0FUODBHSjs7QWdDOXlHSTs7OztFQUVFO0FoQ216R047O0FnQ2wyR0k7RUFxREUsaUR6QnVoQ21CO0V5QnBoQ2pCLGlDekI4MUJnQztFeUI3MUJoQztFQUNBO0VBQ0E7RUFDQTtBaEMreUdSO0FnQzV5R007RUFDRSxpRHpCNGdDaUI7RU9wa0NuQixzRkFSVztBZCsyR2pCOztBZ0MvMkdJO0VBK0VJLGlDekJ1MEJnQztFeUJ0MEJoQztBaENveUdSOztBZ0NwM0dJO0VBdUZFLGlEekJxL0JtQjtBUDR5RXpCO0FnQzl4R1E7RUFFRTtFQUNBLHNCekJxNUI4QjtFeUJwNUI5QjtFQUNBO0FoQyt4R1Y7QWdDM3hHTTtFQUNFLGlEekJ3K0JpQjtFT3BrQ25CLHNGQVJXO0FkazRHakI7O0FnQ2w0R0k7RUFrSEk7QWhDb3hHUjs7QWdDdDRHSTtFQXlIRSxpRHpCbTlCbUI7QVA4ekV6QjtBZ0Mvd0dNO0VBQ0UsOEN6Qmc5QmlCO0FQaTBFekI7QWdDOXdHTTtFQUNFLDBEekI0OEJpQjtBUG8wRXpCO0FnQzd3R007RUFDRSxtQ3pCdzhCaUI7QVB1MEV6Qjs7QWdDMXdHSTtFQUNFO0FoQzZ3R047O0FnQ3Y1R0k7Ozs7O0VBc0pNO0FoQ3l3R1Y7O0FpQ2o2R0E7RUFFRTtFQUNBO0VBQ0E7RTdCdVJJLHdCQUxJO0U2QmhSUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0U3QnNRSSxrQ0FMSTtFNkIvUFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RXhCakJFO0VpQmZGLGtDT2tDcUI7RVAvQm5CO0VaT0Usb0NBUlc7RVdVWCxxSVF3Qko7QWpDaTZHRjtBeUJyN0dNO0VRaEJOO0lSaUJRO0V6Qnc3R047QUFDRjtBaUNwNkdFO0VBQ0U7RUFFQTtFQUNBO0FqQ3E2R0o7QWlDbDZHRTtFQUVFO0VBQ0E7RUFDQTtBakNtNkdKO0FpQ2g2R0U7RUFDRTtFUHJERix3Q09zRHVCO0VQbkRyQjtFT29EQTtFQUNBO0VBR0U7QWpDaTZHTjtBaUMzNUdFO0VBQ0U7RUFDQTtFQUdFO0FqQzI1R047QWlDcjVHRTtFQUtFO0VBQ0E7RUFFQTtFQUNBO0VuQjNFRSx1Q0FSVztBZHMrR2pCO0FpQ2g1R0k7RUFHSTtBakNnNUdSO0FpQ3o0R0U7RUFHSTtBakN5NEdOO0FpQ240R0U7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RW5CekdFLGdCQVJXO0FkcS9HakI7O0FpQ3gzR0U7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEMyK0dGOztBaUN6NEdFO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDNC9HRjs7QWlDMTVHRTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQzZnSEY7O0FpQzM2R0U7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEM4aEhGOztBaUM1N0dFO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDK2lIRjs7QWlDNzhHRTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQ2drSEY7O0FpQzk5R0U7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbENpbEhGOztBaUMvK0dFO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDa21IRjs7QWlDdCtHRTtFQ2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQzBsSEY7O0FpQ3YvR0U7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEMybUhGOztBaUN4Z0hFO0VDaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDNG5IRjs7QWlDemhIRTtFQ2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQzZvSEY7O0FpQzFpSEU7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEM4cEhGOztBaUMzakhFO0VDaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDK3FIRjs7QWlDNWtIRTtFQ2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQ2dzSEY7O0FpQzdsSEU7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbENpdEhGOztBaUNsbUhBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUEsMEIxQjhRd0M7RTBCNVF0QztBakNtbUhKO0FpQzNsSEU7RUFDRTtBakM2bEhKO0FpQzFsSEU7RUFDRTtBakM0bEhKOztBaUNqbEhBO0VDakpFO0VBQ0E7RTlCOE5JLDJCQUxJO0U4QnZOUjtBbENzdUhGOztBaUNwbEhBO0VDckpFO0VBQ0E7RTlCOE5JLDRCQUxJO0U4QnZOUjtBbEM2dUhGOztBbUNoekhBO0VWZ0JNLGdDVWZKO0FuQ216SEY7QXlCaHlITTtFVXBCTjtJVnFCUTtFekJteUhOO0FBQ0Y7QW1DdHpIRTtFQUNFO0FuQ3d6SEo7O0FtQ2x6SEU7RUFDRTtBbkNxekhKOztBbUNqekhBO0VBQ0U7RUFDQTtFVkRJLDZCVUVKO0FuQ296SEY7QXlCbHpITTtFVUxOO0lWTVE7RXpCcXpITjtBQUNGO0FtQ3Z6SEU7RUFDRTtFQUNBO0VWTkUsNEJVT0Y7QW5DeXpISjtBeUI1ekhNO0VVQUo7SVZDTTtFekIrekhOO0FBQ0Y7O0FvQ3AxSEE7Ozs7OztFQU1FO0FwQ3UxSEY7O0FvQ3AxSEE7RUFDRTtBcEN1MUhGO0FxQy96SEk7RUFDRTtFQUNBLG9COUI2aEJ3QjtFOEI1aEJ4Qix1QjlCMmhCd0I7RThCMWhCeEI7RUFyQ0o7RUFDQTtFQUNBO0VBQ0E7QXJDdTJIRjtBcUM3eUhJO0VBQ0U7QXJDK3lITjs7QW9DNzFIQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWhDdVFJLGlDQUxJO0VnQ2hRUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VoQzBPSSx1Q0FMSTtFZ0NuT1I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UzQnpDRTtFS0xFLHlDQVJXO0FkcTVIakI7QW9DMzFIRTtFQUNFO0VBQ0E7RUFDQTtBcEM2MUhKOztBb0NyMEhJO0VBQ0U7QXBDdzBITjtBb0N0MEhNO0VBQ0U7RUFDQTtBcEN3MEhSOztBb0NwMEhJO0VBQ0U7QXBDdTBITjtBb0NyMEhNO0VBQ0U7RUFDQTtBcEN1MEhSOztBaUJqM0hJO0VtQjRCQTtJQUNFO0VwQ3kxSEo7RW9DdjFISTtJQUNFO0lBQ0E7RXBDeTFITjtFb0NyMUhFO0lBQ0U7RXBDdTFISjtFb0NyMUhJO0lBQ0U7SUFDQTtFcEN1MUhOO0FBQ0Y7QWlCbDRISTtFbUI0QkE7SUFDRTtFcEN5MkhKO0VvQ3YySEk7SUFDRTtJQUNBO0VwQ3kySE47RW9DcjJIRTtJQUNFO0VwQ3UySEo7RW9DcjJISTtJQUNFO0lBQ0E7RXBDdTJITjtBQUNGO0FpQmw1SEk7RW1CNEJBO0lBQ0U7RXBDeTNISjtFb0N2M0hJO0lBQ0U7SUFDQTtFcEN5M0hOO0VvQ3IzSEU7SUFDRTtFcEN1M0hKO0VvQ3IzSEk7SUFDRTtJQUNBO0VwQ3UzSE47QUFDRjtBaUJsNkhJO0VtQjRCQTtJQUNFO0VwQ3k0SEo7RW9DdjRISTtJQUNFO0lBQ0E7RXBDeTRITjtFb0NyNEhFO0lBQ0U7RXBDdTRISjtFb0NyNEhJO0lBQ0U7SUFDQTtFcEN1NEhOO0FBQ0Y7QWlCbDdISTtFbUI0QkE7SUFDRTtFcEN5NUhKO0VvQ3Y1SEk7SUFDRTtJQUNBO0VwQ3k1SE47RW9DcjVIRTtJQUNFO0VwQ3U1SEo7RW9DcjVISTtJQUNFO0lBQ0E7RXBDdTVITjtBQUNGO0FvQzk0SEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcENnNUhKO0FxQ3ArSEk7RUFDRTtFQUNBLG9COUI2aEJ3QjtFOEI1aEJ4Qix1QjlCMmhCd0I7RThCMWhCeEI7RUE5Qko7RUFDQTtFQUNBO0VBQ0E7QXJDcWdJRjtBcUNsOUhJO0VBQ0U7QXJDbzlITjs7QW9DcDVIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBDdTVISjtBcUN6L0hJO0VBQ0U7RUFDQSxvQjlCNmhCd0I7RThCNWhCeEIsdUI5QjJoQndCO0U4QjFoQnhCO0VBdkJKO0VBQ0E7RUFDQTtFQUNBO0FyQ21oSUY7QXFDditISTtFQUNFO0FyQ3krSE47QW9DLzVISTtFQUNFO0FwQ2k2SE47O0FvQzM1SEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQzg1SEo7QXFDamhJSTtFQUNFO0VBQ0Esb0I5QjZoQndCO0U4QjVoQnhCLHVCOUIyaEJ3QjtFOEIxaEJ4QjtBckNtaElOO0FxQ3hnSU07RUFDRTtBckMwZ0lSO0FxQ3ZnSU07RUFDRTtFQUNBLHFCOUIwZ0JzQjtFOEJ6Z0J0Qix1QjlCd2dCc0I7RThCdmdCdEI7RUFuQ047RUFDQTtFQUNBO0FyQzZpSUY7QXFDdmdJSTtFQUNFO0FyQ3lnSU47QW9DOTZISTtFQUNFO0FwQ2c3SE47O0FvQ3o2SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQzQ2SEY7O0FvQ3Q2SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCN0J5YjRCO0U2QnhiNUI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UzQnRLRTtBVGdsSUo7QW9DdjZIRTtFQUVFO0VWMUxGLGtEVTRMdUI7RVZ6THJCO0ExQmltSUo7QW9DcjZIRTtFQUVFO0VBQ0E7RVZsTUYsbURVbU11QjtFVmhNckI7QTFCdW1JSjtBb0NwNkhFO0VBRUU7RUFDQTtFQUNBO0VBRUE7QXBDbzZISjs7QW9DaDZIQTtFQUNFO0FwQ202SEY7O0FvQy81SEE7RUFDRTtFQUNBO0VBQ0E7RWhDbUVJLG1CQUxJO0VnQzVEUjtFQUNBO0FwQ2s2SEY7O0FvQzk1SEE7RUFDRTtFQUNBO0VBQ0E7QXBDaTZIRjs7QW9DNzVIQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEMrNUhGOztBc0NycElBOztFQUVFO0VBQ0E7RUFDQTtBdEN3cElGO0FzQ3RwSUU7O0VBQ0U7RUFDQTtBdEN5cElKO0FzQ3BwSUU7Ozs7Ozs7Ozs7OztFQU1FO0F0QzRwSUo7O0FzQ3ZwSUE7RUFDRTtFQUNBO0VBQ0E7QXRDMHBJRjtBc0N4cElFO0VBQ0U7QXRDMHBJSjs7QXNDdHBJQTtFN0JoQkk7QVQwcUlKO0FzQ3RwSUU7O0VBRUU7QXRDd3BJSjtBc0NwcElFOzs7RTdCVkU7RUFDQTtBVG1xSUo7QXNDaHBJRTs7O0U3Qk5FO0VBQ0E7QVQycElKOztBc0Nub0lBO0VBQ0U7RUFDQTtBdENzb0lGO0FzQ3BvSUU7RUFHRTtBdENvb0lKO0FzQ2pvSUU7RUFDRTtBdENtb0lKOztBc0MvbklBO0VBQ0U7RUFDQTtBdENrb0lGOztBc0MvbklBO0VBQ0U7RUFDQTtBdENrb0lGOztBc0M1bklBO0V4QnhGTSxnREFSVztBZGd1SWpCO0FzQzVuSUU7RXhCNUZJLGdCQVJXO0FkbXVJakI7O0FzQ3JuSUE7RUFDRTtFQUNBO0VBQ0E7QXRDd25JRjtBc0N0bklFOztFQUVFO0F0Q3duSUo7QXNDcm5JRTs7RUFFRTtBdEN1bklKO0FzQ25uSUU7O0U3QjFGRTtFQUNBO0FUaXRJSjtBc0NubklFOztFN0I3R0U7RUFDQTtBVG91SUo7O0F1QzV2SUE7RUFFRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QzJ2SUY7O0F1Q3h2SUE7RUFDRTtFQUNBO0VuQ3NRSSx1Q0FMSTtFbUMvUFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFZGZJLHVHY2dCSjtBdkMydklGO0F5QnZ3SU07RWNHTjtJZEZRO0V6QjB3SU47QUFDRjtBdUM5dklFO0VBRUU7QXZDK3ZJSjtBdUMzdklFO0VBQ0U7RUFDQSxrRGhDa2hCb0I7QVAydUh4QjtBdUN6dklFO0VBRUU7RUFDQTtFQUNBO0F2QzB2SUo7O0F1Q2x2SUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0F2Q2t2SUY7QXVDaHZJRTtFQUNFO0VBQ0E7RTlCN0NBO0VBQ0E7QVRneUlKO0F1Q2p2SUk7RUFHRTtFQUNBO0F2Q2l2SU47QXVDN3VJRTs7RUFFRTtFQUNBO0VBQ0E7QXZDK3VJSjtBdUM1dUlFO0VBRUU7RTlCakVBO0VBQ0E7QVQreUlKOztBdUNwdUlBO0VBRUU7RUFDQTtFQUNBO0F2Q3N1SUY7QXVDbnVJRTtFOUI1RkU7QVRrMElKO0F1Q2x1SUU7O0VBRUU7RWJqSEYsb0Rha0h1QjtFYi9HckI7QTFCbzFJSjs7QXVDNXRJQTtFQUVFO0VBQ0E7RUFDQTtFQUdBO0F2QzR0SUY7QXVDMXRJRTtFQUNFO0VBQ0E7RUFDQTtBdkM0dElKO0F1QzF0SUk7RUFFRTtBdkMydElOO0F1Q3Z0SUU7O0VBRUUsZ0JoQzBkMEI7RWdDemQxQjtFQUNBO0F2Q3l0SUo7O0F1Qy9zSUU7O0VBRUU7RUFDQTtBdkNrdElKOztBdUM3c0lFOztFQUVFO0VBQ0E7RUFDQTtBdkNndElKOztBdUMxc0lFOztFQUNFO0F2QzhzSUo7O0F1Q3BzSUU7RUFDRTtBdkN1c0lKO0F1Q3JzSUU7RUFDRTtBdkN1c0lKOztBd0NwNElBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFZDNCRTtBMUJnNklKO0F3Qy8zSUU7Ozs7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEN1NElKO0F3Q24zSUE7RUFDRTtFQUNBO0VBQ0E7RXBDNE5JLDJDQUxJO0VvQ3JOUjtFQUNBO0VBQ0E7QXhDcTNJRjtBd0NuM0lFO0VBRUU7QXhDbzNJSjs7QXdDMTJJQTtFQUVFO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhDeTJJRjtBd0N0MklJO0VBRUU7QXhDdTJJTjtBd0NuMklFO0VBQ0U7QXhDcTJJSjs7QXdDNTFJQTtFQUNFLG1CakM4Z0NrQztFaUM3Z0NsQyxzQmpDNmdDa0M7RWlDNWdDbEM7QXhDKzFJRjtBd0M3MUlFOzs7RUFHRTtBeEMrMUlKOztBd0NsMUlBO0VBQ0U7RUFDQTtFQUdBO0F4Q20xSUY7O0F3Qy8wSUE7RUFDRTtFcEN5SUksNkNBTEk7RW9DbElSO0VBQ0E7RUFDQTtFQUNBO0UvQnhJRTtFZ0JIRSwrQ2U2SUo7QXhDazFJRjtBeUIzOUlNO0VlaUlOO0lmaElRO0V6Qjg5SU47QUFDRjtBd0NyMUlFO0VBQ0U7QXhDdTFJSjtBd0NwMUlFO0VBQ0U7RUFDQTtFQUNBO0F4Q3MxSUo7O0F3Q2gxSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4Q20xSUY7O0F3Q2gxSUE7RUFDRTtFQUNBO0F4Q20xSUY7O0FpQjc4SUk7RXVCc0lBO0lBRUk7SUFDQTtFeEMwMElOO0V3Q3gwSU07SUFDRTtFeEMwMElSO0V3Q3gwSVE7SUFDRTtFeEMwMElWO0V3Q3YwSVE7SUFDRTtJQUNBO0V4Q3kwSVY7RXdDcjBJTTtJQUNFO0V4Q3UwSVI7RXdDcDBJTTtJQUNFO0lBQ0E7RXhDczBJUjtFd0NuMElNO0lBQ0U7RXhDcTBJUjtFd0NsMElNO0lBRUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0kxQmhPSixnQkFSVztJV1VYLGdCZWdPSTtFeENtMElSO0V3Q2gwSVE7SUFDRTtFeENrMElWO0V3Qy96SVE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFeENpMElWO0FBQ0Y7QWlCOS9JSTtFdUJzSUE7SUFFSTtJQUNBO0V4QzAzSU47RXdDeDNJTTtJQUNFO0V4QzAzSVI7RXdDeDNJUTtJQUNFO0V4QzAzSVY7RXdDdjNJUTtJQUNFO0lBQ0E7RXhDeTNJVjtFd0NyM0lNO0lBQ0U7RXhDdTNJUjtFd0NwM0lNO0lBQ0U7SUFDQTtFeENzM0lSO0V3Q24zSU07SUFDRTtFeENxM0lSO0V3Q2wzSU07SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7STFCaE9KLGdCQVJXO0lXVVgsZ0JlZ09JO0V4Q20zSVI7RXdDaDNJUTtJQUNFO0V4Q2szSVY7RXdDLzJJUTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0V4Q2kzSVY7QUFDRjtBaUI5aUpJO0V1QnNJQTtJQUVJO0lBQ0E7RXhDMDZJTjtFd0N4NklNO0lBQ0U7RXhDMDZJUjtFd0N4NklRO0lBQ0U7RXhDMDZJVjtFd0N2NklRO0lBQ0U7SUFDQTtFeEN5NklWO0V3Q3I2SU07SUFDRTtFeEN1NklSO0V3Q3A2SU07SUFDRTtJQUNBO0V4Q3M2SVI7RXdDbjZJTTtJQUNFO0V4Q3E2SVI7RXdDbDZJTTtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJMUJoT0osZ0JBUlc7SVdVWCxnQmVnT0k7RXhDbTZJUjtFd0NoNklRO0lBQ0U7RXhDazZJVjtFd0MvNUlRO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RXhDaTZJVjtBQUNGO0FpQjlsSkk7RXVCc0lBO0lBRUk7SUFDQTtFeEMwOUlOO0V3Q3g5SU07SUFDRTtFeEMwOUlSO0V3Q3g5SVE7SUFDRTtFeEMwOUlWO0V3Q3Y5SVE7SUFDRTtJQUNBO0V4Q3k5SVY7RXdDcjlJTTtJQUNFO0V4Q3U5SVI7RXdDcDlJTTtJQUNFO0lBQ0E7RXhDczlJUjtFd0NuOUlNO0lBQ0U7RXhDcTlJUjtFd0NsOUlNO0lBRUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0kxQmhPSixnQkFSVztJV1VYLGdCZWdPSTtFeENtOUlSO0V3Q2g5SVE7SUFDRTtFeENrOUlWO0V3Qy84SVE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFeENpOUlWO0FBQ0Y7QWlCOW9KSTtFdUJzSUE7SUFFSTtJQUNBO0V4QzBnSk47RXdDeGdKTTtJQUNFO0V4QzBnSlI7RXdDeGdKUTtJQUNFO0V4QzBnSlY7RXdDdmdKUTtJQUNFO0lBQ0E7RXhDeWdKVjtFd0NyZ0pNO0lBQ0U7RXhDdWdKUjtFd0NwZ0pNO0lBQ0U7SUFDQTtFeENzZ0pSO0V3Q25nSk07SUFDRTtFeENxZ0pSO0V3Q2xnSk07SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7STFCaE9KLGdCQVJXO0lXVVgsZ0JlZ09JO0V4Q21nSlI7RXdDaGdKUTtJQUNFO0V4Q2tnSlY7RXdDLy9JUTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0V4Q2lnSlY7QUFDRjtBd0N4akpJO0VBRUk7RUFDQTtBeEN5akpSO0F3Q3ZqSlE7RUFDRTtBeEN5akpWO0F3Q3ZqSlU7RUFDRTtBeEN5akpaO0F3Q3RqSlU7RUFDRTtFQUNBO0F4Q3dqSlo7QXdDcGpKUTtFQUNFO0F4Q3NqSlY7QXdDbmpKUTtFQUNFO0VBQ0E7QXhDcWpKVjtBd0NsakpRO0VBQ0U7QXhDb2pKVjtBd0NqakpRO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UxQmhPSixnQkFSVztFV1VYLGdCZWdPSTtBeENrakpWO0F3Qy9pSlU7RUFDRTtBeENpakpaO0F3QzlpSlU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeENnakpaOztBd0MvaEpBOztFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhDaWlKRjs7QXdDM2hKSTtFQUNFO0F4QzhoSk47O0F5Q3Z6SkE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VoQ2pCRTtFS0xFLHFDQVJXO0FkdTFKakI7QXlDcnpKRTtFQUNFO0VBQ0E7QXpDdXpKSjtBeUNwekpFO0VBQ0U7RUFDQTtBekNzekpKO0F5Q3B6Skk7RUFDRTtFaEN0QkY7RUFDQTtBVDYwSko7QXlDcHpKSTtFQUNFO0VoQ2JGO0VBQ0E7QVRvMEpKO0F5Q2p6SkU7O0VBRUU7QXpDbXpKSjs7QXlDL3lKQTtFQUdFO0VBQ0E7RUFDQTtBekNnekpGOztBeUM3eUpBO0VBQ0U7RUFDQTtBekNnekpGOztBeUM3eUpBO0VBQ0U7RUFDQTtFQUNBO0F6Q2d6SkY7O0F5Qzd5SkE7RUFDRTtBekNnekpGOztBeUN4eUpFO0VBQ0U7QXpDMnlKSjs7QXlDbnlKQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpDc3lKRjtBeUNweUpFO0VoQzdGRTtBVG80Sko7O0F5Q2x5SkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBekNxeUpGO0F5Q255SkU7RWhDeEdFO0FUODRKSjs7QXlDNXhKQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F6Qyt4SkY7QXlDN3hKRTtFQUNFO0VBQ0E7QXpDK3hKSjs7QXlDM3hKQTtFQUNFO0VBQ0E7QXpDOHhKRjs7QXlDMXhKQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFaEMxSUU7QVR3NkpKOztBeUMxeEpBOzs7RUFHRTtBekM2eEpGOztBeUMxeEpBOztFaEMzSUk7RUFDQTtBVDA2Sko7O0F5QzN4SkE7O0VoQ2xJSTtFQUNBO0FUazZKSjs7QXlDcHhKRTtFQUNFO0F6Q3V4Sko7QWlCbDVKSTtFd0J1SEo7SUFRSTtJQUNBO0V6Q3V4SkY7RXlDcHhKRTtJQUVFO0lBQ0E7RXpDcXhKSjtFeUNueEpJO0lBQ0U7SUFDQTtFekNxeEpOO0V5Q2h4Sk07SWhDM0tKO0lBQ0E7RVQ4N0pGO0V5Q2p4SlE7O0lBR0U7RXpDa3hKVjtFeUNoeEpROztJQUdFO0V6Q2l4SlY7RXlDN3dKTTtJaEM1S0o7SUFDQTtFVDQ3SkY7RXlDOXdKUTs7SUFHRTtFekMrd0pWO0V5Qzd3SlE7O0lBR0U7RXpDOHdKVjtBQUNGOztBMEN2L0pBO0VBRUU7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0V0QytRSSx5Q0FMSTtFc0N4UVI7RUFDQTtFakNBRTtBVHUvSko7O0EwQ2ovSkU7RUFDRTtBMUNvL0pKO0EwQ2wvSkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBMUNvL0pOO0EwQ2gvSkU7RUFDRTtBMUNrL0pKOztBMkNuaEtBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQ3FoS0Y7O0EyQ2poS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V2QzRQSSxlQUxJO0V1Q3JQUjtFQUNBO0VBQ0E7RUFDQTtFbENyQkU7RWtDdUJGO0VsQjFCSSwwQ2tCMkJKO0EzQ29oS0Y7QXlCM2lLTTtFa0JVTjtJbEJUUTtFekI4aUtOO0FBQ0Y7QTJDdmhLRTtFQUNFO0VBQ0E7RUFDQTtBM0N5aEtKO0EyQ3ZoS0k7RUFDRTtFQUNBO0EzQ3loS047QTJDcGhLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWxCakRFLG1Ea0JrREY7QTNDc2hLSjtBeUJwa0tNO0VrQnFDSjtJbEJwQ007RXpCdWtLTjtBQUNGO0EyQ3hoS0U7RUFDRTtBM0MwaEtKO0EyQ3ZoS0U7RUFDRTtFQUNBO0VBQ0E7QTNDeWhLSjs7QTJDcmhLQTtFQUNFO0EzQ3doS0Y7O0EyQ3JoS0E7RUFDRTtFQUNBO0VBQ0E7QTNDd2hLRjtBMkN0aEtFO0VsQzdERTtFQUNBO0FUc2xLSjtBMkN2aEtJO0VsQ2hFQTtFQUNBO0FUMGxLSjtBMkN0aEtFO0VBQ0U7QTNDd2hLSjtBMkNwaEtFO0VsQzVERTtFQUNBO0FUbWxLSjtBMkNwaEtNO0VsQ2hFRjtFQUNBO0FUdWxLSjtBMkNuaEtJO0VsQ3JFQTtFQUNBO0FUMmxLSjs7QTJDamhLQTtFQUNFO0EzQ29oS0Y7O0EyQzNnS0U7RUFDRTtFQUNBO0VsQzlHQTtBVDZuS0o7QTJDNWdLSTtFQUFnQjtBM0MrZ0twQjtBMkM5Z0tJO0VBQWU7QTNDaWhLbkI7QTJDN2dLTTtFbEN0SEY7QVRzb0tKO0EyQ3pnS0k7RWxDN0hBO0FUeW9LSjs7QTJDcGdLSTtFQUNFO0VBQ0E7QTNDdWdLTjs7QTRDanFLQTtFQUVFO0VBQ0E7RXhDNFJJLCtCQUxJO0V3Q3JSUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RWpDcEJBO0VBQ0E7QVhzcktGOztBNEMvcEtBO0VBQ0U7RUFDQTtFQUNBO0V4Q2dRSSx5Q0FMSTtFd0N6UFI7RUFDQTtFQUNBO0VBQ0E7RW5CcEJJLHFJbUJxQko7QTVDa3FLRjtBeUJucktNO0VtQlFOO0luQlBRO0V6QnNyS047QUFDRjtBNENycUtFO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7QTVDc3FLSjtBNENucUtFO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsVXJDMnVDZ0M7RXFDMXVDaEM7QTVDcXFLSjtBNENscUtFO0VBRUU7RUFDQTtFbEJ0REYsZ0RrQnVEdUI7RWxCcERyQjtFa0JxREE7QTVDb3FLSjtBNENqcUtFO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QTVDa3FLSjs7QTRDN3BLRTtFQUNFLDhDckM4c0NnQztBUGs5SHBDO0E0QzNwS007RW5DOUJGO0VBQ0E7QVQ0cktKO0E0Q3pwS007RW5DbERGO0VBQ0E7QVQ4c0tKOztBNEM1b0tBO0VDbEdFO0VBQ0E7RXpDMFJJLGtDQUxJO0V5Q25SUjtBN0NrdktGOztBNEMvb0tBO0VDdEdFO0VBQ0E7RXpDMFJJLG1DQUxJO0V5Q25SUjtBN0N5dktGOztBOEMzdktBO0VBRUU7RUFDQTtFMUN1UkksNEJBTEk7RTBDaFJSO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RTFDK1FJLG9DQUxJO0UwQ3hRUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXJDSkU7RWlCWkE7QTFCNndLSjtBOEN4dktFO0VBQ0U7QTlDMHZLSjs7QThDcnZLQTtFQUNFO0VBQ0E7QTlDd3ZLRjs7QStDeHhLQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFdENIRTtBVDR4S0o7O0ErQ3B4S0E7RUFFRTtBL0NzeEtGOztBK0NseEtBO0VBQ0UsZ0J4QzZrQjRCO0V3QzVrQjVCO0EvQ3F4S0Y7O0ErQzd3S0E7RUFDRSxtQnhDcytDOEI7QVAweUhoQztBK0M3d0tFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Mrd0tKOztBK0N2d0tFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9DMHdLSjs7QStDOXdLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvQ2l4S0o7O0ErQ3J4S0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0N3eEtKOztBK0M1eEtFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9DK3hLSjs7QStDbnlLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvQ3N5S0o7O0ErQzF5S0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0M2eUtKOztBK0NqektFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9Db3pLSjs7QStDeHpLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvQzJ6S0o7O0FnRHYzS0E7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUdBO0VBQ0E7RXZDWEU7QVRpNEtKOztBZ0RsM0tBO0VBQ0U7RUFDQTtBaERxM0tGO0FnRG4zS0U7RUFFRTtFQUNBO0FoRG8zS0o7O0FnRDMyS0E7RUFDRTtFQUNBO0VBQ0E7QWhEODJLRjtBZ0QzMktFO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QWhENDJLSjtBZ0R6MktFO0VBQ0U7RUFDQTtBaEQyMktKOztBZ0RuMktBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhEczJLRjtBZ0RwMktFO0V2Q3ZERTtFQUNBO0FUODVLSjtBZ0RwMktFO0V2QzdDRTtFQUNBO0FUbzVLSjtBZ0RwMktFO0VBRUU7RUFDQTtFQUNBO0FoRHEyS0o7QWdEajJLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoRG0yS0o7QWdELzFLRTtFQUNFO0FoRGkyS0o7QWdELzFLSTtFQUNFO0VBQ0E7QWhEaTJLTjs7QWdEcDFLSTtFQUNFO0FoRHUxS047QWdEcDFLUTtFdkN2REo7RUFaQTtBVDI1S0o7QWdEbjFLUTtFdkN4RUo7RUFZQTtBVG01S0o7QWdEbDFLUTtFQUNFO0FoRG8xS1Y7QWdEajFLUTtFQUNFO0VBQ0E7QWhEbTFLVjtBZ0RqMUtVO0VBQ0U7RUFDQTtBaERtMUtaOztBaUJ6NktJO0UrQjhEQTtJQUNFO0VoRCsyS0o7RWdENTJLTTtJdkN2REo7SUFaQTtFVG03S0Y7RWdEMzJLTTtJdkN4RUo7SUFZQTtFVDI2S0Y7RWdEMTJLTTtJQUNFO0VoRDQyS1I7RWdEejJLTTtJQUNFO0lBQ0E7RWhEMjJLUjtFZ0R6MktRO0lBQ0U7SUFDQTtFaEQyMktWO0FBQ0Y7QWlCbDhLSTtFK0I4REE7SUFDRTtFaER1NEtKO0VnRHA0S007SXZDdkRKO0lBWkE7RVQyOEtGO0VnRG40S007SXZDeEVKO0lBWUE7RVRtOEtGO0VnRGw0S007SUFDRTtFaERvNEtSO0VnRGo0S007SUFDRTtJQUNBO0VoRG00S1I7RWdEajRLUTtJQUNFO0lBQ0E7RWhEbTRLVjtBQUNGO0FpQjE5S0k7RStCOERBO0lBQ0U7RWhEKzVLSjtFZ0Q1NUtNO0l2Q3ZESjtJQVpBO0VUbStLRjtFZ0QzNUtNO0l2Q3hFSjtJQVlBO0VUMjlLRjtFZ0QxNUtNO0lBQ0U7RWhENDVLUjtFZ0R6NUtNO0lBQ0U7SUFDQTtFaEQyNUtSO0VnRHo1S1E7SUFDRTtJQUNBO0VoRDI1S1Y7QUFDRjtBaUJsL0tJO0UrQjhEQTtJQUNFO0VoRHU3S0o7RWdEcDdLTTtJdkN2REo7SUFaQTtFVDIvS0Y7RWdEbjdLTTtJdkN4RUo7SUFZQTtFVG0vS0Y7RWdEbDdLTTtJQUNFO0VoRG83S1I7RWdEajdLTTtJQUNFO0lBQ0E7RWhEbTdLUjtFZ0RqN0tRO0lBQ0U7SUFDQTtFaERtN0tWO0FBQ0Y7QWlCMWdMSTtFK0I4REE7SUFDRTtFaEQrOEtKO0VnRDU4S007SXZDdkRKO0lBWkE7RVRtaExGO0VnRDM4S007SXZDeEVKO0lBWUE7RVQyZ0xGO0VnRDE4S007SUFDRTtFaEQ0OEtSO0VnRHo4S007SUFDRTtJQUNBO0VoRDI4S1I7RWdEejhLUTtJQUNFO0lBQ0E7RWhEMjhLVjtBQUNGO0FnRDk3S0E7RXZDaEpJO0FUaWxMSjtBZ0Q5N0tFO0VBQ0U7QWhEZzhLSjtBZ0Q5N0tJO0VBQ0U7QWhEZzhLTjs7QWdEbjdLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRHM3S0o7O0FnRGg4S0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaERtOEtKOztBZ0Q3OEtFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhEZzlLSjs7QWdEMTlLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRDY5S0o7O0FnRHYrS0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEQwK0tKOztBZ0RwL0tFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhEdS9LSjs7QWdEamdMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRG9nTEo7O0FnRDlnTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaERpaExKOztBaUQ3c0xBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0EsVTFDcXBEMkI7RTBDcHBEM0IsVzFDb3BEMkI7RTBDbnBEM0I7RUFDQTtFQUNBO0VBQ0E7RXhDSkU7RXdDTUY7QWpENnNMRjtBaUQxc0xFO0VBQ0U7RUFDQTtFQUNBO0FqRDRzTEo7QWlEenNMRTtFQUNFO0VBQ0E7RUFDQTtBakQyc0xKO0FpRHhzTEU7RUFFRTtFQUNBO1VBQUE7RUFDQTtBakR5c0xKOztBaURqc0xBO0VBSEU7QWpEd3NMRjs7QWlEL3JMSTtFQVRGO0FqRDRzTEY7O0FrRHB2TEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtBbERrdkxGOztBa0QzdUxBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7QWxENnVMRjtBa0QxdUxFO0V6QjVDSSxtQ3lCNkNGO0VBQ0EsOEIzQ2s4Q2dDO0FQMHlJcEM7QXlCdHhMTTtFeUJ3Q0o7SXpCdkNNO0V6Qnl4TE47QUFDRjtBa0QvdUxFO0VBQ0UsZTNDZzhDZ0M7QVBpeklwQztBa0Q3dUxFO0VBQ0Usc0IzQzY3Q2dDO0FQa3pJcEM7O0FrRDN1TEE7RUFDRTtBbEQ4dUxGO0FrRDV1TEU7RUFDRTtFQUNBO0FsRDh1TEo7QWtEM3VMRTtFQUNFO0FsRDZ1TEo7O0FrRHp1TEE7RUFDRTtFQUNBO0VBQ0E7QWxENHVMRjs7QWtEeHVMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFekNyRkU7RUtMRSxzQ0FSVztFb0NzR2Y7QWxEeXVMRjs7QWtEcnVMQTtFQUVFO0VBQ0E7RUFDQTtFQ2xIQTtFQUNBO0VBQ0E7RUFDQSxrQ0RrSDBCO0VDakgxQjtFQUNBO0VBQ0EsdUNEK0c0RDtBbEQydUw5RDtBbUR2MUxFO0VBQVM7QW5EMDFMWDtBbUR6MUxFO0VBQVMsbUNEMkdpRjtBbERpdkw1Rjs7QWtENXVMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXpDckdFO0VBQ0E7QVRxMUxKO0FrRDl1TEU7RUFDRTtFQUNBO0FsRGd2TEo7O0FrRDN1TEE7RUFDRTtFQUNBO0FsRDh1TEY7O0FrRHp1TEE7RUFDRTtFQUdBO0VBQ0E7QWxEMHVMRjs7QWtEdHVMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXpDekhFO0VBQ0E7QVRtMkxKO0FrRHJ1TEU7RUFDRTtBbER1dUxKOztBaUJsMUxJO0VpQ2lIRjtJQUNFO0lBQ0E7RWxEcXVMRjtFa0RqdUxBO0lBQ0U7SUFDQTtJQUNBO0VsRG11TEY7RWtEaHVMQTtJQUNFO0VsRGt1TEY7QUFDRjtBaUJqMkxJO0VpQ21JRjs7SUFFRTtFbERpdUxGO0FBQ0Y7QWlCdjJMSTtFaUMwSUY7SUFDRTtFbERndUxGO0FBQ0Y7QWtEdnRMSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsRHl0TE47QWtEdnRMTTtFQUNFO0VBQ0E7RXpDek1KO0FUbTZMSjtBa0R0dExNOztFekM3TUY7QVR1NkxKO0FrRHJ0TE07RUFDRTtBbER1dExSOztBaUJqM0xJO0VpQ3dJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VsRDZ1TEo7RWtEM3VMSTtJQUNFO0lBQ0E7SXpDek1KO0VUdTdMRjtFa0QxdUxJOztJekM3TUY7RVQyN0xGO0VrRHp1TEk7SUFDRTtFbEQydUxOO0FBQ0Y7QWlCdDRMSTtFaUN3SUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFbERpd0xKO0VrRC92TEk7SUFDRTtJQUNBO0l6Q3pNSjtFVDI4TEY7RWtEOXZMSTs7SXpDN01GO0VUKzhMRjtFa0Q3dkxJO0lBQ0U7RWxEK3ZMTjtBQUNGO0FpQjE1TEk7RWlDd0lBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RWxEcXhMSjtFa0RueExJO0lBQ0U7SUFDQTtJekN6TUo7RVQrOUxGO0VrRGx4TEk7O0l6QzdNRjtFVG0rTEY7RWtEanhMSTtJQUNFO0VsRG14TE47QUFDRjtBaUI5NkxJO0VpQ3dJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VsRHl5TEo7RWtEdnlMSTtJQUNFO0lBQ0E7SXpDek1KO0VUbS9MRjtFa0R0eUxJOztJekM3TUY7RVR1L0xGO0VrRHJ5TEk7SUFDRTtFbER1eUxOO0FBQ0Y7QWlCbDhMSTtFaUN3SUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFbEQ2ekxKO0VrRDN6TEk7SUFDRTtJQUNBO0l6Q3pNSjtFVHVnTUY7RWtEMXpMSTs7SXpDN01GO0VUMmdNRjtFa0R6ekxJO0lBQ0U7RWxEMnpMTjtBQUNGO0FvRGppTUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VoRHdSSSxnQ0FMSTtFZ0RqUlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VDbEJBLDhCbkRDVTtFbURDVjtFQUNBLGdCOUN3bUI0QjtFOEN2bUI1QixnQjlDK21CNEI7RThDOW1CNUI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWpEZ1JJLHNDQUxJO0VnRGhRUjtFQUNBO0FwRHlpTUY7QW9EdmlNRTtFQUFTO0FwRDBpTVg7QW9EeGlNRTtFQUNFO0VBQ0E7RUFDQTtBcEQwaU1KO0FvRHhpTUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcEQwaU1OOztBb0RyaU1BO0VBQ0U7QXBEd2lNRjtBb0R0aU1FO0VBQ0U7RUFDQTtFQUNBO0FwRHdpTUo7O0FvRHBpTUE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtBcER1aU1GO0FvRHJpTUU7RUFDRTtFQUNBO0VBQ0E7QXBEdWlNSjs7QW9EbmlNQTtBQUVBO0VBQ0U7QXBEcWlNRjtBb0RuaU1FO0VBQ0U7RUFDQTtFQUNBO0FwRHFpTUo7O0FvRGppTUE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtBcERvaU1GO0FvRGxpTUU7RUFDRTtFQUNBO0VBQ0E7QXBEb2lNSjs7QW9EaGlNQTtBQWtCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTNDakdFO0FUb25NSjs7QXNEdm9NQTtFQUVFO0VBQ0E7RWxENFJJLGdDQUxJO0VrRHJSUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VsRG1SSSxtQ0FMSTtFa0Q1UVI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFRHpCQSw4Qm5EQ1U7RW1EQ1Y7RUFDQSxnQjlDd21CNEI7RThDdm1CNUIsZ0I5QyttQjRCO0U4QzltQjVCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VqRGdSSSxzQ0FMSTtFa0QxUFI7RUFDQTtFQUNBO0VBQ0E7RTdDaEJFO0VLTEUsd0NBUlc7QWRnck1qQjtBc0Qvb01FO0VBQ0U7RUFDQTtFQUNBO0F0RGlwTUo7QXNEL29NSTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdERncE1OOztBc0Qxb01FO0VBQ0U7QXRENm9NSjtBc0Qzb01JO0VBRUU7QXRENG9NTjtBc0R6b01JO0VBQ0U7RUFDQTtBdEQyb01OO0FzRHhvTUk7RUFDRTtFQUNBO0F0RDBvTU47O0FzRHJvTUE7QUFFRTtFQUNFO0VBQ0E7RUFDQTtBdER1b01KO0FzRHJvTUk7RUFFRTtBdERzb01OO0FzRG5vTUk7RUFDRTtFQUNBO0F0RHFvTU47QXNEbG9NSTtFQUNFO0VBQ0E7QXREb29NTjs7QXNEL25NQTtBQUdFO0VBQ0U7QXREZ29NSjtBc0Q5bk1JO0VBRUU7QXREK25NTjtBc0Q1bk1JO0VBQ0U7RUFDQTtBdEQ4bk1OO0FzRDNuTUk7RUFDRTtFQUNBO0F0RDZuTU47QXNEeG5NRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXREMG5NSjs7QXNEdG5NQTtBQUVFO0VBQ0U7RUFDQTtFQUNBO0F0RHduTUo7QXNEdG5NSTtFQUVFO0F0RHVuTU47QXNEcG5NSTtFQUNFO0VBQ0E7QXREc25NTjtBc0Rubk1JO0VBQ0U7RUFDQTtBdERxbk1OOztBc0Robk1BO0FBa0JBO0VBQ0U7RUFDQTtFbEQyR0ksNkNBTEk7RWtEcEdSO0VBQ0E7RUFDQTtFN0M1SkU7RUFDQTtBVCt2TUo7QXNEam1NRTtFQUNFO0F0RG1tTUo7O0FzRC9sTUE7RUFDRTtFQUNBO0F0RGttTUY7O0F1RGh5TUE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0F2RGt5TUY7O0F1RDl4TUE7RUFDRTtJQUFLO0V2RGt5TUw7QUFDRjtBdUQveE1BO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtBdkQ4eE1GOztBdUQzeE1BO0VBRUU7RUFDQTtFQUNBO0F2RDZ4TUY7O0F1RHB4TUE7RUFDRTtJQUNFO0V2RHV4TUY7RXVEcnhNQTtJQUNFO0lBQ0E7RXZEdXhNRjtBQUNGO0F1RG54TUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtBdkRreE1GOztBdUQvd01BO0VBQ0U7RUFDQTtBdkRreE1GOztBdUQ5d01FO0VBQ0U7O0lBRUU7RXZEaXhNSjtBQUNGO0F3RGoyTUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhEazJNRjs7QWlCcnlNSTtFdUM1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0kxQzlCQSwwQ0FSVztJV1VYLDBDK0I4QkE7RXhEbzFNSjtBQUNGO0F5Qi8yTU07RStCWUo7SS9CWE07RXpCazNNTjtBQUNGO0FpQjV6TUk7RXVDNUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFeEQyMU1OO0V3RHgxTUk7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V4RDAxTU47RXdEdjFNSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V4RHkxTU47RXdEdDFNSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFeER3MU1OO0V3RHIxTUk7SUFFRTtFeERzMU1OO0V3RG4xTUk7SUFHRTtFeERtMU1OO0FBQ0Y7QWlCaDNNSTtFdUMvQkY7SUFpRU07SUFDQTtJQUNBO0V4RGsxTU47RXdEaDFNTTtJQUNFO0V4RGsxTVI7RXdELzBNTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBRUE7RXhEZzFNUjtBQUNGOztBaUJwM01JO0V1QzVDRjtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7STFDOUJBLDBDQVJXO0lXVVgsMEMrQjhCQTtFeERtNk1KO0FBQ0Y7QXlCOTdNTTtFK0JZSjtJL0JYTTtFekJpOE1OO0FBQ0Y7QWlCMzRNSTtFdUM1QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V4RDA2TU47RXdEdjZNSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXhEeTZNTjtFd0R0Nk1JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXhEdzZNTjtFd0RyNk1JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V4RHU2TU47RXdEcDZNSTtJQUVFO0V4RHE2TU47RXdEbDZNSTtJQUdFO0V4RGs2TU47QUFDRjtBaUIvN01JO0V1Qy9CRjtJQWlFTTtJQUNBO0lBQ0E7RXhEaTZNTjtFd0QvNU1NO0lBQ0U7RXhEaTZNUjtFd0Q5NU1NO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTtFeEQrNU1SO0FBQ0Y7O0FpQm44TUk7RXVDNUNGO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJMUM5QkEsMENBUlc7SVdVWCwwQytCOEJBO0V4RGsvTUo7QUFDRjtBeUI3Z05NO0UrQllKO0kvQlhNO0V6QmdoTk47QUFDRjtBaUIxOU1JO0V1QzVCRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXhEeS9NTjtFd0R0L01JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFeER3L01OO0V3RHIvTUk7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFeER1L01OO0V3RHAvTUk7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXhEcy9NTjtFd0RuL01JO0lBRUU7RXhEby9NTjtFd0RqL01JO0lBR0U7RXhEaS9NTjtBQUNGO0FpQjlnTkk7RXVDL0JGO0lBaUVNO0lBQ0E7SUFDQTtFeERnL01OO0V3RDkrTU07SUFDRTtFeERnL01SO0V3RDcrTU07SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBO0V4RDgrTVI7QUFDRjs7QWlCbGhOSTtFdUM1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0kxQzlCQSwwQ0FSVztJV1VYLDBDK0I4QkE7RXhEaWtOSjtBQUNGO0F5QjVsTk07RStCWUo7SS9CWE07RXpCK2xOTjtBQUNGO0FpQnppTkk7RXVDNUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFeER3a05OO0V3RHJrTkk7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V4RHVrTk47RXdEcGtOSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V4RHNrTk47RXdEbmtOSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFeERxa05OO0V3RGxrTkk7SUFFRTtFeERta05OO0V3RGhrTkk7SUFHRTtFeERna05OO0FBQ0Y7QWlCN2xOSTtFdUMvQkY7SUFpRU07SUFDQTtJQUNBO0V4RCtqTk47RXdEN2pOTTtJQUNFO0V4RCtqTlI7RXdENWpOTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBRUE7RXhENmpOUjtBQUNGOztBaUJqbU5JO0V1QzVDRjtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7STFDOUJBLDBDQVJXO0lXVVgsMEMrQjhCQTtFeERncE5KO0FBQ0Y7QXlCM3FOTTtFK0JZSjtJL0JYTTtFekI4cU5OO0FBQ0Y7QWlCeG5OSTtFdUM1QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V4RHVwTk47RXdEcHBOSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXhEc3BOTjtFd0RucE5JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXhEcXBOTjtFd0RscE5JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V4RG9wTk47RXdEanBOSTtJQUVFO0V4RGtwTk47RXdEL29OSTtJQUdFO0V4RCtvTk47QUFDRjtBaUI1cU5JO0V1Qy9CRjtJQWlFTTtJQUNBO0lBQ0E7RXhEOG9OTjtFd0Q1b05NO0lBQ0U7RXhEOG9OUjtFd0Qzb05NO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTtFeEQ0b05SO0FBQ0Y7O0F3RDV0TkU7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UxQzlCQSwwQ0FSVztFV1VYLDBDK0I4QkE7QXhEOHROTjtBeUJ4dk5NO0UrQllKO0kvQlhNO0V6QjJ2Tk47QUFDRjtBd0RqdU5NO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeERtdU5SO0F3RGh1Tk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4RGt1TlI7QXdEL3ROTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4RGl1TlI7QXdEOXROTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeERndU5SO0F3RDd0Tk07RUFFRTtBeEQ4dE5SO0F3RDN0Tk07RUFHRTtBeEQydE5SOztBd0Roc05BO0VMcEhFO0VBQ0E7RUFDQTtFQUNBLGE1QzBtQ2tDO0U0Q3ptQ2xDO0VBQ0E7RUFDQSxzQjVDVVM7QVA4eU5YO0FtRHJ6TkU7RUFBUztBbkR3ek5YO0FtRHZ6TkU7RUFBUyxZNUNtK0N5QjtBUHUxS3BDOztBd0Q1c05BO0VBQ0U7RUFDQTtFQUNBO0F4RCtzTkY7QXdEN3NORTtFQUNFO0VBQ0E7QXhEK3NOSjs7QXdEM3NOQTtFQUNFO0VBQ0E7QXhEOHNORjs7QXdEM3NOQTtFQUNFO0VBQ0E7RUFDQTtBeEQ4c05GOztBeUQzMU5BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlsRGd6Q2tDO0FQOGlMcEM7QXlENTFORTtFQUNFO0VBQ0E7QXpEODFOSjs7QXlEejFOQTtFQUNFO0F6RDQxTkY7O0F5RHoxTkE7RUFDRTtBekQ0MU5GOztBeUR6MU5BO0VBQ0U7QXpENDFORjs7QXlEdjFORTtFQUNFO0F6RDAxTko7O0F5RHQxTkE7RUFDRTtJQUNFLFlsRG14Q2dDO0VQc2tMbEM7QUFDRjtBeUR0MU5BO0VBQ0U7VUFBQTtFQUNBO1VBQUE7RUFDQTtBekR3MU5GOztBeURyMU5BO0VBQ0U7SUFDRTtZQUFBO0V6RHcxTkY7QUFDRjtBMER2NE5FO0VBQ0U7RUFDQTtFQUNBO0ExRHk0Tko7O0EyRDU0TkU7RUFDRTtFQUNBO0EzRCs0Tko7O0EyRGo1TkU7RUFDRTtFQUNBO0EzRG81Tko7O0EyRHQ1TkU7RUFDRTtFQUNBO0EzRHk1Tko7O0EyRDM1TkU7RUFDRTtFQUNBO0EzRDg1Tko7O0EyRGg2TkU7RUFDRTtFQUNBO0EzRG02Tko7O0EyRHI2TkU7RUFDRTtFQUNBO0EzRHc2Tko7O0EyRDE2TkU7RUFDRTtFQUNBO0EzRDY2Tko7O0EyRC82TkU7RUFDRTtFQUNBO0EzRGs3Tko7O0E0RHA3TkU7RUFDRTtFQUNBO0E1RHU3Tko7QTREcDdOTTtFQUdFO0VBQ0E7QTVEbzdOUjs7QTRENzdORTtFQUNFO0VBQ0E7QTVEZzhOSjtBNEQ3N05NO0VBR0U7RUFDQTtBNUQ2N05SOztBNER0OE5FO0VBQ0U7RUFDQTtBNUR5OE5KO0E0RHQ4Tk07RUFHRTtFQUNBO0E1RHM4TlI7O0E0RC84TkU7RUFDRTtFQUNBO0E1RGs5Tko7QTRELzhOTTtFQUdFO0VBQ0E7QTVEKzhOUjs7QTREeDlORTtFQUNFO0VBQ0E7QTVEMjlOSjtBNER4OU5NO0VBR0U7RUFDQTtBNUR3OU5SOztBNERqK05FO0VBQ0U7RUFDQTtBNURvK05KO0E0RGorTk07RUFHRTtFQUNBO0E1RGkrTlI7O0E0RDErTkU7RUFDRTtFQUNBO0E1RDYrTko7QTREMStOTTtFQUdFO0VBQ0E7QTVEMCtOUjs7QTREbi9ORTtFQUNFO0VBQ0E7QTVEcy9OSjtBNERuL05NO0VBR0U7RUFDQTtBNURtL05SOztBNEQ1K05BO0VBQ0U7RUFDQTtBNUQrK05GO0E0RDUrTkk7RUFFRTtFQUNBO0E1RDYrTk47O0E2RHZnT0E7RUFDRTtFQUVBO0E3RHlnT0Y7O0E4RDVnT0E7RUFDRTtFQUNBLGF2RDZjNEI7RXVENWM1QjtFQUNBO0VBQ0EsNkJ2RDJjNEI7RXVEMWM1QjtBOUQrZ09GO0E4RDdnT0U7RUFDRTtFQUNBLFV2RHVjMEI7RXVEdGMxQixXdkRzYzBCO0V1RHJjMUI7RXJDSUUsc0NxQ0hGO0E5RCtnT0o7QXlCeGdPTTtFcUNaSjtJckNhTTtFekIyZ09OO0FBQ0Y7O0E4RDdnT0k7RUFDRTtBOURnaE9OOztBK0RuaU9BO0VBQ0U7RUFDQTtBL0RzaU9GO0ErRHBpT0U7RUFDRTtFQUNBO0VBQ0E7QS9Ec2lPSjtBK0RuaU9FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0RxaU9KOztBK0RoaU9FO0VBQ0U7QS9EbWlPSjs7QStEcGlPRTtFQUNFO0EvRHVpT0o7O0ErRHhpT0U7RUFDRTtBL0QyaU9KOztBK0Q1aU9FO0VBQ0U7QS9EK2lPSjs7QWdFcGtPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYXpEdW1Da0M7QVBnK0xwQzs7QWdFcGtPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYXpEK2xDa0M7QVB3K0xwQzs7QWdFL2pPSTtFQUNFO0VBQ0E7RUFDQSxhekRtbEM4QjtBUCsrTHBDOztBZ0Uvak9JO0VBQ0U7RUFDQTtFQUNBLGF6RDZrQzhCO0FQcS9McEM7O0FpQm5pT0k7RStDeENBO0lBQ0U7SUFDQTtJQUNBLGF6RG1sQzhCO0VQNC9MbEM7RWdFNWtPRTtJQUNFO0lBQ0E7SUFDQSxhekQ2a0M4QjtFUGlnTWxDO0FBQ0Y7QWlCaGpPSTtFK0N4Q0E7SUFDRTtJQUNBO0lBQ0EsYXpEbWxDOEI7RVB3Z01sQztFZ0V4bE9FO0lBQ0U7SUFDQTtJQUNBLGF6RDZrQzhCO0VQNmdNbEM7QUFDRjtBaUI1ak9JO0UrQ3hDQTtJQUNFO0lBQ0E7SUFDQSxhekRtbEM4QjtFUG9oTWxDO0VnRXBtT0U7SUFDRTtJQUNBO0lBQ0EsYXpENmtDOEI7RVB5aE1sQztBQUNGO0FpQnhrT0k7RStDeENBO0lBQ0U7SUFDQTtJQUNBLGF6RG1sQzhCO0VQZ2lNbEM7RWdFaG5PRTtJQUNFO0lBQ0E7SUFDQSxhekQ2a0M4QjtFUHFpTWxDO0FBQ0Y7QWlCcGxPSTtFK0N4Q0E7SUFDRTtJQUNBO0lBQ0EsYXpEbWxDOEI7RVA0aU1sQztFZ0U1bk9FO0lBQ0U7SUFDQTtJQUNBLGF6RDZrQzhCO0VQaWpNbEM7QUFDRjtBaUU5cE9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpFZ3FPRjs7QWlFN3BPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqRWdxT0Y7O0FrRXhxT0E7O0VDSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkV5cU9GO0FtRXRxT0U7O0VBQ0U7QW5FeXFPSjs7QW9FdnJPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxVN0RnY3NDO0U2RC9idEM7QXBFMHJPSjs7QXFFbHNPQTtFQ0FFO0VBQ0E7RUFDQTtBdEVzc09GOztBdUU1c09BO0VBQ0U7RUFDQTtFQUNBLDZCaEVpc0I0QjtFZ0Voc0I1QjtFQUNBO0VBQ0EsYWhFMnJCNEI7QVBvaE45Qjs7QXdFbnBPUTtFQU9JO0F4RWdwT1o7O0F3RXZwT1E7RUFPSTtBeEVvcE9aOztBd0UzcE9RO0VBT0k7QXhFd3BPWjs7QXdFL3BPUTtFQU9JO0F4RTRwT1o7O0F3RW5xT1E7RUFPSTtBeEVncU9aOztBd0V2cU9RO0VBT0k7QXhFb3FPWjs7QXdFM3FPUTtFQU9JO0F4RXdxT1o7O0F3RS9xT1E7RUFPSTtBeEU0cU9aOztBd0Vuck9RO0VBT0k7QXhFZ3JPWjs7QXdFdnJPUTtFQU9JO0F4RW9yT1o7O0F3RTNyT1E7RUFPSTtBeEV3ck9aOztBd0Uvck9RO0VBT0k7QXhFNHJPWjs7QXdFbnNPUTtFQU9JO0F4RWdzT1o7O0F3RXZzT1E7RUFPSTtBeEVvc09aOztBd0Uzc09RO0VBT0k7QXhFd3NPWjs7QXdFL3NPUTtFQU9JO0F4RTRzT1o7O0F3RW50T1E7RUFPSTtBeEVndE9aOztBd0V2dE9RO0VBT0k7QXhFb3RPWjs7QXdFM3RPUTtFQU9JO0F4RXd0T1o7O0F3RS90T1E7RUFPSTtBeEU0dE9aOztBd0VudU9RO0VBT0k7QXhFZ3VPWjs7QXdFdnVPUTtFQU9JO0F4RW91T1o7O0F3RTN1T1E7RUFPSTtBeEV3dU9aOztBd0UvdU9RO0VBT0k7QXhFNHVPWjs7QXdFbnZPUTtFQU9JO0F4RWd2T1o7O0F3RXZ2T1E7RUFPSTtBeEVvdk9aOztBd0Uzdk9RO0VBT0k7QXhFd3ZPWjs7QXdFL3ZPUTtFQU9JO0F4RTR2T1o7O0F3RW53T1E7RUFPSTtBeEVnd09aOztBd0V2d09RO0VBT0k7QXhFb3dPWjs7QXdFM3dPUTtFQU9JO0F4RXd3T1o7O0F3RS93T1E7RUFPSTtBeEU0d09aOztBd0VueE9RO0VBT0k7QXhFZ3hPWjs7QXdFdnhPUTtFQU9JO0F4RW94T1o7O0F3RTN4T1E7RUFPSTtBeEV3eE9aOztBd0UveE9RO0VBT0k7QXhFNHhPWjs7QXdFbnlPUTtFQU9JO0F4RWd5T1o7O0F3RXZ5T1E7RUFPSTtBeEVveU9aOztBd0UzeU9RO0VBT0k7QXhFd3lPWjs7QXdFL3lPUTtFQU9JO0F4RTR5T1o7O0F3RW56T1E7RUFPSTtBeEVnek9aOztBd0V2ek9RO0VBT0k7QXhFb3pPWjs7QXdFM3pPUTtFQU9JO0F4RXd6T1o7O0F3RS96T1E7RUFPSTtBeEU0ek9aOztBd0VuME9RO0VBT0k7QXhFZzBPWjs7QXdFdjBPUTtFQU9JO0F4RW8wT1o7O0F3RXIxT1E7RUFDRTtBeEV3MU9WOztBd0V6MU9RO0VBQ0U7QXhFNDFPVjs7QXdFNzFPUTtFQUNFO0F4RWcyT1Y7O0F3RWoyT1E7RUFDRTtBeEVvMk9WOztBd0VyMk9RO0VBQ0U7QXhFdzJPVjs7QXdFejJPUTtFQUNFO0F4RTQyT1Y7O0F3RTcyT1E7RUFDRTtBeEVnM09WOztBd0VqM09RO0VBQ0U7QXhFbzNPVjs7QXdFMzJPUTtFQU9JO0F4RXcyT1o7O0F3RS8yT1E7RUFPSTtBeEU0Mk9aOztBd0VuM09RO0VBT0k7QXhFZzNPWjs7QXdFdjNPUTtFQU9JO0F4RW8zT1o7O0F3RTMzT1E7RUFPSTtBeEV3M09aOztBd0UvM09RO0VBT0k7QXhFNDNPWjs7QXdFbjRPUTtFQU9JO0F4RWc0T1o7O0F3RXY0T1E7RUFPSTtBeEVvNE9aOztBd0UzNE9RO0VBT0k7QXhFdzRPWjs7QXdFLzRPUTtFQU9JO0F4RTQ0T1o7O0F3RW41T1E7RUFPSTtBeEVnNU9aOztBd0V2NU9RO0VBT0k7QXhFbzVPWjs7QXdFMzVPUTtFQU9JO0F4RXc1T1o7O0F3RS81T1E7RUFPSTtBeEU0NU9aOztBd0VuNk9RO0VBT0k7QXhFZzZPWjs7QXdFdjZPUTtFQU9JO0F4RW82T1o7O0F3RTM2T1E7RUFPSTtBeEV3Nk9aOztBd0UvNk9RO0VBT0k7QXhFNDZPWjs7QXdFbjdPUTtFQU9JO0F4RWc3T1o7O0F3RXY3T1E7RUFPSTtBeEVvN09aOztBd0UzN09RO0VBT0k7QXhFdzdPWjs7QXdFLzdPUTtFQU9JO0F4RTQ3T1o7O0F3RW44T1E7RUFPSTtBeEVnOE9aOztBd0V2OE9RO0VBT0k7QXhFbzhPWjs7QXdFMzhPUTtFQU9JO0F4RXc4T1o7O0F3RS84T1E7RUFPSTtBeEU0OE9aOztBd0VuOU9RO0VBT0k7QXhFZzlPWjs7QXdFdjlPUTtFQU9JO0F4RW85T1o7O0F3RTM5T1E7RUFPSTtBeEV3OU9aOztBd0UvOU9RO0VBT0k7QXhFNDlPWjs7QXdFbitPUTtFQUlRO0VBR0o7QXhFaStPWjs7QXdFeCtPUTtFQUlRO0VBR0o7QXhFcytPWjs7QXdFNytPUTtFQUlRO0VBR0o7QXhFMitPWjs7QXdFbC9PUTtFQUlRO0VBR0o7QXhFZy9PWjs7QXdFdi9PUTtFQUlRO0VBR0o7QXhFcS9PWjs7QXdFNS9PUTtFQUlRO0VBR0o7QXhFMC9PWjs7QXdFamdQUTtFQUlRO0VBR0o7QXhFKy9PWjs7QXdFdGdQUTtFQUlRO0VBR0o7QXhFb2dQWjs7QXdFM2dQUTtFQUlRO0VBR0o7QXhFeWdQWjs7QXdFaGhQUTtFQUlRO0VBR0o7QXhFOGdQWjs7QXdFcmhQUTtFQU9JO0F4RWtoUFo7O0F3RXpoUFE7RUFPSTtBeEVzaFBaOztBd0U3aFBRO0VBT0k7QXhFMGhQWjs7QXdFamlQUTtFQU9JO0F4RThoUFo7O0F3RXJpUFE7RUFPSTtBeEVraVBaOztBd0V6aVBRO0VBT0k7QXhFc2lQWjs7QXdFN2lQUTtFQU9JO0F4RTBpUFo7O0F3RWpqUFE7RUFPSTtBeEU4aVBaOztBd0VyalBRO0VBT0k7QXhFa2pQWjs7QXdFempQUTtFQU9JO0F4RXNqUFo7O0F3RTdqUFE7RUFPSTtBeEUwalBaOztBd0Vqa1BRO0VBT0k7QXhFOGpQWjs7QXdFcmtQUTtFQU9JO0F4RWtrUFo7O0F3RW5sUFE7RUFDRTtBeEVzbFBWOztBd0V2bFBRO0VBQ0U7QXhFMGxQVjs7QXdFM2xQUTtFQUNFO0F4RThsUFY7O0F3RS9sUFE7RUFDRTtBeEVrbVBWOztBd0VubVBRO0VBQ0U7QXhFc21QVjs7QXdFN2xQUTtFQU9JO0F4RTBsUFo7O0F3RWptUFE7RUFPSTtBeEU4bFBaOztBd0VybVBRO0VBT0k7QXhFa21QWjs7QXdFem1QUTtFQU9JO0F4RXNtUFo7O0F3RTdtUFE7RUFPSTtBeEUwbVBaOztBd0VqblBRO0VBT0k7QXhFOG1QWjs7QXdFcm5QUTtFQU9JO0F4RWtuUFo7O0F3RXpuUFE7RUFPSTtBeEVzblBaOztBd0U3blBRO0VBT0k7QXhFMG5QWjs7QXdFam9QUTtFQU9JO0F4RThuUFo7O0F3RXJvUFE7RUFPSTtBeEVrb1BaOztBd0V6b1BRO0VBT0k7QXhFc29QWjs7QXdFN29QUTtFQU9JO0F4RTBvUFo7O0F3RWpwUFE7RUFPSTtBeEU4b1BaOztBd0VycFBRO0VBT0k7QXhFa3BQWjs7QXdFenBQUTtFQU9JO0F4RXNwUFo7O0F3RTdwUFE7RUFPSTtBeEUwcFBaOztBd0VqcVBRO0VBT0k7QXhFOHBQWjs7QXdFcnFQUTtFQU9JO0F4RWtxUFo7O0F3RXpxUFE7RUFPSTtBeEVzcVBaOztBd0U3cVBRO0VBT0k7QXhFMHFQWjs7QXdFanJQUTtFQU9JO0F4RThxUFo7O0F3RXJyUFE7RUFPSTtBeEVrclBaOztBd0V6clBRO0VBT0k7QXhFc3JQWjs7QXdFN3JQUTtFQU9JO0F4RTByUFo7O0F3RWpzUFE7RUFPSTtBeEU4clBaOztBd0Vyc1BRO0VBT0k7QXhFa3NQWjs7QXdFenNQUTtFQU9JO0F4RXNzUFo7O0F3RTdzUFE7RUFPSTtBeEUwc1BaOztBd0VqdFBRO0VBT0k7QXhFOHNQWjs7QXdFcnRQUTtFQU9JO0F4RWt0UFo7O0F3RXp0UFE7RUFPSTtBeEVzdFBaOztBd0U3dFBRO0VBT0k7QXhFMHRQWjs7QXdFanVQUTtFQU9JO0F4RTh0UFo7O0F3RXJ1UFE7RUFPSTtBeEVrdVBaOztBd0V6dVBRO0VBT0k7QXhFc3VQWjs7QXdFN3VQUTtFQU9JO0F4RTB1UFo7O0F3RWp2UFE7RUFPSTtBeEU4dVBaOztBd0VydlBRO0VBT0k7QXhFa3ZQWjs7QXdFenZQUTtFQU9JO0F4RXN2UFo7O0F3RTd2UFE7RUFPSTtBeEUwdlBaOztBd0Vqd1BRO0VBT0k7QXhFOHZQWjs7QXdFcndQUTtFQU9JO0F4RWt3UFo7O0F3RXp3UFE7RUFPSTtBeEVzd1BaOztBd0U3d1BRO0VBT0k7QXhFMHdQWjs7QXdFanhQUTtFQU9JO0F4RTh3UFo7O0F3RXJ4UFE7RUFPSTtBeEVreFBaOztBd0V6eFBRO0VBT0k7QXhFc3hQWjs7QXdFN3hQUTtFQU9JO0F4RTB4UFo7O0F3RWp5UFE7RUFPSTtBeEU4eFBaOztBd0VyeVBRO0VBT0k7QXhFa3lQWjs7QXdFenlQUTtFQU9JO0F4RXN5UFo7O0F3RTd5UFE7RUFPSTtBeEUweVBaOztBd0VqelBRO0VBT0k7QXhFOHlQWjs7QXdFcnpQUTtFQU9JO0F4RWt6UFo7O0F3RXp6UFE7RUFPSTtBeEVzelBaOztBd0U3elBRO0VBT0k7QXhFMHpQWjs7QXdFajBQUTtFQU9JO0F4RTh6UFo7O0F3RXIwUFE7RUFPSTtBeEVrMFBaOztBd0V6MFBRO0VBT0k7QXhFczBQWjs7QXdFNzBQUTtFQU9JO0F4RTAwUFo7O0F3RWoxUFE7RUFPSTtBeEU4MFBaOztBd0VyMVBRO0VBT0k7QXhFazFQWjs7QXdFejFQUTtFQU9JO0F4RXMxUFo7O0F3RTcxUFE7RUFPSTtBeEUwMVBaOztBd0VqMlBRO0VBT0k7QXhFODFQWjs7QXdFcjJQUTtFQU9JO0VBQUE7QXhFbTJQWjs7QXdFMTJQUTtFQU9JO0VBQUE7QXhFdzJQWjs7QXdFLzJQUTtFQU9JO0VBQUE7QXhFNjJQWjs7QXdFcDNQUTtFQU9JO0VBQUE7QXhFazNQWjs7QXdFejNQUTtFQU9JO0VBQUE7QXhFdTNQWjs7QXdFOTNQUTtFQU9JO0VBQUE7QXhFNDNQWjs7QXdFbjRQUTtFQU9JO0VBQUE7QXhFaTRQWjs7QXdFeDRQUTtFQU9JO0VBQUE7QXhFczRQWjs7QXdFNzRQUTtFQU9JO0VBQUE7QXhFMjRQWjs7QXdFbDVQUTtFQU9JO0VBQUE7QXhFZzVQWjs7QXdFdjVQUTtFQU9JO0VBQUE7QXhFcTVQWjs7QXdFNTVQUTtFQU9JO0VBQUE7QXhFMDVQWjs7QXdFajZQUTtFQU9JO0VBQUE7QXhFKzVQWjs7QXdFdDZQUTtFQU9JO0VBQUE7QXhFbzZQWjs7QXdFMzZQUTtFQU9JO0F4RXc2UFo7O0F3RS82UFE7RUFPSTtBeEU0NlBaOztBd0VuN1BRO0VBT0k7QXhFZzdQWjs7QXdFdjdQUTtFQU9JO0F4RW83UFo7O0F3RTM3UFE7RUFPSTtBeEV3N1BaOztBd0UvN1BRO0VBT0k7QXhFNDdQWjs7QXdFbjhQUTtFQU9JO0F4RWc4UFo7O0F3RXY4UFE7RUFPSTtBeEVvOFBaOztBd0UzOFBRO0VBT0k7QXhFdzhQWjs7QXdFLzhQUTtFQU9JO0F4RTQ4UFo7O0F3RW45UFE7RUFPSTtBeEVnOVBaOztBd0V2OVBRO0VBT0k7QXhFbzlQWjs7QXdFMzlQUTtFQU9JO0F4RXc5UFo7O0F3RS85UFE7RUFPSTtBeEU0OVBaOztBd0VuK1BRO0VBT0k7QXhFZytQWjs7QXdFditQUTtFQU9JO0F4RW8rUFo7O0F3RTMrUFE7RUFPSTtBeEV3K1BaOztBd0UvK1BRO0VBT0k7QXhFNCtQWjs7QXdFbi9QUTtFQU9JO0F4RWcvUFo7O0F3RXYvUFE7RUFPSTtBeEVvL1BaOztBd0UzL1BRO0VBT0k7QXhFdy9QWjs7QXdFLy9QUTtFQU9JO0F4RTQvUFo7O0F3RW5nUVE7RUFPSTtBeEVnZ1FaOztBd0V2Z1FRO0VBT0k7QXhFb2dRWjs7QXdFM2dRUTtFQU9JO0F4RXdnUVo7O0F3RS9nUVE7RUFPSTtBeEU0Z1FaOztBd0VuaFFRO0VBT0k7QXhFZ2hRWjs7QXdFdmhRUTtFQU9JO0F4RW9oUVo7O0F3RTNoUVE7RUFPSTtBeEV3aFFaOztBd0UvaFFRO0VBT0k7QXhFNGhRWjs7QXdFbmlRUTtFQU9JO0F4RWdpUVo7O0F3RXZpUVE7RUFPSTtBeEVvaVFaOztBd0UzaVFRO0VBT0k7QXhFd2lRWjs7QXdFL2lRUTtFQU9JO0VBQUE7QXhFNmlRWjs7QXdFcGpRUTtFQU9JO0VBQUE7QXhFa2pRWjs7QXdFempRUTtFQU9JO0VBQUE7QXhFdWpRWjs7QXdFOWpRUTtFQU9JO0VBQUE7QXhFNGpRWjs7QXdFbmtRUTtFQU9JO0VBQUE7QXhFaWtRWjs7QXdFeGtRUTtFQU9JO0VBQUE7QXhFc2tRWjs7QXdFN2tRUTtFQU9JO0VBQUE7QXhFMmtRWjs7QXdFbGxRUTtFQU9JO0VBQUE7QXhFZ2xRWjs7QXdFdmxRUTtFQU9JO0VBQUE7QXhFcWxRWjs7QXdFNWxRUTtFQU9JO0VBQUE7QXhFMGxRWjs7QXdFam1RUTtFQU9JO0F4RThsUVo7O0F3RXJtUVE7RUFPSTtBeEVrbVFaOztBd0V6bVFRO0VBT0k7QXhFc21RWjs7QXdFN21RUTtFQU9JO0F4RTBtUVo7O0F3RWpuUVE7RUFPSTtBeEU4bVFaOztBd0VyblFRO0VBT0k7QXhFa25RWjs7QXdFem5RUTtFQU9JO0F4RXNuUVo7O0F3RTduUVE7RUFPSTtBeEUwblFaOztBd0Vqb1FRO0VBT0k7QXhFOG5RWjs7QXdFcm9RUTtFQU9JO0F4RWtvUVo7O0F3RXpvUVE7RUFPSTtBeEVzb1FaOztBd0U3b1FRO0VBT0k7QXhFMG9RWjs7QXdFanBRUTtFQU9JO0F4RThvUVo7O0F3RXJwUVE7RUFPSTtBeEVrcFFaOztBd0V6cFFRO0VBT0k7QXhFc3BRWjs7QXdFN3BRUTtFQU9JO0F4RTBwUVo7O0F3RWpxUVE7RUFPSTtBeEU4cFFaOztBd0VycVFRO0VBT0k7QXhFa3FRWjs7QXdFenFRUTtFQU9JO0F4RXNxUVo7O0F3RTdxUVE7RUFPSTtBeEUwcVFaOztBd0VqclFRO0VBT0k7QXhFOHFRWjs7QXdFcnJRUTtFQU9JO0F4RWtyUVo7O0F3RXpyUVE7RUFPSTtBeEVzclFaOztBd0U3clFRO0VBT0k7QXhFMHJRWjs7QXdFanNRUTtFQU9JO0F4RThyUVo7O0F3RXJzUVE7RUFPSTtBeEVrc1FaOztBd0V6c1FRO0VBT0k7RUFBQTtBeEV1c1FaOztBd0U5c1FRO0VBT0k7RUFBQTtBeEU0c1FaOztBd0VudFFRO0VBT0k7RUFBQTtBeEVpdFFaOztBd0V4dFFRO0VBT0k7RUFBQTtBeEVzdFFaOztBd0U3dFFRO0VBT0k7RUFBQTtBeEUydFFaOztBd0VsdVFRO0VBT0k7RUFBQTtBeEVndVFaOztBd0V2dVFRO0VBT0k7RUFBQTtBeEVxdVFaOztBd0U1dVFRO0VBT0k7RUFBQTtBeEUwdVFaOztBd0VqdlFRO0VBT0k7RUFBQTtBeEUrdVFaOztBd0V0dlFRO0VBT0k7RUFBQTtBeEVvdlFaOztBd0UzdlFRO0VBT0k7RUFBQTtBeEV5dlFaOztBd0Vod1FRO0VBT0k7RUFBQTtBeEU4dlFaOztBd0Vyd1FRO0VBT0k7QXhFa3dRWjs7QXdFendRUTtFQU9JO0F4RXN3UVo7O0F3RTd3UVE7RUFPSTtBeEUwd1FaOztBd0VqeFFRO0VBT0k7QXhFOHdRWjs7QXdFcnhRUTtFQU9JO0F4RWt4UVo7O0F3RXp4UVE7RUFPSTtBeEVzeFFaOztBd0U3eFFRO0VBT0k7QXhFMHhRWjs7QXdFanlRUTtFQU9JO0F4RTh4UVo7O0F3RXJ5UVE7RUFPSTtBeEVreVFaOztBd0V6eVFRO0VBT0k7QXhFc3lRWjs7QXdFN3lRUTtFQU9JO0F4RTB5UVo7O0F3RWp6UVE7RUFPSTtBeEU4eVFaOztBd0VyelFRO0VBT0k7QXhFa3pRWjs7QXdFenpRUTtFQU9JO0F4RXN6UVo7O0F3RTd6UVE7RUFPSTtBeEUwelFaOztBd0VqMFFRO0VBT0k7QXhFOHpRWjs7QXdFcjBRUTtFQU9JO0F4RWswUVo7O0F3RXowUVE7RUFPSTtBeEVzMFFaOztBd0U3MFFRO0VBT0k7QXhFMDBRWjs7QXdFajFRUTtFQU9JO0F4RTgwUVo7O0F3RXIxUVE7RUFPSTtBeEVrMVFaOztBd0V6MVFRO0VBT0k7QXhFczFRWjs7QXdFNzFRUTtFQU9JO0F4RTAxUVo7O0F3RWoyUVE7RUFPSTtBeEU4MVFaOztBd0VyMlFRO0VBT0k7QXhFazJRWjs7QXdFejJRUTtFQU9JO0F4RXMyUVo7O0F3RTcyUVE7RUFPSTtBeEUwMlFaOztBd0VqM1FRO0VBT0k7QXhFODJRWjs7QXdFcjNRUTtFQU9JO0F4RWszUVo7O0F3RXozUVE7RUFPSTtBeEVzM1FaOztBd0U3M1FRO0VBT0k7QXhFMDNRWjs7QXdFajRRUTtFQU9JO0F4RTgzUVo7O0F3RXI0UVE7RUFPSTtBeEVrNFFaOztBd0V6NFFRO0VBT0k7QXhFczRRWjs7QXdFNzRRUTtFQU9JO0F4RTA0UVo7O0F3RWo1UVE7RUFPSTtBeEU4NFFaOztBd0VyNVFRO0VBT0k7QXhFazVRWjs7QXdFejVRUTtFQU9JO0F4RXM1UVo7O0F3RTc1UVE7RUFPSTtBeEUwNVFaOztBd0VqNlFRO0VBT0k7QXhFODVRWjs7QXdFcjZRUTtFQU9JO0F4RWs2UVo7O0F3RXo2UVE7RUFPSTtBeEVzNlFaOztBd0U3NlFRO0VBT0k7QXhFMDZRWjs7QXdFajdRUTtFQU9JO0F4RTg2UVo7O0F3RXI3UVE7RUFPSTtBeEVrN1FaOztBd0V6N1FRO0VBT0k7QXhFczdRWjs7QXdFNzdRUTtFQU9JO0F4RTA3UVo7O0F3RWo4UVE7RUFPSTtBeEU4N1FaOztBd0VyOFFRO0VBT0k7QXhFazhRWjs7QXdFejhRUTtFQU9JO0F4RXM4UVo7O0F3RTc4UVE7RUFPSTtBeEUwOFFaOztBd0VqOVFRO0VBT0k7QXhFODhRWjs7QXdFcjlRUTtFQU9JO0F4RWs5UVo7O0F3RXo5UVE7RUFPSTtBeEVzOVFaOztBd0U3OVFRO0VBT0k7QXhFMDlRWjs7QXdFaitRUTtFQU9JO0F4RTg5UVo7O0F3RXIrUVE7RUFPSTtBeEVrK1FaOztBd0V6K1FRO0VBT0k7QXhFcytRWjs7QXdFNytRUTtFQU9JO0F4RTArUVo7O0F3RWovUVE7RUFPSTtBeEU4K1FaOztBd0VyL1FRO0VBT0k7QXhFay9RWjs7QXdFei9RUTtFQU9JO0F4RXMvUVo7O0F3RTcvUVE7RUFPSTtBeEUwL1FaOztBd0VqZ1JRO0VBT0k7QXhFOC9RWjs7QXdFcmdSUTtFQU9JO0F4RWtnUlo7O0F3RXpnUlE7RUFPSTtBeEVzZ1JaOztBd0U3Z1JRO0VBT0k7QXhFMGdSWjs7QXdFamhSUTtFQU9JO0F4RThnUlo7O0F3RXJoUlE7RUFPSTtBeEVraFJaOztBd0V6aFJRO0VBT0k7QXhFc2hSWjs7QXdFN2hSUTtFQU9JO0F4RTBoUlo7O0F3RWppUlE7RUFPSTtBeEU4aFJaOztBd0VyaVJRO0VBT0k7QXhFa2lSWjs7QXdFdmpSUTtBQWNBO0VBT0k7RUFBQTtBeEV3aVJaOztBd0VyaFJRO0FBMUJBO0VBSVE7RUFHSjtBeEU4aVJaOztBd0VyalJRO0VBSVE7RUFHSjtBeEVtalJaOztBd0UxalJRO0VBSVE7RUFHSjtBeEV3alJaOztBd0UvalJRO0VBSVE7RUFHSjtBeEU2alJaOztBd0Vwa1JRO0VBSVE7RUFHSjtBeEVra1JaOztBd0V6a1JRO0VBSVE7RUFHSjtBeEV1a1JaOztBd0U5a1JRO0VBSVE7RUFHSjtBeEU0a1JaOztBd0VubFJRO0VBSVE7RUFHSjtBeEVpbFJaOztBd0V4bFJRO0VBSVE7RUFHSjtBeEVzbFJaOztBd0U3bFJRO0VBSVE7RUFHSjtBeEUybFJaOztBd0VsbVJRO0VBSVE7RUFHSjtBeEVnbVJaOztBd0V2bVJRO0VBSVE7RUFHSjtBeEVxbVJaOztBd0U1bVJRO0VBSVE7RUFHSjtBeEUwbVJaOztBd0VqblJRO0VBSVE7RUFHSjtBeEUrbVJaOztBd0V0blJRO0VBSVE7RUFHSjtBeEVvblJaOztBd0UzblJRO0VBSVE7RUFHSjtBeEV5blJaOztBd0Vob1JRO0VBSVE7RUFHSjtBeEU4blJaOztBd0Vyb1JRO0VBSVE7RUFHSjtBeEVtb1JaOztBd0VwcFJRO0VBQ0U7QXhFdXBSVjs7QXdFeHBSUTtFQUNFO0F4RTJwUlY7O0F3RTVwUlE7RUFDRTtBeEUrcFJWOztBd0VocVJRO0VBQ0U7QXhFbXFSVjs7QXdFMXBSUTtFQU9JO0F4RXVwUlo7O0F3RTlwUlE7RUFPSTtBeEUycFJaOztBd0VscVJRO0VBT0k7QXhFK3BSWjs7QXdFdHFSUTtFQU9JO0F4RW1xUlo7O0F3RTFxUlE7RUFPSTtBeEV1cVJaOztBd0U5cVJRO0VBT0k7QXhFMnFSWjs7QXdFbHJSUTtFQU9JO0F4RStxUlo7O0F3RXRyUlE7RUFPSTtBeEVtclJaOztBd0Vwc1JRO0VBQ0U7QXhFdXNSVjs7QXdFbnNSVTtFQUNFO0F4RXNzUlo7O0F3RTVzUlE7RUFDRTtBeEUrc1JWOztBd0Uzc1JVO0VBQ0U7QXhFOHNSWjs7QXdFcHRSUTtFQUNFO0F4RXV0UlY7O0F3RW50UlU7RUFDRTtBeEVzdFJaOztBd0U1dFJRO0VBQ0U7QXhFK3RSVjs7QXdFM3RSVTtFQUNFO0F4RTh0Ulo7O0F3RXB1UlE7RUFDRTtBeEV1dVJWOztBd0VudVJVO0VBQ0U7QXhFc3VSWjs7QXdFbHVSUTtFQU9JO0F4RSt0Ulo7O0F3RTF0UlU7RUFPSTtBeEV1dFJkOztBd0UxdVJRO0VBT0k7QXhFdXVSWjs7QXdFbHVSVTtFQU9JO0F4RSt0UmQ7O0F3RWx2UlE7RUFPSTtBeEUrdVJaOztBd0UxdVJVO0VBT0k7QXhFdXVSZDs7QXdFMXZSUTtFQUlRO0VBR0o7QXhFd3ZSWjs7QXdFL3ZSUTtFQUlRO0VBR0o7QXhFNnZSWjs7QXdFcHdSUTtFQUlRO0VBR0o7QXhFa3dSWjs7QXdFendSUTtFQUlRO0VBR0o7QXhFdXdSWjs7QXdFOXdSUTtFQUlRO0VBR0o7QXhFNHdSWjs7QXdFbnhSUTtFQUlRO0VBR0o7QXhFaXhSWjs7QXdFeHhSUTtFQUlRO0VBR0o7QXhFc3hSWjs7QXdFN3hSUTtFQUlRO0VBR0o7QXhFMnhSWjs7QXdFbHlSUTtFQUlRO0VBR0o7QXhFZ3lSWjs7QXdFanpSUTtFQUNFO0F4RW96UlY7O0F3RWh6UlU7RUFDRTtBeEVtelJaOztBd0V6elJRO0VBQ0U7QXhFNHpSVjs7QXdFeHpSVTtFQUNFO0F4RTJ6Ulo7O0F3RWowUlE7RUFDRTtBeEVvMFJWOztBd0VoMFJVO0VBQ0U7QXhFbTBSWjs7QXdFejBSUTtFQUNFO0F4RTQwUlY7O0F3RXgwUlU7RUFDRTtBeEUyMFJaOztBd0VqMVJRO0VBQ0U7QXhFbzFSVjs7QXdFaDFSVTtFQUNFO0F4RW0xUlo7O0F3RXoxUlE7RUFDRTtBeEU0MVJWOztBd0V4MVJVO0VBQ0U7QXhFMjFSWjs7QXdFdjFSUTtFQUlRO0VBR0o7QXhFcTFSWjs7QXdFNTFSUTtFQUlRO0VBR0o7QXhFMDFSWjs7QXdFajJSUTtFQUlRO0VBR0o7QXhFKzFSWjs7QXdFdDJSUTtFQUlRO0VBR0o7QXhFbzJSWjs7QXdFMzJSUTtFQUlRO0VBR0o7QXhFeTJSWjs7QXdFaDNSUTtFQUlRO0VBR0o7QXhFODJSWjs7QXdFcjNSUTtFQUlRO0VBR0o7QXhFbTNSWjs7QXdFMTNSUTtFQUlRO0VBR0o7QXhFdzNSWjs7QXdFLzNSUTtFQUlRO0VBR0o7QXhFNjNSWjs7QXdFcDRSUTtFQUlRO0VBR0o7QXhFazRSWjs7QXdFejRSUTtFQUlRO0VBR0o7QXhFdTRSWjs7QXdFOTRSUTtFQUlRO0VBR0o7QXhFNDRSWjs7QXdFbjVSUTtFQUlRO0VBR0o7QXhFaTVSWjs7QXdFeDVSUTtFQUlRO0VBR0o7QXhFczVSWjs7QXdFdjZSUTtFQUNFO0F4RTA2UlY7O0F3RTM2UlE7RUFDRTtBeEU4NlJWOztBd0UvNlJRO0VBQ0U7QXhFazdSVjs7QXdFbjdSUTtFQUNFO0F4RXM3UlY7O0F3RXY3UlE7RUFDRTtBeEUwN1JWOztBd0VqN1JRO0VBT0k7QXhFODZSWjs7QXdFcjdSUTtFQU9JO0F4RWs3Ulo7O0F3RXo3UlE7RUFPSTtBeEVzN1JaOztBd0U3N1JRO0VBT0k7QXhFMDdSWjs7QXdFajhSUTtFQU9JO0F4RTg3Ulo7O0F3RXI4UlE7RUFPSTtBeEVrOFJaOztBd0V6OFJRO0VBT0k7QXhFczhSWjs7QXdFNzhSUTtFQU9JO0F4RTA4Ulo7O0F3RWo5UlE7RUFPSTtBeEU4OFJaOztBd0VyOVJRO0VBT0k7VUFBQTtBeEVrOVJaOztBd0V6OVJRO0VBT0k7VUFBQTtBeEVzOVJaOztBd0U3OVJRO0VBT0k7VUFBQTtBeEUwOVJaOztBd0VqK1JRO0VBT0k7QXhFODlSWjs7QXdFcitSUTtFQU9JO0F4RWsrUlo7O0F3RXorUlE7RUFPSTtBeEVzK1JaOztBd0U3K1JRO0VBT0k7QXhFMCtSWjs7QXdFai9SUTtFQU9JO0F4RTgrUlo7O0F3RXIvUlE7RUFPSTtBeEVrL1JaOztBd0V6L1JRO0VBT0k7QXhFcy9SWjs7QXdFNy9SUTtFQU9JO0F4RTAvUlo7O0F3RWpnU1E7RUFPSTtBeEU4L1JaOztBd0VyZ1NRO0VBT0k7QXhFa2dTWjs7QXdFemdTUTtFQU9JO0F4RXNnU1o7O0F3RTdnU1E7RUFPSTtFQUFBO0F4RTJnU1o7O0F3RWxoU1E7RUFPSTtFQUFBO0F4RWdoU1o7O0F3RXZoU1E7RUFPSTtFQUFBO0F4RXFoU1o7O0F3RTVoU1E7RUFPSTtFQUFBO0F4RTBoU1o7O0F3RWppU1E7RUFPSTtFQUFBO0F4RStoU1o7O0F3RXRpU1E7RUFPSTtFQUFBO0F4RW9pU1o7O0F3RTNpU1E7RUFPSTtFQUFBO0F4RXlpU1o7O0F3RWhqU1E7RUFPSTtFQUFBO0F4RThpU1o7O0F3RXJqU1E7RUFPSTtFQUFBO0F4RW1qU1o7O0F3RTFqU1E7RUFPSTtFQUFBO0F4RXdqU1o7O0F3RS9qU1E7RUFPSTtFQUFBO0F4RTZqU1o7O0F3RXBrU1E7RUFPSTtFQUFBO0F4RWtrU1o7O0F3RXprU1E7RUFPSTtFQUFBO0F4RXVrU1o7O0F3RTlrU1E7RUFPSTtFQUFBO0F4RTRrU1o7O0F3RW5sU1E7RUFPSTtFQUFBO0F4RWlsU1o7O0F3RXhsU1E7RUFPSTtFQUFBO0F4RXNsU1o7O0F3RTdsU1E7RUFPSTtFQUFBO0F4RTJsU1o7O0F3RWxtU1E7RUFPSTtFQUFBO0F4RWdtU1o7O0F3RXZtU1E7RUFPSTtFQUFBO0F4RXFtU1o7O0F3RTVtU1E7RUFPSTtFQUFBO0F4RTBtU1o7O0F3RWpuU1E7RUFPSTtFQUFBO0F4RSttU1o7O0F3RXRuU1E7RUFPSTtFQUFBO0F4RW9uU1o7O0F3RTNuU1E7RUFPSTtFQUFBO0F4RXluU1o7O0F3RWhvU1E7RUFPSTtFQUFBO0F4RThuU1o7O0F3RXJvU1E7RUFPSTtFQUFBO0F4RW1vU1o7O0F3RTFvU1E7RUFPSTtFQUFBO0F4RXdvU1o7O0F3RS9vU1E7RUFPSTtFQUFBO0F4RTZvU1o7O0F3RXBwU1E7RUFPSTtFQUFBO0F4RWtwU1o7O0F3RXpwU1E7RUFPSTtFQUFBO0F4RXVwU1o7O0F3RTlwU1E7RUFPSTtFQUFBO0F4RTRwU1o7O0F3RW5xU1E7RUFPSTtFQUFBO0F4RWlxU1o7O0F3RXhxU1E7RUFPSTtFQUFBO0F4RXNxU1o7O0F3RTdxU1E7RUFPSTtFQUFBO0F4RTJxU1o7O0F3RWxyU1E7RUFPSTtFQUFBO0F4RWdyU1o7O0F3RXZyU1E7RUFPSTtFQUFBO0F4RXFyU1o7O0F3RTVyU1E7RUFPSTtFQUFBO0F4RTByU1o7O0F3RWpzU1E7RUFPSTtBeEU4clNaOztBd0Vyc1NRO0VBT0k7QXhFa3NTWjs7QXdFenNTUTtFQU9JO0F4RXNzU1o7O0F3RTdzU1E7RUFPSTtBeEUwc1NaOztBd0VqdFNRO0VBT0k7QXhFOHNTWjs7QXdFcnRTUTtFQU9JO0F4RWt0U1o7O0F3RXp0U1E7RUFPSTtBeEVzdFNaOztBaUJodVNJO0V1REdJO0lBT0k7RXhFMnRTVjtFd0VsdVNNO0lBT0k7RXhFOHRTVjtFd0VydVNNO0lBT0k7RXhFaXVTVjtFd0V4dVNNO0lBT0k7RXhFb3VTVjtFd0UzdVNNO0lBT0k7RXhFdXVTVjtFd0U5dVNNO0lBT0k7RXhFMHVTVjtFd0VqdlNNO0lBT0k7RXhFNnVTVjtFd0VwdlNNO0lBT0k7RXhFZ3ZTVjtFd0V2dlNNO0lBT0k7RXhFbXZTVjtFd0UxdlNNO0lBT0k7RXhFc3ZTVjtFd0U3dlNNO0lBT0k7RXhFeXZTVjtFd0Vod1NNO0lBT0k7RXhFNHZTVjtFd0Vud1NNO0lBT0k7RXhFK3ZTVjtFd0V0d1NNO0lBT0k7RXhFa3dTVjtFd0V6d1NNO0lBT0k7RXhFcXdTVjtFd0U1d1NNO0lBT0k7RXhFd3dTVjtFd0Uvd1NNO0lBT0k7RXhFMndTVjtFd0VseFNNO0lBT0k7RXhFOHdTVjtFd0VyeFNNO0lBT0k7RXhFaXhTVjtFd0V4eFNNO0lBT0k7RXhFb3hTVjtFd0UzeFNNO0lBT0k7RXhFdXhTVjtFd0U5eFNNO0lBT0k7RXhFMHhTVjtFd0VqeVNNO0lBT0k7RXhFNnhTVjtFd0VweVNNO0lBT0k7RXhFZ3lTVjtFd0V2eVNNO0lBT0k7RXhFbXlTVjtFd0UxeVNNO0lBT0k7RXhFc3lTVjtFd0U3eVNNO0lBT0k7RXhFeXlTVjtFd0VoelNNO0lBT0k7RXhFNHlTVjtFd0VuelNNO0lBT0k7RXhFK3lTVjtFd0V0elNNO0lBT0k7RXhFa3pTVjtFd0V6elNNO0lBT0k7RXhFcXpTVjtFd0U1elNNO0lBT0k7RXhFd3pTVjtFd0UvelNNO0lBT0k7RXhFMnpTVjtFd0VsMFNNO0lBT0k7RXhFOHpTVjtFd0VyMFNNO0lBT0k7RXhFaTBTVjtFd0V4MFNNO0lBT0k7RXhFbzBTVjtFd0UzMFNNO0lBT0k7RXhFdTBTVjtFd0U5MFNNO0lBT0k7RXhFMDBTVjtFd0VqMVNNO0lBT0k7RXhFNjBTVjtFd0VwMVNNO0lBT0k7RXhFZzFTVjtFd0V2MVNNO0lBT0k7RXhFbTFTVjtFd0UxMVNNO0lBT0k7RXhFczFTVjtFd0U3MVNNO0lBT0k7RXhFeTFTVjtFd0VoMlNNO0lBT0k7RXhFNDFTVjtFd0VuMlNNO0lBT0k7RXhFKzFTVjtFd0V0MlNNO0lBT0k7RXhFazJTVjtFd0V6MlNNO0lBT0k7RXhFcTJTVjtFd0U1MlNNO0lBT0k7RXhFdzJTVjtFd0UvMlNNO0lBT0k7RXhFMjJTVjtFd0VsM1NNO0lBT0k7RXhFODJTVjtFd0VyM1NNO0lBT0k7RXhFaTNTVjtFd0V4M1NNO0lBT0k7RXhFbzNTVjtFd0UzM1NNO0lBT0k7RXhFdTNTVjtFd0U5M1NNO0lBT0k7RXhFMDNTVjtFd0VqNFNNO0lBT0k7RXhFNjNTVjtFd0VwNFNNO0lBT0k7RXhFZzRTVjtFd0V2NFNNO0lBT0k7RXhFbTRTVjtFd0UxNFNNO0lBT0k7RXhFczRTVjtFd0U3NFNNO0lBT0k7RXhFeTRTVjtFd0VoNVNNO0lBT0k7RXhFNDRTVjtFd0VuNVNNO0lBT0k7RXhFKzRTVjtFd0V0NVNNO0lBT0k7RXhFazVTVjtFd0V6NVNNO0lBT0k7RXhFcTVTVjtFd0U1NVNNO0lBT0k7RXhFdzVTVjtFd0UvNVNNO0lBT0k7RXhFMjVTVjtFd0VsNlNNO0lBT0k7RXhFODVTVjtFd0VyNlNNO0lBT0k7RXhFaTZTVjtFd0V4NlNNO0lBT0k7RXhFbzZTVjtFd0UzNlNNO0lBT0k7RXhFdTZTVjtFd0U5NlNNO0lBT0k7SUFBQTtFeEUyNlNWO0V3RWw3U007SUFPSTtJQUFBO0V4RSs2U1Y7RXdFdDdTTTtJQU9JO0lBQUE7RXhFbTdTVjtFd0UxN1NNO0lBT0k7SUFBQTtFeEV1N1NWO0V3RTk3U007SUFPSTtJQUFBO0V4RTI3U1Y7RXdFbDhTTTtJQU9JO0lBQUE7RXhFKzdTVjtFd0V0OFNNO0lBT0k7SUFBQTtFeEVtOFNWO0V3RTE4U007SUFPSTtJQUFBO0V4RXU4U1Y7RXdFOThTTTtJQU9JO0lBQUE7RXhFMjhTVjtFd0VsOVNNO0lBT0k7SUFBQTtFeEUrOFNWO0V3RXQ5U007SUFPSTtJQUFBO0V4RW05U1Y7RXdFMTlTTTtJQU9JO0lBQUE7RXhFdTlTVjtFd0U5OVNNO0lBT0k7SUFBQTtFeEUyOVNWO0V3RWwrU007SUFPSTtJQUFBO0V4RSs5U1Y7RXdFdCtTTTtJQU9JO0V4RWsrU1Y7RXdFeitTTTtJQU9JO0V4RXErU1Y7RXdFNStTTTtJQU9JO0V4RXcrU1Y7RXdFLytTTTtJQU9JO0V4RTIrU1Y7RXdFbC9TTTtJQU9JO0V4RTgrU1Y7RXdFci9TTTtJQU9JO0V4RWkvU1Y7RXdFeC9TTTtJQU9JO0V4RW8vU1Y7RXdFMy9TTTtJQU9JO0V4RXUvU1Y7RXdFOS9TTTtJQU9JO0V4RTAvU1Y7RXdFamdUTTtJQU9JO0V4RTYvU1Y7RXdFcGdUTTtJQU9JO0V4RWdnVFY7RXdFdmdUTTtJQU9JO0V4RW1nVFY7RXdFMWdUTTtJQU9JO0V4RXNnVFY7RXdFN2dUTTtJQU9JO0V4RXlnVFY7RXdFaGhUTTtJQU9JO0V4RTRnVFY7RXdFbmhUTTtJQU9JO0V4RStnVFY7RXdFdGhUTTtJQU9JO0V4RWtoVFY7RXdFemhUTTtJQU9JO0V4RXFoVFY7RXdFNWhUTTtJQU9JO0V4RXdoVFY7RXdFL2hUTTtJQU9JO0V4RTJoVFY7RXdFbGlUTTtJQU9JO0V4RThoVFY7RXdFcmlUTTtJQU9JO0V4RWlpVFY7RXdFeGlUTTtJQU9JO0V4RW9pVFY7RXdFM2lUTTtJQU9JO0V4RXVpVFY7RXdFOWlUTTtJQU9JO0V4RTBpVFY7RXdFampUTTtJQU9JO0V4RTZpVFY7RXdFcGpUTTtJQU9JO0V4RWdqVFY7RXdFdmpUTTtJQU9JO0V4RW1qVFY7RXdFMWpUTTtJQU9JO0V4RXNqVFY7RXdFN2pUTTtJQU9JO0V4RXlqVFY7RXdFaGtUTTtJQU9JO0V4RTRqVFY7RXdFbmtUTTtJQU9JO0V4RStqVFY7RXdFdGtUTTtJQU9JO0V4RWtrVFY7RXdFemtUTTtJQU9JO0lBQUE7RXhFc2tUVjtFd0U3a1RNO0lBT0k7SUFBQTtFeEUwa1RWO0V3RWpsVE07SUFPSTtJQUFBO0V4RThrVFY7RXdFcmxUTTtJQU9JO0lBQUE7RXhFa2xUVjtFd0V6bFRNO0lBT0k7SUFBQTtFeEVzbFRWO0V3RTdsVE07SUFPSTtJQUFBO0V4RTBsVFY7RXdFam1UTTtJQU9JO0lBQUE7RXhFOGxUVjtFd0VybVRNO0lBT0k7SUFBQTtFeEVrbVRWO0V3RXptVE07SUFPSTtJQUFBO0V4RXNtVFY7RXdFN21UTTtJQU9JO0lBQUE7RXhFMG1UVjtFd0VqblRNO0lBT0k7RXhFNm1UVjtFd0VwblRNO0lBT0k7RXhFZ25UVjtFd0V2blRNO0lBT0k7RXhFbW5UVjtFd0UxblRNO0lBT0k7RXhFc25UVjtFd0U3blRNO0lBT0k7RXhFeW5UVjtFd0Vob1RNO0lBT0k7RXhFNG5UVjtFd0Vub1RNO0lBT0k7RXhFK25UVjtFd0V0b1RNO0lBT0k7RXhFa29UVjtFd0V6b1RNO0lBT0k7RXhFcW9UVjtFd0U1b1RNO0lBT0k7RXhFd29UVjtFd0Uvb1RNO0lBT0k7RXhFMm9UVjtFd0VscFRNO0lBT0k7RXhFOG9UVjtFd0VycFRNO0lBT0k7RXhFaXBUVjtFd0V4cFRNO0lBT0k7RXhFb3BUVjtFd0UzcFRNO0lBT0k7RXhFdXBUVjtFd0U5cFRNO0lBT0k7RXhFMHBUVjtFd0VqcVRNO0lBT0k7RXhFNnBUVjtFd0VwcVRNO0lBT0k7RXhFZ3FUVjtFd0V2cVRNO0lBT0k7RXhFbXFUVjtFd0UxcVRNO0lBT0k7RXhFc3FUVjtFd0U3cVRNO0lBT0k7RXhFeXFUVjtFd0VoclRNO0lBT0k7RXhFNHFUVjtFd0VuclRNO0lBT0k7RXhFK3FUVjtFd0V0clRNO0lBT0k7RXhFa3JUVjtFd0V6clRNO0lBT0k7RXhFcXJUVjtFd0U1clRNO0lBT0k7RXhFd3JUVjtFd0UvclRNO0lBT0k7SUFBQTtFeEU0clRWO0V3RW5zVE07SUFPSTtJQUFBO0V4RWdzVFY7RXdFdnNUTTtJQU9JO0lBQUE7RXhFb3NUVjtFd0Uzc1RNO0lBT0k7SUFBQTtFeEV3c1RWO0V3RS9zVE07SUFPSTtJQUFBO0V4RTRzVFY7RXdFbnRUTTtJQU9JO0lBQUE7RXhFZ3RUVjtFd0V2dFRNO0lBT0k7SUFBQTtFeEVvdFRWO0V3RTN0VE07SUFPSTtJQUFBO0V4RXd0VFY7RXdFL3RUTTtJQU9JO0lBQUE7RXhFNHRUVjtFd0VudVRNO0lBT0k7SUFBQTtFeEVndVRWO0V3RXZ1VE07SUFPSTtJQUFBO0V4RW91VFY7RXdFM3VUTTtJQU9JO0lBQUE7RXhFd3VUVjtFd0UvdVRNO0lBT0k7RXhFMnVUVjtFd0VsdlRNO0lBT0k7RXhFOHVUVjtFd0VydlRNO0lBT0k7RXhFaXZUVjtFd0V4dlRNO0lBT0k7RXhFb3ZUVjtFd0UzdlRNO0lBT0k7RXhFdXZUVjtFd0U5dlRNO0lBT0k7RXhFMHZUVjtFd0Vqd1RNO0lBT0k7RXhFNnZUVjtFd0Vwd1RNO0lBT0k7RXhFZ3dUVjtFd0V2d1RNO0lBT0k7RXhFbXdUVjtFd0Uxd1RNO0lBT0k7RXhFc3dUVjtFd0U3d1RNO0lBT0k7RXhFeXdUVjtFd0VoeFRNO0lBT0k7RXhFNHdUVjtFd0VueFRNO0lBT0k7RXhFK3dUVjtFd0V0eFRNO0lBT0k7RXhFa3hUVjtFd0V6eFRNO0lBT0k7RXhFcXhUVjtFd0U1eFRNO0lBT0k7RXhFd3hUVjtFd0UveFRNO0lBT0k7RXhFMnhUVjtFd0VseVRNO0lBT0k7RXhFOHhUVjtFd0VyeVRNO0lBT0k7RXhFaXlUVjtFd0V4eVRNO0lBT0k7RXhFb3lUVjtFd0UzeVRNO0lBT0k7RXhFdXlUVjtFd0U5eVRNO0lBT0k7RXhFMHlUVjtFd0VqelRNO0lBT0k7RXhFNnlUVjtFd0VwelRNO0lBT0k7RXhFZ3pUVjtFd0V2elRNO0lBT0k7RXhFbXpUVjtFd0UxelRNO0lBT0k7RXhFc3pUVjtFd0U3elRNO0lBT0k7RXhFeXpUVjtFd0VoMFRNO0lBT0k7RXhFNHpUVjtFd0VuMFRNO0lBT0k7RXhFK3pUVjtFd0V0MFRNO0lBT0k7RXhFazBUVjtFd0V6MFRNO0lBT0k7RXhFcTBUVjtFd0U1MFRNO0lBT0k7RXhFdzBUVjtFd0UvMFRNO0lBT0k7RXhFMjBUVjtFd0VsMVRNO0lBT0k7RXhFODBUVjtFd0VyMVRNO0lBT0k7RXhFaTFUVjtFd0V4MVRNO0lBT0k7RXhFbzFUVjtFd0UzMVRNO0lBT0k7RXhFdTFUVjtFd0U5MVRNO0lBT0k7RXhFMDFUVjtFd0VqMlRNO0lBT0k7RXhFNjFUVjtFd0VwMlRNO0lBT0k7RXhFZzJUVjtFd0V2MlRNO0lBT0k7RXhFbTJUVjtFd0UxMlRNO0lBT0k7RXhFczJUVjtFd0U3MlRNO0lBT0k7RXhFeTJUVjtFd0VoM1RNO0lBT0k7RXhFNDJUVjtFd0VuM1RNO0lBT0k7RXhFKzJUVjtBQUNGO0FpQjEzVEk7RXVER0k7SUFPSTtFeEVvM1RWO0V3RTMzVE07SUFPSTtFeEV1M1RWO0V3RTkzVE07SUFPSTtFeEUwM1RWO0V3RWo0VE07SUFPSTtFeEU2M1RWO0V3RXA0VE07SUFPSTtFeEVnNFRWO0V3RXY0VE07SUFPSTtFeEVtNFRWO0V3RTE0VE07SUFPSTtFeEVzNFRWO0V3RTc0VE07SUFPSTtFeEV5NFRWO0V3RWg1VE07SUFPSTtFeEU0NFRWO0V3RW41VE07SUFPSTtFeEUrNFRWO0V3RXQ1VE07SUFPSTtFeEVrNVRWO0V3RXo1VE07SUFPSTtFeEVxNVRWO0V3RTU1VE07SUFPSTtFeEV3NVRWO0V3RS81VE07SUFPSTtFeEUyNVRWO0V3RWw2VE07SUFPSTtFeEU4NVRWO0V3RXI2VE07SUFPSTtFeEVpNlRWO0V3RXg2VE07SUFPSTtFeEVvNlRWO0V3RTM2VE07SUFPSTtFeEV1NlRWO0V3RTk2VE07SUFPSTtFeEUwNlRWO0V3RWo3VE07SUFPSTtFeEU2NlRWO0V3RXA3VE07SUFPSTtFeEVnN1RWO0V3RXY3VE07SUFPSTtFeEVtN1RWO0V3RTE3VE07SUFPSTtFeEVzN1RWO0V3RTc3VE07SUFPSTtFeEV5N1RWO0V3RWg4VE07SUFPSTtFeEU0N1RWO0V3RW44VE07SUFPSTtFeEUrN1RWO0V3RXQ4VE07SUFPSTtFeEVrOFRWO0V3RXo4VE07SUFPSTtFeEVxOFRWO0V3RTU4VE07SUFPSTtFeEV3OFRWO0V3RS84VE07SUFPSTtFeEUyOFRWO0V3RWw5VE07SUFPSTtFeEU4OFRWO0V3RXI5VE07SUFPSTtFeEVpOVRWO0V3RXg5VE07SUFPSTtFeEVvOVRWO0V3RTM5VE07SUFPSTtFeEV1OVRWO0V3RTk5VE07SUFPSTtFeEUwOVRWO0V3RWorVE07SUFPSTtFeEU2OVRWO0V3RXArVE07SUFPSTtFeEVnK1RWO0V3RXYrVE07SUFPSTtFeEVtK1RWO0V3RTErVE07SUFPSTtFeEVzK1RWO0V3RTcrVE07SUFPSTtFeEV5K1RWO0V3RWgvVE07SUFPSTtFeEU0K1RWO0V3RW4vVE07SUFPSTtFeEUrK1RWO0V3RXQvVE07SUFPSTtFeEVrL1RWO0V3RXovVE07SUFPSTtFeEVxL1RWO0V3RTUvVE07SUFPSTtFeEV3L1RWO0V3RS8vVE07SUFPSTtFeEUyL1RWO0V3RWxnVU07SUFPSTtFeEU4L1RWO0V3RXJnVU07SUFPSTtFeEVpZ1VWO0V3RXhnVU07SUFPSTtFeEVvZ1VWO0V3RTNnVU07SUFPSTtFeEV1Z1VWO0V3RTlnVU07SUFPSTtFeEUwZ1VWO0V3RWpoVU07SUFPSTtFeEU2Z1VWO0V3RXBoVU07SUFPSTtFeEVnaFVWO0V3RXZoVU07SUFPSTtFeEVtaFVWO0V3RTFoVU07SUFPSTtFeEVzaFVWO0V3RTdoVU07SUFPSTtFeEV5aFVWO0V3RWhpVU07SUFPSTtFeEU0aFVWO0V3RW5pVU07SUFPSTtFeEUraFVWO0V3RXRpVU07SUFPSTtFeEVraVVWO0V3RXppVU07SUFPSTtFeEVxaVVWO0V3RTVpVU07SUFPSTtFeEV3aVVWO0V3RS9pVU07SUFPSTtFeEUyaVVWO0V3RWxqVU07SUFPSTtFeEU4aVVWO0V3RXJqVU07SUFPSTtFeEVpalVWO0V3RXhqVU07SUFPSTtFeEVvalVWO0V3RTNqVU07SUFPSTtFeEV1alVWO0V3RTlqVU07SUFPSTtFeEUwalVWO0V3RWprVU07SUFPSTtFeEU2alVWO0V3RXBrVU07SUFPSTtFeEVna1VWO0V3RXZrVU07SUFPSTtJQUFBO0V4RW9rVVY7RXdFM2tVTTtJQU9JO0lBQUE7RXhFd2tVVjtFd0Uva1VNO0lBT0k7SUFBQTtFeEU0a1VWO0V3RW5sVU07SUFPSTtJQUFBO0V4RWdsVVY7RXdFdmxVTTtJQU9JO0lBQUE7RXhFb2xVVjtFd0UzbFVNO0lBT0k7SUFBQTtFeEV3bFVWO0V3RS9sVU07SUFPSTtJQUFBO0V4RTRsVVY7RXdFbm1VTTtJQU9JO0lBQUE7RXhFZ21VVjtFd0V2bVVNO0lBT0k7SUFBQTtFeEVvbVVWO0V3RTNtVU07SUFPSTtJQUFBO0V4RXdtVVY7RXdFL21VTTtJQU9JO0lBQUE7RXhFNG1VVjtFd0VublVNO0lBT0k7SUFBQTtFeEVnblVWO0V3RXZuVU07SUFPSTtJQUFBO0V4RW9uVVY7RXdFM25VTTtJQU9JO0lBQUE7RXhFd25VVjtFd0UvblVNO0lBT0k7RXhFMm5VVjtFd0Vsb1VNO0lBT0k7RXhFOG5VVjtFd0Vyb1VNO0lBT0k7RXhFaW9VVjtFd0V4b1VNO0lBT0k7RXhFb29VVjtFd0Uzb1VNO0lBT0k7RXhFdW9VVjtFd0U5b1VNO0lBT0k7RXhFMG9VVjtFd0VqcFVNO0lBT0k7RXhFNm9VVjtFd0VwcFVNO0lBT0k7RXhFZ3BVVjtFd0V2cFVNO0lBT0k7RXhFbXBVVjtFd0UxcFVNO0lBT0k7RXhFc3BVVjtFd0U3cFVNO0lBT0k7RXhFeXBVVjtFd0VocVVNO0lBT0k7RXhFNHBVVjtFd0VucVVNO0lBT0k7RXhFK3BVVjtFd0V0cVVNO0lBT0k7RXhFa3FVVjtFd0V6cVVNO0lBT0k7RXhFcXFVVjtFd0U1cVVNO0lBT0k7RXhFd3FVVjtFd0UvcVVNO0lBT0k7RXhFMnFVVjtFd0VsclVNO0lBT0k7RXhFOHFVVjtFd0VyclVNO0lBT0k7RXhFaXJVVjtFd0V4clVNO0lBT0k7RXhFb3JVVjtFd0UzclVNO0lBT0k7RXhFdXJVVjtFd0U5clVNO0lBT0k7RXhFMHJVVjtFd0Vqc1VNO0lBT0k7RXhFNnJVVjtFd0Vwc1VNO0lBT0k7RXhFZ3NVVjtFd0V2c1VNO0lBT0k7RXhFbXNVVjtFd0Uxc1VNO0lBT0k7RXhFc3NVVjtFd0U3c1VNO0lBT0k7RXhFeXNVVjtFd0VodFVNO0lBT0k7RXhFNHNVVjtFd0VudFVNO0lBT0k7RXhFK3NVVjtFd0V0dFVNO0lBT0k7RXhFa3RVVjtFd0V6dFVNO0lBT0k7RXhFcXRVVjtFd0U1dFVNO0lBT0k7RXhFd3RVVjtFd0UvdFVNO0lBT0k7RXhFMnRVVjtFd0VsdVVNO0lBT0k7SUFBQTtFeEUrdFVWO0V3RXR1VU07SUFPSTtJQUFBO0V4RW11VVY7RXdFMXVVTTtJQU9JO0lBQUE7RXhFdXVVVjtFd0U5dVVNO0lBT0k7SUFBQTtFeEUydVVWO0V3RWx2VU07SUFPSTtJQUFBO0V4RSt1VVY7RXdFdHZVTTtJQU9JO0lBQUE7RXhFbXZVVjtFd0UxdlVNO0lBT0k7SUFBQTtFeEV1dlVWO0V3RTl2VU07SUFPSTtJQUFBO0V4RTJ2VVY7RXdFbHdVTTtJQU9JO0lBQUE7RXhFK3ZVVjtFd0V0d1VNO0lBT0k7SUFBQTtFeEVtd1VWO0V3RTF3VU07SUFPSTtFeEVzd1VWO0V3RTd3VU07SUFPSTtFeEV5d1VWO0V3RWh4VU07SUFPSTtFeEU0d1VWO0V3RW54VU07SUFPSTtFeEUrd1VWO0V3RXR4VU07SUFPSTtFeEVreFVWO0V3RXp4VU07SUFPSTtFeEVxeFVWO0V3RTV4VU07SUFPSTtFeEV3eFVWO0V3RS94VU07SUFPSTtFeEUyeFVWO0V3RWx5VU07SUFPSTtFeEU4eFVWO0V3RXJ5VU07SUFPSTtFeEVpeVVWO0V3RXh5VU07SUFPSTtFeEVveVVWO0V3RTN5VU07SUFPSTtFeEV1eVVWO0V3RTl5VU07SUFPSTtFeEUweVVWO0V3RWp6VU07SUFPSTtFeEU2eVVWO0V3RXB6VU07SUFPSTtFeEVnelVWO0V3RXZ6VU07SUFPSTtFeEVtelVWO0V3RTF6VU07SUFPSTtFeEVzelVWO0V3RTd6VU07SUFPSTtFeEV5elVWO0V3RWgwVU07SUFPSTtFeEU0elVWO0V3RW4wVU07SUFPSTtFeEUrelVWO0V3RXQwVU07SUFPSTtFeEVrMFVWO0V3RXowVU07SUFPSTtFeEVxMFVWO0V3RTUwVU07SUFPSTtFeEV3MFVWO0V3RS8wVU07SUFPSTtFeEUyMFVWO0V3RWwxVU07SUFPSTtFeEU4MFVWO0V3RXIxVU07SUFPSTtFeEVpMVVWO0V3RXgxVU07SUFPSTtJQUFBO0V4RXExVVY7RXdFNTFVTTtJQU9JO0lBQUE7RXhFeTFVVjtFd0VoMlVNO0lBT0k7SUFBQTtFeEU2MVVWO0V3RXAyVU07SUFPSTtJQUFBO0V4RWkyVVY7RXdFeDJVTTtJQU9JO0lBQUE7RXhFcTJVVjtFd0U1MlVNO0lBT0k7SUFBQTtFeEV5MlVWO0V3RWgzVU07SUFPSTtJQUFBO0V4RTYyVVY7RXdFcDNVTTtJQU9JO0lBQUE7RXhFaTNVVjtFd0V4M1VNO0lBT0k7SUFBQTtFeEVxM1VWO0V3RTUzVU07SUFPSTtJQUFBO0V4RXkzVVY7RXdFaDRVTTtJQU9JO0lBQUE7RXhFNjNVVjtFd0VwNFVNO0lBT0k7SUFBQTtFeEVpNFVWO0V3RXg0VU07SUFPSTtFeEVvNFVWO0V3RTM0VU07SUFPSTtFeEV1NFVWO0V3RTk0VU07SUFPSTtFeEUwNFVWO0V3RWo1VU07SUFPSTtFeEU2NFVWO0V3RXA1VU07SUFPSTtFeEVnNVVWO0V3RXY1VU07SUFPSTtFeEVtNVVWO0V3RTE1VU07SUFPSTtFeEVzNVVWO0V3RTc1VU07SUFPSTtFeEV5NVVWO0V3RWg2VU07SUFPSTtFeEU0NVVWO0V3RW42VU07SUFPSTtFeEUrNVVWO0V3RXQ2VU07SUFPSTtFeEVrNlVWO0V3RXo2VU07SUFPSTtFeEVxNlVWO0V3RTU2VU07SUFPSTtFeEV3NlVWO0V3RS82VU07SUFPSTtFeEUyNlVWO0V3RWw3VU07SUFPSTtFeEU4NlVWO0V3RXI3VU07SUFPSTtFeEVpN1VWO0V3RXg3VU07SUFPSTtFeEVvN1VWO0V3RTM3VU07SUFPSTtFeEV1N1VWO0V3RTk3VU07SUFPSTtFeEUwN1VWO0V3RWo4VU07SUFPSTtFeEU2N1VWO0V3RXA4VU07SUFPSTtFeEVnOFVWO0V3RXY4VU07SUFPSTtFeEVtOFVWO0V3RTE4VU07SUFPSTtFeEVzOFVWO0V3RTc4VU07SUFPSTtFeEV5OFVWO0V3RWg5VU07SUFPSTtFeEU0OFVWO0V3RW45VU07SUFPSTtFeEUrOFVWO0V3RXQ5VU07SUFPSTtFeEVrOVVWO0V3RXo5VU07SUFPSTtFeEVxOVVWO0V3RTU5VU07SUFPSTtFeEV3OVVWO0V3RS85VU07SUFPSTtFeEUyOVVWO0V3RWwrVU07SUFPSTtFeEU4OVVWO0V3RXIrVU07SUFPSTtFeEVpK1VWO0V3RXgrVU07SUFPSTtFeEVvK1VWO0V3RTMrVU07SUFPSTtFeEV1K1VWO0V3RTkrVU07SUFPSTtFeEUwK1VWO0V3RWovVU07SUFPSTtFeEU2K1VWO0V3RXAvVU07SUFPSTtFeEVnL1VWO0V3RXYvVU07SUFPSTtFeEVtL1VWO0V3RTEvVU07SUFPSTtFeEVzL1VWO0V3RTcvVU07SUFPSTtFeEV5L1VWO0V3RWhnVk07SUFPSTtFeEU0L1VWO0V3RW5nVk07SUFPSTtFeEUrL1VWO0V3RXRnVk07SUFPSTtFeEVrZ1ZWO0V3RXpnVk07SUFPSTtFeEVxZ1ZWO0V3RTVnVk07SUFPSTtFeEV3Z1ZWO0FBQ0Y7QWlCbmhWSTtFdURHSTtJQU9JO0V4RTZnVlY7RXdFcGhWTTtJQU9JO0V4RWdoVlY7RXdFdmhWTTtJQU9JO0V4RW1oVlY7RXdFMWhWTTtJQU9JO0V4RXNoVlY7RXdFN2hWTTtJQU9JO0V4RXloVlY7RXdFaGlWTTtJQU9JO0V4RTRoVlY7RXdFbmlWTTtJQU9JO0V4RStoVlY7RXdFdGlWTTtJQU9JO0V4RWtpVlY7RXdFemlWTTtJQU9JO0V4RXFpVlY7RXdFNWlWTTtJQU9JO0V4RXdpVlY7RXdFL2lWTTtJQU9JO0V4RTJpVlY7RXdFbGpWTTtJQU9JO0V4RThpVlY7RXdFcmpWTTtJQU9JO0V4RWlqVlY7RXdFeGpWTTtJQU9JO0V4RW9qVlY7RXdFM2pWTTtJQU9JO0V4RXVqVlY7RXdFOWpWTTtJQU9JO0V4RTBqVlY7RXdFamtWTTtJQU9JO0V4RTZqVlY7RXdFcGtWTTtJQU9JO0V4RWdrVlY7RXdFdmtWTTtJQU9JO0V4RW1rVlY7RXdFMWtWTTtJQU9JO0V4RXNrVlY7RXdFN2tWTTtJQU9JO0V4RXlrVlY7RXdFaGxWTTtJQU9JO0V4RTRrVlY7RXdFbmxWTTtJQU9JO0V4RStrVlY7RXdFdGxWTTtJQU9JO0V4RWtsVlY7RXdFemxWTTtJQU9JO0V4RXFsVlY7RXdFNWxWTTtJQU9JO0V4RXdsVlY7RXdFL2xWTTtJQU9JO0V4RTJsVlY7RXdFbG1WTTtJQU9JO0V4RThsVlY7RXdFcm1WTTtJQU9JO0V4RWltVlY7RXdFeG1WTTtJQU9JO0V4RW9tVlY7RXdFM21WTTtJQU9JO0V4RXVtVlY7RXdFOW1WTTtJQU9JO0V4RTBtVlY7RXdFam5WTTtJQU9JO0V4RTZtVlY7RXdFcG5WTTtJQU9JO0V4RWduVlY7RXdFdm5WTTtJQU9JO0V4RW1uVlY7RXdFMW5WTTtJQU9JO0V4RXNuVlY7RXdFN25WTTtJQU9JO0V4RXluVlY7RXdFaG9WTTtJQU9JO0V4RTRuVlY7RXdFbm9WTTtJQU9JO0V4RStuVlY7RXdFdG9WTTtJQU9JO0V4RWtvVlY7RXdFem9WTTtJQU9JO0V4RXFvVlY7RXdFNW9WTTtJQU9JO0V4RXdvVlY7RXdFL29WTTtJQU9JO0V4RTJvVlY7RXdFbHBWTTtJQU9JO0V4RThvVlY7RXdFcnBWTTtJQU9JO0V4RWlwVlY7RXdFeHBWTTtJQU9JO0V4RW9wVlY7RXdFM3BWTTtJQU9JO0V4RXVwVlY7RXdFOXBWTTtJQU9JO0V4RTBwVlY7RXdFanFWTTtJQU9JO0V4RTZwVlY7RXdFcHFWTTtJQU9JO0V4RWdxVlY7RXdFdnFWTTtJQU9JO0V4RW1xVlY7RXdFMXFWTTtJQU9JO0V4RXNxVlY7RXdFN3FWTTtJQU9JO0V4RXlxVlY7RXdFaHJWTTtJQU9JO0V4RTRxVlY7RXdFbnJWTTtJQU9JO0V4RStxVlY7RXdFdHJWTTtJQU9JO0V4RWtyVlY7RXdFenJWTTtJQU9JO0V4RXFyVlY7RXdFNXJWTTtJQU9JO0V4RXdyVlY7RXdFL3JWTTtJQU9JO0V4RTJyVlY7RXdFbHNWTTtJQU9JO0V4RThyVlY7RXdFcnNWTTtJQU9JO0V4RWlzVlY7RXdFeHNWTTtJQU9JO0V4RW9zVlY7RXdFM3NWTTtJQU9JO0V4RXVzVlY7RXdFOXNWTTtJQU9JO0V4RTBzVlY7RXdFanRWTTtJQU9JO0V4RTZzVlY7RXdFcHRWTTtJQU9JO0V4RWd0VlY7RXdFdnRWTTtJQU9JO0V4RW10VlY7RXdFMXRWTTtJQU9JO0V4RXN0VlY7RXdFN3RWTTtJQU9JO0V4RXl0VlY7RXdFaHVWTTtJQU9JO0lBQUE7RXhFNnRWVjtFd0VwdVZNO0lBT0k7SUFBQTtFeEVpdVZWO0V3RXh1Vk07SUFPSTtJQUFBO0V4RXF1VlY7RXdFNXVWTTtJQU9JO0lBQUE7RXhFeXVWVjtFd0VodlZNO0lBT0k7SUFBQTtFeEU2dVZWO0V3RXB2Vk07SUFPSTtJQUFBO0V4RWl2VlY7RXdFeHZWTTtJQU9JO0lBQUE7RXhFcXZWVjtFd0U1dlZNO0lBT0k7SUFBQTtFeEV5dlZWO0V3RWh3Vk07SUFPSTtJQUFBO0V4RTZ2VlY7RXdFcHdWTTtJQU9JO0lBQUE7RXhFaXdWVjtFd0V4d1ZNO0lBT0k7SUFBQTtFeEVxd1ZWO0V3RTV3Vk07SUFPSTtJQUFBO0V4RXl3VlY7RXdFaHhWTTtJQU9JO0lBQUE7RXhFNndWVjtFd0VweFZNO0lBT0k7SUFBQTtFeEVpeFZWO0V3RXh4Vk07SUFPSTtFeEVveFZWO0V3RTN4Vk07SUFPSTtFeEV1eFZWO0V3RTl4Vk07SUFPSTtFeEUweFZWO0V3RWp5Vk07SUFPSTtFeEU2eFZWO0V3RXB5Vk07SUFPSTtFeEVneVZWO0V3RXZ5Vk07SUFPSTtFeEVteVZWO0V3RTF5Vk07SUFPSTtFeEVzeVZWO0V3RTd5Vk07SUFPSTtFeEV5eVZWO0V3RWh6Vk07SUFPSTtFeEU0eVZWO0V3RW56Vk07SUFPSTtFeEUreVZWO0V3RXR6Vk07SUFPSTtFeEVrelZWO0V3RXp6Vk07SUFPSTtFeEVxelZWO0V3RTV6Vk07SUFPSTtFeEV3elZWO0V3RS96Vk07SUFPSTtFeEUyelZWO0V3RWwwVk07SUFPSTtFeEU4elZWO0V3RXIwVk07SUFPSTtFeEVpMFZWO0V3RXgwVk07SUFPSTtFeEVvMFZWO0V3RTMwVk07SUFPSTtFeEV1MFZWO0V3RTkwVk07SUFPSTtFeEUwMFZWO0V3RWoxVk07SUFPSTtFeEU2MFZWO0V3RXAxVk07SUFPSTtFeEVnMVZWO0V3RXYxVk07SUFPSTtFeEVtMVZWO0V3RTExVk07SUFPSTtFeEVzMVZWO0V3RTcxVk07SUFPSTtFeEV5MVZWO0V3RWgyVk07SUFPSTtFeEU0MVZWO0V3RW4yVk07SUFPSTtFeEUrMVZWO0V3RXQyVk07SUFPSTtFeEVrMlZWO0V3RXoyVk07SUFPSTtFeEVxMlZWO0V3RTUyVk07SUFPSTtFeEV3MlZWO0V3RS8yVk07SUFPSTtFeEUyMlZWO0V3RWwzVk07SUFPSTtFeEU4MlZWO0V3RXIzVk07SUFPSTtFeEVpM1ZWO0V3RXgzVk07SUFPSTtFeEVvM1ZWO0V3RTMzVk07SUFPSTtJQUFBO0V4RXczVlY7RXdFLzNWTTtJQU9JO0lBQUE7RXhFNDNWVjtFd0VuNFZNO0lBT0k7SUFBQTtFeEVnNFZWO0V3RXY0Vk07SUFPSTtJQUFBO0V4RW80VlY7RXdFMzRWTTtJQU9JO0lBQUE7RXhFdzRWVjtFd0UvNFZNO0lBT0k7SUFBQTtFeEU0NFZWO0V3RW41Vk07SUFPSTtJQUFBO0V4RWc1VlY7RXdFdjVWTTtJQU9JO0lBQUE7RXhFbzVWVjtFd0UzNVZNO0lBT0k7SUFBQTtFeEV3NVZWO0V3RS81Vk07SUFPSTtJQUFBO0V4RTQ1VlY7RXdFbjZWTTtJQU9JO0V4RSs1VlY7RXdFdDZWTTtJQU9JO0V4RWs2VlY7RXdFejZWTTtJQU9JO0V4RXE2VlY7RXdFNTZWTTtJQU9JO0V4RXc2VlY7RXdFLzZWTTtJQU9JO0V4RTI2VlY7RXdFbDdWTTtJQU9JO0V4RTg2VlY7RXdFcjdWTTtJQU9JO0V4RWk3VlY7RXdFeDdWTTtJQU9JO0V4RW83VlY7RXdFMzdWTTtJQU9JO0V4RXU3VlY7RXdFOTdWTTtJQU9JO0V4RTA3VlY7RXdFajhWTTtJQU9JO0V4RTY3VlY7RXdFcDhWTTtJQU9JO0V4RWc4VlY7RXdFdjhWTTtJQU9JO0V4RW04VlY7RXdFMThWTTtJQU9JO0V4RXM4VlY7RXdFNzhWTTtJQU9JO0V4RXk4VlY7RXdFaDlWTTtJQU9JO0V4RTQ4VlY7RXdFbjlWTTtJQU9JO0V4RSs4VlY7RXdFdDlWTTtJQU9JO0V4RWs5VlY7RXdFejlWTTtJQU9JO0V4RXE5VlY7RXdFNTlWTTtJQU9JO0V4RXc5VlY7RXdFLzlWTTtJQU9JO0V4RTI5VlY7RXdFbCtWTTtJQU9JO0V4RTg5VlY7RXdFcitWTTtJQU9JO0V4RWkrVlY7RXdFeCtWTTtJQU9JO0V4RW8rVlY7RXdFMytWTTtJQU9JO0V4RXUrVlY7RXdFOStWTTtJQU9JO0V4RTArVlY7RXdFai9WTTtJQU9JO0lBQUE7RXhFOCtWVjtFd0VyL1ZNO0lBT0k7SUFBQTtFeEVrL1ZWO0V3RXovVk07SUFPSTtJQUFBO0V4RXMvVlY7RXdFNy9WTTtJQU9JO0lBQUE7RXhFMC9WVjtFd0VqZ1dNO0lBT0k7SUFBQTtFeEU4L1ZWO0V3RXJnV007SUFPSTtJQUFBO0V4RWtnV1Y7RXdFemdXTTtJQU9JO0lBQUE7RXhFc2dXVjtFd0U3Z1dNO0lBT0k7SUFBQTtFeEUwZ1dWO0V3RWpoV007SUFPSTtJQUFBO0V4RThnV1Y7RXdFcmhXTTtJQU9JO0lBQUE7RXhFa2hXVjtFd0V6aFdNO0lBT0k7SUFBQTtFeEVzaFdWO0V3RTdoV007SUFPSTtJQUFBO0V4RTBoV1Y7RXdFamlXTTtJQU9JO0V4RTZoV1Y7RXdFcGlXTTtJQU9JO0V4RWdpV1Y7RXdFdmlXTTtJQU9JO0V4RW1pV1Y7RXdFMWlXTTtJQU9JO0V4RXNpV1Y7RXdFN2lXTTtJQU9JO0V4RXlpV1Y7RXdFaGpXTTtJQU9JO0V4RTRpV1Y7RXdFbmpXTTtJQU9JO0V4RStpV1Y7RXdFdGpXTTtJQU9JO0V4RWtqV1Y7RXdFempXTTtJQU9JO0V4RXFqV1Y7RXdFNWpXTTtJQU9JO0V4RXdqV1Y7RXdFL2pXTTtJQU9JO0V4RTJqV1Y7RXdFbGtXTTtJQU9JO0V4RThqV1Y7RXdFcmtXTTtJQU9JO0V4RWlrV1Y7RXdFeGtXTTtJQU9JO0V4RW9rV1Y7RXdFM2tXTTtJQU9JO0V4RXVrV1Y7RXdFOWtXTTtJQU9JO0V4RTBrV1Y7RXdFamxXTTtJQU9JO0V4RTZrV1Y7RXdFcGxXTTtJQU9JO0V4RWdsV1Y7RXdFdmxXTTtJQU9JO0V4RW1sV1Y7RXdFMWxXTTtJQU9JO0V4RXNsV1Y7RXdFN2xXTTtJQU9JO0V4RXlsV1Y7RXdFaG1XTTtJQU9JO0V4RTRsV1Y7RXdFbm1XTTtJQU9JO0V4RStsV1Y7RXdFdG1XTTtJQU9JO0V4RWttV1Y7RXdFem1XTTtJQU9JO0V4RXFtV1Y7RXdFNW1XTTtJQU9JO0V4RXdtV1Y7RXdFL21XTTtJQU9JO0V4RTJtV1Y7RXdFbG5XTTtJQU9JO0V4RThtV1Y7RXdFcm5XTTtJQU9JO0V4RWluV1Y7RXdFeG5XTTtJQU9JO0V4RW9uV1Y7RXdFM25XTTtJQU9JO0V4RXVuV1Y7RXdFOW5XTTtJQU9JO0V4RTBuV1Y7RXdFam9XTTtJQU9JO0V4RTZuV1Y7RXdFcG9XTTtJQU9JO0V4RWdvV1Y7RXdFdm9XTTtJQU9JO0V4RW1vV1Y7RXdFMW9XTTtJQU9JO0V4RXNvV1Y7RXdFN29XTTtJQU9JO0V4RXlvV1Y7RXdFaHBXTTtJQU9JO0V4RTRvV1Y7RXdFbnBXTTtJQU9JO0V4RStvV1Y7RXdFdHBXTTtJQU9JO0V4RWtwV1Y7RXdFenBXTTtJQU9JO0V4RXFwV1Y7RXdFNXBXTTtJQU9JO0V4RXdwV1Y7RXdFL3BXTTtJQU9JO0V4RTJwV1Y7RXdFbHFXTTtJQU9JO0V4RThwV1Y7RXdFcnFXTTtJQU9JO0V4RWlxV1Y7QUFDRjtBaUI1cVdJO0V1REdJO0lBT0k7RXhFc3FXVjtFd0U3cVdNO0lBT0k7RXhFeXFXVjtFd0VocldNO0lBT0k7RXhFNHFXVjtFd0VucldNO0lBT0k7RXhFK3FXVjtFd0V0cldNO0lBT0k7RXhFa3JXVjtFd0V6cldNO0lBT0k7RXhFcXJXVjtFd0U1cldNO0lBT0k7RXhFd3JXVjtFd0UvcldNO0lBT0k7RXhFMnJXVjtFd0Vsc1dNO0lBT0k7RXhFOHJXVjtFd0Vyc1dNO0lBT0k7RXhFaXNXVjtFd0V4c1dNO0lBT0k7RXhFb3NXVjtFd0Uzc1dNO0lBT0k7RXhFdXNXVjtFd0U5c1dNO0lBT0k7RXhFMHNXVjtFd0VqdFdNO0lBT0k7RXhFNnNXVjtFd0VwdFdNO0lBT0k7RXhFZ3RXVjtFd0V2dFdNO0lBT0k7RXhFbXRXVjtFd0UxdFdNO0lBT0k7RXhFc3RXVjtFd0U3dFdNO0lBT0k7RXhFeXRXVjtFd0VodVdNO0lBT0k7RXhFNHRXVjtFd0VudVdNO0lBT0k7RXhFK3RXVjtFd0V0dVdNO0lBT0k7RXhFa3VXVjtFd0V6dVdNO0lBT0k7RXhFcXVXVjtFd0U1dVdNO0lBT0k7RXhFd3VXVjtFd0UvdVdNO0lBT0k7RXhFMnVXVjtFd0VsdldNO0lBT0k7RXhFOHVXVjtFd0VydldNO0lBT0k7RXhFaXZXVjtFd0V4dldNO0lBT0k7RXhFb3ZXVjtFd0UzdldNO0lBT0k7RXhFdXZXVjtFd0U5dldNO0lBT0k7RXhFMHZXVjtFd0Vqd1dNO0lBT0k7RXhFNnZXVjtFd0Vwd1dNO0lBT0k7RXhFZ3dXVjtFd0V2d1dNO0lBT0k7RXhFbXdXVjtFd0Uxd1dNO0lBT0k7RXhFc3dXVjtFd0U3d1dNO0lBT0k7RXhFeXdXVjtFd0VoeFdNO0lBT0k7RXhFNHdXVjtFd0VueFdNO0lBT0k7RXhFK3dXVjtFd0V0eFdNO0lBT0k7RXhFa3hXVjtFd0V6eFdNO0lBT0k7RXhFcXhXVjtFd0U1eFdNO0lBT0k7RXhFd3hXVjtFd0UveFdNO0lBT0k7RXhFMnhXVjtFd0VseVdNO0lBT0k7RXhFOHhXVjtFd0VyeVdNO0lBT0k7RXhFaXlXVjtFd0V4eVdNO0lBT0k7RXhFb3lXVjtFd0UzeVdNO0lBT0k7RXhFdXlXVjtFd0U5eVdNO0lBT0k7RXhFMHlXVjtFd0VqeldNO0lBT0k7RXhFNnlXVjtFd0VweldNO0lBT0k7RXhFZ3pXVjtFd0V2eldNO0lBT0k7RXhFbXpXVjtFd0UxeldNO0lBT0k7RXhFc3pXVjtFd0U3eldNO0lBT0k7RXhFeXpXVjtFd0VoMFdNO0lBT0k7RXhFNHpXVjtFd0VuMFdNO0lBT0k7RXhFK3pXVjtFd0V0MFdNO0lBT0k7RXhFazBXVjtFd0V6MFdNO0lBT0k7RXhFcTBXVjtFd0U1MFdNO0lBT0k7RXhFdzBXVjtFd0UvMFdNO0lBT0k7RXhFMjBXVjtFd0VsMVdNO0lBT0k7RXhFODBXVjtFd0VyMVdNO0lBT0k7RXhFaTFXVjtFd0V4MVdNO0lBT0k7RXhFbzFXVjtFd0UzMVdNO0lBT0k7RXhFdTFXVjtFd0U5MVdNO0lBT0k7RXhFMDFXVjtFd0VqMldNO0lBT0k7RXhFNjFXVjtFd0VwMldNO0lBT0k7RXhFZzJXVjtFd0V2MldNO0lBT0k7RXhFbTJXVjtFd0UxMldNO0lBT0k7RXhFczJXVjtFd0U3MldNO0lBT0k7RXhFeTJXVjtFd0VoM1dNO0lBT0k7RXhFNDJXVjtFd0VuM1dNO0lBT0k7RXhFKzJXVjtFd0V0M1dNO0lBT0k7RXhFazNXVjtFd0V6M1dNO0lBT0k7SUFBQTtFeEVzM1dWO0V3RTczV007SUFPSTtJQUFBO0V4RTAzV1Y7RXdFajRXTTtJQU9JO0lBQUE7RXhFODNXVjtFd0VyNFdNO0lBT0k7SUFBQTtFeEVrNFdWO0V3RXo0V007SUFPSTtJQUFBO0V4RXM0V1Y7RXdFNzRXTTtJQU9JO0lBQUE7RXhFMDRXVjtFd0VqNVdNO0lBT0k7SUFBQTtFeEU4NFdWO0V3RXI1V007SUFPSTtJQUFBO0V4RWs1V1Y7RXdFejVXTTtJQU9JO0lBQUE7RXhFczVXVjtFd0U3NVdNO0lBT0k7SUFBQTtFeEUwNVdWO0V3RWo2V007SUFPSTtJQUFBO0V4RTg1V1Y7RXdFcjZXTTtJQU9JO0lBQUE7RXhFazZXVjtFd0V6NldNO0lBT0k7SUFBQTtFeEVzNldWO0V3RTc2V007SUFPSTtJQUFBO0V4RTA2V1Y7RXdFajdXTTtJQU9JO0V4RTY2V1Y7RXdFcDdXTTtJQU9JO0V4RWc3V1Y7RXdFdjdXTTtJQU9JO0V4RW03V1Y7RXdFMTdXTTtJQU9JO0V4RXM3V1Y7RXdFNzdXTTtJQU9JO0V4RXk3V1Y7RXdFaDhXTTtJQU9JO0V4RTQ3V1Y7RXdFbjhXTTtJQU9JO0V4RSs3V1Y7RXdFdDhXTTtJQU9JO0V4RWs4V1Y7RXdFejhXTTtJQU9JO0V4RXE4V1Y7RXdFNThXTTtJQU9JO0V4RXc4V1Y7RXdFLzhXTTtJQU9JO0V4RTI4V1Y7RXdFbDlXTTtJQU9JO0V4RTg4V1Y7RXdFcjlXTTtJQU9JO0V4RWk5V1Y7RXdFeDlXTTtJQU9JO0V4RW85V1Y7RXdFMzlXTTtJQU9JO0V4RXU5V1Y7RXdFOTlXTTtJQU9JO0V4RTA5V1Y7RXdFaitXTTtJQU9JO0V4RTY5V1Y7RXdFcCtXTTtJQU9JO0V4RWcrV1Y7RXdFditXTTtJQU9JO0V4RW0rV1Y7RXdFMStXTTtJQU9JO0V4RXMrV1Y7RXdFNytXTTtJQU9JO0V4RXkrV1Y7RXdFaC9XTTtJQU9JO0V4RTQrV1Y7RXdFbi9XTTtJQU9JO0V4RSsrV1Y7RXdFdC9XTTtJQU9JO0V4RWsvV1Y7RXdFei9XTTtJQU9JO0V4RXEvV1Y7RXdFNS9XTTtJQU9JO0V4RXcvV1Y7RXdFLy9XTTtJQU9JO0V4RTIvV1Y7RXdFbGdYTTtJQU9JO0V4RTgvV1Y7RXdFcmdYTTtJQU9JO0V4RWlnWFY7RXdFeGdYTTtJQU9JO0V4RW9nWFY7RXdFM2dYTTtJQU9JO0V4RXVnWFY7RXdFOWdYTTtJQU9JO0V4RTBnWFY7RXdFamhYTTtJQU9JO0V4RTZnWFY7RXdFcGhYTTtJQU9JO0lBQUE7RXhFaWhYVjtFd0V4aFhNO0lBT0k7SUFBQTtFeEVxaFhWO0V3RTVoWE07SUFPSTtJQUFBO0V4RXloWFY7RXdFaGlYTTtJQU9JO0lBQUE7RXhFNmhYVjtFd0VwaVhNO0lBT0k7SUFBQTtFeEVpaVhWO0V3RXhpWE07SUFPSTtJQUFBO0V4RXFpWFY7RXdFNWlYTTtJQU9JO0lBQUE7RXhFeWlYVjtFd0VoalhNO0lBT0k7SUFBQTtFeEU2aVhWO0V3RXBqWE07SUFPSTtJQUFBO0V4RWlqWFY7RXdFeGpYTTtJQU9JO0lBQUE7RXhFcWpYVjtFd0U1alhNO0lBT0k7RXhFd2pYVjtFd0UvalhNO0lBT0k7RXhFMmpYVjtFd0Vsa1hNO0lBT0k7RXhFOGpYVjtFd0Vya1hNO0lBT0k7RXhFaWtYVjtFd0V4a1hNO0lBT0k7RXhFb2tYVjtFd0Uza1hNO0lBT0k7RXhFdWtYVjtFd0U5a1hNO0lBT0k7RXhFMGtYVjtFd0VqbFhNO0lBT0k7RXhFNmtYVjtFd0VwbFhNO0lBT0k7RXhFZ2xYVjtFd0V2bFhNO0lBT0k7RXhFbWxYVjtFd0UxbFhNO0lBT0k7RXhFc2xYVjtFd0U3bFhNO0lBT0k7RXhFeWxYVjtFd0VobVhNO0lBT0k7RXhFNGxYVjtFd0VubVhNO0lBT0k7RXhFK2xYVjtFd0V0bVhNO0lBT0k7RXhFa21YVjtFd0V6bVhNO0lBT0k7RXhFcW1YVjtFd0U1bVhNO0lBT0k7RXhFd21YVjtFd0UvbVhNO0lBT0k7RXhFMm1YVjtFd0VsblhNO0lBT0k7RXhFOG1YVjtFd0VyblhNO0lBT0k7RXhFaW5YVjtFd0V4blhNO0lBT0k7RXhFb25YVjtFd0UzblhNO0lBT0k7RXhFdW5YVjtFd0U5blhNO0lBT0k7RXhFMG5YVjtFd0Vqb1hNO0lBT0k7RXhFNm5YVjtFd0Vwb1hNO0lBT0k7RXhFZ29YVjtFd0V2b1hNO0lBT0k7RXhFbW9YVjtFd0Uxb1hNO0lBT0k7SUFBQTtFeEV1b1hWO0V3RTlvWE07SUFPSTtJQUFBO0V4RTJvWFY7RXdFbHBYTTtJQU9JO0lBQUE7RXhFK29YVjtFd0V0cFhNO0lBT0k7SUFBQTtFeEVtcFhWO0V3RTFwWE07SUFPSTtJQUFBO0V4RXVwWFY7RXdFOXBYTTtJQU9JO0lBQUE7RXhFMnBYVjtFd0VscVhNO0lBT0k7SUFBQTtFeEUrcFhWO0V3RXRxWE07SUFPSTtJQUFBO0V4RW1xWFY7RXdFMXFYTTtJQU9JO0lBQUE7RXhFdXFYVjtFd0U5cVhNO0lBT0k7SUFBQTtFeEUycVhWO0V3RWxyWE07SUFPSTtJQUFBO0V4RStxWFY7RXdFdHJYTTtJQU9JO0lBQUE7RXhFbXJYVjtFd0UxclhNO0lBT0k7RXhFc3JYVjtFd0U3clhNO0lBT0k7RXhFeXJYVjtFd0Voc1hNO0lBT0k7RXhFNHJYVjtFd0Vuc1hNO0lBT0k7RXhFK3JYVjtFd0V0c1hNO0lBT0k7RXhFa3NYVjtFd0V6c1hNO0lBT0k7RXhFcXNYVjtFd0U1c1hNO0lBT0k7RXhFd3NYVjtFd0Uvc1hNO0lBT0k7RXhFMnNYVjtFd0VsdFhNO0lBT0k7RXhFOHNYVjtFd0VydFhNO0lBT0k7RXhFaXRYVjtFd0V4dFhNO0lBT0k7RXhFb3RYVjtFd0UzdFhNO0lBT0k7RXhFdXRYVjtFd0U5dFhNO0lBT0k7RXhFMHRYVjtFd0VqdVhNO0lBT0k7RXhFNnRYVjtFd0VwdVhNO0lBT0k7RXhFZ3VYVjtFd0V2dVhNO0lBT0k7RXhFbXVYVjtFd0UxdVhNO0lBT0k7RXhFc3VYVjtFd0U3dVhNO0lBT0k7RXhFeXVYVjtFd0VodlhNO0lBT0k7RXhFNHVYVjtFd0VudlhNO0lBT0k7RXhFK3VYVjtFd0V0dlhNO0lBT0k7RXhFa3ZYVjtFd0V6dlhNO0lBT0k7RXhFcXZYVjtFd0U1dlhNO0lBT0k7RXhFd3ZYVjtFd0UvdlhNO0lBT0k7RXhFMnZYVjtFd0Vsd1hNO0lBT0k7RXhFOHZYVjtFd0Vyd1hNO0lBT0k7RXhFaXdYVjtFd0V4d1hNO0lBT0k7RXhFb3dYVjtFd0Uzd1hNO0lBT0k7RXhFdXdYVjtFd0U5d1hNO0lBT0k7RXhFMHdYVjtFd0VqeFhNO0lBT0k7RXhFNndYVjtFd0VweFhNO0lBT0k7RXhFZ3hYVjtFd0V2eFhNO0lBT0k7RXhFbXhYVjtFd0UxeFhNO0lBT0k7RXhFc3hYVjtFd0U3eFhNO0lBT0k7RXhFeXhYVjtFd0VoeVhNO0lBT0k7RXhFNHhYVjtFd0VueVhNO0lBT0k7RXhFK3hYVjtFd0V0eVhNO0lBT0k7RXhFa3lYVjtFd0V6eVhNO0lBT0k7RXhFcXlYVjtFd0U1eVhNO0lBT0k7RXhFd3lYVjtFd0UveVhNO0lBT0k7RXhFMnlYVjtFd0VselhNO0lBT0k7RXhFOHlYVjtFd0VyelhNO0lBT0k7RXhFaXpYVjtFd0V4elhNO0lBT0k7RXhFb3pYVjtFd0UzelhNO0lBT0k7RXhFdXpYVjtFd0U5elhNO0lBT0k7RXhFMHpYVjtBQUNGO0FpQnIwWEk7RXVER0k7SUFPSTtFeEUrelhWO0V3RXQwWE07SUFPSTtFeEVrMFhWO0V3RXowWE07SUFPSTtFeEVxMFhWO0V3RTUwWE07SUFPSTtFeEV3MFhWO0V3RS8wWE07SUFPSTtFeEUyMFhWO0V3RWwxWE07SUFPSTtFeEU4MFhWO0V3RXIxWE07SUFPSTtFeEVpMVhWO0V3RXgxWE07SUFPSTtFeEVvMVhWO0V3RTMxWE07SUFPSTtFeEV1MVhWO0V3RTkxWE07SUFPSTtFeEUwMVhWO0V3RWoyWE07SUFPSTtFeEU2MVhWO0V3RXAyWE07SUFPSTtFeEVnMlhWO0V3RXYyWE07SUFPSTtFeEVtMlhWO0V3RTEyWE07SUFPSTtFeEVzMlhWO0V3RTcyWE07SUFPSTtFeEV5MlhWO0V3RWgzWE07SUFPSTtFeEU0MlhWO0V3RW4zWE07SUFPSTtFeEUrMlhWO0V3RXQzWE07SUFPSTtFeEVrM1hWO0V3RXozWE07SUFPSTtFeEVxM1hWO0V3RTUzWE07SUFPSTtFeEV3M1hWO0V3RS8zWE07SUFPSTtFeEUyM1hWO0V3RWw0WE07SUFPSTtFeEU4M1hWO0V3RXI0WE07SUFPSTtFeEVpNFhWO0V3RXg0WE07SUFPSTtFeEVvNFhWO0V3RTM0WE07SUFPSTtFeEV1NFhWO0V3RTk0WE07SUFPSTtFeEUwNFhWO0V3RWo1WE07SUFPSTtFeEU2NFhWO0V3RXA1WE07SUFPSTtFeEVnNVhWO0V3RXY1WE07SUFPSTtFeEVtNVhWO0V3RTE1WE07SUFPSTtFeEVzNVhWO0V3RTc1WE07SUFPSTtFeEV5NVhWO0V3RWg2WE07SUFPSTtFeEU0NVhWO0V3RW42WE07SUFPSTtFeEUrNVhWO0V3RXQ2WE07SUFPSTtFeEVrNlhWO0V3RXo2WE07SUFPSTtFeEVxNlhWO0V3RTU2WE07SUFPSTtFeEV3NlhWO0V3RS82WE07SUFPSTtFeEUyNlhWO0V3RWw3WE07SUFPSTtFeEU4NlhWO0V3RXI3WE07SUFPSTtFeEVpN1hWO0V3RXg3WE07SUFPSTtFeEVvN1hWO0V3RTM3WE07SUFPSTtFeEV1N1hWO0V3RTk3WE07SUFPSTtFeEUwN1hWO0V3RWo4WE07SUFPSTtFeEU2N1hWO0V3RXA4WE07SUFPSTtFeEVnOFhWO0V3RXY4WE07SUFPSTtFeEVtOFhWO0V3RTE4WE07SUFPSTtFeEVzOFhWO0V3RTc4WE07SUFPSTtFeEV5OFhWO0V3RWg5WE07SUFPSTtFeEU0OFhWO0V3RW45WE07SUFPSTtFeEUrOFhWO0V3RXQ5WE07SUFPSTtFeEVrOVhWO0V3RXo5WE07SUFPSTtFeEVxOVhWO0V3RTU5WE07SUFPSTtFeEV3OVhWO0V3RS85WE07SUFPSTtFeEUyOVhWO0V3RWwrWE07SUFPSTtFeEU4OVhWO0V3RXIrWE07SUFPSTtFeEVpK1hWO0V3RXgrWE07SUFPSTtFeEVvK1hWO0V3RTMrWE07SUFPSTtFeEV1K1hWO0V3RTkrWE07SUFPSTtFeEUwK1hWO0V3RWovWE07SUFPSTtFeEU2K1hWO0V3RXAvWE07SUFPSTtFeEVnL1hWO0V3RXYvWE07SUFPSTtFeEVtL1hWO0V3RTEvWE07SUFPSTtFeEVzL1hWO0V3RTcvWE07SUFPSTtFeEV5L1hWO0V3RWhnWU07SUFPSTtFeEU0L1hWO0V3RW5nWU07SUFPSTtFeEUrL1hWO0V3RXRnWU07SUFPSTtFeEVrZ1lWO0V3RXpnWU07SUFPSTtFeEVxZ1lWO0V3RTVnWU07SUFPSTtFeEV3Z1lWO0V3RS9nWU07SUFPSTtFeEUyZ1lWO0V3RWxoWU07SUFPSTtJQUFBO0V4RStnWVY7RXdFdGhZTTtJQU9JO0lBQUE7RXhFbWhZVjtFd0UxaFlNO0lBT0k7SUFBQTtFeEV1aFlWO0V3RTloWU07SUFPSTtJQUFBO0V4RTJoWVY7RXdFbGlZTTtJQU9JO0lBQUE7RXhFK2hZVjtFd0V0aVlNO0lBT0k7SUFBQTtFeEVtaVlWO0V3RTFpWU07SUFPSTtJQUFBO0V4RXVpWVY7RXdFOWlZTTtJQU9JO0lBQUE7RXhFMmlZVjtFd0VsallNO0lBT0k7SUFBQTtFeEUraVlWO0V3RXRqWU07SUFPSTtJQUFBO0V4RW1qWVY7RXdFMWpZTTtJQU9JO0lBQUE7RXhFdWpZVjtFd0U5allNO0lBT0k7SUFBQTtFeEUyallWO0V3RWxrWU07SUFPSTtJQUFBO0V4RStqWVY7RXdFdGtZTTtJQU9JO0lBQUE7RXhFbWtZVjtFd0Uxa1lNO0lBT0k7RXhFc2tZVjtFd0U3a1lNO0lBT0k7RXhFeWtZVjtFd0VobFlNO0lBT0k7RXhFNGtZVjtFd0VubFlNO0lBT0k7RXhFK2tZVjtFd0V0bFlNO0lBT0k7RXhFa2xZVjtFd0V6bFlNO0lBT0k7RXhFcWxZVjtFd0U1bFlNO0lBT0k7RXhFd2xZVjtFd0UvbFlNO0lBT0k7RXhFMmxZVjtFd0VsbVlNO0lBT0k7RXhFOGxZVjtFd0VybVlNO0lBT0k7RXhFaW1ZVjtFd0V4bVlNO0lBT0k7RXhFb21ZVjtFd0UzbVlNO0lBT0k7RXhFdW1ZVjtFd0U5bVlNO0lBT0k7RXhFMG1ZVjtFd0VqbllNO0lBT0k7RXhFNm1ZVjtFd0VwbllNO0lBT0k7RXhFZ25ZVjtFd0V2bllNO0lBT0k7RXhFbW5ZVjtFd0UxbllNO0lBT0k7RXhFc25ZVjtFd0U3bllNO0lBT0k7RXhFeW5ZVjtFd0Vob1lNO0lBT0k7RXhFNG5ZVjtFd0Vub1lNO0lBT0k7RXhFK25ZVjtFd0V0b1lNO0lBT0k7RXhFa29ZVjtFd0V6b1lNO0lBT0k7RXhFcW9ZVjtFd0U1b1lNO0lBT0k7RXhFd29ZVjtFd0Uvb1lNO0lBT0k7RXhFMm9ZVjtFd0VscFlNO0lBT0k7RXhFOG9ZVjtFd0VycFlNO0lBT0k7RXhFaXBZVjtFd0V4cFlNO0lBT0k7RXhFb3BZVjtFd0UzcFlNO0lBT0k7RXhFdXBZVjtFd0U5cFlNO0lBT0k7RXhFMHBZVjtFd0VqcVlNO0lBT0k7RXhFNnBZVjtFd0VwcVlNO0lBT0k7RXhFZ3FZVjtFd0V2cVlNO0lBT0k7RXhFbXFZVjtFd0UxcVlNO0lBT0k7RXhFc3FZVjtFd0U3cVlNO0lBT0k7SUFBQTtFeEUwcVlWO0V3RWpyWU07SUFPSTtJQUFBO0V4RThxWVY7RXdFcnJZTTtJQU9JO0lBQUE7RXhFa3JZVjtFd0V6cllNO0lBT0k7SUFBQTtFeEVzcllWO0V3RTdyWU07SUFPSTtJQUFBO0V4RTByWVY7RXdFanNZTTtJQU9JO0lBQUE7RXhFOHJZVjtFd0Vyc1lNO0lBT0k7SUFBQTtFeEVrc1lWO0V3RXpzWU07SUFPSTtJQUFBO0V4RXNzWVY7RXdFN3NZTTtJQU9JO0lBQUE7RXhFMHNZVjtFd0VqdFlNO0lBT0k7SUFBQTtFeEU4c1lWO0V3RXJ0WU07SUFPSTtFeEVpdFlWO0V3RXh0WU07SUFPSTtFeEVvdFlWO0V3RTN0WU07SUFPSTtFeEV1dFlWO0V3RTl0WU07SUFPSTtFeEUwdFlWO0V3RWp1WU07SUFPSTtFeEU2dFlWO0V3RXB1WU07SUFPSTtFeEVndVlWO0V3RXZ1WU07SUFPSTtFeEVtdVlWO0V3RTF1WU07SUFPSTtFeEVzdVlWO0V3RTd1WU07SUFPSTtFeEV5dVlWO0V3RWh2WU07SUFPSTtFeEU0dVlWO0V3RW52WU07SUFPSTtFeEUrdVlWO0V3RXR2WU07SUFPSTtFeEVrdllWO0V3RXp2WU07SUFPSTtFeEVxdllWO0V3RTV2WU07SUFPSTtFeEV3dllWO0V3RS92WU07SUFPSTtFeEUydllWO0V3RWx3WU07SUFPSTtFeEU4dllWO0V3RXJ3WU07SUFPSTtFeEVpd1lWO0V3RXh3WU07SUFPSTtFeEVvd1lWO0V3RTN3WU07SUFPSTtFeEV1d1lWO0V3RTl3WU07SUFPSTtFeEUwd1lWO0V3RWp4WU07SUFPSTtFeEU2d1lWO0V3RXB4WU07SUFPSTtFeEVneFlWO0V3RXZ4WU07SUFPSTtFeEVteFlWO0V3RTF4WU07SUFPSTtFeEVzeFlWO0V3RTd4WU07SUFPSTtFeEV5eFlWO0V3RWh5WU07SUFPSTtFeEU0eFlWO0V3RW55WU07SUFPSTtJQUFBO0V4RWd5WVY7RXdFdnlZTTtJQU9JO0lBQUE7RXhFb3lZVjtFd0UzeVlNO0lBT0k7SUFBQTtFeEV3eVlWO0V3RS95WU07SUFPSTtJQUFBO0V4RTR5WVY7RXdFbnpZTTtJQU9JO0lBQUE7RXhFZ3pZVjtFd0V2ellNO0lBT0k7SUFBQTtFeEVvellWO0V3RTN6WU07SUFPSTtJQUFBO0V4RXd6WVY7RXdFL3pZTTtJQU9JO0lBQUE7RXhFNHpZVjtFd0VuMFlNO0lBT0k7SUFBQTtFeEVnMFlWO0V3RXYwWU07SUFPSTtJQUFBO0V4RW8wWVY7RXdFMzBZTTtJQU9JO0lBQUE7RXhFdzBZVjtFd0UvMFlNO0lBT0k7SUFBQTtFeEU0MFlWO0V3RW4xWU07SUFPSTtFeEUrMFlWO0V3RXQxWU07SUFPSTtFeEVrMVlWO0V3RXoxWU07SUFPSTtFeEVxMVlWO0V3RTUxWU07SUFPSTtFeEV3MVlWO0V3RS8xWU07SUFPSTtFeEUyMVlWO0V3RWwyWU07SUFPSTtFeEU4MVlWO0V3RXIyWU07SUFPSTtFeEVpMllWO0V3RXgyWU07SUFPSTtFeEVvMllWO0V3RTMyWU07SUFPSTtFeEV1MllWO0V3RTkyWU07SUFPSTtFeEUwMllWO0V3RWozWU07SUFPSTtFeEU2MllWO0V3RXAzWU07SUFPSTtFeEVnM1lWO0V3RXYzWU07SUFPSTtFeEVtM1lWO0V3RTEzWU07SUFPSTtFeEVzM1lWO0V3RTczWU07SUFPSTtFeEV5M1lWO0V3RWg0WU07SUFPSTtFeEU0M1lWO0V3RW40WU07SUFPSTtFeEUrM1lWO0V3RXQ0WU07SUFPSTtFeEVrNFlWO0V3RXo0WU07SUFPSTtFeEVxNFlWO0V3RTU0WU07SUFPSTtFeEV3NFlWO0V3RS80WU07SUFPSTtFeEUyNFlWO0V3RWw1WU07SUFPSTtFeEU4NFlWO0V3RXI1WU07SUFPSTtFeEVpNVlWO0V3RXg1WU07SUFPSTtFeEVvNVlWO0V3RTM1WU07SUFPSTtFeEV1NVlWO0V3RTk1WU07SUFPSTtFeEUwNVlWO0V3RWo2WU07SUFPSTtFeEU2NVlWO0V3RXA2WU07SUFPSTtFeEVnNllWO0V3RXY2WU07SUFPSTtFeEVtNllWO0V3RTE2WU07SUFPSTtFeEVzNllWO0V3RTc2WU07SUFPSTtFeEV5NllWO0V3RWg3WU07SUFPSTtFeEU0NllWO0V3RW43WU07SUFPSTtFeEUrNllWO0V3RXQ3WU07SUFPSTtFeEVrN1lWO0V3RXo3WU07SUFPSTtFeEVxN1lWO0V3RTU3WU07SUFPSTtFeEV3N1lWO0V3RS83WU07SUFPSTtFeEUyN1lWO0V3RWw4WU07SUFPSTtFeEU4N1lWO0V3RXI4WU07SUFPSTtFeEVpOFlWO0V3RXg4WU07SUFPSTtFeEVvOFlWO0V3RTM4WU07SUFPSTtFeEV1OFlWO0V3RTk4WU07SUFPSTtFeEUwOFlWO0V3RWo5WU07SUFPSTtFeEU2OFlWO0V3RXA5WU07SUFPSTtFeEVnOVlWO0V3RXY5WU07SUFPSTtFeEVtOVlWO0FBQ0Y7QXlFMWdaQTtFRCtDUTtJQU9JO0V4RXc5WVY7RXdFLzlZTTtJQU9JO0V4RTI5WVY7RXdFbCtZTTtJQU9JO0V4RTg5WVY7RXdFcitZTTtJQU9JO0V4RWkrWVY7RXdFeCtZTTtJQU9JO0V4RW8rWVY7QUFDRjtBeUV4Z1pBO0VENEJRO0lBT0k7RXhFeStZVjtFd0VoL1lNO0lBT0k7RXhFNCtZVjtFd0VuL1lNO0lBT0k7RXhFKytZVjtFd0V0L1lNO0lBT0k7RXhFay9ZVjtFd0V6L1lNO0lBT0k7RXhFcS9ZVjtFd0U1L1lNO0lBT0k7RXhFdy9ZVjtFd0UvL1lNO0lBT0k7RXhFMi9ZVjtFd0VsZ1pNO0lBT0k7RXhFOC9ZVjtFd0VyZ1pNO0lBT0k7RXhFaWdaVjtFd0V4Z1pNO0lBT0k7RXhFb2daVjtFd0UzZ1pNO0lBT0k7RXhFdWdaVjtBQUNGO0EwRWpsWkE7RUFBTTtFQUFvQztFQUFtRDtFQUEwQztFQUFpQztFQUFpQztFQUFtQztFQUF5QztFQUFpQztFQUErQjtFQUF3QztFQUFpQztFQUF1QztFQUFtQztFQUFvQztFQUFtQztFQUF1RDtFQUE2RDtFQUFnRTtFQUE2QztFQUFpQztFQUFrQztFQUF3QztFQUEyQztBMUUybVp0NkI7O0EwRTNtWmk5QjtFQUFtQjtFQUFrQjtFQUFvQjtVQUFBO0ExRWluWjFnQzs7QTBFam5aMmhDO0VBQWlCO0VBQWtCO0VBQVU7RUFBVztFQUFZO0VBQW9CO0VBQWdCO0ExRTJuWm5vQzs7QTBFM25ab3JDO0VBQWU7RUFBa0I7RUFBeUI7QTFFaW9aOXVDOztBMEVqb1p3d0M7RUFBZ0I7RUFBa0I7RUFBVTtFQUFNO0VBQU87RUFBd0U7RUFBZ0Q7QTFFMm9aejdDOztBMEUzb1oyK0M7RUFBOEM7QTFFK29aemhEOztBMEUvb1prbEQ7RUFBMEM7QTFFbXBaNW5EOztBMEVucFptckQ7RUFBb0Q7QTFFdXBadnVEOztBMEV2cFpnd0Q7RUFBbUQ7RUFBbUI7RUFBMkI7RUFBcUM7QTFFOHBadDREOztBMEU5cFo0NkQ7RUFBK0M7RUFBTTtFQUE4QjtBMUVvcVovL0Q7O0EwRXBxWjJnRTtFQUFrRDtBMUV3cVo3akU7O0EwRXhxWjBsRTtFQUFpRDtFQUFxQjtFQUF1QjtFQUFxQztBMUUrcVo1dEU7O0EwRS9xWmt3RTtFQUE2QztFQUFTO0VBQVc7QTFFcXJabjBFOztBMEVyclprMkU7RUFBZ0Q7QTFFeXJabDVFOztBMEV6clppN0U7RUFBd0I7RUFBa0I7RUFBYTtFQUFtRDtBMUVnc1ozaEY7O0EwRWhzWmttRjtFQUFvQjtFQUFrQjtFQUFVO0VBQU87RUFBYztFQUFzRDtFQUFpRDtBMUUwc1o5d0Y7O0EwRTFzWnExRjtFQUF1QjtFQUFrQjtFQUFVO0VBQWM7RUFBa0I7QTFFa3RaeDZGOztBMEVsdFoyN0Y7RUFBOEI7RUFBVztFQUFrQjtFQUFtRDtFQUFrRDtFQUF3QztFQUF5QztFQUFjO0VBQTBEO0VBQWtCO0VBQXlCO0ExRWd1Wi94Rzs7QTBFaHVaZzJHO0VBQWdCO0VBQWtCO0VBQVU7RUFBTTtFQUFRO0VBQXdCO0ExRXl1Wmw3Rzs7QTBFenVaazhHO0VBQXVCO0VBQWtCO0VBQWE7RUFBdUI7RUFBbUI7RUFBd0M7RUFBeUM7RUFBZ0I7RUFBb0Q7RUFBUztFQUF1RTtBMUV1dlp2d0g7O0EwRXZ2WnN4SDtFQUE2QjtBMUUydlpuekg7O0EwRTN2WjYySDtFQUFrRDtBMUUrdlovNUg7O0EwRS92WjI4SDtFQUErQztFQUFvQjtFQUE2RDtBMUVxd1oza0k7O0EwRXJ3WmlvSTtFQUFvRTtBMUV5d1pyc0k7O0EwRXp3Wm92STtFQUFxQjtFQUFzQztFQUF1QztFQUFzQztBMUVneFo1M0k7O0EyRWh4WkE7RUFDRTtFQUNBO0EzRW14WkY7O0EyRWh4WkE7RUFHRTtBM0VteFpGOztBMkVoeFpBO0VBR0U7RUFJUTtBM0VteFpWOztBMkVoeFpBO0VBQ0U7QTNFbXhaRjs7QTJFaHhaQTtFQUNFO0VBQ0E7RUFHQTtFQUNBO0VBSVE7RUFDUjtFQUNBO0EzRW14WkY7O0EyRWh4WkE7RUFFTTtBM0VteFpOOztBNEU3elpBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHUTtFQUNSO0E1RWcwWkY7O0E0RTd6WkE7O0VBRUU7RUFDQTtBNUVnMFpGOztBNEU3elpBO0VBQ0U7QTVFZzBaRjs7QTRFN3paQTs7OztFQUlFO0E1RWcwWkY7O0E0RTd6WkE7RUFDRTtBNUVnMFpGOztBNEU5elpBO0VBQ0U7QTVFaTBaRjs7QTRFOXpaQTtFQUNFO0E1RWkwWkY7O0E0RS96WkE7RUFDRTtBNUVrMFpGOztBNEUvelpBOzs7O0VBSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUVrMFpGOztBNEVoMFpBO0VBQ0U7RUFDQTtFQUdRO0VBR0E7QTVFbTBaVjs7QTRFajBaQTtFQUNFO0VBQ0E7RUFHUTtFQUdBO0E1RW8wWlY7O0E0RWwwWkE7RUFDRTtFQUNBO0VBR1E7RUFHQTtBNUVxMFpWOztBNEVuMFpBO0VBQ0U7RUFDQTtFQUdRO0VBR0E7QTVFczBaVjs7QTRFbjBaQTs7RUFFRTtBNUVzMFpGOztBNEVuMFpBOzs7O0VBSUU7QTVFczBaRjs7QTRFbjBaQTs7OztFQUlFO0E1RXMwWkY7O0E0RW4wWkE7O0VBRUU7QTVFczBaRjs7QTZFMTdaQTtFQUNFLG1CNUVLYTtBRHc3WmY7QTZFNTdaRTtFQUNFO0E3RTg3Wko7QTZFMTdaTTtFQUNFO0VBQ0E7RUFDQSxXNUVSTTtFNEVTTjtFQUNBO0VBQ0E7RUFDQTtFQUtBO0E3RXc3WlI7QTZFNTdaUTtFQUNFO0E3RTg3WlY7QTZFejdaUTtFQUNFO0E3RTI3WlY7QTZFejdaVTtFQUNFO0E3RTI3Wlo7QTZFdDdaVTtFQUNFO0E3RXc3Wlo7QTZFLzZaTTtFQUNFO0E3RWk3WlI7QTZFOTZaTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0VnN1pSO0E2RTk2WlE7RUFDRSxxQjVFckJjO0FEcThaeEI7QTZFNzZaUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E3RSs2WlY7QTZFeDZaUTtFQUNFLDRENUUxQ087RTRFMkNQO1VBQUE7RUFDQTtBN0UwNlpWO0E2RXg2WlU7RUFDRTtBN0UwNlpaOztBaUJ2NlpJO0U0REtKO0lBRUk7RTdFcTZaRjtBQUNGOztBNkVsNlpBO0VBQ0U7RUFDQTtBN0VxNlpGO0E2RW42WkU7RUFDRTtBN0VxNlpKO0E2RWg2Wk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RWs2WlI7QTZFajZaUTtFQUNFO0E3RW02WlY7QTZFaDZaWTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0VrNlpkO0E2RTk1Wlk7RUFDRTtBN0VnNlpkO0E2RTk1WmM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdFZzZaaEI7QTZFdjVaYztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0V5NVpoQjtBNkVuNVpVO0VBQ0U7QTdFcTVaWjtBNkVuNVpZO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0VxNVpkO0E2RWg1WmM7RUFDRSwyQkFFRztFQUNIO0E3RWc1WmhCO0E2RTM0WlU7RUFDRTtBN0U2NFpaO0E2RTU0Wlk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0U4NFpkO0E2RTM0Wlk7RUFDRTtFQUNBO0E3RTY0WmQ7QTZFMzRaYztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0U2NFpoQjtBNkV6NFpnQjtFQUNFLDRENUV2S0Q7RTRFd0tDO1VBQUE7RUFDQTtBN0UyNFpsQjtBNkV4NFpnQjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdFMDRabEI7QTZFcjRaZ0I7RUFDRSw0RDVFdkxEO0U0RXdMQztVQUFBO0VBQ0E7QTdFdTRabEI7QTZFcDRaZ0I7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RXM0WmxCO0E2RWw0WmM7RUFDRTtBN0VvNFpoQjtBNkU3M1pNO0VBQ0U7QTdFKzNaUjs7QTZFejNaQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E3RTQzWkY7O0E2RXgzWkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0UyM1pKO0E2RTEzWkk7RUFDRTtBN0U0M1pOO0E2RTMzWk07RUFDRSxjNUU3UEs7QUQwbmFiO0E2RXozWkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0UyM1pKO0E2RTEzWkk7RUFDRTtFQUNBLGM1RXhRTztBRG9vYWI7QTZFMTNaSTs7RUFFRTtFQUNBO0VBQ0E7QTdFNDNaTjtBNkUxM1pJO0VBQ0U7RUFDQTtBN0U0M1pOO0E2RTEzWkk7RUFDRTtBN0U0M1pOO0E2RTEzWkk7RUFDRTtBN0U0M1pOO0E2RXozWkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0UyM1pKO0E2RTEzWkk7RUFDRSxxQjVFalNPO0FENnBhYjtBNkUxM1pJO0VBQ0U7QTdFNDNaTjtBNkV2M1pJO0VBRUU7QTdFdzNaTjtBNkV0M1pJO0VBQ0U7QTdFdzNaTjtBNkVyM1pNO0VBQ0U7QTdFdTNaUjs7QThFdHFhQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUV5cWFGOztBOEV0cWFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RXlxYUY7QThFeHFhRTtFQUNFO0E5RTBxYUo7QThFdnFhRTtFQUNFO0E5RXlxYUo7QThFdnFhSTtFQUNFLHFCN0V6QlM7RTZFMEJULHlCN0UxQlM7QURtc2FmO0E4RXRxYVE7RUFDRTtBOUV3cWFWO0E4RXBxYU07RUFDRTtBOUVzcWFSO0E4RWxxYUk7RUFDRSxxQjdFeENTO0FENHNhZjtBOEVqcWFRO0VBQ0UsYTdFNUNLO0FEK3NhZjtBOEUvcGFNO0VBQ0U7QTlFaXFhUjtBOEU1cGFFO0VBQ0U7RUFDQSw0RDdFcENhO0FEa3NhakI7QThFNXBhSTtFQUdFO0VBQ0EsNEQ3RXpDZTtFNkUwQ2YscUI3RS9EUztBRDJ0YWY7QThFeHBhRTtFQUNFO0VBQ0EsNEQ3RXpEVTtBRG10YWQ7QThFeHBhSTtFQUdFO0VBQ0EsNEQ3RTlEWTtFNkUrRFoscUI3RTVEZTtBRG90YXJCO0E4RXBwYUU7RUFDRSxrRHRFekVlO0FSK3RhbkI7QThFbnBhRTtFQUNFO0E5RXFwYUo7QThFbnBhSTtFQUNFLGM3RTdGTztFNkU4RlAsbUI3RS9DcUI7QURvc2EzQjtBOEVqcGFFO0VBQ0U7QTlFbXBhSjtBOEVqcGFJO0VBQ0UsYzdFdEdPO0U2RXVHUCxtQjdFdER1QjtBRHlzYTdCO0E4RS9vYUU7RUFDRTtBOUVpcGFKO0E4RS9vYUk7RUFDRSxjN0UvR087RTZFZ0hQLG1CN0U3RHVCO0FEOHNhN0I7QThFN29hRTtFQUNFO0E5RStvYUo7QThFN29hSTtFQUNFO0VBQ0Esa0R0RTVHYTtBUjJ2YW5CO0E4RTNvYUU7RUFDRSxjN0UvRm9CO0U2RWdHcEI7RUFFQTtFQUNBO0VBQ0E7QTlFNG9hSjtBOEUxb2FJO0VBQ0UsYzdFdkdrQjtFNkV3R2xCO0E5RTRvYU47QThFMW9hTTtFQUNFO0E5RTRvYVI7QThFem9hTTtFQUNFO0E5RTJvYVI7QThFdG9hSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNEQ3RWxJVztFNkVtSVg7RUFDQTtBOUV3b2FOO0E4RXBvYUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUVzb2FOO0E4RWxvYUk7RUFDRSw0RDdFdkpXO0U2RXdKWDtVQUFBO0VBQ0E7RUFDQTtFQUNBO0E5RW9vYU47QThFaG9hRTtFQUNFO0VBRUE7RUFDQTtFQUNBO0E5RWlvYUo7QThFL25hSTtFQUNFO0VBQ0EsYzdFNUtlO0FENnlhckI7QThFaG9hTTtFQUNFO0E5RWtvYVI7QThFL25hTTtFQUNFO0E5RWlvYVI7QThFNW5hSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNEQ3RW5NUTtFNkVvTVI7RUFDQTtBOUU4bmFOO0E4RTFuYUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUU0bmFOO0E4RXhuYUk7RUFDRSw0RDdFeE5RO0U2RXlOUjtVQUFBO0VBQ0E7RUFDQTtFQUNBO0E5RTBuYU47QThFdG5hRTtFQUNFO0VBQ0E7RUFDQTtBOUV3bmFKO0E4RXRuYUk7RUFHRTtFQUNBO0VBQ0Esa0R0RTlPYTtBUm8yYW5CO0E4RWxuYUU7RUFDRSxjN0VoUVM7RTZFaVFUO0VBQ0E7QTlFb25hSjtBOEVsbmFJO0VBR0UsYzdFdlFPO0U2RXdRUDtFQUNBLGtEdEU1UGE7QVI4MmFuQjs7QThFN21hQTtFQUVFLDREN0V2UGU7RTZFd1BmO1VBQUE7RUFDQTtBOUUrbWFGOztBOEU1bWFBO0VBRUUsNEQ3RTlQZTtFNkUrUGY7VUFBQTtFQUNBO0E5RThtYUY7QThFNW1hRTtFQUNFLG1CN0V2Ulc7RTZFd1JYO1VBQUE7RUFDQTtFQUNBO0E5RThtYUo7O0E4RTFtYUE7RUFFRSw0RDdFcFJZO0U2RXFSWjtVQUFBO0VBQ0E7QTlFNG1hRjtBOEUxbWFFO0VBQ0UsbUI3RXJSaUI7RTZFc1JqQjtVQUFBO0VBQ0E7QTlFNG1hSjs7QThFaG1hQTtFQUNFLDREN0VoU2U7RTZFaVNmO1VBQUE7RUFDQTtBOUVtbWFGO0E4RWptYUU7RUFDRSxtQjdFelRXO0U2RTBUWDtVQUFBO0VBQ0E7QTlFbW1hSjs7QThFL2xhQTtFQUNFLDREN0U1U2U7RTZFNlNmO1VBQUE7RUFDQTtBOUVrbWFGOztBOEUvbGFBO0VBQ0UsNEQ3RTFUWTtFNkUyVFo7VUFBQTtFQUNBO0E5RWttYUY7QThFaG1hRTtFQUNFLG1CN0UzVGlCO0U2RTRUakI7VUFBQTtFQUNBO0E5RWttYUo7O0E4RTlsYUE7RUFDRSw0RDdFdFVZO0U2RXVVWjtVQUFBO0VBQ0E7QTlFaW1hRjs7QStFMzdhQTtFQUNFO0VBQ0Esa0R2RVdXO0V1RVZYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9FODdhRjtBK0U3N2FFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0UrN2FKO0ErRTU3YUU7RUFDRTtBL0U4N2FKOztBZ0ZsOWFBO0VBQ0U7QWhGcTlhRjtBaUJ2NWFJO0UrRC9ESjtJQUdJO0VoRnU5YUY7QUFDRjs7QWdGcDlhQTtFQUNFO0VBSUE7RUFDQTtFQUNBO0VBQ0EsZ0IvRWJZO0UrRWNaO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7RUFDQTtFQUNBLGMvRW5CYTtBRG8rYWY7QWlCMzZhSTtFK0R4REo7SUFHSTtFaEZvK2FGO0FBQ0Y7QWlCaDdhSTtFK0R4REo7SUFhSTtFaEYrOWFGO0FBQ0Y7QWdGejlhRTtFQUNFO0FoRjI5YUo7QWdGeDlhRTtFQUNFO0VBQ0E7RUFDQTtBaEYwOWFKO0FpQmg3YUk7RStEeENGO0lBRUk7SUFDQTtFaEYwOWFKO0FBQ0Y7QWdGeDlhRTtFQUNFO0VBQ0EsYy9FdENXO0FEZ2diZjtBZ0Z2OWFNO0VBQ0UsYS9FMUNPO0FEbWdiZjtBZ0ZwOWFFO0VBQ0U7RUFDQSxjL0VuQlc7QUR5K2FmO0FnRm45YU07RUFDRSxhL0V2Qk87QUQ0K2FmO0FnRmg5YUU7RUFDRTtFQUNBLGMvRS9CZTtBRGkvYW5CO0FnRi84YU07RUFDRSxhL0VuQ1c7QURvL2FuQjtBZ0Y1OGFFO0VBQ0U7RUFDQSxjL0V4Q1k7QURzL2FoQjtBZ0YzOGFNO0VBQ0UsYS9FNUNRO0FEeS9haEI7QWdGeDhhRTtFQUNFO0VBQ0EsYy9FbEVpQjtBRDRnYnJCO0FnRnY4YU07RUFDRSxhL0V0RWE7QUQrZ2JyQjtBZ0ZyOGFFO0VBQ0U7RUFDQSxjL0U1Rlc7QURtaWJmO0FnRnI4YU07RUFDRSxhL0UvRk87QURzaWJmOztBaUY1aWJBO0VBQ0U7QWpGK2liRjtBaUY3aWJFO0VBQ0Usa0R6RVVlO0FScWlibkI7QWlGNWliSTtFQUNFO0FqRjhpYk47QWlGMWliRTtFQUNFO0FqRjRpYko7QWlGMWliSTtFQUNFO0FqRjRpYk47QWlGemliSTtFQUNFO0FqRjJpYk47QWlGemliTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0JoRnpCTTtFZ0YwQk47RUFDQTtBakYyaWJSO0FpRnppYlE7RUFDRTtFQUNBO0FqRjJpYlY7QWlGeGliUTtFQUNFO0FqRjBpYlY7QWlGbmliSTtFQUNFO0FqRnFpYk47QWlGbmliSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakZxaWJOO0FpRnBpYk07RUFDRTtFQUNBO0FqRnNpYlI7QWlGcmliUTtFQUVFO0FqRnNpYlY7QWlGbGliSTtFQUNFO0FqRm9pYk47QWlGbGliTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0JoRnJFTTtFZ0ZzRU47RUFDQTtBakZvaWJSO0FpRmxpYlE7RUFDRTtFQUNBO0FqRm9pYlY7QWlGamliUTtFQUNFO0FqRm1pYlY7QWlGNWhiSTtFQUNFO0FqRjhoYk47QWlGMWhiTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakY0aGJSO0FpRjNoYlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBakY2aGJWO0FpRjNoYlU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRjZoYlo7QWlCN2tiSTtFZ0UyQ007SUFPSTtFakYraGJaO0FBQ0Y7QWlGemhiSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqRjJoYk47QWlCeGxiSTtFZ0V5REE7SUFNSTtFakY2aGJOO0FBQ0Y7QWlGMWhiSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqRjRoYk47QWlCbm1iSTtFZ0VtRUE7SUFNSTtFakY4aGJOO0FBQ0Y7QWlGMWhiTTtFQUNFLGNoRjFHTztBRHNvYmY7QWlGMWhiUTtFQUNFO0VBQ0E7QWpGNGhiVjtBaUZ2aGJJO0VBQ0U7RUFDQTtBakZ5aGJOO0FpQm5uYkk7RWdFd0ZBO0lBSUk7RWpGMmhiTjtBQUNGO0FpRnhoYkk7RUFDRTtFQUNBO0VBQ0E7QWpGMGhiTjtBaUZ2aGJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY2hGM0hpQjtBRG9wYnZCO0FpRnJoYk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRnVoYlI7QWlGdGhiUTtFQUNFO0VBSUEsY2hGeEpTO0FENnFibkI7QWlCanBiSTtFZ0V1SEk7SUFHSTtFakYyaGJWO0FBQ0Y7QWlGeGhiUTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGNoRnZKUztFZ0Z3SlQ7RUFDQTtFQUNBO0FqRjBoYlY7QWlCL3BiSTtFZ0U4SEk7SUFTSTtFakY0aGJWO0FBQ0Y7QWlGemhiUTtFQUNFO0VBQ0E7RUFDQTtBakYyaGJWO0FpRjFoYlU7RUFDRTtFQUNBO0VBQ0E7RUFDQSxjaEYvS087RWdGZ0xQO0FqRjRoYlo7QWlGMWhiVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakY0aGJaO0FpRnpoYlE7RUFDRSxjaEY5S2E7QUR5c2J2QjtBaUIzcmJJO0VnRXdLRTtJQUVJO0VqRnFoYlI7QUFDRjtBaUJoc2JJO0VnRXdLRTtJQUtJO0VqRnVoYlI7QUFDRjtBaUJyc2JJO0VnRXdLRTtJQVFJO0VqRnloYlI7QUFDRjtBaUZwaGJNO0VBQ0U7QWpGc2hiUjtBaUZwaGJRO0VBQ0U7QWpGc2hiVjtBaUZwaGJVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpGc2hiWjtBaUY5Z2JRO0VBQ0U7QWpGZ2hiVjtBaUJ6dGJJO0VnRXdNSTtJQUdJO0VqRmtoYlY7QUFDRjtBaUI5dGJJO0VnRXdNSTtJQU1JO0VqRm9oYlY7QUFDRjtBaUJudWJJO0VnRXdNSTtJQVNJO0VqRnNoYlY7QUFDRjtBaUJ4dWJJO0VnRXdNSTtJQVlJO0VqRndoYlY7QUFDRjtBaUI3dWJJO0VnRXdORTtJQUVJO0VqRnVoYlI7QUFDRjtBaUJsdmJJO0VnRXdORTtJQUtJO0VqRnloYlI7QUFDRjtBaUJ2dmJJO0VnRXdORTtJQVFJO0VqRjJoYlI7QUFDRjtBaUZ0aGJRO0VBQ0U7RUFDQTtFQUNBO0FqRndoYlY7QWlGdGhiUTtFQUNFO0FqRndoYlY7QWlGOWdiTTtFQUNFO0FqRmdoYlI7QWlCdndiSTtFZ0VzUEU7SUFHSTtFakZraGJSO0FBQ0Y7QWlGamhiUTtFQUNFO0VBQ0E7RUFJQTtBakZnaGJWO0FpQmp4Ykk7RWdFMlBJO0lBSUk7RWpGc2hiVjtBQUNGO0FpRmhoYkU7RUFDRTtBakZraGJKO0FpRmpoYkk7RUFDRSxjaEZ2UmlCO0FEMHlidkI7QWlGL2diSTtFQUNFO0VBQ0E7VUFBQTtBakZpaGJOO0FpRi9nYkk7RUFDRTtFQUNBO0VBQ0E7VUFBQTtBakZpaGJOOztBaUY1Z2JBO0VBQ0U7RUFDQTtFQWtEQTtBakY4OWFGO0FpRi9nYkU7RUFDRTtFQUNBO0VBQ0E7QWpGaWhiSjtBaUZoaGJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakZraGJOO0FpRmhoYkk7RUFDRTtFQUNBO0FqRmtoYk47QWlGamhiTTtFQUNFO0VBQ0E7RUFDQTtBakZtaGJSO0FpRi9nYkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGaWhiSjtBaUYvZ2JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGaWhiSjtBaUY5Z2JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakZnaGJKO0FpRjdnYkU7RUFDRTtFQUNBO0FqRitnYko7QWlGNWdiRTs7RUFFRTtBakY4Z2JKO0FpRjVnYkU7RUFDRTtFQUNBO0FqRjhnYko7QWlGN2diSTtFQUNFO0FqRitnYk47QWlGNWdiRTtFQUNFO0FqRjhnYko7QWlGNWdiSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0JoRm5hUTtFZ0ZvYVI7RUFDQTtBakY4Z2JOO0FpRjVnYk07RUFDRTtFQUNBO0FqRjhnYlI7QWlGM2diTTtFQUNFO0FqRjZnYlI7O0FrRjM3YkU7RUFDRTtFQUNBO0VBQ0E7QWxGODdiSjtBa0Y3N2JJO0VBQ0U7RUFDQTtBbEYrN2JOO0FrRjc3Ykk7RUFDRTtBbEYrN2JOOztBa0YxN2JBO0VBQ0U7QWxGNjdiRjtBa0YzN2JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxGNjdiSjtBa0YxN2JFO0VBQ0UsY2pGVVc7QURrN2JmO0FrRjE3Ykk7RUFDRTtFQUNBO0FsRjQ3Yk47QWtGdDdiTTtFQUNFLGNqRnBDSztFaUZxQ0w7RUFDQTtFQUNBO0FsRnc3YlI7QWtGdDdiUTtFQUNFO0VBQ0E7QWxGdzdiVjtBa0ZyN2JRO0VBQ0U7QWxGdTdiVjtBa0ZuN2JNO0VBQ0UsY2pGWFc7RWlGWVg7RUFDQTtBbEZxN2JSO0FrRmg3YkU7RUFDRTtFQUNBO0FsRms3Yko7QWtGaDdiSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxGazdiTjtBa0ZqN2JNO0VBQ0U7QWxGbTdiUjtBa0ZqN2JRO0VBQ0U7QWxGbTdiVjtBa0Y3NmJNO0VBQ0U7QWxGKzZiUjtBa0YzNmJJO0VBQ0U7QWxGNjZiTjtBa0Z6NmJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxGMjZiSjtBa0Z4NmJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxGMDZiSjs7QWtGdjZiQTtFQUNFO0FsRjA2YkY7QWtGejZiRTtFQUNFO0VBQ0E7RUFDQTtBbEYyNmJKO0FrRjE2Ykk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEY0NmJOO0FrRno2YlE7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNqRjFIRztFaUYySEg7RUFDQTtFQUNBO0FsRjQ2YlY7QWtGeDZiUTtFQUNFO0VBQ0E7QWxGMDZiVjtBa0Z6NmJVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxGMjZiWjs7QW1GcGpjQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GdWpjRjs7QW1GcGpjQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GdWpjRjs7QW1GcGpjQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GdWpjRjs7QW1GcmpjQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5Gd2pjRjs7QW1GdGpjQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GeWpjRjs7QW1GdmpjQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GMGpjRjs7QW1GeGpjQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GMmpjRjs7QW1GempjQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GNGpjRjs7QW1GMWpjQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GNmpjRjs7QW1GM2pjQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GOGpjRjs7QW1GM2pjQTtFQUNFO0FuRjhqY0Y7O0FtRjNqY0E7RUFDRTtFQUNBO0VBQ0E7QW5GOGpjRjs7QW1GMWpjRTtFQUNFO0FuRjZqY0o7QW1GMWpjRTtFQUNFO0FuRjRqY0o7O0FtRmpqY0U7Ozs7Ozs7RUFDRTtBbkYwamNKO0FtRnZqY0U7Ozs7Ozs7RUFDRTtBbkYramNKO0FtRjVqY0k7Ozs7Ozs7RUFDRTtBbkZva2NOOztBbUYvamNBO0VBQ0U7RUFDQTtFQUNBO0FuRmtrY0Y7QW1GamtjRTtFQUNFO0FuRm1rY0o7O0FtRi9qY0U7RUFDRTtBbkZra2NKOztBaUJsbmNJO0VrRXFERjs7Ozs7SUFLRTtFbkZpa2NGO0FBQ0Y7QW9GeHNjQTs7RUFFRSxxQjVFc0ZtQjtBUm9uY3JCOztBcUY1c2NBO0VBQ0U7RUFDQTtVQUFBO0FyRitzY0Y7QXFGN3NjRTtFQUNFO0FyRitzY0o7QXFGNXNjRTtFQUNFLGNwRkhXO0FEaXRjZjtBcUY1c2NJO0VBQ0UsbUJwRk5TO0FEb3RjZjtBcUYxc2NFO0VBQ0U7QXJGNHNjSjtBcUZyc2NRO0VBQ0UsNEI3RWRNO0U2RWVOLCtCN0VmTTtBUnN0Y2hCO0FxRmxzY1E7RUFDRSw2QjdFckJNO0U2RXNCTixnQzdFdEJNO0FSMHRjaEI7QXFGaHNjTTtFQUNFO0FyRmtzY1I7O0FzRnZ1Y0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdEYwdWNKO0FzRnZ1Y0k7RUFDRTtFQUNBO0F0Rnl1Y047O0F1Rmp0Y0U7RUFDRTtBdkZvdGNKOztBdUZodGNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNER0RnZCZTtFc0Z3QmY7QXZGbXRjRjs7QXVGaHRjQTtFQUNFLGlDckZsRGtCO0VxRm1EbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZtdGNGO0F1Rmx0Y0U7RUFDRSxpQ3JGNURnQjtFcUY2RGhCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZvdGNKOztBdUZqdGNBO0VBQ0U7SUFDRTtFdkZvdGNGO0V1Rmp0Y0E7SUFDRTtFdkZtdGNGO0FBQ0Y7QXdGbnljQTtFQUNFO0F4RnF5Y0Y7O0F3Rmx5Y0E7RUFDRTtBeEZxeWNGOztBd0ZseWNBO0VBQ0U7QXhGcXljRjs7QXdGbHljRTtFQUNFO0F4RnF5Y0o7QXdGbHljRTtFQUNFO0VBQ0E7QXhGb3ljSjtBd0ZqeWNFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhGbXljSjtBd0ZqeWNJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhGbXljTjtBd0ZqeWNNO0VBQ0UsY3ZGRU87RXVGRFA7RUFDQTtFQUNBO0VBQ0E7QXhGbXljUjtBd0YzeGNNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhGNnhjUjtBd0Z6eGNJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEYyeGNOO0F3RnJ4Y007RUFDRTtBeEZ1eGNSO0F3Rmp4Y0k7RUFDRTtFQUNBO0F4Rm14Y047QXdGanhjTTtFQUNFLGtEaEZuRUs7QVJzMWNiO0F3Rmh4Y007RUFDRTtFQUNBO0F4Rmt4Y1I7QXdGN3djTTtFQUNFO0VBQ0E7RUFDQTtBeEYrd2NSO0F3Rjd3Y1E7RUFDRSxrRGhGbkZHO0FSazJjYjtBd0Y1d2NRO0VBQ0U7RUFDQTtBeEY4d2NWO0F3RjF3Y007RUFDRSwrQmhGL0ZRO0FSMjJjaEI7QXdGMXdjUTtFQUNFLCtCaEZsR007QVI4MmNoQjtBd0Z4d2NNO0VBQ0UsZ0NoRnZHUTtBUmkzY2hCO0F3Rnh3Y1E7RUFDRSxnQ2hGMUdNO0FSbzNjaEI7QXdGdHdjTTtFQUNFO0VBQ0E7RUFDQSxnQ2hGakhRO0VnRmtIUjtBeEZ3d2NSO0F3Rmh3Y007RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEZrd2NSO0F3RnZ2Y0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEZ5dmNOO0FpQjMwY0k7RXVFOEVBO0lBTUk7SUFDQTtJQUNBO0V4RjJ2Y047QUFDRjtBd0YxdmNNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFpQkE7QXhGNHVjUjtBaUI1MWNJO0V1RXdGRTtJQVNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V4Rit2Y1I7QUFDRjtBd0Y5dmNRO0VBQ0U7RUFDQTtBeEZnd2NWO0FpQjMyY0k7RXVFeUdJO0lBSUk7RXhGa3djVjtBQUNGO0F3Rjl2Y1E7RUFDRTtBeEZnd2NWO0F3Rjl2Y1E7RUFDRTtFQUNBLG1CdkZqSm1CO0FEaTVjN0I7QWlCdjNjSTtFdUVxSEk7SUFJSTtJQUNBO0V4Rmt3Y1Y7QUFDRjtBd0Zqd2NVO0VBQ0UsYXZGektZO0V1RjBLWjtBeEZtd2NaO0F3Rmh3Y1U7RUFDRTtBeEZrd2NaO0F3Rmh3Y1U7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0F4Rml3Y1o7QXdGOXZjUTtFQUNFO0VBQ0E7RUFDQSxtQnZGMUttQjtBRDA2YzdCO0FpQmg1Y0k7RXVFNklJO0lBS0k7SUFDQTtFeEZrd2NWO0FBQ0Y7QXdGandjVTtFQUNFO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QXhGa3djWjtBd0Zod2NVO0VBQ0UsYXZGMU1ZO0V1RjJNWjtBeEZrd2NaO0F3RnBwY0k7RUFDRTtBeEZzcGNOO0F3RmxwY0U7RUFDRTtBeEZvcGNKO0F3RmpwY0U7RUFDRTtBeEZtcGNKO0F3RmhwY0U7RUFDRTtBeEZrcGNKO0F3Ri9vY0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEZpcGNKO0F3RjlvY0U7RUFDRTtBeEZncGNKO0F3Ri9vY0k7RUFDRTtBeEZpcGNOOztBd0Yxb2NNO0VBQ0U7QXhGNm9jUjtBaUIxOGNJO0V1RTRURTtJQUdJO0V4RitvY1I7QUFDRjs7QXlGOWdkQTtFQUNFO0F6RmloZEY7QWlCbjljSTtFd0UvREo7SUFHSTtFekZtaGRGO0FBQ0Y7QXlGbGhkRTtFQUNFO0VBQ0E7RUFDQTtBekZvaGRKO0FpQjc5Y0k7RXdFMURGO0lBS0k7RXpGc2hkSjtBQUNGO0F5RnJoZEk7RUFDRTtFQUNBO0VBQ0E7QXpGdWhkTjtBaUIxOWNJO0V3RWhFQTtJQUtJO0V6RnloZE47QUFDRjtBeUZ2aGRJO0VBQ0U7QXpGeWhkTjtBaUIvK2NJO0V3RTNDQTtJQUdJO0V6RjJoZE47QUFDRjtBeUZ4aGRNO0VBQ0UsY3hGM0JLO0V3RjRCTDtBekYwaGRSO0F5RnZoZEk7O0VBRUU7RUFDQTtFQUNBO0F6RnloZE47QXlGcmhkRTtFQUNFO0VBQ0E7RUFDQTtBekZ1aGRKO0F5RnJoZEk7RUFDRTtFQUNBO0VBQ0EseUJ4RjdDUTtFd0Y4Q1I7RUFDQTtFQUNBO0F6RnVoZE47QXlGcGhkSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpGc2hkTjtBeUZuaGRJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXpGcWhkTjtBeUZwaGRNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXpGc2hkUjtBeUZyaGRRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXpGdWhkVjtBeUZwaGRZOztFQUNFO0F6RnVoZGQ7QXlGbGhkYztFQUNFO0VBQ0E7QXpGb2hkaEI7QXlGNWdkRTtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RjZnZEo7QXlGNWdkSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCeEY3R1E7RXdGOEdSLGN4RnRFYTtFd0Z1RWI7RUFDQTtBekY4Z2ROO0F5RjdnZE07RUFDRTtFQUNBLGdCeEZuSE07RXdGb0hOLGN4RnJISztBRG9vZGI7QXlGN2dkTTtFQUNFO0VBQ0E7QXpGK2dkUjs7QXlGeGdkRTtFQUNFO0F6RjJnZEo7O0F5Rm5nZEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQU1FO0F6RndoZEo7QXlGdGhkRTs7OztFQUNFO0F6RjJoZEo7QXlGeGhkRTs7OztFQUNFO0VBQ0E7QXpGNmhkSjtBeUYxaGRFOzs7O0VBQ0U7RUFDQTtFQUNBO0F6RitoZEo7QXlGN2hkSTs7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0F6RmtpZE47QXlGL2hkSTs7OztFQUNFO0VBQ0E7QXpGb2lkTjtBeUZsaWRNOzs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RnVpZFI7QXlGbmlkUTs7OztFQUNFLDREeEY1Sk87RXdGNkpQO1VBQUE7RUFDQTtFQUNBO0F6RndpZFY7QXlGcmlkUTs7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpGMGlkVjtBeUZyaWRROzs7O0VBQ0UsNER4RjdLTztFd0Y4S1A7VUFBQTtFQUNBO0F6RjBpZFY7QXlGdmlkUTs7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpGNGlkVjtBeUZ4aWRNOzs7O0VBQ0U7QXpGNmlkUjtBeUYxaWRJOzs7O0VBQ0U7QXpGK2lkTjtBeUY3aWRJOzs7O0VBQ0U7QXpGa2pkTjtBeUY3aWRFOzs7Ozs7OztFQUVFO0VBQ0E7RUFDQTtBekZxamRKO0F5RmxqZE07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRUUsY3hGMU9LO0FENHpkYjtBeUZobGRNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUVFLGN4RnJNVztBRHF6ZG5CO0F5RjdtZEk7Ozs7Ozs7O0VBQ0U7RUFDQTtBekZzbmROO0F5RnJuZE07Ozs7Ozs7O0VBQ0U7RUFDQTtBekY4bmRSO0F5RjVuZE07Ozs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QXpGb29kUjtBeUZqb2RROzs7Ozs7OztFQUNFO0F6RjBvZFY7QXlGem9kVTs7Ozs7Ozs7RUFDRTtFQUNBLGF4RmhPUTtBRGszZHBCOztBeUYxb2RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXpGNm9kRjs7QXlGem9kRTtFQUNFO0VBQ0E7RUFDQTtBekY0b2RKOztBeUZ4b2RBO0VBQ0U7RUFDQTtFQUNBO0F6RjJvZEY7QXlGMW9kRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F6RjRvZEo7O0EwRm43ZEE7RUFDRTtFQUNBO0ExRnM3ZEY7QTBGbjdkSTtFQUNFO0ExRnE3ZE47QTBGbjdkTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQnpGc0JPO0V5RnJCUDtFQUNBO0ExRnE3ZFI7QTBGbDdkTTtFQUNFO0ExRm83ZFI7QTBGaDdkSTtFQUNFLGN6RnhCTztFeUZ5QlA7RUFDQTtBMUZrN2ROO0EwRjk2ZEU7RUFDRTtBMUZnN2RKO0EwRjc2ZE07RUFDRTtBMUYrNmRSO0EwRjc2ZFE7RUFDRTtFQUNBO0ExRis2ZFY7QTBGNTZkUTtFQUNFO0VBQ0E7RUFDQTtBMUY4NmRWO0EwRjU2ZFU7RUFDRSxjekZiRztFeUZjSDtFQUNBO0ExRjg2ZFo7QTBGMTZkUTtFQUNFLGN6RmRTO0V5RmVUO0VBQ0E7RUFDQTtBMUY0NmRWO0EwRno2ZFE7RUFDRTtBMUYyNmRWO0EwRnY2ZFU7RUFDRSxjekYxQk87RXlGMkJQO0VBQ0E7QTFGeTZkWjs7QTBGaDZkRTtFQUNFO0ExRm02ZEo7O0EyRm4vZEE7RUFDRTtBM0ZzL2RGO0EyRnAvZEU7RUFDRTtBM0ZzL2RKO0EyRmovZFU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0ZtL2RaOztBNEZqZ2VJO0VBQ0U7QTVGb2dlTjtBNEZsZ2VNO0VBQ0U7QTVGb2dlUjtBNEY3L2RJO0VBQ0U7RUFDQTtBNUYrL2ROO0E0RjcvZE07RUFDRTtBNUYrL2RSOztBNkZqaGVBO0VBQ0U7RUFJQTtFQUNBO0VBQ0EsNEQ1Rm1CZTtFNEZsQmY7QTdGaWhlRjtBaUIxOWRJO0U0RS9ESjtJQUdJO0U3RjBoZUY7QUFDRjtBNkZwaGVFO0VBQ0U7RUFDQTtBN0ZzaGVKO0E2RnBoZUk7RUFDRTtBN0ZzaGVOO0E2RmxoZUU7RUFDRTtBN0ZvaGVKOztBOEZ4aWVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUYyaWVGO0E4RjFpZUU7RUFDRTtFQUNBO0E5RjRpZUo7QWlCci9kSTtFNkV6REY7SUFJSTtFOUY4aWVKO0FBQ0Y7QThGNWllTTtFQUNFO0E5RjhpZVI7QThGNWllTTtFQUNFO0E5RjhpZVI7QWlCbi9kSTtFNkV4REk7SUFDRTtJQUNBO0U5RjhpZVI7QUFDRjtBOEYxaWVFO0VBQ0U7RUFDQTtBOUY0aWVKO0E4RjFpZUU7RUFDRTtFQUNBO0VBQ0E7RUFHQTtBOUYwaWVKO0E4RnZpZU07RUFDRTtBOUZ5aWVSO0E4RnZpZVU7RUFDRTtFQUNBO0VBQ0EscUI3RkxFO0FEOGllZDtBOEZyaWVZO0VBQ0UscUI3Ri9CTztFNkZnQ1AsbUI3RjdCTztBRG9rZXJCO0E4RmxpZVU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Rm9pZVo7QThGL2hlSTtFQUNFO0E5RmlpZU47QThGN2hlTTtFQUlFLGM3RmxDVztFNkZtQ1g7RUFDQTtBOUY0aGVSO0E4RnpoZUk7RUFDRTtFQUNBLGM3RmxGTztBRDZtZWI7QThGMWhlTTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGM3RnJEVztFNkZzRFg7QTlGNGhlUjtBOEZ4aGVFO0VBQ0UsYzdGcERlO0U2RnFEZjtBOUYwaGVKOztBOEZ0aGVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTlGeWhlRjs7QThGdGhlQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUZ5aGVGOztBOEZyaGVFO0VBQ0UsYzdGdkVtQjtBRCtsZXZCO0E4RnJoZUk7RUFDRSw0RDdGMUdRO0U2RjJHUjtFQUNBO0VBQ0E7QTlGdWhlTjtBOEZwaGVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUZzaGVKO0E4Rm5oZVE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUZxaGVWO0E4Rm5oZVk7RUFDRTtBOUZxaGVkO0E4Rm5oZWdCO0VBQ0U7RUFDQTtFQUNBLHFCN0ZoSEo7QURxb2VkO0E4RmpoZWtCO0VBQ0UscUI3RjFJQztFNkYySUQsbUI3RnhJQztBRDJwZXJCO0E4RjlnZWdCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUZnaGVsQjtBOEYzZ2VVO0VBQ0U7RUFDQTtFQUNBO0E5RjZnZVo7QThGNWdlWTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGM3RjVJSztFNkY2SUw7RUFDQTtBOUY4Z2VkO0E4RjNnZVU7RUFDRTtFQUNBLGM3RjVMQztBRHlzZWI7QThGNWdlWTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGM3Ri9KSztFNkZnS0w7QTlGOGdlZDtBOEYxZ2VRO0VBQ0UsYzdGOUpTO0U2RitKVDtBOUY0Z2VWO0E4RnpnZU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjN0Z6S1c7QURvcmVuQjtBOEYxZ2VRO0VBQ0UsYzdGcE5HO0FEZ3VlYjtBOEZuZ2VFO0VBQ0U7RUFDQTtBOUZxZ2VKO0E4RnBnZUk7RUFDRTtBOUZzZ2VOO0E4RnBnZUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBOUZzZ2VOO0E4RnBnZVE7RUFDRTtBOUZzZ2VWO0E4Rm5nZU07O0VBRUU7QTlGcWdlUjs7QStGeHVlQTtFQUNFO0EvRjJ1ZUY7QStGMXVlRTtFQUNFO0VBQ0E7RUFDQTtBL0Y0dWVKO0FpQmxyZUk7RThFN0RGO0lBS0k7RS9GOHVlSjtBQUNGO0ErRjV1ZUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GOHVlSjtBK0Y3dWVJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRit1ZU47QWlCdnNlSTtFOEVyQ007SUFDRTtFL0YrdWVWO0FBQ0Y7QStGNXVlTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvRjh1ZVI7QStGN3VlUTtFQUNFO0VBQ0E7QS9GK3VlVjtBK0Y3dWVRO0VBRUU7RUFDQTtBL0Y4dWVWO0ErRjN1ZU07RUFDRTtFQUNBO0EvRjZ1ZVI7QStGM3VlTTtFQUNFO0EvRjZ1ZVI7QStGMXVlSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GNHVlTjtBaUIzdWVJO0U4RVRBO0lBVUk7SUFDQTtJQUNBO0UvRjh1ZU47QUFDRjtBK0YzdWVJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRjZ1ZU47QWlCN3ZlSTtFOEVPQTtJQVdJO0lBQ0E7SUFDQTtFL0YrdWVOO0FBQ0Y7QStGM3VlSTtFQTNGRjtBL0Z5MGVGO0ErRmoxZUU7RUFDRTtJQUNFO0UvRm0xZUo7RStGajFlRTtJQUNFO0UvRm0xZUo7QUFDRjtBK0ZqdmVJO0VBaEdGO0EvRm8xZUY7QStGNTFlRTtFQUNFO0lBQ0U7RS9GODFlSjtFK0Y1MWVFO0lBQ0U7RS9GODFlSjtBQUNGO0ErRnZ2ZUk7RUFyR0Y7QS9GKzFlRjtBK0Z2MmVFO0VBQ0U7SUFDRTtFL0Z5MmVKO0UrRnYyZUU7SUFDRTtFL0Z5MmVKO0FBQ0Y7QStGOXZlRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvRmd3ZUo7QStGL3ZlSTtFQUNFO0EvRml3ZU47QStGaHdlTTtFQUNFO0VBQ0E7QS9Ga3dlUjtBK0Y5dmVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Znd2VKO0ErRi92ZUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0Zpd2VOO0ErRjd2ZVE7RUFDRSxjOUYzR0s7RThGNEdMO0EvRit2ZVY7QStGN3ZlUTtFQUNFO0VBQ0E7RUFDQTtBL0YrdmVWO0ErRjN2ZUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRjZ2ZU47QStGNXZlTTs7O0VBR0U7RUFDQTtFQUNBO0VBQ0E7QS9GOHZlUjtBK0Y1dmVNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Y4dmVSO0ErRjV2ZVU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0Y4dmVaO0ErRnp2ZUk7RUFDRTtFQUNBLG1COUZqSmM7QUQ0NGVwQjtBK0Z6dmVJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0YydmVOO0ErRjF2ZU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRjR2ZVI7QStGdnZlSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GeXZlTjtBK0Z4dmVNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9GMHZlUjtBK0Z4dmVNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9GMHZlUjtBK0Z2dmVJO0VBQ0UsbUI5RjVOUTtFOEY2TlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GeXZlTjtBK0Z0dmVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Z3dmVKO0ErRnR2ZU07RUFDRTtFQUNBO0EvRnd2ZVI7QStGdnZlUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvRnl2ZVY7QStGdHZlTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGM5RnZOVztBRCs4ZW5CO0ErRjl1ZUU7RUFDRTtFQUNBO0EvRmd2ZUo7QStGL3VlSTtFQUNFO0EvRml2ZU47QStGL3VlSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvRml2ZU47QStGL3VlUTtFQUNFO0EvRml2ZVY7QStGOXVlTTs7RUFFRTtBL0ZndmVSO0ErRjN1ZUU7RUFDRTtFQUNBO0VBQ0E7QS9GNnVlSjtBK0Y1dWVJO0VBQ0U7QS9GOHVlTjtBK0YzdWVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRjZ1ZUo7QStGNXVlSTtFQUNFO0VBQ0E7RUFDQTtBL0Y4dWVOO0ErRjd1ZU07RUFDRTtBL0YrdWVSO0ErRjV1ZUk7RUFDRTtFQUNBO0EvRjh1ZU47QStGNXVlSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvRjh1ZU47QStGN3VlTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvRit1ZVI7O0ErRnp1ZUE7RUFDRSxjOUY5Um1CO0FEMGdmckI7O0ErRnZ1ZUk7Ozs7OztFQU1FO0EvRjB1ZU47O0FnR2xrZkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEdxa2ZGOztBZ0dsa2ZBO0VBQ0U7RUFDQTtBaEdxa2ZGOztBZ0dqa2ZFO0VBQ0U7QWhHb2tmSjs7QWdHamtmQTtFQUNFO0FoR29rZkY7QWlCdmhmSTtFK0U5Q0o7SUFHSTtFaEdza2ZGO0FBQ0Y7O0FnR25rZkE7RUFDRTtFQUNBO0VBQ0E7QWhHc2tmRjtBaUJsaWZJO0UrRXZDSjtJQUtJO0VoR3drZkY7QUFDRjs7QWdHcmtmQTtFQUNFO0VBQ0E7QWhHd2tmRjs7QWdHbmtmSTtFQUNFLDhCOUZ2Q007RThGd0NOO0VBQ0E7RUFDQTtFQUNBO0FoR3NrZk47O0FnR2hrZkU7RUFDRTtBaEdta2ZKO0FnR2xrZkk7RUFDRTtBaEdva2ZOO0FpQjNqZkk7RStFWkY7SUFNSTtFaEdxa2ZKO0FBQ0Y7QWlCaGtmSTtFK0VaRjtJQVNJO0VoR3VrZko7QUFDRjtBaUJya2ZJO0UrRVpGO0lBWUk7RWhHeWtmSjtBQUNGO0FpQjFrZkk7RStFWkY7SUFlSTtFaEcya2ZKO0FBQ0Y7QWlCL2tmSTtFK0VaRjtJQWtCSTtFaEc2a2ZKO0FBQ0Y7O0FnR3prZkE7RUFDRTtBaEc0a2ZGO0FnRzNrZkU7RUFDRTtBaEc2a2ZKO0FnRzFrZkU7RUFDRTtBaEc0a2ZKO0FnRzFrZkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrRHhGN0VTO0V3RjhFVCxtQnhGaEZZO0V3RmlGWjtFQUNBO0FoRzRrZko7QWdHM2tmSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoRzZrZk47QWdHM2tmSTtFQUNFO0FoRzZrZk47QWdHMWtmRTtFQUNFO0FoRzRrZko7O0FnR3hrZkE7RUFDRTtBaEcya2ZGO0FnRzFrZkU7RUFDRTtBaEc0a2ZKO0FnR3prZkU7RUFDRTtBaEcya2ZKO0FnR3prZkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrRHhGaEhTO0V3RmlIVCxtQnhGbkhZO0V3Rm9IWjtFQUNBO0FoRzJrZko7QWdHMWtmSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoRzRrZk47QWdHMWtmSTtFQUNFO0FoRzRrZk47QWdHemtmRTtFQUNFO0FoRzJrZko7O0FnR3ZrZkE7RUFDRTtBaEcwa2ZGO0FnR3hrZkk7RUFDRTtBaEcwa2ZOO0FnR3ZrZkU7RUFDRSxjL0Y5R2U7RStGK0dmO0VBQ0E7RUFDQTtFQUNBO0FoR3lrZko7QWdHdmtmRTtFQUNFO0FoR3lrZko7O0FnR3JrZkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoR3drZkY7QWlCanJmSTtFK0VvR0o7SUFPSTtJQUNBO0VoRzBrZkY7QUFDRjtBaUJ2cmZJO0UrRW9HSjtJQVdJO0lBQ0E7RWhHNGtmRjtBQUNGO0FnRzNrZkU7RUFDRTtFQUNBO0VBQ0E7QWhHNmtmSjs7QWdHeGtmRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoRzJrZko7QWlCNXJmSTtFK0U2R0Y7SUFNSTtFaEc2a2ZKO0FBQ0Y7QWdHNWtmSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoRzhrZk47QWdHNWtmSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoRzhrZk47QWdHNWtmUTtFQUNFO0VBQ0E7RUFDQTtBaEc4a2ZWO0FnRzdrZlU7RUFDRTtFQUNBO0VBQ0E7QWhHK2tmWjs7QWdHdGtmRTtFQUNFO0VBQ0E7QWhHeWtmSjs7QWlCNXRmSTtFK0UySkU7SUFDRTtJQUNBO0lBQ0E7RWhHcWtmTjtFZ0dsa2ZNO0lBQ0U7RWhHb2tmUjtBQUNGO0FnRzlqZkE7QUFDQTtFQUNFO0FoR2drZkY7QWdHOWpmRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEdna2ZKO0FpQm53Zkk7RStFdU1BO0lBQ0U7RWhHK2pmSjtBQUNGOztBZ0czamZBO0VBQ0U7QWhHOGpmRjtBaUI1d2ZJO0UrRTZNSjtJQUdJO0VoR2drZkY7QUFDRjtBaUJqeGZJO0UrRTZNSjtJQU1JO0VoR2trZkY7QUFDRjtBaUJ0eGZJO0UrRTZNSjtJQVNJO0VoR29rZkY7QUFDRjs7QWdHamtmRTtFQUNFO0VBQ0E7QWhHb2tmSjtBaUJoeWZJO0UrRXlOSjtJQU1JO0VoR3FrZkY7RWdHcGtmRTtJQUNFO0VoR3NrZko7QUFDRjtBaUJ4eWZJO0UrRXlOSjtJQWFJO0lBQ0E7RWhHc2tmRjtFZ0dya2ZFO0lBQ0U7RWhHdWtmSjtFZ0dya2ZFOztJQUVFO0VoR3VrZko7QUFDRjtBaUJyemZJO0UrRXlOSjtJQXlCSTtFaEd1a2ZGO0FBQ0Y7O0FnR2xrZkk7RUFDRTtFQUNBO0FoR3FrZk47QWlCL3pmSTtFK0V3UEE7SUFJSTtFaEd1a2ZOO0FBQ0Y7QWlCcDBmSTtFK0V3UEE7SUFPSTtFaEd5a2ZOO0FBQ0Y7QWlCejBmSTtFK0V3UEE7SUFVSTtFaEcya2ZOO0FBQ0Y7O0FnR3RrZkE7O0VBRUU7QWhHeWtmRjtBZ0d4a2ZFOztFQUNFO0FoRzJrZko7QWdHeGtmRTs7RUFDRTtBaEcya2ZKO0FnR3prZkU7O0VBQ0Usa0R4RnJVUztFd0ZzVVQsbUJ4RnhVWTtFd0Z5VVo7RUFDQTtBaEc0a2ZKO0FpQmwyZkk7RStFa1JGOztJQU1JO0VoRytrZko7QUFDRjtBZ0c5a2ZJOztFQUVFO0VBQ0E7RUFDQTtBaEdnbGZOO0FnRzlrZkk7O0VBQ0U7QWhHaWxmTjtBZ0cva2ZJOztFQUNFO0FoR2tsZk47QWdHL2tmRTs7RUFDRTtBaEdrbGZKOztBZ0c3a2ZFO0VBQ0U7RUFDQTtBaEdnbGZKO0FnRzlrZkk7RUFDRSxrRHhGcFdPO0FSbzdmYjtBZ0c3a2ZJO0VBQ0U7RUFDQTtBaEcra2ZOO0FnRzFrZkk7RUFDRTtFQUNBO0VBQ0E7QWhHNGtmTjtBZ0cxa2ZNO0VBQ0Usa0R4RnBYSztBUmc4ZmI7QWdHemtmTTtFQUNFO0VBQ0E7QWhHMmtmUjtBZ0d2a2ZJO0VBQ0UsK0J4RmhZVTtBUnk4ZmhCO0FnR3ZrZk07RUFDRSwrQnhGbllRO0FSNDhmaEI7QWdHcmtmSTtFQUNFLGdDeEZ4WVU7QVIrOGZoQjtBZ0dya2ZNO0VBQ0UsZ0N4RjNZUTtBUms5ZmhCO0FnR25rZkk7RUFDRTtFQUNBO0VBQ0EsZ0N4RmxaVTtFd0ZtWlY7QWhHcWtmTjtBZ0c3amZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhHK2pmTjs7QWdHMWpmQTtFQUNFO0VBQ0E7RUFDQTtBaEc2amZGO0FnRzVqZkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEc4amZKO0FpQjU3Zkk7RStFMFhGO0lBTUk7RWhHZ2tmSjtBQUNGO0FpQnA3Zkk7RStFcVhBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFaEdpa2ZOO0FBQ0Y7QWlCMThmSTtFK0VrWUE7SUFTSTtFaEdta2ZOO0FBQ0Y7QWlCLzhmSTtFK0VrWUE7SUFZSTtFaEdxa2ZOO0FBQ0Y7QWdHcGtmTTtFQUNFO0FoR3NrZlI7O0FnR2hrZkE7RUFDRTtBaEdta2ZGO0FnR2xrZkU7RUFDRTtBaEdva2ZKO0FnR2prZkU7RUFDRTtBaEdta2ZKO0FnR2prZkU7RUFJRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0R4RjVkUztFd0Y2ZFQsbUJ4Ri9kWTtFd0ZnZVo7RUFDQTtBaEcramZKO0FnRzNrZkk7RUFDRTtBaEc2a2ZOO0FnR2prZkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEdta2ZOO0FnR2prZkk7RUFDRTtBaEdta2ZOO0FnR2prZkk7RUFDRTtBaEdta2ZOO0FnR2hrZkU7RUFDRTtBaEdra2ZKO0FnRy9qZkU7RUFDRTtBaEdpa2ZKOztBZ0d6amZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEc0amZGO0FpQnpnZ0JJO0UrRXdjSjtJQU9JO0lBQ0E7RWhHOGpmRjtFZ0c3amZFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RWhHK2pmSjtBQUNGO0FnRzdqZkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEcramZKO0FpQmpoZ0JJO0UrRTJjRjtJQVNJO0VoR2lrZko7QUFDRjtBaUJuaWdCSTtFK0V3ZEY7SUFZSTtFaEdta2ZKO0FBQ0Y7QWdHbGtmSTs7O0VBRUU7QWhHcWtmTjs7QWdHOWpmSTtFQUNFO0FoR2lrZk47QWdHaGtmTTtFQUNFO0FoR2trZlI7QWdHL2pmSTtFQUNFO0FoR2lrZk47O0FnRzNqZkU7Ozs7Ozs7Ozs7OztFQU9FO0FoR21rZko7O0FpR3JvZ0JBO0VBQ0U7RUFJQTtBakdxb2dCRjtBaUIza2dCSTtFZ0YvREo7SUFHSTtFakcyb2dCRjtBQUNGO0FpR3pvZ0JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpHMm9nQko7QWlHem9nQkU7RUFDRTtFQUNBO0VBQ0E7QWpHMm9nQko7QWlCOWxnQkk7RWdGaERGO0lBS0k7RWpHNm9nQko7QUFDRjs7QWtHbHFnQkE7RUFDRTtBbEdxcWdCRjtBaUIxbGdCSTtFaUYxRUY7SUFFSTtJQUNBO0VsR3NxZ0JKO0FBQ0Y7QWlCN21nQkk7RWlGN0RGO0lBTUk7SUFDQTtFbEd3cWdCSjtBQUNGO0FpQm5uZ0JJO0VpRjdERjtJQVVJO0VsRzBxZ0JKO0FBQ0Y7QWtHdnFnQkU7RUFDRTtBbEd5cWdCSjtBa0d2cWdCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEd5cWdCSjtBa0d4cWdCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsRzBxZ0JOO0FrR3pxZ0JNO0VBQ0U7RUFDQTtBbEcycWdCUjtBa0d6cWdCTTtFQUNFO0FsRzJxZ0JSO0FrR3ZxZ0JFOztFQUVFO0FsR3lxZ0JKO0FtR2p0Z0JBO0VBQ0U7RUFDQTtBbkdtdGdCRjtBbUdqdGdCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FuR210Z0JKO0FtR2p0Z0JJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuR210Z0JOOztBaUJ6cGdCSTtFbUY1RUo7SUFDRTtJQUNBO0lBQ0E7RXBHeXVnQkE7RW9HcnVnQkE7SUFDRTtFcEd1dWdCRjtFb0dydWdCQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VwR3V1Z0JGO0FBQ0Y7QUE3b2dCRTs7Ozs7Ozs7Ozs7RUVsR0EsaUNBSGtCO0VBS2xCO0VBQ0E7RUFDQTtBRjJ2Z0JGO0FBeHBnQkk7Ozs7Ozs7Ozs7O0VFdkdGLGlDQUhrQjtFQUtsQjtFQUNBO0VBQ0E7QUYyd2dCRjs7QUFscWdCQTtFQUNFO0FBcXFnQkY7QUFwcWdCRTtFQUNFLG1CUS9FYTtBUnF2Z0JqQjs7QUFqcWdCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGNDdEZlO0FEMHZnQm5CO0FBbnFnQkk7RUFDRSxjQzVIUztFRDZIVDtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtBQXFxZ0JOLEM7Ozs7QXFHNXlnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQUFGO0FBRUE7RUFDRTtFQUNBO0FBQ0Y7QUFDQTtFQUNFO0FBRUY7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUdGO0FBQ0U7RUFDRTtBQUVKO0FBR0U7O0VBQ0U7QUFDSixDOzs7OztBQ29GQTtFQUNFLDJCQUEyQjtBQUM3Qjs7Ozs7O0FDc0VBO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLHNCQUFzQjtFQUN0QixpQkFBaUI7QUFDbkI7QUFFQTtFQUNFLFlBQVk7RUFDWix5QkFBeUI7QUFDM0I7QUFDQTtFQUNFLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLHlCQUF5QjtFQUN6QixZQUFZO0FBQ2Q7QUFFQTtFQUNFLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLDhCQUE4QjtFQUM5QixZQUFZO0VBQ1osV0FBVztBQUNiO0FBRUE7O0VBRUUsWUFBWTtBQUNkOzs7Ozs7QUM5SEE7RUFDRSxhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsV0FBVztFQUNYLDZCQUE2QjtFQUM3QixrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLGlCQUFpQixFQUFFLFlBQVk7RUFDL0IsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQiwwQkFBMEI7QUFDNUI7Ozs7OztBQytKQTtFQUNFLGVBQWU7RUFDZixxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLG1CQUFtQjtBQUNyQjtBQUVBOztFQUVFLGFBQWE7QUFDZjtBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCO0FBRUE7O0VBRUUsYUFBYTtBQUNmO0FBRUE7RUFDRSxlQUFlO0VBQ2YscUJBQXFCO0VBQ3JCLHNCQUFzQjtBQUN4Qjs7Ozs7O0FDOFVBOzs7O0dBSUc7QUFFSDtFQUNFLGdCQUFnQjtBQUNsQjtBQUNBO0VBQ0UsY0FBYztFQUNkLGFBQWE7RUFDYixvQkFBb0I7RUFDcEIsWUFBWTtFQUNaLGNBQWM7QUFDaEI7QUFFQTtFQUNFLFlBQVk7QUFDZDtBQUNBO0VBQ0UsWUFBWTtFQUNaLFdBQVc7QUFDYjtBQUNBLDBDQUEwQztBQUMxQztFQUNFLFlBQVk7RUFDWixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtBQUN6QjtBQUNBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsdUJBQXVCO0FBQ3pCOztBQUVBLGtDQUFrQztBQUNsQztBQUNFO0lBQ0Usa0NBQWtDO0lBQ2xDLHdCQUF3QjtJQUV4QiwyQkFBMkI7QUFDN0I7QUFDRjs7Ozs7O0FDempCQTtFQUNFLHVCQUF1QjtBQUN6QjtBQUNBO0VBQ0Usd0JBQXdCO0FBQzFCOzs7Ozs7QUN1ekNBLDRDQUE0QztBQUM1QztFQUNFLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsT0FBTztFQUNQLFFBQVE7RUFDUixVQUFVO0VBQ1YsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixnQkFBZ0I7QUFDbEI7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjtBQUVBOzs7RUFHRSwwQkFBMEI7QUFDNUI7QUFFQTtFQUNFLFVBQVU7RUFDViwyQkFBMkI7QUFDN0I7QUFDQTtFQUNFLFVBQVU7RUFDVixhQUFhO0VBQ2IsNEJBQTRCO0FBQzlCOztBQUVBLCtDQUErQztBQUMvQztFQUNFLHFEQUE0QztFQUM1QyxrRUFBa0U7RUFDbEUsNENBQTRDO0VBQzVDLFVBQVUsRUFBRSxpQkFBaUI7QUFDL0I7QUFFQTtBQUNFO0lBQ0UsVUFBVTtJQUNWLDJCQUEyQjtBQUM3QjtBQUNBO0lBQ0UsVUFBVTtJQUNWLHdCQUF3QjtBQUMxQjtBQUNGOztBQUVBLG9EQUFvRDtBQUNwRDtBQUNFO0lBQ0Usd0JBQXdCO0lBQ3hCLDJCQUEyQjtBQUM3QjtBQUNGOztBQUVBLHdDQUF3QztBQUN4QztFQUNFLFdBQVc7QUFDYjs7Ozs7O0FDN3BDQSw2Q0FBNkM7QUFDN0M7RUFDRSx5REFBeUQ7RUFDekQsK0JBQStCO0FBQ2pDO0FBRUE7RUFDRSwwREFBMEQ7RUFDMUQsK0JBQStCO0FBQ2pDO0FBRUE7O0VBRUUsMkJBQTJCO0VBQzNCLFVBQVU7QUFDWjtBQUVBOztFQUVFLHdCQUF3QjtFQUN4QixVQUFVO0FBQ1o7O0FBRUEseUJBQXlCO0FBQ3pCO0FBQ0U7O0lBRUUsbURBQW1EO0lBQ25ELHVDQUF1QztBQUN6QztBQUNGOzs7OztBQ3ZXQTtFQUNFO0VBQ0E7QUFBRjtBQUNFOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0FBQ0o7QUFBSTs7RUFDRTtFQUNBO0VBQ0E7QUFHTjtBQURNOztFQUNFO0FBSVI7QUFIUTs7RUFDRTtFQUNBO0VBQ0E7QUFNVjtBQUhVOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBTVo7QUFKVTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQU9aO0FBRlk7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0FBTWQ7QUFMYzs7O0VBQ0U7QUFTaEI7QUFIVTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFNWjtBQUpVOztFQUNFO0FBT1o7QUFITTs7RUFDRTtBQU1SLEM7Ozs7O0FDcUhBO0VBQ0UsY0FBYztBQUNoQjs7Ozs7O0FDdVRBO0VBQ0UseUJBQXlCO0VBQ3pCLHdCQUF3QjtFQUN4QiwrQkFBK0I7QUFDakM7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjtBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixpQkFBaUI7QUFDbkI7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsWUFBWTtFQUNaLFVBQVU7QUFDWjtBQUVBOztFQUVFLGlEQUFpRDtBQUNuRDtBQUVBOztFQUVFLDJCQUEyQjtFQUMzQixVQUFVO0FBQ1o7QUFFQTs7RUFFRSx3QkFBd0I7RUFDeEIsVUFBVTtBQUNaOzs7Ozs7QUM3REE7RUFDRSx5Q0FBZ0M7QUFDbEM7QUFFQTtBQUNFO0lBQ0UsbUJBQW1CO0FBQ3JCO0FBQ0E7SUFDRSx1QkFBdUI7QUFDekI7QUFDQTtJQUNFLG1CQUFtQjtBQUNyQjtBQUNGOzs7OztBQzdlQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFBRjs7QUFHQTtBQUNBOztFQUVFO0FBQUY7QUFHQTtFQUNFO0FBQUY7QUFHQTtFQUNFO0FBQUY7QUFHQTtFQUNFO0FBQUY7QUFHQTtFQUNFO0FBQUY7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQUY7QUFHQTtFQUNFO0VBQ0E7RUFDQTtBQUFGLEM7Ozs7O0FBK1VBO0VBQ0UseUNBQWdDO0FBQ2xDO0FBRUE7QUFDRTtJQUNFLG1CQUFtQjtBQUNyQjtBQUNBO0lBQ0UsdUJBQXVCO0FBQ3pCO0FBQ0E7SUFDRSxjQUFjO0FBQ2hCO0FBQ0Y7Ozs7OztBQ2xMQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUNBOzs7Q0FHQztBQUNEO0VBQ0UsNkJBQTZCO0FBQy9CO0FBRUE7RUFDRSxpREFBaUQ7QUFDbkQ7QUFFQTs7RUFFRSw0QkFBNEI7RUFDNUIsVUFBVTtBQUNaO0FBRUE7RUFDRSxnQkFBZ0IsRUFBRSx1QkFBdUI7RUFDekMsWUFBWSxFQUFFLDRCQUE0QjtBQUM1Qzs7Ozs7O0FDOFhBO0VBQ0UsZ0JBQWdCLEVBQUUsdUJBQXVCO0VBQ3pDLFlBQVksRUFBRSw0QkFBNEI7QUFDNUM7Ozs7OztBQ2xsQkE7RUFDRSxlQUFlO0VBQ2YsTUFBTTtFQUNOLE9BQU87RUFDUCxXQUFXO0VBQ1gsWUFBWTtFQUNaLDBDQUEwQztFQUMxQyxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsZ0JBQWdCO0FBQ2xCO0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7QUFFQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1oseUJBQXlCO0VBQ3pCLDZCQUE2QjtFQUM3QixrQkFBa0I7RUFDbEIsMkNBQWtDO0VBQ2xDLGNBQWM7RUFDZCxtQkFBbUI7QUFDckI7QUFFQTtFQUNFLGNBQWM7RUFDZCxlQUFlO0VBQ2YsYUFBYTtBQUNmO0FBQ0E7RUFDRSxrQkFBa0I7QUFDcEI7QUFFQTtBQUNFO0lBQ0UsdUJBQXVCO0FBQ3pCO0FBQ0E7SUFDRSx5QkFBeUI7QUFDM0I7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy93ZWJzaXRlL3Njc3Mvc3R5bGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3dlYnNpdGUvc2Nzcy9fY3VzdG9tX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy93ZWJzaXRlL3Njc3MvX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY29sb3ItbW9kZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9zY3NzL19zZXR0aW5ncy1ib290c3RyYXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY29udGFpbmVycy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NvbnRhaW5lci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtdmFyaWFudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2xhYmVscy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLWNvbnRyb2wuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLXNlbGVjdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1jaGVjay5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1yYW5nZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZmxvYXRpbmctbGFiZWxzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXZiYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FjY29yZGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2Ryb3Auc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19zcGlubmVycy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fb2ZmY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wbGFjZWhvbGRlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19jb2xvci1iZy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19jb2xvcmVkLWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2ZvY3VzLXJpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9faWNvbi1saW5rLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3JhdGlvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3Bvc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3N0YWNrcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdGV4dC10cnVuY2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL192ci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3V0aWxpdGllcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FwaS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy96b29taXN0L3pvb21pc3QuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AZWdqcy9mbGlja2luZy9kaXN0L2ZsaWNraW5nLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGVnanMvZmxpY2tpbmctcGx1Z2lucy9kaXN0L2Fycm93LmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9zY3NzL19jdXN0b21fbWVudS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy93ZWJzaXRlL3Njc3MvX2N1c3RvbV9idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3dlYnNpdGUvc2Nzcy9fY3VzdG9tX2FsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3dlYnNpdGUvc2Nzcy9fY3VzdG9tX3RhZ3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9zY3NzL19jdXN0b21fY2FyZHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9zY3NzL19jdXN0b21fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3dlYnNpdGUvc2Nzcy9fY3VzdG9tX2hlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9zY3NzL19jdXN0b21fZm9ybS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy93ZWJzaXRlL3Njc3MvX2xpZ2h0Ym94LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3dlYnNpdGUvc2Nzcy9fdmlkZW9fcGxheWVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3dlYnNpdGUvc2Nzcy9fbWFycXVlZV9zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9zY3NzL19jYW1waW5nX3BhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9zY3NzL196b2VrX2JvZWsuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9zY3NzL19yZXZpZXdzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3dlYnNpdGUvc2Nzcy9mYXEuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9zY3NzL2Zhdm9yaXRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3dlYnNpdGUvc2Nzcy9jdXN0b21lcl9zZXJ2aWNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3dlYnNpdGUvc2Nzcy9fYm9va2luZ193aWRnZXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9zY3NzL19jaGVja291dC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy93ZWJzaXRlL3Njc3MvX2NvbnRlbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9zY3NzL19lcnJvcl9wYWdlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy93ZWJzaXRlL3Njc3MvX3NlYXJjaC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy93ZWJzaXRlL3Njc3MvX2ljb24tbGlzdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy93ZWJzaXRlL3Njc3MvX21vYmlsZV96b2VrYm9lay5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy93ZWJzaXRlL2pzL3Z1ZS9TZWFyY2hEYXRlUGlja2VyLnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9qcy92dWUvU2VhcmNoUmVnaW9uLnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9qcy92dWUvU2VhcmNoU3BlY2lhbERhdGVQZXJpb2RzLnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9qcy92dWUvU2VhcmNoQ2FyZFJhdGluZy52dWUiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3dlYnNpdGUvanMvdnVlL1NlYXJjaENhcmRGYWNpbGl0aWVzLnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9qcy92dWUvU2VhcmNoQ2FyZC52dWUiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3dlYnNpdGUvanMvdnVlL1NlYXJjaExpc3RUb3BCYXIudnVlIiwid2VicGFjazovLy8uL2Fzc2V0cy93ZWJzaXRlL2pzL3Z1ZS9TZWFyY2hMaXN0LnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9qcy92dWUvU2VhcmNoU2lkZUJhck1vYmlsZS52dWUiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3dlYnNpdGUvanMvdnVlL1NlYXJjaFByaWNlTWF0cml4LnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9qcy92dWUvQm9va2luZ1dpZGdlZFN1bW1hcnkudnVlIiwid2VicGFjazovLy8uL2Fzc2V0cy93ZWJzaXRlL2pzL3Z1ZS9Cb29raW5nV2lkZ2V0TW9iaWxlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9qcy92dWUvY2hlY2tvdXQvQ2hlY2tvdXRTdW1tYXJ5LnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9qcy92dWUvY2hlY2tvdXQvQ2hlY2tvdXRTdW1tYXJ5TW9iaWxlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9qcy92dWUvY2hlY2tvdXQvQ2hlY2tvdXRVcGRhdGVzUGlja2VyLnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvd2Vic2l0ZS9qcy92dWUvY2hlY2tvdXQvQ2hlY2tvdXREYXRhRm9ybS52dWUiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3dlYnNpdGUvanMvdnVlL2NoZWNrb3V0L0NoZWNrb3V0TG9hZGVyLnZ1ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiY3VzdG9tX3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImZvbnRzXCI7XG5cbi8vIEluY2x1ZGUgZnVuY3Rpb25zIGZpcnN0XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zXCI7XG4vLyBDdXN0b21pemUgYm9vdHN0cmFwIHNldHRpbmdzXG5AaW1wb3J0IFwic2V0dGluZ3MtYm9vdHN0cmFwXCI7XG4vLyBSZXF1aXJlZFxuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlcy1kYXJrXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvbWFwc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL21peGluc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3V0aWxpdGllc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3Jvb3RcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9yZWJvb3RcIjtcblxuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3R5cGVcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9pbWFnZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9jb250YWluZXJzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvZ3JpZFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3RhYmxlc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2Zvcm1zXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvYnV0dG9uc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3RyYW5zaXRpb25zXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvZHJvcGRvd25cIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9idXR0b24tZ3JvdXBcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9uYXZcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9uYXZiYXJcIjtcbi8vIFJlcXVpcmVzIG5hdlxuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2NhcmRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9icmVhZGNydW1iXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2JhZGdlXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvYWxlcnRcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3Byb2dyZXNzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2Nsb3NlXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvc2Nzcy90b2FzdHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9tb2RhbFwiO1xuLy8gUmVxdWlyZXMgdHJhbnNpdGlvbnNcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy90b29sdGlwXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvcG9wb3ZlclwiO1xuLy9AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9zcGlubmVyc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL29mZmNhbnZhc1wiO1xuLy8gUmVxdWlyZXMgdHJhbnNpdGlvbnNcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9wbGFjZWhvbGRlcnNcIjtcblxuLy8gSGVscGVyc1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2hlbHBlcnNcIjtcblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL2FwaVwiO1xuXG5AaW1wb3J0IFwiem9vbWlzdC9jc3NcIjtcbkBpbXBvcnQgXCJAZWdqcy9mbGlja2luZy9kaXN0L2ZsaWNraW5nXCI7XG5AaW1wb3J0IFwiQGVnanMvZmxpY2tpbmctcGx1Z2lucy9kaXN0L2Fycm93XCI7XG5cbkBpbXBvcnQgXCJmbGlja2l0eS9jc3MvZmxpY2tpdHkuY3NzXCI7IC8vIEltcG9ydCBGbGlja2l0eSdzIENTU1xuQGltcG9ydCBcImZsaWNraXR5LWZ1bGxzY3JlZW4vZnVsbHNjcmVlbi5jc3NcIjtcblxuQGltcG9ydCBcInNsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLmNzc1wiO1xuQGltcG9ydCBcInNsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLXRoZW1lLmNzc1wiO1xuXG4vLyBJbmNvcnBvcmF0ZSBQdXNoRmVlZGJhY2sgc3R5bGVzXG5AaW1wb3J0IFwicHVzaGZlZWRiYWNrL2Rpc3QvcHVzaGZlZWRiYWNrL3B1c2hmZWVkYmFjay5jc3NcIjtcblxuQGltcG9ydCBcImN1c3RvbV9tZW51XCI7XG5AaW1wb3J0IFwiY3VzdG9tX2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJjdXN0b21fYWxlcnRcIjtcbkBpbXBvcnQgXCJjdXN0b21fdGFnc1wiO1xuQGltcG9ydCBcImN1c3RvbV9jYXJkc1wiO1xuQGltcG9ydCBcImN1c3RvbV9mb290ZXJcIjtcbkBpbXBvcnQgXCJjdXN0b21faGVscGVyc1wiO1xuQGltcG9ydCBcImN1c3RvbV9mb3JtXCI7XG5AaW1wb3J0IFwibGlnaHRib3hcIjtcbkBpbXBvcnQgXCJ2aWRlb19wbGF5ZXJcIjtcbkBpbXBvcnQgXCJtYXJxdWVlX3NsaWRlclwiO1xuXG5AaW1wb3J0IFwiY2FtcGluZ19wYWdlXCI7XG5AaW1wb3J0IFwiem9la19ib2VrXCI7XG5AaW1wb3J0IFwicmV2aWV3c1wiO1xuQGltcG9ydCBcImZhcVwiO1xuQGltcG9ydCBcImZhdm9yaXRlXCI7XG5AaW1wb3J0IFwiY3VzdG9tZXJfc2VydmljZVwiO1xuQGltcG9ydCBcImJvb2tpbmdfd2lkZ2V0XCI7XG5AaW1wb3J0IFwiY2hlY2tvdXRcIjtcbkBpbXBvcnQgXCJjb250ZW50XCI7XG5AaW1wb3J0IFwiZXJyb3JfcGFnZXNcIjtcbkBpbXBvcnQgXCJzZWFyY2hcIjtcbi8vQGltcG9ydCBcInRpbWVyXCI7XG5cbkBpbXBvcnQgXCJpY29uLWxpc3RcIjtcblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gIEBpbXBvcnQgXCJfbW9iaWxlX3pvZWtib2VrXCI7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gICYuYWx0IHtcbiAgICBAaW5jbHVkZSBhbHQtc3R5bGVzO1xuICB9XG5cbiAgJi5hbHQtc3BhbiB7XG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBhbHQtc3R5bGVzO1xuICAgIH1cbiAgfVxufVxuXG5wIHtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7IC8qIDEuNHJlbSAqL1xuICAmLnhzIHtcbiAgICBmb250LXNpemU6ICRwLXhzLWZvbnQtc2l6ZTtcbiAgfVxufVxuXG4uYnJlYWRjcnVtYiB7XG4gIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7IC8qIDEuNTc1cmVtICovXG4gICAgY29sb3I6ICRUaW50ZW4tRGFyay1HcmV5O1xuICAgIGEge1xuICAgICAgY29sb3I6ICRCYXNpcy1EZXNlcnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBzb2xpZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IGF1dG87XG4gICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IGF1dG87XG4gICAgICB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogZnJvbS1mb250O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzaXMga2xlcnVlblxuJEJhc2lzLURhcms6ICMyZjJmMmY7XG4kQmFzaXMtV2hpdGU6ICNmZmY7XG4kQmFzaXMtQ3JlYW06ICNmM2VlZTk7XG4kQmFzaXMtSXZvcnk6ICNlY2UzZDk7XG4kQmFzaXMtQ29jb3M6ICNiMjhkNjY7XG4kQmFzaXMtRGVzZXJ0OiAjYjk3NzI3O1xuXG4kZGlzY291bnQtYmFja2dyb3VuZC0xOiAjZDgzMzUwO1xuJGRpc2NvdW50LWJhY2tncm91bmQtMjogI2UxNTY5OTtcblxuJGRpc2NvdW50LWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoXG4gIDkwZGVnLFxuICAkZGlzY291bnQtYmFja2dyb3VuZC0xIDAlLFxuICAkZGlzY291bnQtYmFja2dyb3VuZC0yIDEwMCVcbik7XG5cbi8vIEFjdGllIGtsZXJ1ZW5cbiRhY3RpZS13YXRlcjogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjNDFhOGQ3IDAlLCAjMmI4NmIyIDEwMCUpO1xuJGFjdGllLXdhdGVyLWZpeDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMjY4MGFjIDAlLCAjMjY4MGFjIDEwMCUpO1xuJGFjdGllLXdhdGVyLWJhY2t1cDogIzQxYThkNztcbiRUaW50ZW4tV2F0ZXItTGlnaHQ6ICNjNmRjZTY7XG4kVGludGVuLVdhdGVyLUhvdmVyOiAjMjY4MGFjO1xuJFRpbnRlbi1FeHRyYS1MaWdodDogI2VhZjZmYztcblxuLy8gSG9vZmQga2xldXJcbiRIb29mZGtsZXVyLVN1bjogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZDk4YzJmIDAlLCAjZWNhODI3IDEwMCUpO1xuJEhvb2Zka2xldXItU3VuLWZpeDogbGluZWFyLWdyYWRpZW50KFxuICA5MGRlZyxcbiAgJEJhc2lzLURlc2VydCAwJSxcbiAgJEJhc2lzLURlc2VydCAxMDAlXG4pO1xuJEhvb2Zka2xldXItU3VuLWJhY2t1cDogI2Q5OGMyZjtcblxuLy8gQWNjZW50IGtsZXVyZW5cbiRBY2NlbnQtUmFzcGJlcnJ5OiAjZDgzMzUwO1xuJEFjY2VudC1BbWJlcjogI2U0YTAwNjtcbiRBY2NlbnQtRm9yZXN0OiAjMzE1NjQxO1xuXG4vLyBUaW50ZW5cbiRUaW50ZW4tTGlnaHQtR3JleTogI2YyZjJmMjtcbiRUaW50ZW4tR3JleTogI2MwYzBjMDtcbiRUaW50ZW4tRGFyay1HcmV5OiAjOGE4YThhO1xuJFRpbnRlbi1DbGF5OiAjYWZhOTlmO1xuJFRpbnRlbi1Mb2FtOiAjNTUzNjExO1xuXG4vLyBOb3RpZmljYXRpb25zXG4kTm90aWZpY2F0aW9uLUVycm9yOiAjZTIzODM4O1xuJE5vdGlmaWNhdGlvbi1FcnJvci1MaWdodDogI2ZjZWJlYjtcbiROb3RpZmljYXRpb24tV2FybmluZzogI2ViODcyYjtcbiROb3RpZmljYXRpb24tV2FybmluZy1MaWdodDogI2ZkZjNlOTtcbiROb3RpZmljYXRpb24tU3VjY2VzczogIzVkY2EyOTtcbiROb3RpZmljYXRpb24tU3VjY2Vzcy1MaWdodDogI2VlZjllOTtcblxuOnJvb3Qge1xuICAtLWZlZWRiYWNrLXByaW1hcnktY29sb3I6ICNkOThjMmY7XG4gIC0tZmVlZGJhY2stbW9kYWwtbW9kYWwtd3JhcHBlci16LWluZGV4OiAxMDIwO1xuICAvLyAtLWZlZWRiYWNrLXByaW1hcnktY29sb3I6ICMwMGQ2OGY7XG4gIC8vIEJhc2lzIGtsZXVyZW5cbiAgLS1CYXNpcy1EYXJrOiAjMmYyZjJmO1xuICAtLUJhc2lzLVdoaXRlOiAjZmZmO1xuICAtLUJhc2lzLUNyZWFtOiAjZjNlZWU5O1xuICAtLUJhc2lzLUl2b3J5OiAjZWNlM2Q5O1xuICAtLUJhc2lzLUNvY29zOiAjYjI4ZDY2O1xuICAtLUJhc2lzLURlc2VydDogI2I5NzcyNztcblxuICAvLyBBY3RpZSBrbGVydWVuXG4gIC0tYWN0aWUtd2F0ZXI6IGxpbmVhci1ncmFkaWVudChcbiAgICA5MGRlZyxcbiAgICByZ2JhKDY1LCAxNjgsIDIxNSwgMSkgMCUsXG4gICAgcmdiYSg0MywgMTM0LCAxNzgsIDEpIDEwMCVcbiAgKTtcbiAgLS1UaW50ZW4tV2F0ZXItTGlnaHQ6ICNjNmRjZTY7XG4gIC0tVGludGVuLVdhdGVyLUhvdmVyOiAjMjY4MGFjO1xuXG4gIC8vIEhvb2ZkIGtsZXVyXG4gIC0tSG9vZmRrbGV1ci1TdW46IGxpbmVhci1ncmFkaWVudChcbiAgICA5MGRlZyxcbiAgICByZ2JhKDIxNywgMTQwLCA0NywgMSkgMCUsXG4gICAgcmdiYSgyMTcsIDE0MCwgNDcsIDEpIDEwMCVcbiAgKTtcblxuICAvLyBBY2NjZW50IGtsZXVyZW5cbiAgLS1BY2NlbnQtUmFzcGJlcnJ5OiAjZDgzMzUwO1xuICAtLUFjY2VudC1BbWJlcjogI2U0YTAwNjtcbiAgLS1BY2NlbnQtRm9yZXN0OiAjMzE1NjQxO1xuXG4gIC8vIFRpbnRlblxuICAtLVRpbnRlbi1MaWdodC1HcmV5OiAjZjJmMmYyO1xuICAtLVRpbnRlbi1HcmV5OiAjYzBjMGMwO1xuICAtLVRpbnRlbi1EYXJrLUdyZXk6ICM4YThhOGE7XG4gIC0tVGludGVuLUNsYXk6ICNhZmE5OWY7XG4gIC0tVGludGVuLUxvYW06ICM1NTM2MTE7XG4gIC0tVGludGVuLUV4dHJhLUxpZ2h0OiAjZWFmNmZjO1xuXG4gIC8vIE5vdGlmaWNhdGlvbnNcbiAgLS1Ob3RpZmljYXRpb24tRXJyb3I6ICNlMjM4Mzg7XG4gIC0tTm90aWZpY2F0aW9uLUVycm9yLUxpZ2h0OiAjZmNlYmViO1xuICAtLU5vdGlmaWNhdGlvbi1XYXJuaW5nOiAjZWI4NzJiO1xuICAtLU5vdGlmaWNhdGlvbi1XYXJuaW5nLUxpZ2h0OiAjZmRmM2U5O1xuICAtLU5vdGlmaWNhdGlvbi1TdWNjZXNzOiAjNWRjYTI5O1xuICAtLU5vdGlmaWNhdGlvbi1TdWNjZXNzLUxpZ2h0OiAjZWVmOWU5O1xuXG4gIC0tem9vbWlzdC13cmFwcGVyLWJnLWNvbG9yOiB0cmFuc3BhcmFudDtcbiAgLS16b29taXN0LXpvb21lci1idXR0b24tY29sb3I6ICN7JEFjY2VudC1BbWJlcn07XG4gIC0tem9vbWlzdC16b29tZXItaWNvbi1jb2xvcjogI2ZmZjtcbiAgLS16b29taXN0LXpvb21lci1idXR0b24tY29sb3ItZGlzYWJsZWQ6ICNmOWRkOWU7XG4gIC0tem9vbWlzdC16b29tZXItaWNvbi1jb2xvci1kaXNhYmxlZDogI2ZmZjtcblxuICAtLWRwLWZvbnQtZmFtaWx5OiAkZm9udC1iYXNlO1xuICAtLWRwLWFjdGlvbi1yb3ctcGFkZGluZzogMDtcbiAgLS1kcC1ib3JkZXItcmFkaXVzOiAxLjc1cmVtO1xuICAtLWRwLWNlbGwtYm9yZGVyLXJhZGl1czogMS43NXJlbTtcbiAgLy8tLWRwLW1lbnUtbWluLXdpZHRoOiAzMDVweDtcbiAgLS1kcC1jZWxsLXNpemU6IDM1cHg7XG4gIC0tZHAtcm93LW1hcmdpbjogMXB4IDA7XG4gIC0tZHAtY29tbW9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4xcyBlYXNlLWluLFxuICAgIGJvcmRlciAwLjFzIGVhc2UtaW4sIG9wYWNpdHkgMC4xcyBlYXNlLWluLCB3aWR0aCAwLjFzIGVhc2UtaW4sXG4gICAgaGVpZ2h0IDAuMXMgZWFzZS1pbiwgbWFyZ2luIDAuMXMgZWFzZS1pbjtcbiAgLS1kcC1hY3Rpb24tcm93LXRyYW5zdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UtaW4sXG4gICAgdHJhbnNmb3JtIDAuMXMgZWFzZS1pbiwgYm9yZGVyIDAuMXMgZWFzZS1pbiwgb3BhY2l0eSAwLjFzIGVhc2UtaW4sXG4gICAgd2lkdGggMC4xcyBlYXNlLWluLCBoZWlnaHQgMC4xcyBlYXNlLWluLCBtYXJnaW4gMC4xcyBlYXNlLWluO1xufVxuXG4uZHBfX3RoZW1lX2xpZ2h0IHtcbiAgLS1kcC1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAtLWRwLXRleHQtY29sb3I6ICMyMTIxMjE7XG4gIC0tZHAtaG92ZXItY29sb3I6ICN7JGFjdGllLXdhdGVyfTtcbiAgLS1kcC1ob3Zlci10ZXh0LWNvbG9yOiAjZmZmO1xuICAtLWRwLWhvdmVyLWljb24tY29sb3I6ICNmZmY7XG4gIC0tZHAtcHJpbWFyeS1jb2xvcjogI3skYWN0aWUtd2F0ZXJ9O1xuICAtLWRwLXByaW1hcnktZGlzYWJsZWQtY29sb3I6ICM2YmFjZWE7XG4gIC0tZHAtcHJpbWFyeS10ZXh0LWNvbG9yOiAjZjhmNWY1O1xuICAtLWRwLXNlY29uZGFyeS1jb2xvcjogI2MwYzRjYztcbiAgLS1kcC1ib3JkZXItY29sb3I6ICNkZGQ7XG4gIC0tZHAtbWVudS1ib3JkZXItY29sb3I6ICNkZGQ7XG4gIC0tZHAtYm9yZGVyLWNvbG9yLWhvdmVyOiAjYWFhZWI3O1xuICAtLWRwLWJvcmRlci1jb2xvci1mb2N1czogI2FhYWViNztcbiAgLS1kcC1kaXNhYmxlZC1jb2xvcjogI2Y2ZjZmNjtcbiAgLS1kcC1zY3JvbGwtYmFyLWJhY2tncm91bmQ6ICNmM2YzZjM7XG4gIC0tZHAtc2Nyb2xsLWJhci1jb2xvcjogIzk1OTU5NTtcbiAgLS1kcC1zdWNjZXNzLWNvbG9yOiAjNzZkMjc1O1xuICAtLWRwLXN1Y2Nlc3MtY29sb3ItZGlzYWJsZWQ6ICNhM2Q5YjE7XG4gIC0tZHAtaWNvbi1jb2xvcjogIzk1OTU5NTtcbiAgLS1kcC1kYW5nZXItY29sb3I6ICNmZjZmNjA7XG4gIC0tZHAtbWFya2VyLWNvbG9yOiAjZmY2ZjYwO1xuICAtLWRwLXRvb2x0aXAtY29sb3I6ICNmYWZhZmE7XG4gIC0tZHAtZGlzYWJsZWQtY29sb3ItdGV4dDogIzhlOGU4ZTtcbiAgLS1kcC1oaWdobGlnaHQtY29sb3I6IHJnYigyNSAxMTggMjEwIC8gMTAlKTtcbiAgLS1kcC1yYW5nZS1iZXR3ZWVuLWRhdGVzLWJhY2tncm91bmQtY29sb3I6ICN7JFRpbnRlbi1XYXRlci1MaWdodH07XG4gIC0tZHAtcmFuZ2UtYmV0d2Vlbi1kYXRlcy10ZXh0LWNvbG9yOiAjeyRCYXNpcy1EYXJrfTtcbiAgLS1kcC1yYW5nZS1iZXR3ZWVuLWJvcmRlci1jb2xvcjogI3skVGludGVuLVdhdGVyLUxpZ2h0fTtcbn1cbi5kcF9fY2FsZW5kYXJfaGVhZGVyX2l0ZW0sXG4uZHBfX2NhbGVuZGFyX2l0ZW0ge1xuICBmbGV4LWdyb3c6IHVuc2V0O1xufVxuXG4uYmctYmFzaWMtZGFyayB7XG4gIGJhY2tncm91bmQ6ICRCYXNpcy1EYXJrO1xufVxuXG4uYmctYmFzaWMtd2hpdGUge1xuICBiYWNrZ3JvdW5kOiAkQmFzaXMtV2hpdGU7XG59XG5cbi5iZy1iYXNpYy1jcmVhbSB7XG4gIGJhY2tncm91bmQ6ICRCYXNpcy1DcmVhbTtcbn1cbi5iZy1iYXNpYy1jcmVhbS04NXAge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJEJhc2lzLUNyZWFtIDg1JSwgdHJhbnNwYXJlbnQgODUlKTtcbn1cblxuLmJnLWJhc2ljLWl2b3J5IHtcbiAgYmFja2dyb3VuZDogJEJhc2lzLUl2b3J5O1xufVxuXG4uYmctYmFzaWMtY29jb3Mge1xuICBiYWNrZ3JvdW5kOiAkQmFzaXMtQ29jb3M7XG59XG5cbi5iZy1iYXNpYy1kZXNlcnQge1xuICBiYWNrZ3JvdW5kOiAkQmFzaXMtRGVzZXJ0O1xufVxuXG4uYmctc3VuIHtcbiAgYmFja2dyb3VuZDogJEhvb2Zka2xldXItU3VuO1xufVxuXG4uYmctd2F0ZXIge1xuICBiYWNrZ3JvdW5kOiAkYWN0aWUtd2F0ZXI7XG59XG5cbi5iZy1kaXNjb3VudCB7XG4gIGJhY2tncm91bmQ6ICRkaXNjb3VudC1ncmFkaWVudDtcbn1cblxuI3B1c2hmZWVkYmFjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogLTEwcHg7XG4gIGJvdHRvbTogMTUwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTAyMDtcbiAgLmJ0biB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gIH1cbn1cbiIsIkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvZmdvMWNtdC5jc3NcIik7XG5cbiRmb250LWJhc2U6IGVmZnJhLCBzYW5zLXNlcmlmO1xuJGZvbnQtaGVhZGluZ3M6IGVmZnJhLCBzYW5zLXNlcmlmO1xuJGZvbnQtaGVhZGluZ3MtYWx0OiBxdWVzdGEtZ3JhbmRlLCBzZXJpZjtcblxuQG1peGluIGFsdC1zdHlsZXMge1xuICBmb250LWZhbWlseTogJGZvbnQtaGVhZGluZ3MtYWx0O1xuICAvL2ZvbnQtc2l6ZTogM3JlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMXJlbTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlR3ZW1vamkgQ291bnRyeSBGbGFnc1wiO1xuICB1bmljb2RlLXJhbmdlOiBVKzFGMUU2LTFGMUZGLCBVKzFGM0Y0LCBVK0UwMDYyLUUwMDYzLCBVK0UwMDY1LCBVK0UwMDY3LFxuICAgIFUrRTAwNkMsIFUrRTAwNkUsIFUrRTAwNzMtRTAwNzQsIFUrRTAwNzcsIFUrRTAwN0Y7XG4gIHNyYzogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9jb3VudHJ5LWZsYWctZW1vamktcG9seWZpbGxAMC4xL2Rpc3QvVHdlbW9qaUNvdW50cnlGbGFncy53b2ZmMlwiKVxuICAgIGZvcm1hdChcIndvZmYyXCIpO1xufVxuXG4ud2luIHtcbiAgZm9udC1mYW1pbHk6IFwiVHdlbW9qaSBDb3VudHJ5IEZsYWdzXCIsICRmb250LWJhc2U7XG59XG4iLCI6cm9vdCxcbltkYXRhLWJzLXRoZW1lPVwibGlnaHRcIl0ge1xuICAvLyBOb3RlOiBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cblxuICAvLyBDb2xvcnNcbiAgLy9cbiAgLy8gR2VuZXJhdGUgcGFsZXR0ZXMgZm9yIGZ1bGwgY29sb3JzLCBncmF5cywgYW5kIHRoZW1lIGNvbG9ycy5cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRncmF5cyB7XG4gICAgLS0jeyRwcmVmaXh9Z3JheS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1yZ2Ige1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2I6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtdGV4dCB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXRleHQtZW1waGFzaXM6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYmctc3VidGxlIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYmctc3VidGxlOiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJvcmRlci1zdWJ0bGUge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1ib3JkZXItc3VidGxlOiAjeyR2YWx1ZX07XG4gIH1cblxuICAtLSN7JHByZWZpeH13aGl0ZS1yZ2I6ICN7dG8tcmdiKCR3aGl0ZSl9O1xuICAtLSN7JHByZWZpeH1ibGFjay1yZ2I6ICN7dG8tcmdiKCRibGFjayl9O1xuXG4gIC8vIEZvbnRzXG5cbiAgLy8gTm90ZTogVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogI3skZ3JhZGllbnR9O1xuXG4gIC8vIFJvb3QgYW5kIGJvZHlcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9keS12YXJpYWJsZXNcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZTogI3skZm9udC1zaXplLXJvb3R9O1xuICB9XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC1mYW1pbHk6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktYmFzZSl9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZS1iYXNlLCAtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQ6ICN7JGZvbnQtd2VpZ2h0LWJhc2V9O1xuICAtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0OiAjeyRsaW5lLWhlaWdodC1iYXNlfTtcbiAgQGlmICRib2R5LXRleHQtYWxpZ24gIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9Ym9keS10ZXh0LWFsaWduOiAjeyRib2R5LXRleHQtYWxpZ259O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWVtcGhhc2lzLWNvbG9yKX07XG5cbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmc6ICN7JGJvZHktc2Vjb25kYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3I6ICN7JGJvZHktdGVydGlhcnktY29sb3J9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnOiAjeyRib2R5LXRlcnRpYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1iZyl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtYm9keS12YXJpYWJsZXNcblxuICAtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yOiAjeyRoZWFkaW5ncy1jb2xvcn07XG5cbiAgLS0jeyRwcmVmaXh9bGluay1jb2xvcjogI3skbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1saW5rLWRlY29yYXRpb246ICN7JGxpbmstZGVjb3JhdGlvbn07XG5cbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcjogI3skbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1ob3Zlci1jb2xvcil9O1xuXG4gIEBpZiAkbGluay1ob3Zlci1kZWNvcmF0aW9uICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItZGVjb3JhdGlvbjogI3skbGluay1ob3Zlci1kZWNvcmF0aW9ufTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fWNvZGUtY29sb3I6ICN7JGNvZGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3I6ICN7JG1hcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1oaWdobGlnaHQtYmc6ICN7JG1hcmstYmd9O1xuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWJvcmRlci12YXJcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoOiAjeyRib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItc3R5bGU6ICN7JGJvcmRlci1zdHlsZX07XG4gIC0tI3skcHJlZml4fWJvcmRlci1jb2xvcjogI3skYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAjeyRib3JkZXItY29sb3ItdHJhbnNsdWNlbnR9O1xuXG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtOiAjeyRib3JkZXItcmFkaXVzLXNtfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZzogI3skYm9yZGVyLXJhZGl1cy1sZ307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteGw6ICN7JGJvcmRlci1yYWRpdXMteGx9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXh4bDogI3skYm9yZGVyLXJhZGl1cy14eGx9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLTJ4bDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteHhsKTsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjAgZm9yIGNvbnNpc3RlbmN5XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtcGlsbDogI3skYm9yZGVyLXJhZGl1cy1waWxsfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWJvcmRlci12YXJcblxuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93OiAjeyRib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbTogI3skYm94LXNoYWRvdy1zbX07XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctbGc6ICN7JGJveC1zaGFkb3ctbGd9O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0OiAjeyRib3gtc2hhZG93LWluc2V0fTtcblxuICAvLyBGb2N1cyBzdHlsZXNcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZm9jdXMtdmFyaWFibGVzXG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctd2lkdGg6ICN7JGZvY3VzLXJpbmctd2lkdGh9O1xuICAtLSN7JHByZWZpeH1mb2N1cy1yaW5nLW9wYWNpdHk6ICN7JGZvY3VzLXJpbmctb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctY29sb3I6ICN7JGZvY3VzLXJpbmctY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZm9jdXMtdmFyaWFibGVzXG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZm9ybS12YWxpZGF0aW9uLXZhcmlhYmxlc1xuICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWZvcm0tdmFsaWRhdGlvbi12YXJpYWJsZXNcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrLCB0cnVlKSB7XG4gICAgY29sb3Itc2NoZW1lOiBkYXJrO1xuXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZGFyay1tb2RlLXZhcnNcbiAgICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yOiAjeyRib2R5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1iZzogI3skYm9keS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktYmctZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1lbXBoYXNpcy1jb2xvci1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3I6ICN7JGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnOiAjeyRib2R5LXNlY29uZGFyeS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktYmctZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3I6ICN7JGJvZHktdGVydGlhcnktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmc6ICN7JGJvZHktdGVydGlhcnktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1iZy1kYXJrKX07XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXRleHQtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tdGV4dC1lbXBoYXNpczogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYmctc3VidGxlLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJnLXN1YnRsZTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZS1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1ib3JkZXItc3VidGxlOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcjogI3skaGVhZGluZ3MtY29sb3ItZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3I6ICN7JGxpbmstaG92ZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstaG92ZXItY29sb3ItZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9Y29kZS1jb2xvcjogI3skY29kZS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3I6ICN7JG1hcmstY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnOiAjeyRtYXJrLWJnLWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAjeyRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQtZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3I6ICN7JGZvcm0taW52YWxpZC1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1kYXJrLW1vZGUtdmFyc1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RpbWVuc2lvbi1uby1ub24tbnVtZXJpYy12YWx1ZXNcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSB2YWx1ZXMgZm9yIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBtYXJnaW5zIGFuZCBtdWNoIG1vcmVcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL21haW4vTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIHZhbHVlXG4kcmZzLWJhc2UtdmFsdWU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtdW5pdCAhPSByZW0gYW5kICRyZnMtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgdmFsdWVzIHN0YXJ0IGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIHZhbHVlcyBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IG51bWJlciBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIE1vZGUuIFBvc3NpYmlsaXRpZXM6IFwibWluLW1lZGlhLXF1ZXJ5XCIsIFwibWF4LW1lZGlhLXF1ZXJ5XCJcbiRyZnMtbW9kZTogbWluLW1lZGlhLXF1ZXJ5ICFkZWZhdWx0O1xuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmZzIHRvIGZhbHNlXG4kZW5hYmxlLXJmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLXZhbHVlIHVuaXRcbiRyZnMtYmFzZS12YWx1ZS11bml0OiB1bml0KCRyZnMtYmFzZS12YWx1ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLXZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSBweCB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgJHJmcy1iYXNlLXZhbHVlICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcmVtIHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1lZGlhIHF1ZXJ5IHZhbHVlXG4kcmZzLW1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcbiRyZnMtbXEtcHJvcGVydHktd2lkdGg6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC13aWR0aCwgbWluLXdpZHRoKTtcbiRyZnMtbXEtcHJvcGVydHktaGVpZ2h0OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSksICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSBhbmQgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtcnVsZSB7XG4gIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgcHJvcGVydHlcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAuZW5hYmxlLXJmcyAmLFxuICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG5cbiAgQGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIC5lbmFibGUtcmZzICYsXG4gICAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgLmRpc2FibGUtcmZzICYsXG4gICAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGZvcm1hdHRlZCBub24tcmVzcG9uc2l2ZSB2YWx1ZVxuQGZ1bmN0aW9uIHJmcy12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgJHJmcy1yZW0tdmFsdWUpfXJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICR1bml0ID09IHJlbSB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcHggaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSBweCwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSkgKiAkcmZzLXJlbS12YWx1ZX1weCwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgZGl2aWRlKDEsICRyZnMtcmVtLXZhbHVlKSkpO1xuXG4gICAgICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgIEBpZiBhYnMoJHZhbHVlKSA8PSAkcmZzLWJhc2UtdmFsdWUgb3Igbm90ICRlbmFibGUtcmZzIHtcbiAgICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgZGl2aWRlKGFicygkdmFsdWUpIC0gJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICR2YWx1ZSBhbmQgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtZGlmZjogYWJzKCR2YWx1ZSkgLSAkdmFsdWUtbWluO1xuXG4gICAgICAgICAgLy8gQmFzZSB2YWx1ZSBmb3JtYXR0aW5nXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWUtbWlufXB4KTtcblxuICAgICAgICAgIC8vIFVzZSBuZWdhdGl2ZSB2YWx1ZSBpZiBuZWVkZWRcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkdmFsdWUgPCAwLCAtJG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG5cbiAgICAgICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkdmFsdWUtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBjYWxjKFwiICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsIFwiIC0gXCIsIFwiICsgXCIpICsgJHZhcmlhYmxlLXdpZHRoICsgXCIpXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkLXZhbDogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpO1xuXG4gICAgLy8gRG8gbm90IHByaW50IHRoZSBtZWRpYSBxdWVyeSBpZiByZXNwb25zaXZlICYgbm9uLXJlc3BvbnNpdmUgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgIEBpZiAkdmFsID09ICRmbHVpZC12YWwge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBfcmZzLXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICR2YWwsICRmbHVpZC12YWwpO1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWQtdmFsLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2hvcnRoYW5kIGhlbHBlciBtaXhpbnNcbkBtaXhpbiBmb250LXNpemUoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUpO1xufVxuXG5AbWl4aW4gcGFkZGluZygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZyk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy10b3ApO1xufVxuXG5AbWl4aW4gcGFkZGluZy1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1yaWdodCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1ib3R0b20pO1xufVxuXG5AbWl4aW4gcGFkZGluZy1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWxlZnQpO1xufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4pO1xufVxuXG5AbWl4aW4gbWFyZ2luLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXRvcCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1yaWdodCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tYm90dG9tKTtcbn1cblxuQG1peGluIG1hcmdpbi1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tbGVmdCk7XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItbW9kZS1taXhpblxuQG1peGluIGNvbG9yLW1vZGUoJG1vZGU6IGxpZ2h0LCAkcm9vdDogZmFsc2UpIHtcbiAgQGlmICRjb2xvci1tb2RlLXR5cGUgPT0gXCJtZWRpYS1xdWVyeVwiIHtcbiAgICBAaWYgJHJvb3QgPT0gdHJ1ZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiAkbW9kZSkge1xuICAgICAgICA6cm9vdCB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ICRtb2RlKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgW2RhdGEtYnMtdGhlbWU9XCIjeyRtb2RlfVwiXSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItbW9kZS1taXhpblxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5cbi8vIFJvb3Rcbi8vXG4vLyBBYmlsaXR5IHRvIHRoZSB2YWx1ZSBvZiB0aGUgcm9vdCBmb250IHNpemVzLCBhZmZlY3RpbmcgdGhlIHZhbHVlIG9mIGByZW1gLlxuLy8gbnVsbCBieSBkZWZhdWx0LCB0aHVzIG5vdGhpbmcgaXMgZ2VuZXJhdGVkLlxuXG46cm9vdCB7XG4gIEBpZiAkZm9udC1zaXplLXJvb3QgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZSkpO1xuICB9XG5cbiAgQGlmICRlbmFibGUtc21vb3RoLXNjcm9sbCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4vLyA0LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHJlYm9vdC1ib2R5LXJ1bGVzXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogdmFyKC0tI3skcHJlZml4fWJvZHktdGV4dC1hbGlnbik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKTsgLy8gMlxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDNcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDRcbn1cbi8vIHNjc3MtZG9jcy1lbmQgcmVib290LWJvZHktcnVsZXNcblxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gUmVzZXQgRmlyZWZveCdzIGdyYXkgY29sb3JcblxuaHIge1xuICBtYXJnaW46ICRoci1tYXJnaW4teSAwO1xuICBjb2xvcjogJGhyLWNvbG9yOyAvLyAxXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xuICBvcGFjaXR5OiAkaHItb3BhY2l0eTtcbn1cblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gMS4gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vICAgIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyAgICBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG5cbiVoZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDsgLy8gMVxuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC1zdHlsZTogJGhlYWRpbmdzLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcik7XG59XG5cbmgxIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xufVxuXG5oMiB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbn1cblxuaDMge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG59XG5cbmg0IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xufVxuXG5oNSB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbn1cblxuaDYge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG59XG5cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAyLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyAzLiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0ge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDFcbiAgY3Vyc29yOiBoZWxwOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gM1xufVxuXG5cbi8vIEFkZHJlc3NcblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cblxuLy8gTGlzdHNcblxub2wsXG51bCB7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIDEuIFVuZG8gYnJvd3NlciBkZWZhdWx0XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyAxXG59XG5cblxuLy8gQmxvY2txdW90ZVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vLyBTdHJvbmdcbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlcjtcbn1cblxuXG4vLyBTbWFsbFxuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xufVxuXG5cbi8vIE1hcmtcblxubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZyk7XG59XG5cblxuLy8gU3ViIGFuZCBTdXBcbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHN1Yi1zdXAtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6IHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgJixcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gQ29kZVxuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktY29kZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxuLy8gMS4gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4vLyAyLiBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuLy8gMy4gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwOyAvLyAxXG4gIG1hcmdpbi1ib3R0b206IDFyZW07IC8vIDJcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIDNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cblxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNvZGUtY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cblxuXG4vLyBGaWd1cmVzXG4vL1xuLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vIEltYWdlcyBhbmQgY29udGVudFxuXG5pbWcsXG5zdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcblxudGFibGUge1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nLXk7XG4gIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICR0YWJsZS10aC1mb250LXdlaWdodDsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cbnRoZWFkLFxudGJvZHksXG50Zm9vdCxcbnRyLFxudGQsXG50aCB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG5cbi8vIEZvcm1zXG4vL1xuLy8gMS4gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcblxuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBFeHBsaWNpdGx5IHJlbW92ZSBmb2N1cyBvdXRsaW5lIGluIENocm9taXVtIHdoZW4gaXQgc2hvdWxkbid0IGJlXG4vLyB2aXNpYmxlIChlLmcuIGFzIHJlc3VsdCBvZiBtb3VzZSBjbGljayBvciB0b3VjaCB0YXApLiBJdCBhbHJlYWR5XG4vLyBzaG91bGQgYmUgZG9pbmcgdGhpcyBhdXRvbWF0aWNhbGx5LCBidXQgc2VlbXMgdG8gY3VycmVudGx5IGJlXG4vLyBjb25mdXNlZCBhbmQgYXBwbGllcyBpdHMgdmVyeSB2aXNpYmxlIHR3by10b25lIG91dGxpbmUgYW55d2F5LlxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zZWxlY3Qge1xuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuXG4gIC8vIFVuZG8gdGhlIG9wYWNpdHkgY2hhbmdlIGZyb20gQ2hyb21lXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLy8gUmVtb3ZlIHRoZSBkcm9wZG93biBhcnJvdyBvbmx5IGZyb20gdGV4dCB0eXBlIGlucHV0cyBidWlsdCB3aXRoIGRhdGFsaXN0cyBpbiBDaHJvbWUuXG4vLyBTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzU0OTk3MTE4XG5cbltsaXN0XTpub3QoW3R5cGU9XCJkYXRlXCJdKTpub3QoW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSk6bm90KFt0eXBlPVwibW9udGhcIl0pOm5vdChbdHlwZT1cIndlZWtcIl0pOm5vdChbdHlwZT1cInRpbWVcIl0pOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDMuIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCBidXR0b24gZWxlbWVudHMuXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuXG4gIEBpZiAkZW5hYmxlLWJ1dHRvbi1wb2ludGVycyB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IC8vIDNcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxuXG46Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8vIDEuIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyAvLyAxXG59XG5cbi8vIDEuIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4vLyAgICB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbi8vICAgIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4vLyAgICBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4vLyAyLiBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cblxuZmllbGRzZXQge1xuICBtaW4td2lkdGg6IDA7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDJcbiAgYm9yZGVyOiAwOyAvLyAyXG59XG5cbi8vIDEuIEJ5IHVzaW5nIGBmbG9hdDogbGVmdGAsIHRoZSBsZWdlbmQgd2lsbCBiZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnQuXG4vLyAgICBUaGlzIHdheSB0aGUgYm9yZGVyIG9mIGEgZmllbGRzZXQgd3JhcHMgYXJvdW5kIHRoZSBsZWdlbmQgaWYgcHJlc2VudC5cbi8vIDIuIEZpeCB3cmFwcGluZyBidWcuXG4vLyAgICBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yOTcxMlxuXG5sZWdlbmQge1xuICBmbG9hdDogbGVmdDsgLy8gMVxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGxlZ2VuZC1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlZ2VuZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlZ2VuZC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgKyAqIHtcbiAgICBjbGVhcjogbGVmdDsgLy8gMlxuICB9XG59XG5cbi8vIEZpeCBoZWlnaHQgb2YgaW5wdXRzIHdpdGggYSB0eXBlIG9mIGRhdGV0aW1lLWxvY2FsLCBkYXRlLCBtb250aCwgd2Vlaywgb3IgdGltZVxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTg4NDJcblxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC10ZXh0LFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gMS4gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuLy8gICAgYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4vLyAgICBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4vLyAgICBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbn1cblxuLy8gMS4gQSBmZXcgaW5wdXQgdHlwZXMgc2hvdWxkIHN0YXkgTFRSXG4vLyBTZWUgaHR0cHM6Ly9ydGxzdHlsaW5nLmNvbS9wb3N0cy9ydGwtc3R5bGluZyNmb3JtLWlucHV0c1xuLy8gMi4gUlRMIG9ubHkgb3V0cHV0XG4vLyBTZWUgaHR0cHM6Ly9ydGxjc3MuY29tL2xlYXJuL3VzYWdlLWd1aWRlL2NvbnRyb2wtZGlyZWN0aXZlcy8jcmF3XG5cbi8qIHJ0bDpyYXc6XG5bdHlwZT1cInRlbFwiXSxcblt0eXBlPVwidXJsXCJdLFxuW3R5cGU9XCJlbWFpbFwiXSxcblt0eXBlPVwibnVtYmVyXCJdIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG59XG4qL1xuXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gUmVtb3ZlIHBhZGRpbmcgYXJvdW5kIGNvbG9yIHBpY2tlcnMgaW4gd2Via2l0IGJyb3dzZXJzXG5cbjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7XG59XG5cblxuLy8gMS4gSW5oZXJpdCBmb250IGZhbWlseSBhbmQgbGluZSBoZWlnaHQgZm9yIGZpbGUgaW5wdXQgYnV0dG9uc1xuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDFcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLy8gUmVtb3ZlIGJvcmRlciBmcm9tIGlmcmFtZVxuXG5pZnJhbWUge1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFN1bW1hcnlcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gMVxuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLy8gUHJvZ3Jlc3Ncbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuXG4vLyBIaWRkZW4gYXR0cmlidXRlXG4vL1xuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZS5cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYXktY29sb3ItdmFyaWFibGVzXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyYXktY29sb3ItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYXktY29sb3JzLW1hcFxuJGdyYXlzOiAoXG4gIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgXCIyMDBcIjogJGdyYXktMjAwLFxuICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgXCI1MDBcIjogJGdyYXktNTAwLFxuICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgXCI4MDBcIjogJGdyYXktODAwLFxuICBcIjkwMFwiOiAkZ3JheS05MDBcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyYXktY29sb3JzLW1hcFxuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLXZhcmlhYmxlc1xuJGJsdWU6ICAgICMwZDZlZmQgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNkNjMzODQgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzE5ODc1NCAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMwZGNhZjAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3JzLW1hcFxuJGNvbG9yczogKFxuICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgXCJibGFja1wiOiAgICAgICRibGFjayxcbiAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3JzLW1hcFxuXG4vLyBUaGUgY29udHJhc3QgcmF0aW8gdG8gcmVhY2ggYWdhaW5zdCB3aGl0ZSwgdG8gZGV0ZXJtaW5lIGlmIGNvbG9yIGNoYW5nZXMgZnJvbSBcImxpZ2h0XCIgdG8gXCJkYXJrXCIuIEFjY2VwdGFibGUgdmFsdWVzIGZvciBXQ0FHIDIuMCBhcmUgMywgNC41IGFuZCA3LlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAvI3Zpc3VhbC1hdWRpby1jb250cmFzdC1jb250cmFzdFxuJG1pbi1jb250cmFzdC1yYXRpbzogICA0LjUgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4kY29sb3ItY29udHJhc3QtZGFyazogICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY29sb3ItY29udHJhc3QtbGlnaHQ6ICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGJsdWUtMTAwOiB0aW50LWNvbG9yKCRibHVlLCA4MCUpICFkZWZhdWx0O1xuJGJsdWUtMjAwOiB0aW50LWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtMzAwOiB0aW50LWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtNDAwOiB0aW50LWNvbG9yKCRibHVlLCAyMCUpICFkZWZhdWx0O1xuJGJsdWUtNTAwOiAkYmx1ZSAhZGVmYXVsdDtcbiRibHVlLTYwMDogc2hhZGUtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS03MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtODAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgNjAlKSAhZGVmYXVsdDtcbiRibHVlLTkwMDogc2hhZGUtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG5cbiRpbmRpZ28tMTAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTIwMDogdGludC1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby0zMDA6IHRpbnQtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNDAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTUwMDogJGluZGlnbyAhZGVmYXVsdDtcbiRpbmRpZ28tNjAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCAyMCUpICFkZWZhdWx0O1xuJGluZGlnby03MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDQwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTgwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tOTAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA4MCUpICFkZWZhdWx0O1xuXG4kcHVycGxlLTEwMDogdGludC1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0yMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtMzAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTQwMDogdGludC1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS01MDA6ICRwdXJwbGUgIWRlZmF1bHQ7XG4kcHVycGxlLTYwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgMjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNzAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA0MCUpICFkZWZhdWx0O1xuJHB1cnBsZS04MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDYwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTkwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgODAlKSAhZGVmYXVsdDtcblxuJHBpbmstMTAwOiB0aW50LWNvbG9yKCRwaW5rLCA4MCUpICFkZWZhdWx0O1xuJHBpbmstMjAwOiB0aW50LWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstMzAwOiB0aW50LWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstNDAwOiB0aW50LWNvbG9yKCRwaW5rLCAyMCUpICFkZWZhdWx0O1xuJHBpbmstNTAwOiAkcGluayAhZGVmYXVsdDtcbiRwaW5rLTYwMDogc2hhZGUtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay03MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstODAwOiBzaGFkZS1jb2xvcigkcGluaywgNjAlKSAhZGVmYXVsdDtcbiRwaW5rLTkwMDogc2hhZGUtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG5cbiRyZWQtMTAwOiB0aW50LWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG4kcmVkLTIwMDogdGludC1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC0zMDA6IHRpbnQtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtNDAwOiB0aW50LWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTUwMDogJHJlZCAhZGVmYXVsdDtcbiRyZWQtNjAwOiBzaGFkZS1jb2xvcigkcmVkLCAyMCUpICFkZWZhdWx0O1xuJHJlZC03MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDQwJSkgIWRlZmF1bHQ7XG4kcmVkLTgwMDogc2hhZGUtY29sb3IoJHJlZCwgNjAlKSAhZGVmYXVsdDtcbiRyZWQtOTAwOiBzaGFkZS1jb2xvcigkcmVkLCA4MCUpICFkZWZhdWx0O1xuXG4kb3JhbmdlLTEwMDogdGludC1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0yMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtMzAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTQwMDogdGludC1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS01MDA6ICRvcmFuZ2UgIWRlZmF1bHQ7XG4kb3JhbmdlLTYwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgMjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNzAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA0MCUpICFkZWZhdWx0O1xuJG9yYW5nZS04MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDYwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTkwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgODAlKSAhZGVmYXVsdDtcblxuJHllbGxvdy0xMDA6IHRpbnQtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMjAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTMwMDogdGludC1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy00MDA6IHRpbnQtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNTAwOiAkeWVsbG93ICFkZWZhdWx0O1xuJHllbGxvdy02MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDIwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTcwMDogc2hhZGUtY29sb3IoJHllbGxvdywgNDAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctODAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA2MCUpICFkZWZhdWx0O1xuJHllbGxvdy05MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDgwJSkgIWRlZmF1bHQ7XG5cbiRncmVlbi0xMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuJGdyZWVuLTIwMDogdGludC1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMzAwOiB0aW50LWNvbG9yKCRncmVlbiwgNDAlKSAhZGVmYXVsdDtcbiRncmVlbi00MDA6IHRpbnQtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTUwMDogJGdyZWVuICFkZWZhdWx0O1xuJGdyZWVuLTYwMDogc2hhZGUtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTcwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTgwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA2MCUpICFkZWZhdWx0O1xuJGdyZWVuLTkwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuXG4kdGVhbC0xMDA6IHRpbnQtY29sb3IoJHRlYWwsIDgwJSkgIWRlZmF1bHQ7XG4kdGVhbC0yMDA6IHRpbnQtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC0zMDA6IHRpbnQtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC00MDA6IHRpbnQtY29sb3IoJHRlYWwsIDIwJSkgIWRlZmF1bHQ7XG4kdGVhbC01MDA6ICR0ZWFsICFkZWZhdWx0O1xuJHRlYWwtNjAwOiBzaGFkZS1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTcwMDogc2hhZGUtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC04MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA2MCUpICFkZWZhdWx0O1xuJHRlYWwtOTAwOiBzaGFkZS1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcblxuJGN5YW4tMTAwOiB0aW50LWNvbG9yKCRjeWFuLCA4MCUpICFkZWZhdWx0O1xuJGN5YW4tMjAwOiB0aW50LWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tMzAwOiB0aW50LWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tNDAwOiB0aW50LWNvbG9yKCRjeWFuLCAyMCUpICFkZWZhdWx0O1xuJGN5YW4tNTAwOiAkY3lhbiAhZGVmYXVsdDtcbiRjeWFuLTYwMDogc2hhZGUtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi03MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tODAwOiBzaGFkZS1jb2xvcigkY3lhbiwgNjAlKSAhZGVmYXVsdDtcbiRjeWFuLTkwMDogc2hhZGUtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiRibHVlczogKFxuICBcImJsdWUtMTAwXCI6ICRibHVlLTEwMCxcbiAgXCJibHVlLTIwMFwiOiAkYmx1ZS0yMDAsXG4gIFwiYmx1ZS0zMDBcIjogJGJsdWUtMzAwLFxuICBcImJsdWUtNDAwXCI6ICRibHVlLTQwMCxcbiAgXCJibHVlLTUwMFwiOiAkYmx1ZS01MDAsXG4gIFwiYmx1ZS02MDBcIjogJGJsdWUtNjAwLFxuICBcImJsdWUtNzAwXCI6ICRibHVlLTcwMCxcbiAgXCJibHVlLTgwMFwiOiAkYmx1ZS04MDAsXG4gIFwiYmx1ZS05MDBcIjogJGJsdWUtOTAwXG4pICFkZWZhdWx0O1xuXG4kaW5kaWdvczogKFxuICBcImluZGlnby0xMDBcIjogJGluZGlnby0xMDAsXG4gIFwiaW5kaWdvLTIwMFwiOiAkaW5kaWdvLTIwMCxcbiAgXCJpbmRpZ28tMzAwXCI6ICRpbmRpZ28tMzAwLFxuICBcImluZGlnby00MDBcIjogJGluZGlnby00MDAsXG4gIFwiaW5kaWdvLTUwMFwiOiAkaW5kaWdvLTUwMCxcbiAgXCJpbmRpZ28tNjAwXCI6ICRpbmRpZ28tNjAwLFxuICBcImluZGlnby03MDBcIjogJGluZGlnby03MDAsXG4gIFwiaW5kaWdvLTgwMFwiOiAkaW5kaWdvLTgwMCxcbiAgXCJpbmRpZ28tOTAwXCI6ICRpbmRpZ28tOTAwXG4pICFkZWZhdWx0O1xuXG4kcHVycGxlczogKFxuICBcInB1cnBsZS0xMDBcIjogJHB1cnBsZS0xMDAsXG4gIFwicHVycGxlLTIwMFwiOiAkcHVycGxlLTIwMCxcbiAgXCJwdXJwbGUtMzAwXCI6ICRwdXJwbGUtMzAwLFxuICBcInB1cnBsZS00MDBcIjogJHB1cnBsZS00MDAsXG4gIFwicHVycGxlLTUwMFwiOiAkcHVycGxlLTUwMCxcbiAgXCJwdXJwbGUtNjAwXCI6ICRwdXJwbGUtNjAwLFxuICBcInB1cnBsZS03MDBcIjogJHB1cnBsZS03MDAsXG4gIFwicHVycGxlLTgwMFwiOiAkcHVycGxlLTgwMCxcbiAgXCJwdXJwbGUtOTAwXCI6ICRwdXJwbGUtOTAwXG4pICFkZWZhdWx0O1xuXG4kcGlua3M6IChcbiAgXCJwaW5rLTEwMFwiOiAkcGluay0xMDAsXG4gIFwicGluay0yMDBcIjogJHBpbmstMjAwLFxuICBcInBpbmstMzAwXCI6ICRwaW5rLTMwMCxcbiAgXCJwaW5rLTQwMFwiOiAkcGluay00MDAsXG4gIFwicGluay01MDBcIjogJHBpbmstNTAwLFxuICBcInBpbmstNjAwXCI6ICRwaW5rLTYwMCxcbiAgXCJwaW5rLTcwMFwiOiAkcGluay03MDAsXG4gIFwicGluay04MDBcIjogJHBpbmstODAwLFxuICBcInBpbmstOTAwXCI6ICRwaW5rLTkwMFxuKSAhZGVmYXVsdDtcblxuJHJlZHM6IChcbiAgXCJyZWQtMTAwXCI6ICRyZWQtMTAwLFxuICBcInJlZC0yMDBcIjogJHJlZC0yMDAsXG4gIFwicmVkLTMwMFwiOiAkcmVkLTMwMCxcbiAgXCJyZWQtNDAwXCI6ICRyZWQtNDAwLFxuICBcInJlZC01MDBcIjogJHJlZC01MDAsXG4gIFwicmVkLTYwMFwiOiAkcmVkLTYwMCxcbiAgXCJyZWQtNzAwXCI6ICRyZWQtNzAwLFxuICBcInJlZC04MDBcIjogJHJlZC04MDAsXG4gIFwicmVkLTkwMFwiOiAkcmVkLTkwMFxuKSAhZGVmYXVsdDtcblxuJG9yYW5nZXM6IChcbiAgXCJvcmFuZ2UtMTAwXCI6ICRvcmFuZ2UtMTAwLFxuICBcIm9yYW5nZS0yMDBcIjogJG9yYW5nZS0yMDAsXG4gIFwib3JhbmdlLTMwMFwiOiAkb3JhbmdlLTMwMCxcbiAgXCJvcmFuZ2UtNDAwXCI6ICRvcmFuZ2UtNDAwLFxuICBcIm9yYW5nZS01MDBcIjogJG9yYW5nZS01MDAsXG4gIFwib3JhbmdlLTYwMFwiOiAkb3JhbmdlLTYwMCxcbiAgXCJvcmFuZ2UtNzAwXCI6ICRvcmFuZ2UtNzAwLFxuICBcIm9yYW5nZS04MDBcIjogJG9yYW5nZS04MDAsXG4gIFwib3JhbmdlLTkwMFwiOiAkb3JhbmdlLTkwMFxuKSAhZGVmYXVsdDtcblxuJHllbGxvd3M6IChcbiAgXCJ5ZWxsb3ctMTAwXCI6ICR5ZWxsb3ctMTAwLFxuICBcInllbGxvdy0yMDBcIjogJHllbGxvdy0yMDAsXG4gIFwieWVsbG93LTMwMFwiOiAkeWVsbG93LTMwMCxcbiAgXCJ5ZWxsb3ctNDAwXCI6ICR5ZWxsb3ctNDAwLFxuICBcInllbGxvdy01MDBcIjogJHllbGxvdy01MDAsXG4gIFwieWVsbG93LTYwMFwiOiAkeWVsbG93LTYwMCxcbiAgXCJ5ZWxsb3ctNzAwXCI6ICR5ZWxsb3ctNzAwLFxuICBcInllbGxvdy04MDBcIjogJHllbGxvdy04MDAsXG4gIFwieWVsbG93LTkwMFwiOiAkeWVsbG93LTkwMFxuKSAhZGVmYXVsdDtcblxuJGdyZWVuczogKFxuICBcImdyZWVuLTEwMFwiOiAkZ3JlZW4tMTAwLFxuICBcImdyZWVuLTIwMFwiOiAkZ3JlZW4tMjAwLFxuICBcImdyZWVuLTMwMFwiOiAkZ3JlZW4tMzAwLFxuICBcImdyZWVuLTQwMFwiOiAkZ3JlZW4tNDAwLFxuICBcImdyZWVuLTUwMFwiOiAkZ3JlZW4tNTAwLFxuICBcImdyZWVuLTYwMFwiOiAkZ3JlZW4tNjAwLFxuICBcImdyZWVuLTcwMFwiOiAkZ3JlZW4tNzAwLFxuICBcImdyZWVuLTgwMFwiOiAkZ3JlZW4tODAwLFxuICBcImdyZWVuLTkwMFwiOiAkZ3JlZW4tOTAwXG4pICFkZWZhdWx0O1xuXG4kdGVhbHM6IChcbiAgXCJ0ZWFsLTEwMFwiOiAkdGVhbC0xMDAsXG4gIFwidGVhbC0yMDBcIjogJHRlYWwtMjAwLFxuICBcInRlYWwtMzAwXCI6ICR0ZWFsLTMwMCxcbiAgXCJ0ZWFsLTQwMFwiOiAkdGVhbC00MDAsXG4gIFwidGVhbC01MDBcIjogJHRlYWwtNTAwLFxuICBcInRlYWwtNjAwXCI6ICR0ZWFsLTYwMCxcbiAgXCJ0ZWFsLTcwMFwiOiAkdGVhbC03MDAsXG4gIFwidGVhbC04MDBcIjogJHRlYWwtODAwLFxuICBcInRlYWwtOTAwXCI6ICR0ZWFsLTkwMFxuKSAhZGVmYXVsdDtcblxuJGN5YW5zOiAoXG4gIFwiY3lhbi0xMDBcIjogJGN5YW4tMTAwLFxuICBcImN5YW4tMjAwXCI6ICRjeWFuLTIwMCxcbiAgXCJjeWFuLTMwMFwiOiAkY3lhbi0zMDAsXG4gIFwiY3lhbi00MDBcIjogJGN5YW4tNDAwLFxuICBcImN5YW4tNTAwXCI6ICRjeWFuLTUwMCxcbiAgXCJjeWFuLTYwMFwiOiAkY3lhbi02MDAsXG4gIFwiY3lhbi03MDBcIjogJGN5YW4tNzAwLFxuICBcImN5YW4tODAwXCI6ICRjeWFuLTgwMCxcbiAgXCJjeWFuLTkwMFwiOiAkY3lhbi05MDBcbikgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvcnMtbWFwXG4kdGhlbWUtY29sb3JzOiAoXG4gIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmtcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9ycy1tYXBcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLXRleHQtdmFyaWFibGVzXG4kcHJpbWFyeS10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCRwcmltYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS10ZXh0LWVtcGhhc2lzOiBzaGFkZS1jb2xvcigkc2Vjb25kYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtdGV4dC1lbXBoYXNpczogICBzaGFkZS1jb2xvcigkc3VjY2VzcywgNjAlKSAhZGVmYXVsdDtcbiRpbmZvLXRleHQtZW1waGFzaXM6ICAgICAgc2hhZGUtY29sb3IoJGluZm8sIDYwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCR3YXJuaW5nLCA2MCUpICFkZWZhdWx0O1xuJGRhbmdlci10ZXh0LWVtcGhhc2lzOiAgICBzaGFkZS1jb2xvcigkZGFuZ2VyLCA2MCUpICFkZWZhdWx0O1xuJGxpZ2h0LXRleHQtZW1waGFzaXM6ICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kZGFyay10ZXh0LWVtcGhhc2lzOiAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJnLXN1YnRsZS12YXJpYWJsZXNcbiRwcmltYXJ5LWJnLXN1YnRsZTogICAgICAgdGludC1jb2xvcigkcHJpbWFyeSwgODAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYmctc3VidGxlOiAgICAgdGludC1jb2xvcigkc2Vjb25kYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCRzdWNjZXNzLCA4MCUpICFkZWZhdWx0O1xuJGluZm8tYmctc3VidGxlOiAgICAgICAgICB0aW50LWNvbG9yKCRpbmZvLCA4MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCR3YXJuaW5nLCA4MCUpICFkZWZhdWx0O1xuJGRhbmdlci1iZy1zdWJ0bGU6ICAgICAgICB0aW50LWNvbG9yKCRkYW5nZXIsIDgwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtYmctc3VidGxlOiAgICAgICAgIG1peCgkZ3JheS0xMDAsICR3aGl0ZSkgIWRlZmF1bHQ7XG4kZGFyay1iZy1zdWJ0bGU6ICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYm9yZGVyLXN1YnRsZS12YXJpYWJsZXNcbiRwcmltYXJ5LWJvcmRlci1zdWJ0bGU6ICAgdGludC1jb2xvcigkcHJpbWFyeSwgNjAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYm9yZGVyLXN1YnRsZTogdGludC1jb2xvcigkc2Vjb25kYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCRzdWNjZXNzLCA2MCUpICFkZWZhdWx0O1xuJGluZm8tYm9yZGVyLXN1YnRsZTogICAgICB0aW50LWNvbG9yKCRpbmZvLCA2MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCR3YXJuaW5nLCA2MCUpICFkZWZhdWx0O1xuJGRhbmdlci1ib3JkZXItc3VidGxlOiAgICB0aW50LWNvbG9yKCRkYW5nZXIsIDYwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtYm9yZGVyLXN1YnRsZTogICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkYXJrLWJvcmRlci1zdWJ0bGU6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1ib3JkZXItc3VidGxlLXZhcmlhYmxlc1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbjogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc21vb3RoLXNjcm9sbDogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jb250YWluZXItY2xhc3NlczogICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY3NzZ3JpZDogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1idXR0b24tcG9pbnRlcnM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmZzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1uZWdhdGl2ZS1tYXJnaW5zOiAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzOiAgdHJ1ZSAhZGVmYXVsdDtcblxuJGVuYWJsZS1kYXJrLW1vZGU6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRjb2xvci1tb2RlLXR5cGU6ICAgICAgICAgICAgIGRhdGEgIWRlZmF1bHQ7IC8vIGBkYXRhYCBvciBgbWVkaWEtcXVlcnlgXG5cbi8vIFByZWZpeCBmb3IgOnJvb3QgQ1NTIHZhcmlhYmxlc1xuXG4kdmFyaWFibGUtcHJlZml4OiAgICAgICAgICAgICBicy0gIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wIGZvciB0aGUgc2hvcnRlciBgJHByZWZpeGBcbiRwcmVmaXg6ICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZS1wcmVmaXggIWRlZmF1bHQ7XG5cbi8vIEdyYWRpZW50XG4vL1xuLy8gVGhlIGdyYWRpZW50IHdoaWNoIGlzIGFkZGVkIHRvIGNvbXBvbmVudHMgaWYgYCRlbmFibGUtZ3JhZGllbnRzYCBpcyBgdHJ1ZWBcbi8vIFRoaXMgZ3JhZGllbnQgaXMgYWxzbyBhZGRlZCB0byBlbGVtZW50cyB3aXRoIGAuYmctZ3JhZGllbnRgXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdmFyaWFibGUtZ3JhZGllbnRcbiRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgkd2hpdGUsIC4xNSksIHJnYmEoJHdoaXRlLCAwKSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZhcmlhYmxlLWdyYWRpZW50XG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogJHNwYWNlciAqIC4yNSxcbiAgMjogJHNwYWNlciAqIC41LFxuICAzOiAkc3BhY2VyLFxuICA0OiAkc3BhY2VyICogMS41LFxuICA1OiAkc3BhY2VyICogMyxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNwYWNlci12YXJpYWJsZXMtbWFwc1xuXG4vLyBQb3NpdGlvblxuLy9cbi8vIERlZmluZSB0aGUgZWRnZSBwb3NpdGlvbmluZyBhbmNob3JzIG9mIHRoZSBwb3NpdGlvbiB1dGlsaXRpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3NpdGlvbi1tYXBcbiRwb3NpdGlvbi12YWx1ZXM6IChcbiAgMDogMCxcbiAgNTA6IDUwJSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3NpdGlvbi1tYXBcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktdGV4dC1hbGlnbjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGJvZHktc2Vjb25kYXJ5LWNvbG9yOiAgICAgIHJnYmEoJGJvZHktY29sb3IsIC43NSkgIWRlZmF1bHQ7XG4kYm9keS1zZWNvbmRhcnktYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kYm9keS10ZXJ0aWFyeS1jb2xvcjogICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjUpICFkZWZhdWx0O1xuJGJvZHktdGVydGlhcnktYmc6ICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGJvZHktZW1waGFzaXMtY29sb3I6ICAgICAgICRibGFjayAhZGVmYXVsdDtcblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuJGxpbmstc2hhZGUtcGVyY2VudGFnZTogICAgICAgICAgICAgICAgICAgMjAlICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgc2hpZnQtY29sb3IoJGxpbmstY29sb3IsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50OiAgICAgICAgICAgYWZ0ZXIgIWRlZmF1bHQ7XG4kc3RyZXRjaGVkLWxpbmstei1pbmRleDogICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4vLyBJY29uIGxpbmtzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaWNvbi1saW5rLXZhcmlhYmxlc1xuJGljb24tbGluay1nYXA6ICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWxpbmstdW5kZXJsaW5lLW9mZnNldDogIC4yNWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXNpemU6ICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zaXRpb246ICAgLjJzIGVhc2UtaW4tb3V0IHRyYW5zZm9ybSAhZGVmYXVsdDtcbiRpY29uLWxpbmstaWNvbi10cmFuc2Zvcm06ICAgIHRyYW5zbGF0ZTNkKC4yNWVtLCAwLCAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaWNvbi1saW5rLXZhcmlhYmxlc1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmlkLWJyZWFrcG9pbnRzXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweCxcbiAgeHhsOiAxNDAwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyaWQtYnJlYWtwb2ludHNcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb250YWluZXItbWF4LXdpZHRoc1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHgsXG4gIHh4bDogMTMyMHB4XG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb250YWluZXItbWF4LXdpZHRoc1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cbi8vIENvbnRhaW5lciBwYWRkaW5nXG5cbiRjb250YWluZXItcGFkZGluZy14OiAkZ3JpZC1ndXR0ZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci12YXJpYWJsZXNcbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGhzOiAoXG4gIDE6IDFweCxcbiAgMjogMnB4LFxuICAzOiAzcHgsXG4gIDQ6IDRweCxcbiAgNTogNXB4XG4pICFkZWZhdWx0O1xuJGJvcmRlci1zdHlsZTogICAgICAgICAgICAgICAgc29saWQgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAgICByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14bDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteHhsOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXBpbGw6ICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuLy8gZnVzdi1kaXNhYmxlXG4kYm9yZGVyLXJhZGl1cy0yeGw6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy14eGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm94LXNoYWRvdy12YXJpYWJsZXNcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctaW5zZXQ6ICAgICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm94LXNoYWRvdy12YXJpYWJsZXNcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb2N1cy1yaW5nLXZhcmlhYmxlc1xuJGZvY3VzLXJpbmctd2lkdGg6ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctb3BhY2l0eTogICAgLjI1ICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctY29sb3I6ICAgICAgcmdiYSgkcHJpbWFyeSwgJGZvY3VzLXJpbmctb3BhY2l0eSkgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ibHVyOiAgICAgICAwICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctYm94LXNoYWRvdzogMCAwICRmb2N1cy1yaW5nLWJsdXIgJGZvY3VzLXJpbmctd2lkdGggJGZvY3VzLXJpbmctY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvY3VzLXJpbmctdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJldC12YXJpYWJsZXNcbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LXZhcmlhYmxlc1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS10cmFuc2l0aW9uXG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGg6ICAgd2lkdGggLjM1cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xsYXBzZS10cmFuc2l0aW9uXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFzcGVjdC1yYXRpb3NcbiRhc3BlY3QtcmF0aW9zOiAoXG4gIFwiMXgxXCI6IDEwMCUsXG4gIFwiNHgzXCI6IGNhbGMoMyAvIDQgKiAxMDAlKSxcbiAgXCIxNng5XCI6IGNhbGMoOSAvIDE2ICogMTAwJSksXG4gIFwiMjF4OVwiOiBjYWxjKDkgLyAyMSAqIDEwMCUpXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhc3BlY3QtcmF0aW9zXG4vLyBzdHlsZWxpbnQtZW5hYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb250LXZhcmlhYmxlc1xuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1mb250LXNhbnMtc2VyaWYpICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWNvZGU6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlKSAhZGVmYXVsdDtcblxuLy8gJGZvbnQtc2l6ZS1yb290IGFmZmVjdHMgdGhlIHZhbHVlIG9mIGByZW1gLCB3aGljaCBpcyB1c2VkIGZvciBhcyB3ZWxsIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBhbmQgbWFyZ2luc1xuLy8gJGZvbnQtc2l6ZS1iYXNlIGFmZmVjdHMgdGhlIGZvbnQgc2l6ZSBvZiB0aGUgYm9keSB0ZXh0XG4kZm9udC1zaXplLXJvb3Q6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1tZWRpdW06ICAgICAgICAgIDUwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1zZW1pYm9sZDogICAgICAgIDYwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDIgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtc2l6ZXNcbiRmb250LXNpemVzOiAoXG4gIDE6ICRoMS1mb250LXNpemUsXG4gIDI6ICRoMi1mb250LXNpemUsXG4gIDM6ICRoMy1mb250LXNpemUsXG4gIDQ6ICRoNC1mb250LXNpemUsXG4gIDU6ICRoNS1mb250LXNpemUsXG4gIDY6ICRoNi1mb250LXNpemVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtc2l6ZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGhlYWRpbmdzLXZhcmlhYmxlc1xuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXN0eWxlOiAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBoZWFkaW5ncy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRpc3BsYXktaGVhZGluZ3NcbiRkaXNwbGF5LWZvbnQtc2l6ZXM6IChcbiAgMTogNXJlbSxcbiAgMjogNC41cmVtLFxuICAzOiA0cmVtLFxuICA0OiAzLjVyZW0sXG4gIDU6IDNyZW0sXG4gIDY6IDIuNXJlbVxuKSAhZGVmYXVsdDtcblxuJGRpc3BsYXktZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XG4kZGlzcGxheS1mb250LXN0eWxlOiAgbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkaXNwbGF5LWhlYWRpbmdzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0eXBlLXZhcmlhYmxlc1xuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgLjg3NWVtICFkZWZhdWx0O1xuXG4kc3ViLXN1cC1mb250LXNpemU6ICAgICAgICAgICAuNzVlbSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiA1LjMuMFxuLy8gZnVzdi1lbmFibGVcblxuJGluaXRpYWxpc20tZm9udC1zaXplOiAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGhyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kaHItYmctY29sb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuJGhyLWhlaWdodDogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIEFsbG93cyBmb3IgaW5oZXJpdGVkIGNvbG9yc1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kaHItb3BhY2l0eTogICAgICAgICAgICAgICAgICAuMjUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB2ci12YXJpYWJsZXNcbiR2ci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB2ci12YXJpYWJsZXNcblxuJGxlZ2VuZC1tYXJnaW4tYm90dG9tOiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4xODc1ZW0gIWRlZmF1bHQ7XG4kbWFyay1jb2xvcjogICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICR5ZWxsb3ctMTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0eXBlLXZhcmlhYmxlc1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLXZhcmlhYmxlc1xuJHRhYmxlLWNlbGwtcGFkZGluZy15OiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXg6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteC1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNlbGwtdmVydGljYWwtYWxpZ246ICAgdG9wICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLWNvbG9yOiAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcjogICAgIC4wNSAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnOiAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksICR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmctZmFjdG9yOiAgICAgIC4xICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmctZmFjdG9yOiAgICAgICAuMDc1ICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLWhvdmVyLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItZmFjdG9yOiAgICAgICAgIC4yICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtY29sdW1ucy1vcmRlcjogZXZlbiAhZGVmYXVsdDtcblxuJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjogY3VycmVudGNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLXNjYWxlOiAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS1sb29wXG4kdGFibGUtdmFyaWFudHM6IChcbiAgXCJwcmltYXJ5XCI6ICAgIHNoaWZ0LWNvbG9yKCRwcmltYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInNlY29uZGFyeVwiOiAgc2hpZnQtY29sb3IoJHNlY29uZGFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzdWNjZXNzXCI6ICAgIHNoaWZ0LWNvbG9yKCRzdWNjZXNzLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImluZm9cIjogICAgICAgc2hpZnQtY29sb3IoJGluZm8sICR0YWJsZS1iZy1zY2FsZSksXG4gIFwid2FybmluZ1wiOiAgICBzaGlmdC1jb2xvcigkd2FybmluZywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJkYW5nZXJcIjogICAgIHNoaWZ0LWNvbG9yKCRkYW5nZXIsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFyayxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLWxvb3BcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGlucHV0LWJ0bi12YXJpYWJsZXNcbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgICAgJGZvY3VzLXJpbmctd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHk6ICRmb2N1cy1yaW5nLW9wYWNpdHkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICAgICRmb2N1cy1yaW5nLWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ibHVyOiAgICAgICAgICAkZm9jdXMtcmluZy1ibHVyICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1idG4tdmFyaWFibGVzXG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhYmxlc1xuJGJ0bi1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJ0bi1saW5rLWZvY3VzLXNoYWRvdy1yZ2I6ICAgdG8tcmdiKG1peChjb2xvci1jb250cmFzdCgkbGluay1jb2xvciksICRsaW5rLWNvbG9yLCAxNSUpKSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRidG4taG92ZXItYmctc2hhZGUtYW1vdW50OiAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50OiAgICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50OiAgIDIwJSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50OiAgICAxMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQ6ICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQ6ICAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAyNSUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQ6ICAgMTAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFibGVzXG5cblxuLy8gRm9ybXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdGV4dC12YXJpYWJsZXNcbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tbGFiZWwtdmFyaWFibGVzXG4kZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1sYWJlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0taW5wdXQtdmFyaWFibGVzXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgdGludC1jb2xvcigkY29tcG9uZW50LWFjdGl2ZS1iZywgNTAlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWJvcmRlci13aWR0aH0gKiAyKSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15ICogLjUpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1jb2xvci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgM3JlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1pbnB1dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tY2hlY2stdmFyaWFibGVzXG4kZm9ybS1jaGVjay1pbnB1dC13aWR0aDogICAgICAgICAgICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1taW4taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ6ICAgICAgICAgICAgICAgICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoICsgLjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI6ICAgICAgICAgIGJyaWdodG5lc3MoOTAlKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJvcmRlcjogICAgICAgICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdtNiAxMCAzIDMgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMicgZmlsbD0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAgICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBoOCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC41ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTogICAgJGJ0bi1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDogICAgMXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1jaGVjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuJGZvcm0tc3dpdGNoLWNvbG9yOiAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgIDJlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0OiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJnLWltYWdlOiAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1ib3JkZXItcmFkaXVzOiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbjogICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3I6ICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1mb2N1cy1iZy1pbWFnZTogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlOiAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uOiByaWdodCBjZW50ZXIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtZ3JvdXAtdmFyaWFibGVzXG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1ncm91cC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc2VsZWN0LXZhcmlhYmxlc1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgZm9yIGJhY2tncm91bmQtaW1hZ2VcbiRmb3JtLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uOiAgICAgICAgICAgcmlnaHQgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAxNnB4IDEycHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMi41ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgIGNlbnRlciByaWdodCAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtc206ICAgICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1sZzogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC10cmFuc2l0aW9uOiAgICAgICAgICAkaW5wdXQtdHJhbnNpdGlvbiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIEVkZ2VcbiRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA3MCUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbjogICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1yYW5nZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmlsZS12YXJpYWJsZXNcbiRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWhvdmVyLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1maWxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcbiRmb3JtLWZsb2F0aW5nLWhlaWdodDogICAgICAgICAgICAgICAgICBhZGQoMy41cmVtLCAkaW5wdXQtaGVpZ2h0LWJvcmRlcikgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDogICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy15OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ6ICAgICAgICAgMS42MjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI6ICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLWhlaWdodDogICAgICAgICAgICAxLjVlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHk6ICAgICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm06ICAgICAgICAgc2NhbGUoLjg1KSB0cmFuc2xhdGVZKC0uNXJlbSkgdHJhbnNsYXRlWCguMTVyZW0pICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb246ICAgICAgICAgICAgICBvcGFjaXR5IC4xcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4xcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJGZvcm0tdGV4dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXN0eWxlOiAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICAkc3VjY2VzcyAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgICRkYW5nZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tY29sb3JzXG4kZm9ybS12YWxpZC1jb2xvcjogICAgICAgICAgICAgICAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1jb2xvcjogICAgICAgICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1jb2xvcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoXG4gIFwidmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3IpLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLFxuICAgIFwidG9vbHRpcC1jb2xvclwiOiAjZmZmLFxuICAgIFwidG9vbHRpcC1iZy1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9c3VjY2VzcyksXG4gICAgXCJmb2N1cy1ib3gtc2hhZG93XCI6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEodmFyKC0tI3skcHJlZml4fXN1Y2Nlc3MtcmdiKSwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgICBcImJvcmRlci1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3IpLFxuICApLFxuICBcImludmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvciksXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZCxcbiAgICBcInRvb2x0aXAtY29sb3JcIjogI2ZmZixcbiAgICBcInRvb2x0aXAtYmctY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWRhbmdlciksXG4gICAgXCJmb2N1cy1ib3gtc2hhZG93XCI6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEodmFyKC0tI3skcHJlZml4fWRhbmdlci1yZ2IpLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yKSxcbiAgKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtc3RhY2tcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wOiAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhczogICAgICAgICAgICAgICAgICAxMDQ1ICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTUgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA4MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9hc3Q6ICAgICAgICAgICAgICAgICAgICAgIDEwOTAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHppbmRleC1zdGFja1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgemluZGV4LWxldmVscy1tYXBcbiR6aW5kZXgtbGV2ZWxzOiAoXG4gIG4xOiAtMSxcbiAgMDogMCxcbiAgMTogMSxcbiAgMjogMixcbiAgMzogM1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LWxldmVscy1tYXBcblxuXG4vLyBOYXZzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdmFyaWFibGVzXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC1zaXplOiAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRuYXYtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi11bmRlcmxpbmUtZ2FwOiAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aDogICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcjogICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdmFyaWFibGVzXG5cblxuLy8gTmF2YmFyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItdmFyaWFibGVzXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogICAgICAgICRidG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogICAgICAgICBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC42NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuOCkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAxKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcjogICAgICAgICAgIHJnYmEoJGJvZHktY29sb3IsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjE1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWljb24tY29sb3I6ICAgICAgICAgICAgJG5hdmJhci1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstaWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZGFyay12YXJpYWJsZXNcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi12YXJpYWJsZXNcbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBjYWxjKCN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9IC0gI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkZHJvcGRvd24tbGluay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogICAgICAgICAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteTogICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteSAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tZGFyay12YXJpYWJsZXNcbiRkcm9wZG93bi1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJvcmRlci1jb2xvcjogICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1kaXZpZGVyLWJnOiAgICAgICAgICAkZHJvcGRvd24tZGl2aWRlci1iZyAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJveC1zaGFkb3c6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWNvbG9yOiAgICAgICAgICAkZHJvcGRvd24tZGFyay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItY29sb3I6ICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItYmc6ICAgICAgIHJnYmEoJHdoaXRlLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtY29sb3I6ICAgJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtYmc6ICAgICAgJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1kaXNhYmxlZC1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstaGVhZGVyLWNvbG9yOiAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIFBhZ2luYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tdmFyaWFibGVzXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQ6ICAgICAgICAgICBjYWxjKCN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRofSAqIC0xKSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1jb2xvcjogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7IC8vIFRvZG8gaW4gdjY6IHJlbW92ZSB0aGlzP1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLXZhcmlhYmxlc1xuXG5cbi8vIFBsYWNlaG9sZGVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGxhY2Vob2xkZXJzXG4kcGxhY2Vob2xkZXItb3BhY2l0eS1tYXg6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbjogICAgICAgICAgIC4yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwbGFjZWhvbGRlcnNcblxuLy8gQ2FyZHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmQtdmFyaWFibGVzXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLXNwYWNlci15OiAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1zdWJ0aXRsZS1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRjYXJkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgKiAuNSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci14ICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2IpLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAqIC41ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJkLXZhcmlhYmxlc1xuXG4vLyBBY2NvcmRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFjY29yZGlvbi12YXJpYWJsZXNcbiRhY2NvcmRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgIHN1YnRyYWN0KCRhY2NvcmRpb24tYm9yZGVyLXJhZGl1cywgJGFjY29yZGlvbi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteDogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24sIGJvcmRlci1yYWRpdXMgLjE1cyBlYXNlICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktYmctc3VidGxlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXRleHQtZW1waGFzaXMpICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJvcmRlci1jb2xvcjogICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4zXG4vLyBmdXN2LWVuYWJsZVxuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAkcHJpbWFyeS10ZXh0LWVtcGhhc2lzICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm06ICAgICAgICAgICAgICAgIHJvdGF0ZSgtMTgwZGVnKSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24taWNvbjogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRhY2NvcmRpb24taWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTIgNUw4IDExTDE0IDUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbjogIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTIgNUw4IDExTDE0IDUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFjY29yZGlvbi12YXJpYWJsZXNcblxuLy8gVG9vbHRpcHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtdmFyaWFibGVzXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjI1ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gVE9ETzogcmVtb3ZlIHRoaXMgaW4gdjZcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtdmFyaWFibGVzXG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICBudWxsICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuXG5cbi8vIFBvcG92ZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3BvdmVyLXZhcmlhYmxlc1xuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIGNhbGMoI3skcG9wb3Zlci1ib3JkZXItcmFkaXVzfSAtICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3BvdmVyLXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbi8vIERlcHJlY2F0ZWQgaW4gQm9vdHN0cmFwIDUuMi4wIGZvciBDU1MgdmFyaWFibGVzXG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuLy8gZnVzdi1lbmFibGVcblxuXG4vLyBUb2FzdHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvYXN0LXZhcmlhYmxlc1xuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcbiR0b2FzdC1zcGFjaW5nOiAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktYmctcmdiKSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICR0b2FzdC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvYXN0LXZhcmlhYmxlc1xuXG5cbi8vIEJhZGdlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYmFkZ2UtdmFyaWFibGVzXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuNzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjM1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYmFkZ2UtdmFyaWFibGVzXG5cblxuLy8gTW9kYWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC12YXJpYWJsZXNcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtdmFyaWFibGVzXG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC12YXJpYWJsZXNcbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yOiAgICRhbGVydC1wYWRkaW5nLXggKiAzICFkZWZhdWx0OyAvLyAzeCBjb3ZlcnMgd2lkdGggb2YgeCBwbHVzIGRlZmF1bHQgcGFkZGluZyBvbiBlaXRoZXIgc2lkZVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4kYWxlcnQtYmctc2NhbGU6ICAgICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtYm9yZGVyLXNjYWxlOiAgICAgICAgICAgIC03MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtY29sb3Itc2NhbGU6ICAgICAgICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLXZhcmlhYmxlc1xuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3MtdmFyaWFibGVzXG5cblxuLy8gTGlzdCBncm91cFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC12YXJpYWJsZXNcbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRsaXN0LWdyb3VwLWl0ZW0tYmctc2NhbGU6ICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4kbGlzdC1ncm91cC1pdGVtLWNvbG9yLXNjYWxlOiAgICAgICA0MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC12YXJpYWJsZXNcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aHVtYm5haWwtdmFyaWFibGVzXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctc20pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aHVtYm5haWwtdmFyaWFibGVzXG5cblxuLy8gRmlndXJlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZmlndXJlLXZhcmlhYmxlc1xuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmaWd1cmUtdmFyaWFibGVzXG5cblxuLy8gQnJlYWRjcnVtYnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItdmFyaWFibGVzXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZDogICAgICAgICRicmVhZGNydW1iLWRpdmlkZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLXZhcmlhYmxlc1xuXG4vLyBDYXJvdXNlbFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtdmFyaWFibGVzXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1vcGFjaXR5OiAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLW9wYWNpdHk6ICAxICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1zcGFjZXI6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDJyZW0gIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J00xMS4zNTQgMS42NDZhLjUuNSAwIDAgMSAwIC43MDhMNS43MDcgOGw1LjY0NyA1LjY0NmEuNS41IDAgMCAxLS43MDguNzA4bC02LTZhLjUuNSAwIDAgMSAwLS43MDhsNi02YS41LjUgMCAwIDEgLjcwOCAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J000LjY0NiAxLjY0NmEuNS41IDAgMCAxIC43MDggMGw2IDZhLjUuNSAwIDAgMSAwIC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDgtLjcwOEwxMC4yOTMgOCA0LjY0NiAyLjM1NGEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJvdXNlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG4kY2Fyb3VzZWwtZGFyay1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY2FwdGlvbi1jb2xvcjogICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjYXJvdXNlbC1kYXJrLWNvbnRyb2wtaWNvbi1maWx0ZXI6ICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG5cblxuLy8gU3Bpbm5lcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItdmFyaWFibGVzXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogLjc1cyAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci12YXJpYWJsZXNcblxuXG4vLyBDbG9zZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtdmFyaWFibGVzXG4kYnRuLWNsb3NlLXdpZHRoOiAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaGVpZ2h0OiAgICAgICAgICAgJGJ0bi1jbG9zZS13aWR0aCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy14OiAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteTogICAgICAgICRidG4tY2xvc2UtcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1jb2xvcjogICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWJnOiAgICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRidG4tY2xvc2UtY29sb3J9Jz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtc2hhZG93OiAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tY2xvc2Utb3BhY2l0eTogICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk6ICAgIC43NSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eTogICAgMSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eTogLjI1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI6ICAgICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCUpIGJyaWdodG5lc3MoMjAwJSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNsb3NlLXZhcmlhYmxlc1xuXG5cbi8vIE9mZmNhbnZhc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuJG9mZmNhbnZhcy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXBhZGRpbmcteDogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtaG9yaXpvbnRhbC13aWR0aDogICAgICAgIDQwMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1oZWlnaHQ6ICAgICAgICAgMzB2aCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgIC4zcyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICRtb2RhbC10aXRsZS1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmctY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY29sb3I6ICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAkbW9kYWwtYmFja2Ryb3AtYmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjE4NzVyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHJlbW92aW5nIGluIHY2XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbkBpbXBvcnQgXCJ2YXJpYWJsZXMtZGFya1wiOyAvLyBUT0RPOiBjYW4gYmUgcmVtb3ZlZCBzYWZlbHkgaW4gdjYsIG9ubHkgaGVyZSB0byBhdm9pZCBicmVha2luZyBjaGFuZ2VzIGluIHY1LjNcbiIsIi8vIFRvZ2dsZSBnbG9iYWwgb3B0aW9uc1xuJGVuYWJsZS1ncmFkaWVudHM6IHRydWU7XG4kZW5hYmxlLXNoYWRvd3M6IHRydWU7XG4kZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnM6IHRydWU7XG4kZW5hYmxlLWNzc2dyaWQ6IHRydWU7XG4kb2ZmY2FudmFzLWJveC1zaGFkb3c6IDAgMXJlbSAzcmVtIHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xuXG4vLyBDdXN0b21pemUgc29tZSBkZWZhdWx0c1xuJGJvZHktY29sb3I6ICRCYXNpcy1EYXJrO1xuJGJvZHktYmc6ICNmZmY7XG4kbGluay1jb2xvcjogJEhvb2Zka2xldXItU3VuLWJhY2t1cDtcbiRib3JkZXItcmFkaXVzOiAxcmVtO1xuXG4kYm94LXNoYWRvdzogMHB4IDhweCAyMHB4IDBweCByZ2JhKDcwLCA3MCwgNzAsIDAuMik7XG4kYm94LXNoYWRvdy1ob3ZlcjogMHB4IDhweCAyMHB4IDBweCByZ2JhKDcwLCA3MCwgNzAsIDAuMyk7XG4kYnRuLWJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuJGNhcmQtYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4kYWxlcnQtYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAycHg7XG4kdG9vbHRpcC1iZzogJEJhc2lzLURhcms7XG4kdG9vbHRpcC1vcGFjaXR5OiAxO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAzMDBweDtcblxuLy8gRGVmYXVsdCBjb2xvcnNcbiRwcmltYXJ5OiAkSG9vZmRrbGV1ci1TdW4tYmFja3VwO1xuJHNlY29uZGFyeTogJGFjdGllLXdhdGVyLWJhY2t1cDtcbiR3YXJuaW5nOiAkTm90aWZpY2F0aW9uLVdhcm5pbmc7XG4kZGFuZ2VyOiAkTm90aWZpY2F0aW9uLUVycm9yO1xuJHN1Y2Nlc3M6ICROb3RpZmljYXRpb24tU3VjY2VzcztcblxuLy8gRm9udCBzaXplc1xuJGZvbnQtc2l6ZS1yb290OiAxNnB4O1xuJGZvbnQtc2l6ZS1iYXNlOiAxcmVtO1xuXG4kaDEtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAzICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMi44NzUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kcC14cy1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAqIDAuODc1ICFkZWZhdWx0O1xuXG4kZm9udC1mYW1pbHktYmFzZTogJGZvbnQtYmFzZTtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogJGZvbnQtaGVhZGluZ3M7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6IDQwMDtcblxuLy8gQWxlcnRzXG4kc3VjY2Vzcy1ib3JkZXItc3VidGxlOiAkTm90aWZpY2F0aW9uLVN1Y2Nlc3M7XG4kc3VjY2Vzcy1iZy1zdWJ0bGU6ICROb3RpZmljYXRpb24tU3VjY2Vzcy1MaWdodDtcbiR3YXJuaW5nLWJvcmRlci1zdWJ0bGU6ICROb3RpZmljYXRpb24tV2FybmluZztcbiR3YXJuaW5nLWJnLXN1YnRsZTogJE5vdGlmaWNhdGlvbi1XYXJuaW5nLUxpZ2h0O1xuJGRhbmdlci1ib3JkZXItc3VidGxlOiAkTm90aWZpY2F0aW9uLUVycm9yO1xuJGRhbmdlci1iZy1zdWJ0bGU6ICROb3RpZmljYXRpb24tRXJyb3ItTGlnaHQ7XG5cbi8vIEJ1dHRvbnNcbiRidG4tYm9yZGVyLXJhZGl1czogMi41cmVtO1xuJGJ0bi1ib3gtc2hhZG93OiAwcHggOHB4IDIwcHggMHB4IHJnYmEoNzAsIDcwLCA3MCwgMC4yKTtcbiRidG4tcGFkZGluZy15OiAxcmVtO1xuJGJ0bi1wYWRkaW5nLXg6IDEuNXJlbTtcblxuLy8gTmF2c1xuJG5hdmJhci1saWdodC1jb2xvcjogJEJhc2lzLURhcms7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAkQmFzaXMtRGFyaztcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAkQmFzaXMtRGFyaztcblxuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogMDtcbiRkcm9wZG93bi1mb250LXNpemU6IDEuMTI1cmVtO1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICRIb29mZGtsZXVyLVN1bi1iYWNrdXA7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICRIb29mZGtsZXVyLVN1bi1iYWNrdXA7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6IG5vbmU7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogbm9uZTtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogJEhvb2Zka2xldXItU3VuLWJhY2t1cDtcblxuLy8gQ2FyZHNvcmRlci13aWR0aDogMDtcblxuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnOiB0cmFuc3BhcmFudDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogJEJhc2lzLURhcms7XG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3JkZXItY29sb3I6IHRyYW5zcGFyYW50O1xuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvdzogdHJhbnNwYXJhbnQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICRCYXNpcy1EYXJrO1xuJGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcjogJEJhc2lzLURhcms7XG4kYWNjb3JkaW9uLWljb24td2lkdGg6IDFyZW07XG4kYWNjb3JkaW9uLXBhZGRpbmcteTogMnJlbTtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAwcmVtO1xuJGFjY29yZGlvbi1idXR0b24taWNvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxOCcgaGVpZ2h0PScxOCcgdmlld0JveD0nMCAwIDE4IDE4JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTE2LjAzMTIgOUMxNi4wMzEyIDkuMjIzNzggMTUuOTQyNCA5LjQzODM5IDE1Ljc4NDEgOS41OTY2MkMxNS42MjU5IDkuNzU0ODUgMTUuNDExMyA5Ljg0Mzc1IDE1LjE4NzUgOS44NDM3NUg5Ljg0Mzc1VjE1LjE4NzVDOS44NDM3NSAxNS40MTEzIDkuNzU0ODUgMTUuNjI1OSA5LjU5NjYyIDE1Ljc4NDFDOS40MzgzOSAxNS45NDI0IDkuMjIzNzggMTYuMDMxMiA5IDE2LjAzMTJDOC43NzYyMiAxNi4wMzEyIDguNTYxNjEgMTUuOTQyNCA4LjQwMzM4IDE1Ljc4NDFDOC4yNDUxNCAxNS42MjU5IDguMTU2MjUgMTUuNDExMyA4LjE1NjI1IDE1LjE4NzVWOS44NDM3NUgyLjgxMjVDMi41ODg3MiA5Ljg0Mzc1IDIuMzc0MTEgOS43NTQ4NSAyLjIxNTg4IDkuNTk2NjJDMi4wNTc2NCA5LjQzODM5IDEuOTY4NzUgOS4yMjM3OCAxLjk2ODc1IDlDMS45Njg3NSA4Ljc3NjIyIDIuMDU3NjQgOC41NjE2MSAyLjIxNTg4IDguNDAzMzhDMi4zNzQxMSA4LjI0NTE0IDIuNTg4NzIgOC4xNTYyNSAyLjgxMjUgOC4xNTYyNUg4LjE1NjI1VjIuODEyNUM4LjE1NjI1IDIuNTg4NzIgOC4yNDUxNCAyLjM3NDExIDguNDAzMzggMi4yMTU4OEM4LjU2MTYxIDIuMDU3NjQgOC43NzYyMiAxLjk2ODc1IDkgMS45Njg3NUM5LjIyMzc4IDEuOTY4NzUgOS40MzgzOSAyLjA1NzY0IDkuNTk2NjIgMi4yMTU4OEM5Ljc1NDg1IDIuMzc0MTEgOS44NDM3NSAyLjU4ODcyIDkuODQzNzUgMi44MTI1VjguMTU2MjVIMTUuMTg3NUMxNS40MTEzIDguMTU2MjUgMTUuNjI1OSA4LjI0NTE0IDE1Ljc4NDEgOC40MDMzOEMxNS45NDI0IDguNTYxNjEgMTYuMDMxMiA4Ljc3NjIyIDE2LjAzMTIgOVonIGZpbGw9JyUyMzJGMkYyRicvJTNFJTNDL3N2ZyUzRVwiKTtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB2aWV3Qm94PScwIDAgMTggMTgnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNMTYuMDMxMiA5QzE2LjAzMTIgOS4yMjM3OCAxNS45NDI0IDkuNDM4MzkgMTUuNzg0MSA5LjU5NjYyQzE1LjYyNTkgOS43NTQ4NSAxNS40MTEzIDkuODQzNzUgMTUuMTg3NSA5Ljg0Mzc1SDIuODEyNUMyLjU4ODcyIDkuODQzNzUgMi4zNzQxMSA5Ljc1NDg1IDIuMjE1ODggOS41OTY2MkMyLjA1NzY0IDkuNDM4MzkgMS45Njg3NSA5LjIyMzc4IDEuOTY4NzUgOUMxLjk2ODc1IDguNzc2MjIgMi4wNTc2NCA4LjU2MTYxIDIuMjE1ODggOC40MDMzOEMyLjM3NDExIDguMjQ1MTQgMi41ODg3MiA4LjE1NjI1IDIuODEyNSA4LjE1NjI1SDE1LjE4NzVDMTUuNDExMyA4LjE1NjI1IDE1LjYyNTkgOC4yNDUxNCAxNS43ODQxIDguNDAzMzhDMTUuOTQyNCA4LjU2MTYxIDE2LjAzMTIgOC43NzYyMiAxNi4wMzEyIDlaJyBmaWxsPSclMjMyRjJGMkYnLyUzRSUzQy9zdmclM0VcIik7XG5cbi8vIEZPUk0gSU5QVVRTXG4kZm9ybS1ib3JkZXItcmFkaXVzOiAyLjVyZW07XG4kaW5wdXQtYnRuLXBhZGRpbmcteTogMXJlbTtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAxLjVyZW07XG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogJE5vdGlmaWNhdGlvbi1TdWNjZXNzO1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAkTm90aWZpY2F0aW9uLUVycm9yO1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyAgdmlld0JveD0nMCAwIDE4IDE5JyBmaWxsPSdub25lJz4gPHBhdGggZD0nTTEyLjU0MyAxMS42MDk0QzExLjc2OTYgMTIuOTQ5NSAxMC40NzY2IDEzLjcxODggOSAxMy43MTg4QzcuNTIzNDQgMTMuNzE4OCA2LjIzMjUgMTIuOTUwMiA1LjQ1Njk2IDExLjYwOTRDNS4zNDk4OSAxMS40MTU5IDUuMzIzMDUgMTEuMTg4MiA1LjM4MjIgMTAuOTc1MUM1LjQ0MTM2IDEwLjc2MjEgNS41ODE3OCAxMC41ODA3IDUuNzczMjUgMTAuNDcwMkM1Ljk2NDczIDEwLjM1OTYgNi4xOTE5NiAxMC4zMjg2IDYuNDA2MDYgMTAuMzgzOEM2LjYyMDE1IDEwLjQzOTEgNi44MDQgMTAuNTc2MiA2LjkxODA1IDEwLjc2NTZDNy4xOTE1NyAxMS4yMzg4IDcuODI1NzggMTIuMDMxMiA5IDEyLjAzMTJDMTAuMTc0MiAxMi4wMzEyIDEwLjgwODQgMTEuMjM4MSAxMS4wODIgMTAuNzY1NkMxMS4xMzYyIDEwLjY2NzUgMTEuMjA5NSAxMC41ODEzIDExLjI5NzUgMTAuNTExOEMxMS4zODU1IDEwLjQ0MjQgMTEuNDg2NSAxMC4zOTEyIDExLjU5NDUgMTAuMzYxMkMxMS43MDI1IDEwLjMzMTIgMTEuODE1NCAxMC4zMjMgMTEuOTI2NiAxMC4zMzcyQzEyLjAzNzggMTAuMzUxMyAxMi4xNDUxIDEwLjM4NzQgMTIuMjQyMSAxMC40NDM1QzEyLjMzOTIgMTAuNDk5NiAxMi40MjQxIDEwLjU3NDQgMTIuNDkyIDEwLjY2MzdDMTIuNTU5OCAxMC43NTI5IDEyLjYwOTIgMTAuODU0OCAxMi42MzcyIDEwLjk2MzNDMTIuNjY1MiAxMS4wNzE5IDEyLjY3MTMgMTEuMTg0OSAxMi42NTUxIDExLjI5NThDMTIuNjM5IDExLjQwNjcgMTIuNjAwOSAxMS41MTMzIDEyLjU0MyAxMS42MDk0Wk0xNi41OTM4IDkuNUMxNi41OTM4IDExLjAwMTkgMTYuMTQ4NCAxMi40NzAxIDE1LjMxNCAxMy43MTg5QzE0LjQ3OTYgMTQuOTY3NiAxMy4yOTM2IDE1Ljk0MSAxMS45MDYgMTYuNTE1N0MxMC41MTg0IDE3LjA5MDUgOC45OTE1OCAxNy4yNDA4IDcuNTE4NTQgMTYuOTQ3OEM2LjA0NTQ5IDE2LjY1NDggNC42OTI0MiAxNS45MzE2IDMuNjMwNDEgMTQuODY5NkMyLjU2ODQxIDEzLjgwNzYgMS44NDUxNyAxMi40NTQ1IDEuNTUyMTcgMTAuOTgxNUMxLjI1OTE2IDkuNTA4NDIgMS40MDk1NCA3Ljk4MTU3IDEuOTg0MjkgNi41OTRDMi41NTkwNSA1LjIwNjQyIDMuNTMyMzYgNC4wMjA0NCA0Ljc4MTE0IDMuMTg2MDNDNi4wMjk5MyAyLjM1MTYyIDcuNDk4MSAxLjkwNjI1IDkgMS45MDYyNUMxMS4wMTMzIDEuOTA4NDggMTIuOTQzNSAyLjcwOTI1IDE0LjM2NzEgNC4xMzI4N0MxNS43OTA3IDUuNTU2NSAxNi41OTE1IDcuNDg2NyAxNi41OTM4IDkuNVpNMTQuOTA2MyA5LjVDMTQuOTA2MyA4LjMzMTg1IDE0LjU1OTkgNy4xODk5NCAxMy45MTA5IDYuMjE4NjZDMTMuMjYxOSA1LjI0NzM5IDEyLjMzOTUgNC40OTAzNyAxMS4yNjAyIDQuMDQzMzRDMTAuMTgxIDMuNTk2MzEgOC45OTM0NSAzLjQ3OTM0IDcuODQ3NzUgMy43MDcyNEM2LjcwMjA1IDMuOTM1MTMgNS42NDk2NiA0LjQ5NzY1IDQuODIzNjUgNS4zMjM2NUMzLjk5NzY1IDYuMTQ5NjUgMy40MzUxMyA3LjIwMjA1IDMuMjA3MjQgOC4zNDc3NUMyLjk3OTM1IDkuNDkzNDUgMy4wOTYzMSAxMC42ODEgMy41NDMzNCAxMS43NjAyQzMuOTkwMzcgMTIuODM5NCA0Ljc0NzM5IDEzLjc2MTkgNS43MTg2NyAxNC40MTA5QzYuNjg5OTQgMTUuMDU5OSA3LjgzMTg2IDE1LjQwNjIgOSAxNS40MDYyQzEwLjU2NTkgMTUuNDA0NiAxMi4wNjcyIDE0Ljc4MTggMTMuMTc0NSAxMy42NzQ1QzE0LjI4MTggMTIuNTY3MiAxNC45MDQ2IDExLjA2NTkgMTQuOTA2MyA5LjVaTTYuNDY4NzUgOS4yMTg3NUM2LjY5MTI2IDkuMjE4NzUgNi45MDg3NiA5LjE1Mjc3IDcuMDkzNzcgOS4wMjkxNUM3LjI3ODc3IDguOTA1NTQgNy40MjI5NyA4LjcyOTg0IDcuNTA4MTIgOC41MjQyN0M3LjU5MzI3IDguMzE4NyA3LjYxNTU1IDguMDkyNSA3LjU3MjE0IDcuODc0MjdDNy41Mjg3MyA3LjY1NjA0IDcuNDIxNTggNy40NTU1OSA3LjI2NDI1IDcuMjk4MjVDNy4xMDY5MSA3LjE0MDkyIDYuOTA2NDYgNy4wMzM3NyA2LjY4ODIzIDYuOTkwMzdDNi40NyA2Ljk0Njk2IDYuMjQzOCA2Ljk2OTI0IDYuMDM4MjMgNy4wNTQzOUM1LjgzMjY3IDcuMTM5NTMgNS42NTY5NyA3LjI4MzczIDUuNTMzMzUgNy40Njg3M0M1LjQwOTczIDcuNjUzNzQgNS4zNDM3NSA3Ljg3MTI1IDUuMzQzNzUgOC4wOTM3NUM1LjM0Mzc1IDguMzkyMTIgNS40NjIyOCA4LjY3ODI3IDUuNjczMjYgOC44ODkyNUM1Ljg4NDI0IDkuMTAwMjIgNi4xNzAzOCA5LjIxODc1IDYuNDY4NzUgOS4yMTg3NVpNMTEuNTMxMyA2Ljk2ODc1QzExLjMwODcgNi45Njg3NSAxMS4wOTEyIDcuMDM0NzMgMTAuOTA2MiA3LjE1ODM1QzEwLjcyMTIgNy4yODE5NiAxMC41NzcgNy40NTc2NiAxMC40OTE5IDcuNjYzMjNDMTAuNDA2NyA3Ljg2ODggMTAuMzg0NSA4LjA5NSAxMC40Mjc5IDguMzEzMjNDMTAuNDcxMyA4LjUzMTQ2IDEwLjU3ODQgOC43MzE5MSAxMC43MzU4IDguODg5MjVDMTAuODkzMSA5LjA0NjU4IDExLjA5MzUgOS4xNTM3MyAxMS4zMTE4IDkuMTk3MTNDMTEuNTMgOS4yNDA1NCAxMS43NTYyIDkuMjE4MjYgMTEuOTYxOCA5LjEzMzExQzEyLjE2NzMgOS4wNDc5NyAxMi4zNDMgOC45MDM3NyAxMi40NjY3IDguNzE4NzdDMTIuNTkwMyA4LjUzMzc2IDEyLjY1NjMgOC4zMTYyNSAxMi42NTYzIDguMDkzNzVDMTIuNjU2MyA3Ljc5NTM4IDEyLjUzNzcgNy41MDkyMyAxMi4zMjY3IDcuMjk4MjVDMTIuMTE1OCA3LjA4NzI4IDExLjgyOTYgNi45Njg3NSAxMS41MzEzIDYuOTY4NzVaJyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9Jy8+IDwvc3ZnPlwiKTtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyAgdmlld0JveD0nMCAwIDE4IDE4JyBmaWxsPSdub25lJz4gPHBhdGggZD0nTTkgMS40MDYyNUM3LjQ5ODEgMS40MDYyNSA2LjAyOTkzIDEuODUxNjIgNC43ODExNCAyLjY4NjAzQzMuNTMyMzYgMy41MjA0NCAyLjU1OTA1IDQuNzA2NDIgMS45ODQyOSA2LjA5NEMxLjQwOTU0IDcuNDgxNTcgMS4yNTkxNiA5LjAwODQyIDEuNTUyMTcgMTAuNDgxNUMxLjg0NTE3IDExLjk1NDUgMi41Njg0MSAxMy4zMDc2IDMuNjMwNDEgMTQuMzY5NkM0LjY5MjQyIDE1LjQzMTYgNi4wNDU0OSAxNi4xNTQ4IDcuNTE4NTQgMTYuNDQ3OEM4Ljk5MTU4IDE2Ljc0MDggMTAuNTE4NCAxNi41OTA1IDExLjkwNiAxNi4wMTU3QzEzLjI5MzYgMTUuNDQxIDE0LjQ3OTYgMTQuNDY3NiAxNS4zMTQgMTMuMjE4OUMxNi4xNDg0IDExLjk3MDEgMTYuNTkzOCAxMC41MDE5IDE2LjU5MzggOUMxNi41OTE1IDYuOTg2NyAxNS43OTA3IDUuMDU2NSAxNC4zNjcxIDMuNjMyODdDMTIuOTQzNSAyLjIwOTI1IDExLjAxMzMgMS40MDg0OCA5IDEuNDA2MjVaTTkgMTQuOTA2MkM3LjgzMTg2IDE0LjkwNjIgNi42ODk5NCAxNC41NTk5IDUuNzE4NjcgMTMuOTEwOUM0Ljc0NzM5IDEzLjI2MTkgMy45OTAzNyAxMi4zMzk0IDMuNTQzMzQgMTEuMjYwMkMzLjA5NjMxIDEwLjE4MSAyLjk3OTM1IDguOTkzNDUgMy4yMDcyNCA3Ljg0Nzc1QzMuNDM1MTMgNi43MDIwNSAzLjk5NzY1IDUuNjQ5NjUgNC44MjM2NSA0LjgyMzY1QzUuNjQ5NjYgMy45OTc2NSA2LjcwMjA1IDMuNDM1MTMgNy44NDc3NSAzLjIwNzI0QzguOTkzNDUgMi45NzkzNCAxMC4xODEgMy4wOTYzMSAxMS4yNjAyIDMuNTQzMzRDMTIuMzM5NSAzLjk5MDM3IDEzLjI2MTkgNC43NDczOSAxMy45MTA5IDUuNzE4NjZDMTQuNTU5OSA2LjY4OTk0IDE0LjkwNjMgNy44MzE4NSAxNC45MDYzIDlDMTQuOTA0NiAxMC41NjU5IDE0LjI4MTggMTIuMDY3MiAxMy4xNzQ1IDEzLjE3NDVDMTIuMDY3MiAxNC4yODE4IDEwLjU2NTkgMTQuOTA0NiA5IDE0LjkwNjJaTTUuMzQzNzUgNy41OTM3NUM1LjM0Mzc1IDcuMzcxMjUgNS40MDk3MyA3LjE1Mzc0IDUuNTMzMzUgNi45Njg3M0M1LjY1Njk3IDYuNzgzNzMgNS44MzI2NyA2LjYzOTUzIDYuMDM4MjMgNi41NTQzOUM2LjI0MzggNi40NjkyNCA2LjQ3IDYuNDQ2OTYgNi42ODgyMyA2LjQ5MDM3QzYuOTA2NDYgNi41MzM3NyA3LjEwNjkxIDYuNjQwOTIgNy4yNjQyNSA2Ljc5ODI1QzcuNDIxNTggNi45NTU1OSA3LjUyODczIDcuMTU2MDQgNy41NzIxNCA3LjM3NDI3QzcuNjE1NTUgNy41OTI1IDcuNTkzMjcgNy44MTg3IDcuNTA4MTIgOC4wMjQyN0M3LjQyMjk3IDguMjI5ODQgNy4yNzg3NyA4LjQwNTU0IDcuMDkzNzcgOC41MjkxNUM2LjkwODc2IDguNjUyNzcgNi42OTEyNiA4LjcxODc1IDYuNDY4NzUgOC43MTg3NUM2LjE3MDM4IDguNzE4NzUgNS44ODQyNCA4LjYwMDIyIDUuNjczMjYgOC4zODkyNUM1LjQ2MjI4IDguMTc4MjcgNS4zNDM3NSA3Ljg5MjEyIDUuMzQzNzUgNy41OTM3NVpNMTIuNjU2MyA3LjU5Mzc1QzEyLjY1NjMgNy44MTYyNSAxMi41OTAzIDguMDMzNzYgMTIuNDY2NyA4LjIxODc3QzEyLjM0MyA4LjQwMzc3IDEyLjE2NzMgOC41NDc5NyAxMS45NjE4IDguNjMzMTFDMTEuNzU2MiA4LjcxODI2IDExLjUzIDguNzQwNTQgMTEuMzExOCA4LjY5NzEzQzExLjA5MzUgOC42NTM3MyAxMC44OTMxIDguNTQ2NTggMTAuNzM1OCA4LjM4OTI1QzEwLjU3ODQgOC4yMzE5MSAxMC40NzEzIDguMDMxNDYgMTAuNDI3OSA3LjgxMzIzQzEwLjM4NDUgNy41OTUgMTAuNDA2NyA3LjM2ODggMTAuNDkxOSA3LjE2MzIzQzEwLjU3NyA2Ljk1NzY2IDEwLjcyMTIgNi43ODE5NiAxMC45MDYyIDYuNjU4MzVDMTEuMDkxMiA2LjUzNDczIDExLjMwODcgNi40Njg3NSAxMS41MzEzIDYuNDY4NzVDMTEuODI5NiA2LjQ2ODc1IDEyLjExNTggNi41ODcyOCAxMi4zMjY3IDYuNzk4MjVDMTIuNTM3NyA3LjAwOTIzIDEyLjY1NjMgNy4yOTUzOCAxMi42NTYzIDcuNTkzNzVaTTEyLjQyNyAxMS42MDE2QzEyLjU0OTYgMTEuNzgzNSAxMi41OTY1IDEyLjAwNiAxMi41NTc4IDEyLjIyMTlDMTIuNTE5MSAxMi40Mzc4IDEyLjM5NzggMTIuNjMwMSAxMi4yMTk3IDEyLjc1ODFDMTIuMDQxNiAxMi44ODYxIDExLjgyMDYgMTIuOTM5OCAxMS42MDM2IDEyLjkwNzZDMTEuMzg2NiAxMi44NzU1IDExLjE5MDcgMTIuNzYwMSAxMS4wNTczIDEyLjU4NTlDMTAuODIzIDEyLjI1OSAxMC41MTQyIDExLjk5MjcgMTAuMTU2NCAxMS44MDg5QzkuNzk4NjMgMTEuNjI1MiA5LjQwMjIxIDExLjUyOTMgOSAxMS41MjkzQzguNTk3OCAxMS41MjkzIDguMjAxMzggMTEuNjI1MiA3Ljg0MzYgMTEuODA4OUM3LjQ4NTgyIDExLjk5MjcgNy4xNzY5NyAxMi4yNTkgNi45NDI2NiAxMi41ODU5QzYuODA5MzEgMTIuNzYwMSA2LjYxMzM4IDEyLjg3NTUgNi4zOTY0IDEyLjkwNzZDNi4xNzk0MiAxMi45Mzk4IDUuOTU4NDUgMTIuODg2MSA1Ljc4MDMzIDEyLjc1ODFDNS42MDIyMiAxMi42MzAxIDUuNDgwOTUgMTIuNDM3OCA1LjQ0MjI0IDEyLjIyMTlDNS40MDM1MyAxMi4wMDYgNS40NTA0MiAxMS43ODM1IDUuNTcyOTcgMTEuNjAxNkM1Ljk2MzYgMTEuMDU3NSA2LjQ3ODE2IDEwLjYxNDIgNy4wNzQwOSAxMC4zMDg0QzcuNjcwMDMgMTAuMDAyNiA4LjMzMDIgOS44NDMxNiA5IDkuODQzMTZDOS42Njk4IDkuODQzMTYgMTAuMzMgMTAuMDAyNiAxMC45MjU5IDEwLjMwODRDMTEuNTIxOCAxMC42MTQyIDEyLjAzNjQgMTEuMDU3NSAxMi40MjcgMTEuNjAxNlonIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScvPiA8L3N2Zz5cIik7XG5cbi8vIFRhYmxlXG4kdGFibGUtYmc6IHRyYW5zcGFyZW50O1xuXG4vLyBQb3BvdmVyXG4kcG9wb3Zlci1oZWFkZXItYmc6ICNmZmY7XG5cbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogMTAwbXM7XG4kb2ZmY2FudmFzLWhvcml6b250YWwtd2lkdGg6IDEwMHZ3O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1oZWlnaHQ6IDEwMHZoO1xuXG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkVGludGVuLURhcmstR3JleTtcbiRicmVhZGNydW1iLWRpdmlkZXI6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzYnIGhlaWdodD0nMTEnIHZpZXdCb3g9JzAgMCA2IDExJyBmaWxsPSdub25lJz48cGF0aCBkPSdNMS4xMjI3OCAwLjE5MzY0MUw1LjQ5Nzc4IDQuNTY4NjRDNS41NTg5NiA0LjYyOTYxIDUuNjA3NSA0LjcwMjA1IDUuNjQwNjIgNC43ODE4MkM1LjY3Mzc1IDQuODYxNTkgNS42OTA4IDQuOTQ3MTEgNS42OTA4IDUuMDMzNDhDNS42OTA4IDUuMTE5ODYgNS42NzM3NSA1LjIwNTM4IDUuNjQwNjIgNS4yODUxNUM1LjYwNzUgNS4zNjQ5MSA1LjU1ODk2IDUuNDM3MzYgNS40OTc3OCA1LjQ5ODMzTDEuMTIyNzggOS44NzMzM0MwLjk5OTQ5NSA5Ljk5NjYxIDAuODMyMjg2IDEwLjA2NTkgMC42NTc5MzUgMTAuMDY1OUMwLjQ4MzU4NSAxMC4wNjU5IDAuMzE2Mzc2IDkuOTk2NjEgMC4xOTMwOTEgOS44NzMzM0MwLjA2OTgwNzIgOS43NTAwNCAwLjAwMDU0Njk5NCA5LjU4MjgzIDAuMDAwNTQ2OTkyIDkuNDA4NDhDMC4wMDA1NDY5OSA5LjIzNDEzIDAuMDY5ODA3MiA5LjA2NjkyIDAuMTkzMDkxIDguOTQzNjRMNC4xMDM4IDUuMDMyOTRMMC4xOTI1NDUgMS4xMjIyNEMwLjA2OTI2MDcgMC45OTg5NTEgMCAwLjgzMTc0MiAwIDAuNjU3MzkyQzAgMC40ODMwNDEgMC4wNjkyNjA3IDAuMzE1ODMyIDAuMTkyNTQ1IDAuMTkyNTQ4QzAuMzE1ODI5IDAuMDY5MjYzNiAwLjQ4MzAzOCAxLjkwNzM1ZS0wNiAwLjY1NzM4OSAxLjkwNzM1ZS0wNkMwLjgzMTczOSAxLjkwNzM1ZS0wNiAwLjk5ODk0OCAwLjA2OTI2MzYgMS4xMjIyMyAwLjE5MjU0OEwxLjEyMjc4IDAuMTkzNjQxWicgZmlsbD0nI3skYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yfScvPjwvc3ZnPlwiKTtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtbWl4aW5zXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3Atc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbiIsIi8vXG4vLyBIZWFkaW5nc1xuLy9cbi5oMSB7XG4gIEBleHRlbmQgaDE7XG59XG5cbi5oMiB7XG4gIEBleHRlbmQgaDI7XG59XG5cbi5oMyB7XG4gIEBleHRlbmQgaDM7XG59XG5cbi5oNCB7XG4gIEBleHRlbmQgaDQ7XG59XG5cbi5oNSB7XG4gIEBleHRlbmQgaDU7XG59XG5cbi5oNiB7XG4gIEBleHRlbmQgaDY7XG59XG5cblxuLmxlYWQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlYWQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuQGVhY2ggJGRpc3BsYXksICRmb250LXNpemUgaW4gJGRpc3BsYXktZm9udC1zaXplcyB7XG4gIC5kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgZm9udC1mYW1pbHk6ICRkaXNwbGF5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRkaXNwbGF5LWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5LWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbiAgfVxufVxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG4uc21hbGwge1xuICBAZXh0ZW5kIHNtYWxsO1xufVxuXG4ubWFyayB7XG4gIEBleHRlbmQgbWFyaztcbn1cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5pdGlhbGlzbS1mb250LXNpemUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkYmxvY2txdW90ZS1tYXJnaW4teTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBtYXJnaW4tdG9wOiAtJGJsb2NrcXVvdGUtbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRibG9ja3F1b3RlLW1hcmdpbi15O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1mb290ZXItY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgKiAuNTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZmlndXJlLWNhcHRpb24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cbiIsIkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJHNoYWRvdyB7XG4gICAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlLCBcImNvbW1hXCIpO1xuICAgICAgfVxuICAgICAgQGlmICR2YWx1ZSA9PSBub25lIGFuZCBsZW5ndGgoJHNoYWRvdykgPiAxIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAobGVuZ3RoKCRyZXN1bHQpID4gMCkge1xuICAgICAgYm94LXNoYWRvdzogJHJlc3VsdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyLFxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBtaXhpbnNcblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRjb250YWluZXItcGFkZGluZy14KSB7XG4gIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCB4eGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuOnJvb3Qge1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLSN7JHByZWZpeH1icmVha3BvaW50LSN7JG5hbWV9OiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcblxuICAgID4gKiB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgpO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1jc3NncmlkIHtcbiAgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQodmFyKC0tI3skcHJlZml4fXJvd3MsIDEpLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLSN7JHByZWZpeH1jb2x1bW5zLCAjeyRncmlkLWNvbHVtbnN9KSwgMWZyKTtcbiAgICBnYXA6IHZhcigtLSN7JHByZWZpeH1nYXAsICN7JGdyaWQtZ3V0dGVyLXdpZHRofSk7XG5cbiAgICBAaW5jbHVkZSBtYWtlLWNzc2dyaWQoKTtcbiAgfVxufVxuXG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLy8gVE9ETzogUmV2aXNpdCBjYWxjIG9yZGVyIGFmdGVyIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC1ib290c3RyYXAvcmVhY3QtYm9vdHN0cmFwL2lzc3Vlcy82MDM5IGlzIGZpeGVkXG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCkge1xuICAvLyBBZGQgYm94IHNpemluZyBpZiBvbmx5IHRoZSBncmlkIGlzIGxvYWRlZFxuICBib3gtc2l6aW5nOiBpZih2YXJpYWJsZS1leGlzdHMoaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZykgYW5kICRpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nLCBib3JkZXItYm94LCBudWxsKTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHNldCB0aGUgd2lkdGhcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUHJldmVudCBgLmNvbC1hdXRvYCwgYC5jb2xgICgmIHJlc3BvbnNpdmUgdmFyaWFudHMpIGZyb20gYnJlYWtpbmcgb3V0IHRoZSBncmlkXG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteSk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZTogZmFsc2UsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiAkc2l6ZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xuXG4gIH0gQGVsc2Uge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXIgb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkY291bnQpKTtcbiAgfVxufVxuXG4vLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleDogMSAwIDAlOyAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIH1cblxuICAgICAgLnJvdy1jb2xzI3skaW5maXh9LWF1dG8gPiAqIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGdyaWQtcm93LWNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICAvL1xuICAgICAgLy8gTWFrZSB1c2Ugb2YgYC5nLSpgLCBgLmd4LSpgIG9yIGAuZ3ktKmAgdXRpbGl0aWVzIHRvIGNoYW5nZSBzcGFjaW5nIGJldHdlZW4gdGhlIGNvbHVtbnMuXG4gICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGd1dHRlcnMge1xuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3gjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nI3skaW5maXh9LSN7JGtleX0sXG4gICAgICAgIC5neSN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1ndXR0ZXIteTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNzc2dyaWQoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmctY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGFydCB3aXRoIGAxYCBiZWNhdXNlIGAwYCBpcyBhbiBpbnZhbGlkIHZhbHVlLlxuICAgICAgICAvLyBFbmRzIHdpdGggYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlLlxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICAuZy1zdGFydCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICAvLyBSZXNldCBuZWVkZWQgZm9yIG5lc3RpbmcgdGFibGVzXG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXN0YXRlOiBpbml0aWFsO1xuICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogaW5pdGlhbDtcbiAgLy8gRW5kIG9mIHJlc2V0XG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yOiAjeyR0YWJsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnOiAjeyR0YWJsZS1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogI3skdGFibGUtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWNjZW50LWJnOiAjeyR0YWJsZS1hY2NlbnQtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yOiAjeyR0YWJsZS1zdHJpcGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skdGFibGUtc3RyaXBlZC1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcjogI3skdGFibGUtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnOiAjeyR0YWJsZS1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcjogI3skdGFibGUtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skdGFibGUtaG92ZXItYmd9O1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICB2ZXJ0aWNhbC1hbGlnbjogJHRhYmxlLWNlbGwtdmVydGljYWwtYWxpZ247XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcik7XG5cbiAgLy8gVGFyZ2V0IHRoICYgdGRcbiAgLy8gV2UgbmVlZCB0aGUgY2hpbGQgY29tYmluYXRvciB0byBwcmV2ZW50IHN0eWxlcyBsZWFraW5nIHRvIG5lc3RlZCB0YWJsZXMgd2hpY2ggZG9lc24ndCBoYXZlIGEgYC50YWJsZWAgY2xhc3MuXG4gIC8vIFdlIHVzZSB0aGUgdW5pdmVyc2FsIHNlbGVjdG9ycyBoZXJlIHRvIHNpbXBsaWZ5IHRoZSBzZWxlY3RvciAoZWxzZSB3ZSB3b3VsZCBuZWVkIDYgZGlmZmVyZW50IHNlbGVjdG9ycykuXG4gIC8vIEFub3RoZXIgYWR2YW50YWdlIGlzIHRoYXQgdGhpcyBnZW5lcmF0ZXMgbGVzcyBjb2RlIGFuZCBtYWtlcyB0aGUgc2VsZWN0b3IgbGVzcyBzcGVjaWZpYyBtYWtpbmcgaXQgZWFzaWVyIHRvIG92ZXJyaWRlLlxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy15ICR0YWJsZS1jZWxsLXBhZGRpbmcteDtcbiAgICAvLyBGb2xsb3dpbmcgdGhlIHByZWNlcHQgb2YgY2FzY2FkZXM6IGh0dHBzOi8vY29kZXBlbi5pby9taXJpYW1zdXphbm5lL2Z1bGwvdllOZ29kYlxuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3IpKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDk5OTlweCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1iZy10eXBlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWNjZW50LWJnKSkpO1xuICB9XG5cbiAgPiB0Ym9keSB7XG4gICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIH1cblxuICA+IHRoZWFkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG59XG5cbi50YWJsZS1ncm91cC1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogY2FsYygjeyR0YWJsZS1ib3JkZXItd2lkdGh9ICogMikgc29saWQgJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuLy9cbi8vIENoYW5nZSBwbGFjZW1lbnQgb2YgY2FwdGlvbnMgd2l0aCBhIGNsYXNzXG4vL1xuXG4uY2FwdGlvbi10b3Age1xuICBjYXB0aW9uLXNpZGU6IHRvcDtcbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbSAkdGFibGUtY2VsbC1wYWRkaW5nLXgtc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuLy9cbi8vIFdoZW4gYm9yZGVycyBhcmUgYWRkZWQgb24gYWxsIHNpZGVzIG9mIHRoZSBjZWxscywgdGhlIGNvcm5lcnMgY2FuIHJlbmRlciBvZGQgd2hlblxuLy8gdGhlc2UgYm9yZGVycyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBjb2xvciBvciBpZiB0aGV5IGFyZSBzZW1pLXRyYW5zcGFyZW50LlxuLy8gVGhlcmVmb3JlIHdlIGFkZCB0b3AgYW5kIGJvcmRlciBib3R0b21zIHRvIHRoZSBgdHJgcyBhbmQgbGVmdCBhbmQgcmlnaHQgYm9yZGVyc1xuLy8gdG8gdGhlIGB0ZGBzIG9yIGB0aGBzXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gID4gOm5vdChjYXB0aW9uKSA+ICoge1xuICAgIGJvcmRlci13aWR0aDogJHRhYmxlLWJvcmRlci13aWR0aCAwO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgICA+ICoge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cblxuICA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi8vIEZvciByb3dzXG4udGFibGUtc3RyaXBlZCB7XG4gID4gdGJvZHkgPiB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkgPiAqIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmcpO1xuICB9XG59XG5cbi8vIEZvciBjb2x1bW5zXG4udGFibGUtc3RyaXBlZC1jb2x1bW5zIHtcbiAgPiA6bm90KGNhcHRpb24pID4gdHIgPiA6bnRoLWNoaWxkKCN7JHRhYmxlLXN0cmlwZWQtY29sdW1ucy1vcmRlcn0pIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmcpO1xuICB9XG59XG5cbi8vIEFjdGl2ZSB0YWJsZVxuLy9cbi8vIFRoZSBgLnRhYmxlLWFjdGl2ZWAgY2xhc3MgY2FuIGJlIGFkZGVkIHRvIGhpZ2hsaWdodCByb3dzIG9yIGNlbGxzXG5cbi50YWJsZS1hY3RpdmUge1xuICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcik7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnKTtcbn1cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICA+IHRib2R5ID4gdHI6aG92ZXIgPiAqIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnKTtcbiAgfVxufVxuXG5cbi8vIFRhYmxlIHZhcmlhbnRzXG4vL1xuLy8gVGFibGUgdmFyaWFudHMgc2V0IHRoZSB0YWJsZSBjZWxsIGJhY2tncm91bmRzLCBib3JkZXIgY29sb3JzXG4vLyBhbmQgdGhlIGNvbG9ycyBvZiB0aGUgc3RyaXBlZCwgaG92ZXJlZCAmIGFjdGl2ZSB0YWJsZXNcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRhYmxlLXZhcmlhbnRzIHtcbiAgQGluY2x1ZGUgdGFibGUtdmFyaWFudCgkY29sb3IsICR2YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgLnRhYmxlLXJlc3BvbnNpdmUjeyRpbmZpeH0ge1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS12YXJpYW50XG5AbWl4aW4gdGFibGUtdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICRjb2xvcjogY29sb3ItY29udHJhc3Qob3BhcXVlKCRib2R5LWJnLCAkYmFja2dyb3VuZCkpO1xuICAgICRob3Zlci1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWhvdmVyLWJnLWZhY3RvcikpO1xuICAgICRzdHJpcGVkLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtc3RyaXBlZC1iZy1mYWN0b3IpKTtcbiAgICAkYWN0aXZlLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikpO1xuICAgICR0YWJsZS1ib3JkZXItY29sb3I6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ib3JkZXItZmFjdG9yKSk7XG5cbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvcjogI3skY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnOiAjeyRiYWNrZ3JvdW5kfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3I6ICN7JHRhYmxlLWJvcmRlci1jb2xvcn07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skc3RyaXBlZC1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkc3RyaXBlZC1iZyl9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGFjdGl2ZS1iZyl9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyRob3Zlci1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGhvdmVyLWJnKX07XG5cbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3IpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhbnRcbiIsIi8vXG4vLyBMYWJlbHNcbi8vXG5cbi5mb3JtLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tbGFiZWwtbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWxhYmVsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtc3R5bGU6ICRmb3JtLWxhYmVsLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgZm9udC1zdHlsZTogJGZvcm0tbGFiZWwtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xufVxuIiwiLy9cbi8vIEZvcm0gdGV4dFxuLy9cblxuLmZvcm0tdGV4dCB7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXRleHQtZm9udC1zaXplKTtcbiAgZm9udC1zdHlsZTogJGZvcm0tdGV4dC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tdGV4dC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG59XG4iLCIvL1xuLy8gR2VuZXJhbCBmb3JtIGNvbnRyb2xzIChwbHVzIGEgZmV3IHNwZWNpZmljIGhpZ2gtbGV2ZWwgaW50ZXJ2ZW50aW9ucylcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgJlt0eXBlPVwiZmlsZVwiXSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gcHJldmVudCBwc2V1ZG8gZWxlbWVudCBidXR0b24gb3ZlcmxhcFxuXG4gICAgJjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICAgIC8vIE9uIEFuZHJvaWQgQ2hyb21lLCBmb3JtLWNvbnRyb2wncyBcIndpZHRoOiAxMDAlXCIgbWFrZXMgdGhlIGlucHV0IHdpZHRoIHRvbyBzbWFsbFxuICAgIC8vIFRlc3RlZCB1bmRlciBBbmRyb2lkIDExIC8gQ2hyb21lIDg5LCBBbmRyb2lkIDEyIC8gQ2hyb21lIDEwMCwgQW5kcm9pZCAxMyAvIENocm9tZSAxMDlcbiAgICAvL1xuICAgIC8vIE9uIGlPUyBTYWZhcmksIGZvcm0tY29udHJvbCdzIFwiYXBwZWFyYW5jZTogbm9uZVwiICsgXCJ3aWR0aDogMTAwJVwiIG1ha2VzIHRoZSBpbnB1dCB3aWR0aCB0b28gc21hbGxcbiAgICAvLyBUZXN0ZWQgdW5kZXIgaU9TIDE2LjIgLyBTYWZhcmkgMTYuMlxuICAgIG1pbi13aWR0aDogODVweDsgLy8gU2VlbXMgdG8gYmUgYSBnb29kIG1pbmltdW0gc2FmZSB3aWR0aFxuXG4gICAgLy8gQWRkIHNvbWUgaGVpZ2h0IHRvIGRhdGUgaW5wdXRzIG9uIGlPU1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjMzMDdcbiAgICAvLyBUT0RPOiB3ZSBjYW4gcmVtb3ZlIHRoaXMgd29ya2Fyb3VuZCBvbmNlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5NTkgaXMgcmVzb2x2ZWRcbiAgICAvLyBNdWx0aXBseSBsaW5lLWhlaWdodCBieSAxZW0gaWYgaXQgaGFzIG5vIHVuaXRcbiAgICBoZWlnaHQ6IGlmKHVuaXQoJGlucHV0LWxpbmUtaGVpZ2h0KSA9PSBcIlwiLCAkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1saW5lLWhlaWdodCk7XG5cbiAgICAvLyBBbmRyb2lkIENocm9tZSB0eXBlPVwiZGF0ZVwiIGlzIHRhbGxlciB0aGFuIHRoZSBvdGhlciBpbnB1dHNcbiAgICAvLyBiZWNhdXNlIG9mIFwibWFyZ2luOiAxcHggMjRweCAxcHggNHB4XCIgaW5zaWRlIHRoZSBzaGFkb3cgRE9NXG4gICAgLy8gVGVzdGVkIHVuZGVyIEFuZHJvaWQgMTEgLyBDaHJvbWUgODksIEFuZHJvaWQgMTIgLyBDaHJvbWUgMTAwLCBBbmRyb2lkIDEzIC8gQ2hyb21lIDEwOVxuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFByZXZlbnQgZXhjZXNzaXZlIGRhdGUgaW5wdXQgaGVpZ2h0IGluIFdlYmtpdFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzM0NDMzXG4gICY6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGlucHV0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRmlsZSBpbnB1dCBidXR0b25zIHRoZW1pbmdcbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteSkgKC0kaW5wdXQtcGFkZGluZy14KTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogJGZvcm0tZmlsZS1idXR0b24tY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tZmlsZS1idXR0b24tYmcpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc7XG4gIH1cbn1cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xuXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXktc20pICgtJGlucHV0LXBhZGRpbmcteC1zbSk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcblxuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15LWxnKSAoLSRpbnB1dC1wYWRkaW5nLXgtbGcpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14LWxnO1xuICB9XG59XG5cbi8vIE1ha2Ugc3VyZSB0ZXh0YXJlYXMgZG9uJ3Qgc2hyaW5rIHRvbyBtdWNoIHdoZW4gcmVzaXplZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjkxMjRcbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxudGV4dGFyZWEge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIH1cbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICB3aWR0aDogJGZvcm0tY29sb3Itd2lkdGg7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteTtcblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjo6LW1vei1jb2xvci1zd2F0Y2gge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20geyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207IH1cbiAgJi5mb3JtLWNvbnRyb2wtbGcgeyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1iZy1taXhpblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcjogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGdyYWRpZW50LWJnLW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1taXhpbnNcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiBudWxsLCAkZW5kLXBlcmNlbnQ6IG51bGwpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtbWl4aW5zXG4iLCIvLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuXG4uZm9ybS1zZWxlY3Qge1xuICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pbWc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yKX07XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAkZm9ybS1zZWxlY3QtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLXNlbGVjdC1jb2xvcjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tc2VsZWN0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nKSwgdmFyKC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWljb24sIG5vbmUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zZWxlY3QtYmctcG9zaXRpb247XG4gIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemU7XG4gIGJvcmRlcjogJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tc2VsZWN0LXRyYW5zaXRpb24pO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdywgJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRmb3JtLXNlbGVjdC1jb2xvcjtcbiAgfVxufVxuXG4uZm9ybS1zZWxlY3Qtc20ge1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXNlbGVjdC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tc2VsZWN0LWxnIHtcbiAgcGFkZGluZy10b3A6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctYm90dG9tOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5mb3JtLXNlbGVjdCB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pbWc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDaGVjay9yYWRpb1xuLy9cblxuLmZvcm0tY2hlY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvcm0tY2hlY2stbWluLWhlaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1jaGVjay1tYXJnaW4tYm90dG9tO1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydCAqIC0xO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLXJldmVyc2Uge1xuICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnOiAjeyRmb3JtLWNoZWNrLWlucHV0LWJnfTtcblxuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6ICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoO1xuICBoZWlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoO1xuICBtYXJnaW4tdG9wOiAoJGxpbmUtaGVpZ2h0LWJhc2UgLSAkZm9ybS1jaGVjay1pbnB1dC13aWR0aCkgKiAuNTsgLy8gbGluZS1oZWlnaHQgbWludXMgY2hlY2sgaGVpZ2h0XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2UpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYm9yZGVyOiAkZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI7XG4gIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IC8vIEtlZXAgdGhlbWVkIGFwcGVhcmFuY2UgZm9yIHByaW50XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tY2hlY2stdHJhbnNpdGlvbik7XG5cbiAgJlt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWNoZWNrLXJhZGlvLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgZmlsdGVyOiAkZm9ybS1jaGVjay1pbnB1dC1hY3RpdmUtZmlsdGVyO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3JkZXI7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3I7XG5cbiAgICAmW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlKX07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJlt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbdHlwZT1cImNoZWNrYm94XCJdOmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjtcblxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2UpfTtcbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBmaWx0ZXI6IG5vbmU7XG4gICAgb3BhY2l0eTogJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eTtcbiAgfVxuXG4gIC8vIFVzZSBkaXNhYmxlZCBhdHRyaWJ1dGUgaW4gYWRkaXRpb24gb2YgOmRpc2FibGVkIHBzZXVkby1jbGFzc1xuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0sXG4gICY6ZGlzYWJsZWQge1xuICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogJGZvcm0tY2hlY2stbGFiZWwtZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBjb2xvcjogJGZvcm0tY2hlY2stbGFiZWwtY29sb3I7XG4gIGN1cnNvcjogJGZvcm0tY2hlY2stbGFiZWwtY3Vyc29yO1xufVxuXG4vL1xuLy8gU3dpdGNoXG4vL1xuXG4uZm9ybS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0O1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1iZy1pbWFnZSl9O1xuXG4gICAgd2lkdGg6ICRmb3JtLXN3aXRjaC13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXMsIDApO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tc3dpdGNoLXRyYW5zaXRpb24pO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1mb2N1cy1iZy1pbWFnZSl9O1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1wb3NpdGlvbjtcblxuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2UpfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZvcm0tY2hlY2stcmV2ZXJzZSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydCAqIC0xO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDtcbn1cblxuLmJ0bi1jaGVjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0sXG4gICY6ZGlzYWJsZWQge1xuICAgICsgLmJ0biB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWJ0bi1jaGVjay1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuZm9ybS1zd2l0Y2ggLmZvcm0tY2hlY2staW5wdXQ6bm90KDpjaGVja2VkKTpub3QoOmZvY3VzKSB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1iZy1pbWFnZS1kYXJrKX07XG4gICAgfVxuICB9XG59XG4iLCIvLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5mb3JtLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCwgJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDIpO1xuICBwYWRkaW5nOiAwOyAvLyBOZWVkIHRvIHJlc2V0IHBhZGRpbmdcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcblxuICAgIC8vIFBzZXVkby1lbGVtZW50cyBtdXN0IGJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBydWxlc2V0cyB0byBoYXZlIGFuIGVmZmVjdC5cbiAgICAvLyBObyBib3gtc2hhZG93KCkgbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHkuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBib3gtc2hhZG93OiAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gIH1cblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6ICgkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQgLSAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQpICogLjU7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXJhbmdlLXRodW1iLXRyYW5zaXRpb24pO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXJhbmdlLXRodW1iLXRyYW5zaXRpb24pO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvcm0tZmxvYXRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1oZWlnaHQ7XG4gICAgbWluLWhlaWdodDogJGZvcm0tZmxvYXRpbmctaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDtcbiAgfVxuXG4gID4gbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogMTAwJTsgLy8gYWxsb3cgdGV4dGFyZWFzXG4gICAgcGFkZGluZzogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyAvLyBSZXF1aXJlZCBmb3IgYWxpZ25pbmcgbGFiZWwncyB0ZXh0IHdpdGggdGhlIGlucHV0IGFzIGl0IGFmZmVjdHMgaW5uZXIgYm94IG1vZGVsXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbik7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgIHBhZGRpbmc6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICAgIH1cbiAgICAvLyBEdXBsaWNhdGVkIGJlY2F1c2UgYDotd2Via2l0LWF1dG9maWxsYCBpbnZhbGlkYXRlcyBvdGhlciBzZWxlY3RvcnMgd2hlbiBncm91cGVkXG4gICAgJjotd2Via2l0LWF1dG9maWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICAgIH1cbiAgfVxuXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmZvcm0tY29udHJvbDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuZm9ybS1zZWxlY3Qge1xuICAgIH4gbGFiZWwge1xuICAgICAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiKSwgI3skZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5fSk7XG4gICAgICB0cmFuc2Zvcm06ICRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXkgKCRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteCAqIC41KTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGhlaWdodDogJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBEdXBsaWNhdGVkIGJlY2F1c2UgYDotd2Via2l0LWF1dG9maWxsYCBpbnZhbGlkYXRlcyBvdGhlciBzZWxlY3RvcnMgd2hlbiBncm91cGVkXG4gID4gLmZvcm0tY29udHJvbDotd2Via2l0LWF1dG9maWxsIHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksICN7JGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eX0pO1xuICAgICAgdHJhbnNmb3JtOiAkZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm07XG4gICAgfVxuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDsgLy8gUmVxdWlyZWQgdG8gcHJvcGVybHkgcG9zaXRpb24gbGFiZWwgdGV4dCAtIGFzIGV4cGxhaW5lZCBhYm92ZVxuICAgIH1cbiAgfVxuXG4gID4gOmRpc2FibGVkIH4gbGFiZWwsXG4gID4gLmZvcm0tY29udHJvbDpkaXNhYmxlZCB+IGxhYmVsIHsgLy8gUmVxdWlyZWQgZm9yIGAuZm9ybS1jb250cm9sYHMgYmVjYXVzZSBvZiBzcGVjaWZpY2l0eVxuICAgIGNvbG9yOiAkZm9ybS1mbG9hdGluZy1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1zZWxlY3QsXG4gID4gLmZvcm0tZmxvYXRpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiAxJTtcbiAgICBtaW4td2lkdGg6IDA7IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM2MjQ3MTQwL3doeS1kb250LWZsZXgtaXRlbXMtc2hyaW5rLXBhc3QtY29udGVudC1zaXplXG4gIH1cblxuICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBmb3JtIGNvbnRyb2wgdG8gdGhlIHRvcCBvZiBzdXJyb3VuZGluZyBlbGVtZW50c1xuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmZvcm0tc2VsZWN0OmZvY3VzLFxuICA+IC5mb3JtLWZsb2F0aW5nOmZvY3VzLXdpdGhpbiB7XG4gICAgei1pbmRleDogNTtcbiAgfVxuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXkgJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpOyAvLyBNYXRjaCBpbnB1dHNcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1ncm91cC1hZGRvbi1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLXNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKyAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG59XG5cblxuLy8gUm91bmRlZCBjb3JuZXJzXG4vL1xuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcbi8vIGJvcmRlci1yYWRpdXMgdmFsdWVzIHdoZW4gZXh0ZW5kaW5nLiBUaGV5J3JlIG1vcmUgc3BlY2lmaWMgdGhhbiB3ZSdkIGxpa2Vcbi8vIHdpdGggdGhlIGAuaW5wdXQtZ3JvdXAgPmAgcGFydCwgYnV0IHdpdGhvdXQgaXQsIHdlIGNhbm5vdCBvdmVycmlkZSB0aGUgc2l6aW5nLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLmlucHV0LWdyb3VwIHtcbiAgJjpub3QoLmhhcy12YWxpZGF0aW9uKSB7XG4gICAgPiA6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSk6bm90KC5kcm9wZG93bi1tZW51KTpub3QoLmZvcm0tZmxvYXRpbmcpLFxuICAgID4gLmRyb3Bkb3duLXRvZ2dsZTpudGgtbGFzdC1jaGlsZChuICsgMyksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmxhc3QtY2hpbGQpID4gLmZvcm0tY29udHJvbCxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6bGFzdC1jaGlsZCkgPiAuZm9ybS1zZWxlY3Qge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG5cbiAgJi5oYXMtdmFsaWRhdGlvbiB7XG4gICAgPiA6bnRoLWxhc3QtY2hpbGQobiArIDMpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTpub3QoLmRyb3Bkb3duLW1lbnUpOm5vdCguZm9ybS1mbG9hdGluZyksXG4gICAgPiAuZHJvcGRvd24tdG9nZ2xlOm50aC1sYXN0LWNoaWxkKG4gKyA0KSxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5mb3JtLWNvbnRyb2wsXG4gICAgPiAuZm9ybS1mbG9hdGluZzpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuZm9ybS1zZWxlY3Qge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG5cbiAgJHZhbGlkYXRpb24tbWVzc2FnZXM6IFwiXCI7XG4gIEBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkZm9ybS12YWxpZGF0aW9uLXN0YXRlcykge1xuICAgICR2YWxpZGF0aW9uLW1lc3NhZ2VzOiAkdmFsaWRhdGlvbi1tZXNzYWdlcyArIFwiOm5vdCguXCIgKyB1bnF1b3RlKCRzdGF0ZSkgKyBcIi10b29sdGlwKVwiICsgXCI6bm90KC5cIiArIHVucXVvdGUoJHN0YXRlKSArIFwiLWZlZWRiYWNrKVwiO1xuICB9XG5cbiAgPiA6bm90KDpmaXJzdC1jaGlsZCk6bm90KC5kcm9wZG93bi1tZW51KSN7JHZhbGlkYXRpb24tbWVzc2FnZXN9IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygjeyRpbnB1dC1ib3JkZXItd2lkdGh9ICogLTEpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZpcnN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxufVxuIiwiLy8gVGhpcyBtaXhpbiB1c2VzIGFuIGBpZigpYCB0ZWNobmlxdWUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIERhcnQgU2Fzc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzE4NzMjaXNzdWVjb21tZW50LTE1MjI5MzcyNSBmb3IgbW9yZSBkZXRhaWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tbWl4aW5zXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICBAaWYgKCRzdGF0ZSA9PSBcInZhbGlkXCIgb3IgJHN0YXRlID09IFwiaW52YWxpZFwiKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgI3tpZigmLCBcIiZcIiwgXCJcIil9OiN7JHN0YXRlfSxcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcbiAgJHN0YXRlLFxuICAkY29sb3IsXG4gICRpY29uLFxuICAkdG9vbHRpcC1jb2xvcjogY29sb3ItY29udHJhc3QoJGNvbG9yKSxcbiAgJHRvb2x0aXAtYmctY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpLFxuICAkZm9jdXMtYm94LXNoYWRvdzogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICRib3JkZXItY29sb3I6ICRjb2xvclxuKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBmb250LXN0eWxlOiAkZm9ybS1mZWVkYmFjay1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgJjpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksXG4gICAgICAgICY6bm90KFttdWx0aXBsZV0pW3NpemU9XCIxXCJdIHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pY29uOiAje2VzY2FwZS1zdmcoJGljb24pfTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWVuZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zZWxlY3QtYmctcG9zaXRpb24sICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemUsICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdywgJGZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sLWNvbG9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgd2lkdGg6IGFkZCgkZm9ybS1jb2xvci13aWR0aCwgJGlucHV0LWhlaWdodC1pbm5lcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICB9XG5cbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgICBtYXJnaW4tbGVmdDogLjVlbTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAge1xuICAgID4gLmZvcm0tY29udHJvbDpub3QoOmZvY3VzKSxcbiAgICA+IC5mb3JtLXNlbGVjdDpub3QoOmZvY3VzKSxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICAgIEBpZiAkc3RhdGUgPT0gXCJ2YWxpZFwiIHtcbiAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB9IEBlbHNlIGlmICRzdGF0ZSA9PSBcImludmFsaWRcIiB7XG4gICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tbWl4aW5zXG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXg6ICN7JGJ0bi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy15OiAjeyRidG4tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtZmFtaWx5OiAjeyRidG4tZm9udC1mYW1pbHl9O1xuICBAaW5jbHVkZSByZnMoJGJ0bi1mb250LXNpemUsIC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1idG4tZm9udC13ZWlnaHQ6ICN7JGJ0bi1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fWJ0bi1saW5lLWhlaWdodDogI3skYnRuLWxpbmUtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRidG4tY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXdpZHRoOiAjeyRidG4tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzOiAjeyRidG4tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdzogI3skYnRuLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtb3BhY2l0eTogI3skYnRuLWRpc2FibGVkLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdzogMCAwIDAgI3skYnRuLWZvY3VzLXdpZHRofSByZ2JhKHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYiksIC41KTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBidG4tY3NzLXZhcnNcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1idG4tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtZmFtaWx5KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1idG4tbGluZS1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBpZigkZW5hYmxlLWJ1dHRvbi1wb2ludGVycywgcG9pbnRlciwgbnVsbCk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1idG4tYmcpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC5idG4tY2hlY2sgKyAmOmhvdmVyIHtcbiAgICAvLyBvdmVycmlkZSBmb3IgdGhlIGNoZWNrYm94L3JhZGlvIGJ1dHRvbnNcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnKSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmZvY3VzLXZpc2libGUgKyAmIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Y2hlY2tlZCArICYsXG4gIDpub3QoLmJ0bi1jaGVjaykgKyAmOmFjdGl2ZSxcbiAgJjpmaXJzdC1jaGlsZDphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAmLnNob3cge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmcpO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpKTtcblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Y2hlY2tlZDpmb2N1cy12aXNpYmxlICsgJiB7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXQ6ZGlzYWJsZWQgJiB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFudC1sb29wc1xuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tI3skY29sb3J9IHtcbiAgICBAaWYgJGNvbG9yID09IFwibGlnaHRcIiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYmctc2hhZGUtYW1vdW50KSxcbiAgICAgICAgJGhvdmVyLWJvcmRlcjogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJhY2tncm91bmQ6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1ib3JkZXI6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudClcbiAgICAgICk7XG4gICAgfSBAZWxzZSBpZiAkY29sb3IgPT0gXCJkYXJrXCIge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkaG92ZXItYmFja2dyb3VuZDogdGludC1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYmctdGludC1hbW91bnQpLFxuICAgICAgICAkaG92ZXItYm9yZGVyOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJhY2tncm91bmQ6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYm9yZGVyOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50KVxuICAgICAgKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFudC1sb29wc1xuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICAtLSN7JHByZWZpeH1idG4tZm9udC13ZWlnaHQ6ICN7JGZvbnQtd2VpZ2h0LW5vcm1hbH07XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skYnRuLWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRidG4tbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRidG4tbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRidG4tbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdzogMCAwIDAgIzAwMDsgLy8gQ2FuJ3QgdXNlIGBub25lYCBhcyBrZXl3b3JkIG5lZ2F0ZXMgYWxsIHZhbHVlcyB3aGVuIHVzZWQgd2l0aCBtdWx0aXBsZSBzaGFkb3dzXG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAjeyRidG4tbGluay1mb2N1cy1zaGFkb3ctcmdifTtcblxuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jb2xvcik7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRidG4tZm9udC1zaXplLWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tdmFyaWFudChcbiAgJGJhY2tncm91bmQsXG4gICRib3JkZXIsXG4gICRjb2xvcjogY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpLFxuICAkaG92ZXItYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCkpLFxuICAkaG92ZXItYm9yZGVyOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRib3JkZXIsICRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50KSksXG4gICRob3Zlci1jb2xvcjogY29sb3ItY29udHJhc3QoJGhvdmVyLWJhY2tncm91bmQpLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWJvcmRlcjogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50KSksXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZCksXG4gICRkaXNhYmxlZC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCxcbiAgJGRpc2FibGVkLWJvcmRlcjogJGJvcmRlcixcbiAgJGRpc2FibGVkLWNvbG9yOiBjb2xvci1jb250cmFzdCgkZGlzYWJsZWQtYmFja2dyb3VuZClcbikge1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiAjeyRiYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3skYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogI3skaG92ZXItYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGhvdmVyLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAje3RvLXJnYihtaXgoJGNvbG9yLCAkYm9yZGVyLCAxNSUpKX07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogI3skYnRuLWFjdGl2ZS1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRkaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZzogI3skZGlzYWJsZWQtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGRpc2FibGVkLWJvcmRlcn07XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYW50LW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tb3V0bGluZS12YXJpYW50LW1peGluXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudChcbiAgJGNvbG9yLFxuICAkY29sb3ItaG92ZXI6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciksXG4gICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLFxuICAkYWN0aXZlLWJvcmRlcjogJGNvbG9yLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWN0aXZlLWJhY2tncm91bmQpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRjb2xvci1ob3Zlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKCRjb2xvcil9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRhY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6ICN7JGJ0bi1hY3RpdmUtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWdyYWRpZW50OiBub25lO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tb3V0bGluZS12YXJpYW50LW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tc2l6ZS1taXhpblxuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXk6ICN7JHBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXg6ICN7JHBhZGRpbmcteH07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLCAtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tc2l6ZS1taXhpblxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sbGFwc2UtY2xhc3Nlc1xuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcblxuICAmLmNvbGxhcHNlLWhvcml6b250YWwge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjb2xsYXBzZS1jbGFzc2VzXG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcGVuZCxcbi5kcm9wZG93bixcbi5kcm9wc3RhcnQsXG4uZHJvcHVwLWNlbnRlcixcbi5kcm9wZG93bi1jZW50ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0KCk7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi16aW5kZXg6ICN7JHppbmRleC1kcm9wZG93bn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLW1pbi13aWR0aDogI3skZHJvcGRvd24tbWluLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy14OiAjeyRkcm9wZG93bi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcjogI3skZHJvcGRvd24tc3BhY2VyfTtcbiAgQGluY2x1ZGUgcmZzKCRkcm9wZG93bi1mb250LXNpemUsIC0tI3skcHJlZml4fWRyb3Bkb3duLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yOiAjeyRkcm9wZG93bi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJnOiAjeyRkcm9wZG93bi1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcjogI3skZHJvcGRvd24tYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXJhZGl1czogI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci13aWR0aDogI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogI3skZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItYmc6ICN7JGRyb3Bkb3duLWRpdmlkZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAjeyRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdzogI3skZHJvcGRvd24tYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1iZzogI3skZHJvcGRvd24tbGluay1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAjeyRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteDogI3skZHJvcGRvd24taXRlbS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteTogI3skZHJvcGRvd24taXRlbS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItY29sb3I6ICN7JGRyb3Bkb3duLWhlYWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAjeyRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXppbmRleCk7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIG1pbi13aWR0aDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLW1pbi13aWR0aCk7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXgpO1xuICBtYXJnaW46IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgbWFyZ2luIG9mIHVsXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdykpO1xuXG4gICZbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIEBpZiAkZHJvcGRvd24tcGFkZGluZy15ID09IDAge1xuICAgID4gLmRyb3Bkb3duLWl0ZW06Zmlyc3QtY2hpbGQsXG4gICAgPiBsaTpmaXJzdC1jaGlsZCAuZHJvcGRvd24taXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgICA+IC5kcm9wZG93bi1pdGVtOmxhc3QtY2hpbGQsXG4gICAgPiBsaTpsYXN0LWNoaWxkIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuXG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHJlc3BvbnNpdmUtYnJlYWtwb2ludHNcbi8vIFdlIGRlbGliZXJhdGVseSBoYXJkY29kZSB0aGUgYGJzLWAgcHJlZml4IGJlY2F1c2Ugd2UgY2hlY2tcbi8vIHRoaXMgY3VzdG9tIHByb3BlcnR5IGluIEpTIHRvIGRldGVybWluZSBQb3BwZXIncyBwb3NpdGlvbmluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1zdGFydCB7XG4gICAgICAtLWJzLXBvc2l0aW9uOiBzdGFydDtcblxuICAgICAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1lbmQge1xuICAgICAgLS1icy1wb3NpdGlvbjogZW5kO1xuXG4gICAgICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCByZXNwb25zaXZlLWJyZWFrcG9pbnRzXG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wZW5kIHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGVuZCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wc3RhcnQge1xuICAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHN0YXJ0KTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15KSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItYmcpO1xuICBvcGFjaXR5OiAxOyAvLyBSZXZpc2l0IGluIHY2IHRvIGRlLWR1cGUgc3R5bGVzIHRoYXQgY29uZmxpY3Qgd2l0aCA8aHI+IGVsZW1lbnRcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14KTtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3IpO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLWJvcmRlci1yYWRpdXMsIDApKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnKSk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmcpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItY29sb3IpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3IpO1xufVxuXG4vLyBEYXJrIGRyb3Bkb3duc1xuLmRyb3Bkb3duLW1lbnUtZGFyayB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmc6ICN7JGRyb3Bkb3duLWRhcmstYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdzogI3skZHJvcGRvd24tZGFyay1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZzogI3skZHJvcGRvd24tZGFyay1kaXZpZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1iZzogI3skZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogI3skZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstY3NzLXZhcnNcbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBjYXJldC1taXhpbnNcbkBtaXhpbiBjYXJldC1kb3duKCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCgkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtZW5kKCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1zdGFydCgkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldChcbiAgJGRpcmVjdGlvbjogZG93bixcbiAgJHdpZHRoOiAkY2FyZXQtd2lkdGgsXG4gICRzcGFjaW5nOiAkY2FyZXQtc3BhY2luZyxcbiAgJHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ25cbikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nO1xuICAgICAgdmVydGljYWwtYWxpZ246ICR2ZXJ0aWNhbC1hbGlnbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bigkd2lkdGgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXAoJHdpZHRoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBlbmQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1lbmQoJHdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBzdGFydCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICR2ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtc3RhcnQoJHdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY2FyZXQtbWl4aW5zXG4iLCIvLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAvLyB0aGUgYm9yZGVycyBwcm9wZXJseVxuICA+IC5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4sXG4gID4gLmJ0bi1jaGVjazpmb2N1cyArIC5idG4sXG4gID4gLmJ0bjpob3ZlcixcbiAgPiAuYnRuOmZvY3VzLFxuICA+IC5idG46YWN0aXZlLFxuICA+IC5idG4uYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJ0bi1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4gID4gOm5vdCguYnRuLWNoZWNrOmZpcnN0LWNoaWxkKSArIC5idG4sXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoI3skYnRuLWJvcmRlci13aWR0aH0gKiAtMSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0OmZpcnN0LWNoaWxkLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICB9XG5cbiAgLy8gVGhlIGxlZnQgcmFkaXVzIHNob3VsZCBiZSAwIGlmIHRoZSBidXR0b24gaXM6XG4gIC8vIC0gdGhlIFwidGhpcmQgb3IgbW9yZVwiIGNoaWxkXG4gIC8vIC0gdGhlIHNlY29uZCBjaGlsZCBhbmQgdGhlIHByZXZpb3VzIGVsZW1lbnQgaXNuJ3QgYC5idG4tY2hlY2tgIChtYWtpbmcgaXQgdGhlIGZpcnN0IGNoaWxkIHZpc3VhbGx5KVxuICAvLyAtIHBhcnQgb2YgYSBidG4tZ3JvdXAgd2hpY2ggaXNuJ3QgdGhlIGZpcnN0IGNoaWxkXG4gID4gLmJ0bjpudGgtY2hpbGQobiArIDMpLFxuICA+IDpub3QoLmJ0bi1jaGVjaykgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG59XG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vL1xuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy9cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyLFxuICAuZHJvcHVwICY6OmFmdGVyLFxuICAuZHJvcGVuZCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcHN0YXJ0ICY6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skYnRuLWJvcmRlci13aWR0aH0gKiAtMSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuIH4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXg6ICN7JG5hdi1saW5rLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteTogI3skbmF2LWxpbmstcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRuYXYtbGluay1mb250LXNpemUsIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0OiAjeyRuYXYtbGluay1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yOiAjeyRuYXYtbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yOiAjeyRuYXYtbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRuYXYtbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbmF2LWxpbmstdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJG5hdi1saW5rLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi10YWJzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aDogI3skbmF2LXRhYnMtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItcmFkaXVzOiAjeyRuYXYtdGFicy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi10YWJzLWNzcy12YXJzXG5cbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1jb2xvcik7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1yYWRpdXMpKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBQcmV2ZW50cyBhY3RpdmUgLm5hdi1saW5rIHRhYiBvdmVybGFwcGluZyBmb2N1cyBvdXRsaW5lIG9mIHByZXZpb3VzL25leHQgLm5hdi1saW5rXG4gICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi1waWxscy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogI3skbmF2LXBpbGxzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICN7JG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogI3skbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtcGlsbHMtY3NzLXZhcnNcblxuICAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1ib3JkZXItcmFkaXVzKSk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtYmcpKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBVbmRlcmxpbmVcbi8vXG5cbi5uYXYtdW5kZXJsaW5lIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi11bmRlcmxpbmUtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1nYXA6ICN7JG5hdi11bmRlcmxpbmUtZ2FwfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGg6ICN7JG5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXVuZGVybGluZS1jc3MtdmFyc1xuXG4gIGdhcDogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtZ2FwKTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudGNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1maWxsLFxuLm5hdi1qdXN0aWZpZWQge1xuICAubmF2LWl0ZW0gLm5hdi1saW5rIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gTWFrZSBzdXJlIGJ1dHRvbiB3aWxsIGdyb3dcbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLy8gTmF2YmFyXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy14OiAje2lmKCRuYXZiYXItcGFkZGluZy14ID09IG51bGwsIDAsICRuYXZiYXItcGFkZGluZy14KX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXk6ICN7JG5hdmJhci1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItY29sb3I6ICN7JG5hdmJhci1saWdodC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWRpc2FibGVkLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteTogI3skbmF2YmFyLWJyYW5kLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAjeyRuYXZiYXItYnJhbmQtbWFyZ2luLWVuZH07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1mb250LXNpemU6ICN7JG5hdmJhci1icmFuZC1mb250LXNpemV9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3I6ICN7JG5hdmJhci1saWdodC1icmFuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogI3skbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogI3skbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAjeyRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICN7JG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmc6ICN7ZXNjYXBlLXN2ZygkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3I6ICN7JG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICN7JG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogI3skbmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAjeyRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9ufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoKTtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gIC8vIFRoZSBgZmxleC13cmFwYCBwcm9wZXJ0eSBpcyBpbmhlcml0ZWQgdG8gc2ltcGxpZnkgdGhlIGV4cGFuZGVkIG5hdmJhcnNcbiAgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBpbmhlcml0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgPiAuY29udGFpbmVyLFxuICA+IC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1wYWRkaW5nLXkpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1wYWRkaW5nLXkpO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtbWFyZ2luLWVuZCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1uYXYtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14OiAwO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXk6ICN7JG5hdi1saW5rLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkbmF2LWxpbmstZm9udC1zaXplLCAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodDogI3skbmF2LWxpbmstZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3IpO1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1uYXYtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5uYXYtbGluayB7XG4gICAgJi5hY3RpdmUsXG4gICAgJi5zaG93IHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuXG4gIGEsXG4gIGE6aG92ZXIsXG4gIGE6Zm9jdXMgIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3IpO1xuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciByZXNwb25zaXZlIGNvbGxhcHNpbmcgYW5kIHRvZ2dsaW5nIG9mIG5hdmJhciBjb250ZW50cy5cbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLy8gV2hlbiBjb2xsYXBzZWQsIHByZXZlbnQgdGhlIHRvZ2dsZWFibGUgbmF2YmFyIGNvbnRlbnRzIGZyb20gYXBwZWFyaW5nIGluXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbnRhdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9udC1zaXplKSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yKTsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbikpO1xuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aCk7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xufVxuXG4ubmF2YmFyLW5hdi1zY3JvbGwge1xuICBtYXgtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c2Nyb2xsLWhlaWdodCwgNzV2aCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItZXhwYW5kLWxvb3Bcbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL3NlbGVjdG9yLW5vLXVuaW9uLWNsYXNzLW5hbWVcbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9mZmNhbnZhcyB7XG4gICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICB6LWluZGV4OiBhdXRvO1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihub25lKTtcbiAgICAgICAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICAgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAub2ZmY2FudmFzLWJvZHkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZXhwYW5kLWxvb3BcblxuLy8gTmF2YmFyIHRoZW1lc1xuLy9cbi8vIFN0eWxlcyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gbmF2YmFycyB3aXRoIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC5cblxuLm5hdmJhci1saWdodCB7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImAubmF2YmFyLWxpZ2h0YFwiLCBcInY1LjIuMFwiLCBcInY2LjAuMFwiLCB0cnVlKTtcbn1cblxuLm5hdmJhci1kYXJrLFxuLm5hdmJhcltkYXRhLWJzLXRoZW1lPVwiZGFya1wiXSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItZGFyay1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXZiYXItY29sb3I6ICN7JG5hdmJhci1kYXJrLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcjogI3skbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yOiAjeyRuYXZiYXItZGFyay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3I6ICN7JG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcjogI3skbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLWNzcy12YXJzXG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICAgIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmc6ICN7ZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKX07XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmQtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteTogI3skY2FyZC1zcGFjZXIteX07XG4gIC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXg6ICN7JGNhcmQtc3BhY2VyLXh9O1xuICAtLSN7JHByZWZpeH1jYXJkLXRpdGxlLXNwYWNlci15OiAjeyRjYXJkLXRpdGxlLXNwYWNlci15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1jb2xvcjogI3skY2FyZC10aXRsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtc3VidGl0bGUtY29sb3I6ICN7JGNhcmQtc3VidGl0bGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aDogI3skY2FyZC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcjogI3skY2FyZC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1yYWRpdXM6ICN7JGNhcmQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWNhcmQtYm94LXNoYWRvdzogI3skY2FyZC1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXk6ICN7JGNhcmQtY2FwLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteDogI3skY2FyZC1jYXAtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmc6ICN7JGNhcmQtY2FwLWJnfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3I6ICN7JGNhcmQtY2FwLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1oZWlnaHQ6ICN7JGNhcmQtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jb2xvcjogI3skY2FyZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYmc6ICN7JGNhcmQtYmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICN7JGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZ307XG4gIC0tI3skcHJlZml4fWNhcmQtZ3JvdXAtbWFyZ2luOiAjeyRjYXJkLWdyb3VwLW1hcmdpbn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgY2FyZC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjI3NDAjaXNzdWVjb21tZW50LTMwNTg2ODEwNlxuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1jYXJkLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcik7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3gtc2hhZG93KSk7XG5cbiAgPiBociB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgPiAubGlzdC1ncm91cCB7XG4gICAgYm9yZGVyLXRvcDogaW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBEdWUgdG8gc3BlY2lmaWNpdHkgb2YgdGhlIGFib3ZlIHNlbGVjdG9yIChgLmNhcmQgPiAubGlzdC1ncm91cGApLCB3ZSBtdXN0XG4gIC8vIHVzZSBhIGNoaWxkIHNlbGVjdG9yIGhlcmUgdG8gcHJldmVudCBkb3VibGUgYm9yZGVycy5cbiAgPiAuY2FyZC1oZWFkZXIgKyAubGlzdC1ncm91cCxcbiAgPiAubGlzdC1ncm91cCArIC5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG4uY2FyZC1ib2R5IHtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIGZvciBkZWNrcyBhbmQgZ3JvdXBzIHNvIHRoYXQgY2FyZCBibG9ja3MgdGFrZSB1cFxuICAvLyBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLCBlbnN1cmluZyBmb290ZXJzIGFyZSBhbGlnbmVkIHRvIHRoZSBib3R0b20uXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY29sb3IpO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1jYXJkLXRpdGxlLXNwYWNlci15KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLXRpdGxlLWNvbG9yKTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLXRpdGxlLXNwYWNlci15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zdWJ0aXRsZS1jb2xvcik7XG59XG5cbi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWxpbmsge1xuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14KTtcbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIDAgMCk7XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmcpO1xuICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIC5uYXYtbGluay5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gIH1cbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3AsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbi5jYXJkLWdyb3VwIHtcbiAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICA+IC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ncm91cC1tYXJnaW4pO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBicmVhZGNydW1iLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy14OiAjeyRicmVhZGNydW1iLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy15OiAjeyRicmVhZGNydW1iLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogI3skYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tfTtcbiAgQGluY2x1ZGUgcmZzKCRicmVhZGNydW1iLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnOiAjeyRicmVhZGNydW1iLWJnfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAjeyRicmVhZGNydW1iLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICN7JGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAjeyRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnJlYWRjcnVtYi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSkpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14KTtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yKTtcbiAgICAgIGNvbnRlbnQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXIsIGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlcikpICN7XCIvKiBydGw6XCJ9IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXIsIGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkKSkgI3tcIiovXCJ9O1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3IpO1xuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hY2NvcmRpb24ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1jb2xvcjogI3skYWNjb3JkaW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnOiAjeyRhY2NvcmRpb24tYmd9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tdHJhbnNpdGlvbjogI3skYWNjb3JkaW9uLXRyYW5zaXRpb259O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAjeyRhY2NvcmRpb24tYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aDogI3skYWNjb3JkaW9uLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAjeyRhY2NvcmRpb24tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRhY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy14OiAjeyRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy15OiAjeyRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tY29sb3I6ICN7JGFjY29yZGlvbi1idXR0b24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWJnOiAjeyRhY2NvcmRpb24tYnV0dG9uLWJnfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24taWNvbil9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGg6ICN7JGFjY29yZGlvbi1pY29uLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zZm9ybTogI3skYWNjb3JkaW9uLWljb24tdHJhbnNmb3JtfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zaXRpb246ICN7JGFjY29yZGlvbi1pY29uLXRyYW5zaXRpb259O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb24pfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAjeyRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6ICN7JGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteTogI3skYWNjb3JkaW9uLWJvZHktcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJnOiAjeyRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1iZ307XG4gIC8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLWNzcy12YXJzXG59XG5cbi5hY2NvcmRpb24tYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gUmVzZXQgYnV0dG9uIHN0eWxlXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWJnKTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi10cmFuc2l0aW9uKSk7XG5cbiAgJjpub3QoLmNvbGxhcHNlZCkge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYmcpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoKSkgMCB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcik7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbik7XG4gICAgICB0cmFuc2Zvcm06IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtKTtcbiAgICB9XG4gIH1cblxuICAvLyBBY2NvcmRpb24gaWNvblxuICAmOjphZnRlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zaXRpb24pKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cbn1cblxuLmFjY29yZGlvbi1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYWNjb3JkaW9uLWl0ZW0ge1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcblxuICAgID4gLmFjY29yZGlvbi1oZWFkZXIgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG5cbiAgLy8gT25seSBzZXQgYSBib3JkZXItcmFkaXVzIG9uIHRoZSBsYXN0IGl0ZW0gaWYgdGhlIGFjY29yZGlvbiBpcyBjb2xsYXBzZWRcbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgPiAuYWNjb3JkaW9uLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAmLmNvbGxhcHNlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cblxuLmFjY29yZGlvbi1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteCk7XG59XG5cblxuLy8gRmx1c2ggYWNjb3JkaW9uIGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBhY2NvcmRpb24gaXRlbXMgZWRnZS10by1lZGdlLlxuXG4uYWNjb3JkaW9uLWZsdXNoIHtcbiAgPiAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7IGJvcmRlci10b3A6IDA7IH1cbiAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAwOyB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtY2xhc3NcbiAgICA+IC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICYsXG4gICAgICAmLmNvbGxhcHNlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbWF4LWNsYXNzXG5cbiAgICA+IC5hY2NvcmRpb24tY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmFjY29yZGlvbi1idXR0b246OmFmdGVyIHtcbiAgICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWljb24tZGFyayl9O1xuICAgICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXg6ICN7JHBhZ2luYXRpb24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXk6ICN7JHBhZ2luYXRpb24tcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRwYWdpbmF0aW9uLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1iZzogI3skcGFnaW5hdGlvbi1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogI3skcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmc6ICN7JHBhZ2luYXRpb24taG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1iZzogI3skcGFnaW5hdGlvbi1mb2N1cy1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogI3skcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYmc6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHBhZ2luYXRpb24tdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYmcpO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgLmFjdGl2ZSA+ICYge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJnKSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gIC5kaXNhYmxlZCA+ICYge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpub3QoOmZpcnN0LWNoaWxkKSAucGFnZS1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0O1xuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydCA9PSBjYWxjKCN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRofSAqIC0xKSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBBZGQgYm9yZGVyLXJhZGl1cyB0byBhbGwgcGFnZUxpbmtzIGluIGNhc2UgdGhleSBoYXZlIGxlZnQgbWFyZ2luXG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tbWl4aW5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXg6ICN7JHBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15OiAjeyRwYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLW1peGluXG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxuLy8gYGJhY2tncm91bmQtY29sb3JgLlxuXG4uYmFkZ2Uge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYmFkZ2UtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy14OiAjeyRiYWRnZS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXk6ICN7JGJhZGdlLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkYmFkZ2UtZm9udC1zaXplLCAtLSN7JHByZWZpeH1iYWRnZS1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1iYWRnZS1mb250LXdlaWdodDogI3skYmFkZ2UtZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1iYWRnZS1jb2xvcjogI3skYmFkZ2UtY29sb3J9O1xuICAtLSN7JHByZWZpeH1iYWRnZS1ib3JkZXItcmFkaXVzOiAjeyRiYWRnZS1ib3JkZXItcmFkaXVzfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBiYWRnZS1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1iYWRnZS1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCk7XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHlcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXg6ICN7JGFsZXJ0LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteTogI3skYWxlcnQtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtbWFyZ2luLWJvdHRvbTogI3skYWxlcnQtbWFyZ2luLWJvdHRvbX07XG4gIC0tI3skcHJlZml4fWFsZXJ0LWNvbG9yOiBpbmhlcml0O1xuICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXI6ICN7JGFsZXJ0LWJvcmRlci13aWR0aH0gc29saWQgdmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcik7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1yYWRpdXM6ICN7JGFsZXJ0LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yOiBpbmhlcml0O1xuICAvLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWFsZXJ0LW1hcmdpbi1ib3R0b20pO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLXJhZGl1cykpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtbGluay1jb2xvcik7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRhbGVydC1kaXNtaXNzaWJsZS1wYWRkaW5nLXI7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmJ0bi1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAkc3RyZXRjaGVkLWxpbmstei1pbmRleCArIDE7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAqIDEuMjUgJGFsZXJ0LXBhZGRpbmcteDtcbiAgfVxufVxuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC1tb2RpZmllcnNcbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnRcbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkdGhlbWUtY29sb3JzKSB7XG4gIC5hbGVydC0jeyRzdGF0ZX0ge1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJnLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJvcmRlci1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWxpbmstY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtbW9kaWZpZXJzXG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZzogI3skbGlzdC1ncm91cC1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAjeyRsaXN0LWdyb3VwLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogI3skbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogI3skbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICN7JGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogI3skbGlzdC1ncm91cC1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1iZzogI3skbGlzdC1ncm91cC1kaXNhYmxlZC1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogI3skbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmxpc3QtZ3JvdXAtbnVtYmVyZWQge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtOjpiZWZvcmUge1xuICAgIC8vIEluY3JlbWVudHMgb25seSB0aGlzIGluc3RhbmNlIG9mIHRoZSBzZWN0aW9uIGNvdW50ZXJcbiAgICBjb250ZW50OiBjb3VudGVycyhzZWN0aW9uLCBcIi5cIikgXCIuIFwiO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xuICB9XG59XG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnKTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZyk7XG4gIH1cbn1cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmcpO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3Mvc2VsZWN0b3Itbm8tcmVkdW5kYW50LW5lc3Rpbmctc2VsZWN0b3JcbiAgJiArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtZW5kLXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1lbmQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuLy8gTGlzdCBncm91cCBjb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkdGhlbWUtY29sb3JzKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJvcmRlci1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJnLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4iLCIvLyBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgcHJvcGVydGllcyBpbmNsdWRlZCBmb3IgYnV0dG9uIHZlcnNpb24uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi5idG4tY2xvc2Uge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWNvbG9yOiAjeyRidG4tY2xvc2UtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtYmc6ICN7IGVzY2FwZS1zdmcoJGJ0bi1jbG9zZS1iZykgfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLXNoYWRvdzogI3skYnRuLWNsb3NlLWZvY3VzLXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAjeyRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAjeyRidG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI6ICN7JGJ0bi1jbG9zZS13aGl0ZS1maWx0ZXJ9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNsb3NlLWNzcy12YXJzXG5cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAkYnRuLWNsb3NlLXdpZHRoO1xuICBoZWlnaHQ6ICRidG4tY2xvc2UtaGVpZ2h0O1xuICBwYWRkaW5nOiAkYnRuLWNsb3NlLXBhZGRpbmcteSAkYnRuLWNsb3NlLXBhZGRpbmcteDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtY29sb3IpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWJnKSBjZW50ZXIgLyAkYnRuLWNsb3NlLXdpZHRoIGF1dG8gbm8tcmVwZWF0OyAvLyBpbmNsdWRlIHRyYW5zcGFyZW50IGZvciBidXR0b24gZWxlbWVudHNcbiAgYm9yZGVyOiAwOyAvLyBmb3IgYnV0dG9uIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbiAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1vcGFjaXR5KTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtaG92ZXItb3BhY2l0eSk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtc2hhZG93KTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLW9wYWNpdHkpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgfVxufVxuXG5AbWl4aW4gYnRuLWNsb3NlLXdoaXRlKCkge1xuICBmaWx0ZXI6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2Utd2hpdGUtZmlsdGVyKTtcbn1cblxuLmJ0bi1jbG9zZS13aGl0ZSB7XG4gIEBpbmNsdWRlIGJ0bi1jbG9zZS13aGl0ZSgpO1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuYnRuLWNsb3NlIHtcbiAgICAgIEBpbmNsdWRlIGJ0bi1jbG9zZS13aGl0ZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW1vZGFsLXppbmRleDogI3skemluZGV4LW1vZGFsfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLW1kfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZzogI3skbW9kYWwtaW5uZXItcGFkZGluZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbjogI3skbW9kYWwtZGlhbG9nLW1hcmdpbn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWNvbG9yOiAjeyRtb2RhbC1jb250ZW50LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYmc6ICN7JG1vZGFsLWNvbnRlbnQtYmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1yYWRpdXM6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3c6ICN7JG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15OiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmc6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nfTsgLy8gVG9kbyBpbiB2NjogU3BsaXQgdGhpcyBwYWRkaW5nIGludG8geCBhbmQgeVxuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogI3skbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAjeyRtb2RhbC10aXRsZS1saW5lLWhlaWdodH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXA6ICN7JG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2Vlbn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1iZzogI3skbW9kYWwtZm9vdGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogI3skbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGh9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1tb2RhbC16aW5kZXgpO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKSAqIDIpO1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3cpKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWJhY2tkcm9wLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLXppbmRleDogI3skemluZGV4LW1vZGFsLWJhY2tkcm9wfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmc6ICN7JG1vZGFsLWJhY2tkcm9wLWJnfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eTogI3skbW9kYWwtYmFja2Ryb3Atb3BhY2l0eX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtYmFja2Ryb3AtY3NzLXZhcnNcblxuICBAaW5jbHVkZSBvdmVybGF5LWJhY2tkcm9wKHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC16aW5kZXgpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmcpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eSkpO1xufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICogLjUpO1xuICAgIG1hcmdpbjogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkpIGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpKSBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSkgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nKTtcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZykgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmcpO1xuICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7IC8vIFRvZG8gaW4gdjY6IHJlcGxhY2Ugd2l0aCBnYXAgb24gcGFyZW50IGNsYXNzXG4gIH1cbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5tb2RhbCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luOiAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXB9O1xuICAgIC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3c6ICN7JG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cH07XG4gIH1cblxuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXdpZHRoKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAubW9kYWwtc20ge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1zbX07XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLWxnfTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLXhsfTtcbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJHBvc3RmaXg6IGlmKCRpbmZpeCAhPSBcIlwiLCAkaW5maXggKyBcIi1kb3duXCIsIFwiXCIpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC5tb2RhbC1mdWxsc2NyZWVuI3skcG9zdGZpeH0ge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtaGVhZGVyLFxuICAgICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG4iLCIvLyBTaGFyZWQgYmV0d2VlbiBtb2RhbHMgYW5kIG9mZmNhbnZhc2VzXG5AbWl4aW4gb3ZlcmxheS1iYWNrZHJvcCgkemluZGV4LCAkYmFja2Ryb3AtYmcsICRiYWNrZHJvcC1vcGFjaXR5KSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRiYWNrZHJvcC1vcGFjaXR5OyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXRvb2x0aXAtemluZGV4OiAjeyR6aW5kZXgtdG9vbHRpcH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoOiAjeyR0b29sdGlwLW1heC13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy14OiAjeyR0b29sdGlwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15OiAjeyR0b29sdGlwLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWFyZ2luOiAjeyR0b29sdGlwLW1hcmdpbn07XG4gIEBpbmNsdWRlIHJmcygkdG9vbHRpcC1mb250LXNpemUsIC0tI3skcHJlZml4fXRvb2x0aXAtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1jb2xvcjogI3skdG9vbHRpcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYmc6ICN7JHRvb2x0aXAtYmd9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWJvcmRlci1yYWRpdXM6ICN7JHRvb2x0aXAtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eTogI3skdG9vbHRpcC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aDogI3skdG9vbHRpcC1hcnJvdy13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAjeyR0b29sdGlwLWFycm93LWhlaWdodH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC1jc3MtdmFyc1xuXG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLXppbmRleCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW1hcmdpbik7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImAkdG9vbHRpcC1tYXJnaW5gXCIsIFwidjVcIiwgXCJ2NS54XCIsIHRydWUpO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWZvbnQtc2l6ZSkpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eSk7IH1cblxuICAudG9vbHRpcC1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3AgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtZW5kIC50b29sdGlwLWFycm93IHtcbiAgbGVmdDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICByaWdodDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtdG9vbHRpcC1ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAmOjpiZWZvcmUge1xuICAgIGJvdHRvbTogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtc3RhcnQgLnRvb2x0aXAtYXJyb3cge1xuICByaWdodDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMCBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtZW5kO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1zdGFydDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1ib3JkZXItcmFkaXVzKSk7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igb3ZlcmZsb3ctd3JhcCAvIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi5wb3BvdmVyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci16aW5kZXg6ICN7JHppbmRleC1wb3BvdmVyfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1tYXgtd2lkdGg6ICN7JHBvcG92ZXItbWF4LXdpZHRofTtcbiAgQGluY2x1ZGUgcmZzKCRwb3BvdmVyLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cG9wb3Zlci1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJnOiAjeyRwb3BvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGg6ICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3I6ICN7JHBvcG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItcmFkaXVzOiAjeyRwb3BvdmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm94LXNoYWRvdzogI3skcG9wb3Zlci1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAjeyRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICN7JHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkcG9wb3Zlci1oZWFkZXItZm9udC1zaXplLCAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1jb2xvcjogI3skcG9wb3Zlci1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZzogI3skcG9wb3Zlci1oZWFkZXItYmd9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy14OiAjeyRwb3BvdmVyLWJvZHktcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteTogI3skcG9wb3Zlci1ib2R5LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1jb2xvcjogI3skcG9wb3Zlci1ib2R5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aDogI3skcG9wb3Zlci1hcnJvdy13aWR0aH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0OiAjeyRwb3BvdmVyLWFycm93LWhlaWdodH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICAvLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItY3NzLXZhcnNcblxuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci16aW5kZXgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1tYXgtd2lkdGgpO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWZvbnQtc2l6ZSkpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJveC1zaGFkb3cpKTtcblxuICAucG9wb3Zlci1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXRvcCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIGJvdHRvbTogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXBvcG92ZXItZW5kIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgbGVmdDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXBvcG92ZXItYm90dG9tIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgdG9wOiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXBvcG92ZXItc3RhcnQge1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICByaWdodDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMCBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItZW5kO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1zdGFydDtcbiAgfVxufVxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktY29sb3IpO1xufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuLnNwaW5uZXItZ3Jvdyxcbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ24pO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQpIGxpbmVhciBpbmZpbml0ZSB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZSk7XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgI3tcIi8qIHJ0bDppZ25vcmUgKi9cIn07IH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXIta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogI3skc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbn07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoOiAjeyRzcGlubmVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItYm9yZGVyO1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLWNzcy12YXJzXG5cbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGgpIHNvbGlkIGN1cnJlbnRjb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aDogI3skc3Bpbm5lci1ib3JkZXItd2lkdGgtc219O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItZ3Jvdy1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWdyb3cta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWdyb3cge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ncm93LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduOiAjeyRzcGlubmVyLXZlcnRpY2FsLWFsaWdufTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZTogc3Bpbm5lci1ncm93O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItZ3Jvdy1jc3MtdmFyc1xuXG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xufVxuXG5AaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiB7XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnNwaW5uZXItYm9yZGVyLFxuICAgIC5zcGlubmVyLWdyb3cge1xuICAgICAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkICogMn07XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJW9mZmNhbnZhcy1jc3MtdmFycyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXppbmRleDogI3skemluZGV4LW9mZmNhbnZhc307XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aDogI3skb2ZmY2FudmFzLWhvcml6b250YWwtd2lkdGh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiAjeyRvZmZjYW52YXMtdmVydGljYWwtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteDogI3skb2ZmY2FudmFzLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXk6ICN7JG9mZmNhbnZhcy1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtY29sb3I6ICN7JG9mZmNhbnZhcy1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1iZzogI3skb2ZmY2FudmFzLWJnLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aDogI3skb2ZmY2FudmFzLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICN7JG9mZmNhbnZhcy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm94LXNoYWRvdzogI3skb2ZmY2FudmFzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtdHJhbnNpdGlvbjogI3t0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0OiAjeyRvZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHR9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG9mZmNhbnZhcy1jc3MtdmFyc1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBleHRlbmQgJW9mZmNhbnZhcy1jc3MtdmFycztcbiAgfVxufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy16aW5kZXgpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1jb2xvcik7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJnKTtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJveC1zaGFkb3cpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy10cmFuc2l0aW9uKSk7XG5cbiAgICAgICYub2ZmY2FudmFzLXN0YXJ0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aCk7XG4gICAgICAgIGJvcmRlci1yaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtZW5kIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGgpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm9mZmNhbnZhcy10b3Age1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtYm90dG9tIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuc2hvdzpub3QoLmhpZGluZykge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuaGlkaW5nLFxuICAgICAgJi5zaG93IHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIikge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgLy8gUmVzZXQgYGJhY2tncm91bmQtY29sb3JgIGluIGNhc2UgYC5iZy0qYCBjbGFzc2VzIGFyZSB1c2VkIGluIG9mZmNhbnZhc1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm9mZmNhbnZhcy1iYWNrZHJvcCB7XG4gIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3AsICRvZmZjYW52YXMtYmFja2Ryb3AtYmcsICRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eSk7XG59XG5cbi5vZmZjYW52YXMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy14KTtcblxuICAuYnRuLWNsb3NlIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSAqIC41KSBjYWxjKHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy14KSAqIC41KTtcbiAgICBtYXJnaW46IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpKSBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy14KSkgY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkpIGF1dG87XG4gIH1cbn1cblxuLm9mZmNhbnZhcy10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLm9mZmNhbnZhcy1ib2R5IHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuIiwiLnBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogd2FpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAkcGxhY2Vob2xkZXItb3BhY2l0eS1tYXg7XG5cbiAgJi5idG46OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4ucGxhY2Vob2xkZXIteHMge1xuICBtaW4taGVpZ2h0OiAuNmVtO1xufVxuXG4ucGxhY2Vob2xkZXItc20ge1xuICBtaW4taGVpZ2h0OiAuOGVtO1xufVxuXG4ucGxhY2Vob2xkZXItbGcge1xuICBtaW4taGVpZ2h0OiAxLjJlbTtcbn1cblxuLy8gQW5pbWF0aW9uXG4ucGxhY2Vob2xkZXItZ2xvdyB7XG4gIC5wbGFjZWhvbGRlciB7XG4gICAgYW5pbWF0aW9uOiBwbGFjZWhvbGRlci1nbG93IDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItZ2xvdyB7XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluO1xuICB9XG59XG5cbi5wbGFjZWhvbGRlci13YXZlIHtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzMGRlZywgJGJsYWNrIDU1JSwgcmdiYSgwLCAwLCAwLCAoMSAtICRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbikpIDc1JSwgJGJsYWNrIDk1JSk7XG4gIG1hc2stc2l6ZTogMjAwJSAxMDAlO1xuICBhbmltYXRpb246IHBsYWNlaG9sZGVyLXdhdmUgMnMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyLXdhdmUge1xuICAxMDAlIHtcbiAgICBtYXNrLXBvc2l0aW9uOiAtMjAwJSAwJTtcbiAgfVxufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNsZWFyZml4XG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNsZWFyZml4XG4iLCIvLyBBbGwtY2FwcyBgUkdCQSgpYCBmdW5jdGlvbiB1c2VkIGJlY2F1c2Ugb2YgdGhpcyBTYXNzIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvbm9kZS1zYXNzL2lzc3Vlcy8yMjUxXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLnRleHQtYmctI3skY29sb3J9IHtcbiAgICBjb2xvcjogY29sb3ItY29udHJhc3QoJHZhbHVlKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9Ymctb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gIH1cbn1cbiIsIi8vIEFsbC1jYXBzIGBSR0JBKClgIGZ1bmN0aW9uIHVzZWQgYmVjYXVzZSBvZiB0aGlzIFNhc3MgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9ub2RlLXNhc3MvaXNzdWVzLzIyNTFcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAubGluay0jeyRjb2xvcn0ge1xuICAgIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gICAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICRob3Zlci1jb2xvcjogaWYoY29sb3ItY29udHJhc3QoJHZhbHVlKSA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSksIHRpbnQtY29sb3IoJHZhbHVlLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSk7XG4gICAgICAgIGNvbG9yOiBSR0JBKCN7dG8tcmdiKCRob3Zlci1jb2xvcil9LCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHRvLXJnYigkaG92ZXItY29sb3IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9uZS1vZmYgc3BlY2lhbCBsaW5rIGhlbHBlciBhcyBhIGJyaWRnZSB1bnRpbCB2NlxuLmxpbmstYm9keS1lbXBoYXNpcyB7XG4gIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAuNzUpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgLjc1KSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mb2N1cy1yaW5nOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgLy8gQnkgZGVmYXVsdCwgdGhlcmUgaXMgbm8gYC0tYnMtZm9jdXMtcmluZy14YCwgYC0tYnMtZm9jdXMtcmluZy15YCwgb3IgYC0tYnMtZm9jdXMtcmluZy1ibHVyYCwgYnV0IHdlIHByb3ZpZGUgQ1NTIHZhcmlhYmxlcyB3aXRoIGZhbGxiYWNrcyB0byBpbml0aWFsIGAwYCB2YWx1ZXNcbiAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmcteCwgMCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmcteSwgMCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmctYmx1ciwgMCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmctd2lkdGgpIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLWNvbG9yKTtcbn1cbiIsIi5pY29uLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiAkaWNvbi1saW5rLWdhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIC41KSk7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgPiAuYmkge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAkaWNvbi1saW5rLWljb24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRpY29uLWxpbmstaWNvbi1zaXplO1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpY29uLWxpbmstaWNvbi10cmFuc2l0aW9uKTtcbiAgfVxufVxuXG4uaWNvbi1saW5rLWhvdmVyIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICA+IC5iaSB7XG4gICAgICB0cmFuc2Zvcm06IHZhcigtLSN7JHByZWZpeH1pY29uLWxpbmstdHJhbnNmb3JtLCAkaWNvbi1saW5rLWljb24tdHJhbnNmb3JtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4ucmF0aW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLSN7JHByZWZpeH1hc3BlY3QtcmF0aW8pO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQGVhY2ggJGtleSwgJHJhdGlvIGluICRhc3BlY3QtcmF0aW9zIHtcbiAgLnJhdGlvLSN7JGtleX0ge1xuICAgIC0tI3skcHJlZml4fWFzcGVjdC1yYXRpbzogI3skcmF0aW99O1xuICB9XG59XG4iLCIvLyBTaG9ydGhhbmRcblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLy8gUmVzcG9uc2l2ZSBzdGlja3kgdG9wIGFuZCBib3R0b21cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5zdGlja3kjeyRpbmZpeH0tdG9wIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgICB9XG5cbiAgICAuc3RpY2t5I3skaW5maXh9LWJvdHRvbSB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgc3RhY2tzXG4uaHN0YWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLnZzdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBzdGFja3NcbiIsIi8vXG4vLyBWaXN1YWxseSBoaWRkZW5cbi8vXG5cbi52aXN1YWxseS1oaWRkZW4sXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBIaWRlIGNvbnRlbnQgdmlzdWFsbHkgd2hpbGUga2VlcGluZyBpdCBhY2Nlc3NpYmxlIHRvIGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8va2l0dHlnaXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbigpIHtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogLTFweCAhaW1wb3J0YW50OyAvLyBGaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU2ODZcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cbiAgLy8gRml4IGZvciBwb3NpdGlvbmVkIHRhYmxlIGNhcHRpb24gdGhhdCBjb3VsZCBiZWNvbWUgYW5vbnltb3VzIGNlbGxzXG4gICY6bm90KGNhcHRpb24pIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBVc2UgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQsIG9yIG9uZSBvZiBpdHMgY2hpbGQgZWxlbWVudHMgaXMgZm9jdXNlZFxuLy8gKGkuZS4gd2hlbiBmb2N1cyBpcyB3aXRoaW4gdGhlIGVsZW1lbnQvY29udGFpbmVyIHRoYXQgdGhlIGNsYXNzIHdhcyBhcHBsaWVkIHRvKVxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUoKSB7XG4gICY6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjojeyRzdHJldGNoZWQtbGluay1wc2V1ZG8tZWxlbWVudH0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJHN0cmV0Y2hlZC1saW5rLXotaW5kZXg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy9cbi8vIFRleHQgdHJ1bmNhdGlvblxuLy9cblxuLnRleHQtdHJ1bmNhdGUge1xuICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKCk7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi52ciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6ICR2ci1ib3JkZXItd2lkdGg7XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAkaHItb3BhY2l0eTtcbn1cbiIsIi8vIFV0aWxpdHkgZ2VuZXJhdG9yXG4vLyBVc2VkIHRvIGdlbmVyYXRlIHV0aWxpdGllcyAmIHByaW50IHV0aWxpdGllc1xuQG1peGluIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeDogXCJcIiwgJGlzLXJmcy1tZWRpYS1xdWVyeTogZmFsc2UpIHtcbiAgJHZhbHVlczogbWFwLWdldCgkdXRpbGl0eSwgdmFsdWVzKTtcblxuICAvLyBJZiB0aGUgdmFsdWVzIGFyZSBhIGxpc3Qgb3Igc3RyaW5nLCBjb252ZXJ0IGl0IGludG8gYSBtYXBcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gXCJzdHJpbmdcIiBvciB0eXBlLW9mKG50aCgkdmFsdWVzLCAxKSkgIT0gXCJsaXN0XCIge1xuICAgICR2YWx1ZXM6IHppcCgkdmFsdWVzLCAkdmFsdWVzKTtcbiAgfVxuXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAkcHJvcGVydGllczogbWFwLWdldCgkdXRpbGl0eSwgcHJvcGVydHkpO1xuXG4gICAgLy8gTXVsdGlwbGUgcHJvcGVydGllcyBhcmUgcG9zc2libGUsIGZvciBleGFtcGxlIHdpdGggdmVydGljYWwgb3IgaG9yaXpvbnRhbCBtYXJnaW5zIG9yIHBhZGRpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHByb3BlcnRpZXMpID09IFwic3RyaW5nXCIge1xuICAgICAgJHByb3BlcnRpZXM6IGFwcGVuZCgoKSwgJHByb3BlcnRpZXMpO1xuICAgIH1cblxuICAgIC8vIFVzZSBjdXN0b20gY2xhc3MgaWYgcHJlc2VudFxuICAgICRwcm9wZXJ0eS1jbGFzczogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIGNsYXNzKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpLCBudGgoJHByb3BlcnRpZXMsIDEpKTtcbiAgICAkcHJvcGVydHktY2xhc3M6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBudWxsLCBcIlwiLCAkcHJvcGVydHktY2xhc3MpO1xuXG4gICAgLy8gVXNlIGN1c3RvbSBDU1MgdmFyaWFibGUgbmFtZSBpZiBwcmVzZW50LCBvdGhlcndpc2UgZGVmYXVsdCB0byBgY2xhc3NgXG4gICAgJGNzcy12YXJpYWJsZS1uYW1lOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY3NzLXZhcmlhYmxlLW5hbWUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNsYXNzKSk7XG5cbiAgICAvLyBTdGF0ZSBwYXJhbXMgdG8gZ2VuZXJhdGUgcHNldWRvLWNsYXNzZXNcbiAgICAkc3RhdGU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBzdGF0ZSksIG1hcC1nZXQoJHV0aWxpdHksIHN0YXRlKSwgKCkpO1xuXG4gICAgJGluZml4OiBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgc3RyLXNsaWNlKCRpbmZpeCwgMSwgMSkgPT0gXCItXCIsIHN0ci1zbGljZSgkaW5maXgsIDIpLCAkaW5maXgpO1xuXG4gICAgLy8gRG9uJ3QgcHJlZml4IGlmIHZhbHVlIGtleSBpcyBudWxsIChlLmcuIHdpdGggc2hhZG93IGNsYXNzKVxuICAgICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcjogaWYoJGtleSwgaWYoJHByb3BlcnR5LWNsYXNzID09IFwiXCIgYW5kICRpbmZpeCA9PSBcIlwiLCBcIlwiLCBcIi1cIikgKyAka2V5LCBcIlwiKTtcblxuICAgIEBpZiBtYXAtZ2V0KCR1dGlsaXR5LCByZnMpIHtcbiAgICAgIC8vIEluc2lkZSB0aGUgbWVkaWEgcXVlcnlcbiAgICAgIEBpZiAkaXMtcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZSk7XG5cbiAgICAgICAgLy8gRG8gbm90IHJlbmRlciBhbnl0aGluZyBpZiBmbHVpZCBhbmQgbm9uIGZsdWlkIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICAgICAgJHZhbHVlOiBpZigkdmFsID09IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpLCBudWxsLCAkdmFsKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHZhbHVlOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkaXMtY3NzLXZhcjogbWFwLWdldCgkdXRpbGl0eSwgY3NzLXZhcik7XG4gICAgJGlzLWxvY2FsLXZhcnM6IG1hcC1nZXQoJHV0aWxpdHksIGxvY2FsLXZhcnMpO1xuICAgICRpcy1ydGw6IG1hcC1nZXQoJHV0aWxpdHksIHJ0bCk7XG5cbiAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgQGlmICRpcy1ydGwgPT0gZmFsc2Uge1xuICAgICAgICAvKiBydGw6YmVnaW46cmVtb3ZlICovXG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtY3NzLXZhciB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fSN7JGNzcy12YXJpYWJsZS1uYW1lfTogI3skdmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHBzZXVkbyBpbiAkc3RhdGUge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0tI3skcHNldWRvfTojeyRwc2V1ZG99IHtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGNzcy12YXJpYWJsZS1uYW1lfTogI3skdmFsdWV9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFyaWFibGUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGxvY2FsLXZhcn06ICN7JHZhcmlhYmxlfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgICAgQGlmICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFyaWFibGUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDplbmQ6cmVtb3ZlICovXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMb29wIG92ZXIgZWFjaCBicmVha3BvaW50XG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuXG4gIC8vIEdlbmVyYXRlIG1lZGlhIHF1ZXJ5IGlmIG5lZWRlZFxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAvLyBMb29wIG92ZXIgZWFjaCB1dGlsaXR5IHByb3BlcnR5XG4gICAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgICAvLyBPbmx5IHByb2NlZWQgaWYgcmVzcG9uc2l2ZSBtZWRpYSBxdWVyaWVzIGFyZSBlbmFibGVkIG9yIGlmIGl0J3MgdGhlIGJhc2UgbWVkaWEgcXVlcnlcbiAgICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCAobWFwLWdldCgkdXRpbGl0eSwgcmVzcG9uc2l2ZSkgb3IgJGluZml4ID09IFwiXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUkZTIHJlc2NhbGluZ1xuQG1lZGlhIChtaW4td2lkdGg6ICRyZnMtbXEtdmFsdWUpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAobWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpIDwgJHJmcy1icmVha3BvaW50KSB7XG4gICAgICAvLyBMb29wIG92ZXIgZWFjaCB1dGlsaXR5IHByb3BlcnR5XG4gICAgICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgICAvLyBPbmx5IHByb2NlZWQgaWYgcmVzcG9uc2l2ZSBtZWRpYSBxdWVyaWVzIGFyZSBlbmFibGVkIG9yIGlmIGl0J3MgdGhlIGJhc2UgbWVkaWEgcXVlcnlcbiAgICAgICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIG1hcC1nZXQoJHV0aWxpdHksIHJmcykgYW5kIChtYXAtZ2V0KCR1dGlsaXR5LCByZXNwb25zaXZlKSBvciAkaW5maXggPT0gXCJcIikge1xuICAgICAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAvLyBUaGVuIGNoZWNrIGlmIHRoZSB1dGlsaXR5IG5lZWRzIHByaW50IHN0eWxlc1xuICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCBtYXAtZ2V0KCR1dGlsaXR5LCBwcmludCkgPT0gdHJ1ZSB7XG4gICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCBcIi1wcmludFwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIjpyb290ey0tem9vbWlzdC13cmFwcGVyLWJnLWNvbG9yOiAjZWZlZmVmOy0tem9vbWlzdC1zbGlkZXItYmctY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpOy0tem9vbWlzdC1zbGlkZXItYm9yZGVyLXJhZGl1czogMCAwIDRweCAwOy0tem9vbWlzdC1zbGlkZXItcGFkZGluZy14OiAyMHB4Oy0tem9vbWlzdC1zbGlkZXItcGFkZGluZy15OiAyMHB4Oy0tem9vbWlzdC1zbGlkZXItdHJhY2stY29sb3I6ICNkZGQ7LS16b29taXN0LXNsaWRlci10cmFjay1jb2xvci1ob3ZlcjogI2NjYzstLXpvb21pc3Qtc2xpZGVyLWJhci1zaXplOiAxMjBweDstLXpvb21pc3Qtc2xpZGVyLWJhci1zaWRlOiAycHg7LS16b29taXN0LXNsaWRlci1iYXItYm9yZGVyLXJhZGl1czogMnB4Oy0tem9vbWlzdC1zbGlkZXItYmFyLWNvbG9yOiAjNjY2Oy0tem9vbWlzdC1zbGlkZXItYmFyLWNvbG9yLWhvdmVyOiAjNDQ0Oy0tem9vbWlzdC1zbGlkZXItYnV0dG9uLXNpemU6IDEycHg7LS16b29taXN0LXNsaWRlci1idXR0b24tY29sb3I6ICNmZmY7LS16b29taXN0LXpvb21lci1idXR0b24tc2l6ZTogNDhweDstLXpvb21pc3Qtem9vbWVyLWJ1dHRvbi1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOCk7LS16b29taXN0LXpvb21lci1idXR0b24tY29sb3ItaG92ZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjkpOy0tem9vbWlzdC16b29tZXItYnV0dG9uLWNvbG9yLWRpc2FibGVkOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC44KTstLXpvb21pc3Qtem9vbWVyLWJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAuNzstLXpvb21pc3Qtem9vbWVyLWljb24tc2l6ZTogMTRweDstLXpvb21pc3Qtem9vbWVyLWljb24tY29sb3I6ICMzMzM7LS16b29taXN0LXpvb21lci1pY29uLWNvbG9yLWhvdmVyOiAjMTExOy0tem9vbWlzdC16b29tZXItaWNvbi1jb2xvci1kaXNhYmxlZDogIzk5OTstLXpvb21pc3QtbW9kdWxlcy10cmFuaXN0aW9uLWR1cmF0aW9uOiAuM3N9Lnpvb21pc3QtY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MCFpbXBvcnRhbnQ7dXNlci1zZWxlY3Q6bm9uZX0uem9vbWlzdC13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BhZGRpbmc6MCFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6dmFyKC0tem9vbWlzdC13cmFwcGVyLWJnLWNvbG9yKX0uem9vbWlzdC1pbWFnZXtwb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6bm9uZSFpbXBvcnRhbnQ7bWF4LWhlaWdodDpub25lIWltcG9ydGFudH0uem9vbWlzdC1zbGlkZXJ7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyO3RvcDowO2xlZnQ6MDtwYWRkaW5nOnZhcigtLXpvb21pc3Qtc2xpZGVyLXBhZGRpbmcteSkgdmFyKC0tem9vbWlzdC1zbGlkZXItcGFkZGluZy14KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXpvb21pc3Qtc2xpZGVyLWJnLWNvbG9yKTtib3JkZXItcmFkaXVzOnZhcigtLXpvb21pc3Qtc2xpZGVyLWJvcmRlci1yYWRpdXMpfS56b29taXN0LXNsaWRlcjpob3ZlciAuem9vbWlzdC1zbGlkZXItd3JhcHBlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXpvb21pc3Qtc2xpZGVyLXRyYWNrLWNvbG9yLWhvdmVyKX0uem9vbWlzdC1zbGlkZXI6aG92ZXIgLnpvb21pc3Qtc2xpZGVyLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXpvb21pc3Qtc2xpZGVyLWJhci1jb2xvci1ob3Zlcil9Lnpvb21pc3Qtc2xpZGVyOmhvdmVyIC56b29taXN0LXNsaWRlci1idXR0b246YmVmb3Jle2JveC1zaGFkb3c6MCAwIDhweCAjMDAwOX0uem9vbWlzdC1zbGlkZXItaG9yaXpvbnRhbCAuem9vbWlzdC1zbGlkZXItd3JhcHBlcnthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7d2lkdGg6dmFyKC0tem9vbWlzdC1zbGlkZXItYmFyLXNpemUpO2hlaWdodDp2YXIoLS16b29taXN0LXNsaWRlci1iYXItc2lkZSl9Lnpvb21pc3Qtc2xpZGVyLWhvcml6b250YWwgLnpvb21pc3Qtc2xpZGVyLWJhcnt0b3A6MDt3aWR0aDpjYWxjKHZhcigtLXZhbHVlKSAqIDElKTtoZWlnaHQ6MTAwJX0uem9vbWlzdC1zbGlkZXItaG9yaXpvbnRhbCAuem9vbWlzdC1zbGlkZXItYnV0dG9ue2xlZnQ6Y2FsYyh2YXIoLS12YWx1ZSkgKiAxJSl9Lnpvb21pc3Qtc2xpZGVyLXZlcnRpY2FsIC56b29taXN0LXNsaWRlci13cmFwcGVye2FsaWduLWl0ZW1zOmZsZXgtZW5kO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6dmFyKC0tem9vbWlzdC1zbGlkZXItYmFyLXNpZGUpO2hlaWdodDp2YXIoLS16b29taXN0LXNsaWRlci1iYXItc2l6ZSl9Lnpvb21pc3Qtc2xpZGVyLXZlcnRpY2FsIC56b29taXN0LXNsaWRlci1iYXJ7Ym90dG9tOjA7d2lkdGg6MTAwJTtoZWlnaHQ6Y2FsYyh2YXIoLS12YWx1ZSkgKiAxJSl9Lnpvb21pc3Qtc2xpZGVyLXZlcnRpY2FsIC56b29taXN0LXNsaWRlci1idXR0b257Ym90dG9tOmNhbGModmFyKC0tdmFsdWUpICogMSUpfS56b29taXN0LXNsaWRlci13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXpvb21pc3Qtc2xpZGVyLXRyYWNrLWNvbG9yKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgdmFyKC0tem9vbWlzdC1tb2R1bGVzLXRyYW5pc3Rpb24tZHVyYXRpb24pfS56b29taXN0LXNsaWRlci1iYXJ7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDowO2xlZnQ6MDtkaXNwbGF5OmJsb2NrO2JvcmRlci1yYWRpdXM6dmFyKC0tem9vbWlzdC1zbGlkZXItYmFyLWJvcmRlci1yYWRpdXMpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tem9vbWlzdC1zbGlkZXItYmFyLWNvbG9yKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgdmFyKC0tem9vbWlzdC1tb2R1bGVzLXRyYW5pc3Rpb24tZHVyYXRpb24pfS56b29taXN0LXNsaWRlci1idXR0b257cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MCFpbXBvcnRhbnQ7aGVpZ2h0OjAhaW1wb3J0YW50fS56b29taXN0LXNsaWRlci1idXR0b246YmVmb3Jle2NvbnRlbnQ6XCJcIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OmNhbGModmFyKC0tem9vbWlzdC1zbGlkZXItYnV0dG9uLXNpemUpICogLS41KTt0b3A6Y2FsYyh2YXIoLS16b29taXN0LXNsaWRlci1idXR0b24tc2l6ZSkgKiAtLjUpO3dpZHRoOnZhcigtLXpvb21pc3Qtc2xpZGVyLWJ1dHRvbi1zaXplKTtoZWlnaHQ6dmFyKC0tem9vbWlzdC1zbGlkZXItYnV0dG9uLXNpemUpO2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS16b29taXN0LXNsaWRlci1idXR0b24tY29sb3IsICNmZmYpO2JvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6MCAwIDRweCAjMDAwNjt0cmFuc2l0aW9uOmJveC1zaGFkb3cgdmFyKC0tem9vbWlzdC1tb2R1bGVzLXRyYW5pc3Rpb24tZHVyYXRpb24pfS56b29taXN0LXpvb21lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjI7dG9wOjA7cmlnaHQ6MDtib3JkZXItcmFkaXVzOjAgMCAwIDRweDtvdmVyZmxvdzpoaWRkZW59Lnpvb21pc3Qtem9vbWVyLWJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6dmFyKC0tem9vbWlzdC16b29tZXItYnV0dG9uLXNpemUpO2hlaWdodDp2YXIoLS16b29taXN0LXpvb21lci1idXR0b24tc2l6ZSk7YmFja2dyb3VuZDpub25lO2JhY2tncm91bmQtY29sb3I6dmFyKC0tem9vbWlzdC16b29tZXItYnV0dG9uLWNvbG9yKTtib3JkZXI6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgdmFyKC0tem9vbWlzdC1tb2R1bGVzLXRyYW5pc3Rpb24tZHVyYXRpb24pO2N1cnNvcjpwb2ludGVyfS56b29taXN0LXpvb21lci1idXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS16b29taXN0LXpvb21lci1idXR0b24tY29sb3ItaG92ZXIpfS56b29taXN0LXpvb21lci1idXR0b246aG92ZXIgLnpvb21pc3Qtem9vbWVyLWljb257ZmlsbDp2YXIoLS16b29taXN0LXpvb21lci1pY29uLWNvbG9yLWhvdmVyKX0uem9vbWlzdC16b29tZXItYnV0dG9uLnpvb21pc3Qtem9vbWVyLWRpc2FibGVke3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS16b29taXN0LXpvb21lci1idXR0b24tY29sb3ItZGlzYWJsZWQpO29wYWNpdHk6dmFyKC0tem9vbWlzdC16b29tZXItYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQpfS56b29taXN0LXpvb21lci1idXR0b24uem9vbWlzdC16b29tZXItZGlzYWJsZWQgLnpvb21pc3Qtem9vbWVyLWljb257ZmlsbDp2YXIoLS16b29taXN0LXpvb21lci1pY29uLWNvbG9yLWRpc2FibGVkKX0uem9vbWlzdC16b29tZXItaWNvbnt3aWR0aDp2YXIoLS16b29taXN0LXpvb21lci1pY29uLXNpemUpO2hlaWdodDp2YXIoLS16b29taXN0LXpvb21lci1pY29uLXNpemUpO2ZpbGw6dmFyKC0tem9vbWlzdC16b29tZXItaWNvbi1jb2xvcik7dHJhbnNpdGlvbjpmaWxsIHZhcigtLXpvb21pc3QtbW9kdWxlcy10cmFuaXN0aW9uLWR1cmF0aW9uKX1cbiIsIi5mbGlja2luZy12aWV3cG9ydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZsaWNraW5nLXZpZXdwb3J0LnZlcnRpY2FsIHtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4uZmxpY2tpbmctdmlld3BvcnQudmVydGljYWwgPiAuZmxpY2tpbmctY2FtZXJhIHtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5mbGlja2luZy12aWV3cG9ydC5mbGlja2luZy1oaWRkZW4gPiAuZmxpY2tpbmctY2FtZXJhID4gKiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZsaWNraW5nLWNhbWVyYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgei1pbmRleDogMTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbn1cblxuLmZsaWNraW5nLWNhbWVyYSA+ICoge1xuICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuIiwiLmZsaWNraW5nLWFycm93LXByZXYsXG4uZmxpY2tpbmctYXJyb3ctbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiA2NHB4O1xuICBoZWlnaHQ6IDY0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMjtcbn1cblxuLmZsaWNraW5nLWFycm93LXByZXYuaXMtY2lyY2xlLFxuLmZsaWNraW5nLWFycm93LW5leHQuaXMtY2lyY2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyYTY1ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uZmxpY2tpbmctYXJyb3ctZGlzYWJsZWQuaXMtY2lyY2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEwIDEwIDEwIC8gMTAlKTtcbn1cblxuLmZsaWNraW5nLWFycm93LXByZXYuaXMtY2lyY2xlOjpiZWZvcmUsXG4uZmxpY2tpbmctYXJyb3ctcHJldi5pcy1jaXJjbGU6OmFmdGVyLFxuLmZsaWNraW5nLWFycm93LW5leHQuaXMtY2lyY2xlOjpiZWZvcmUsXG4uZmxpY2tpbmctYXJyb3ctbmV4dC5pcy1jaXJjbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbi5mbGlja2luZy1hcnJvdy1wcmV2IHtcbiAgbGVmdDogMTBweDtcbn1cbi5mbGlja2luZy1hcnJvdy1uZXh0IHtcbiAgcmlnaHQ6IDEwcHg7XG59XG5cbi5mbGlja2luZy1hcnJvdy1wcmV2LmlzLW91dHNpZGUge1xuICBsZWZ0OiAtNzRweDtcbn1cbi5mbGlja2luZy1hcnJvdy1uZXh0LmlzLW91dHNpZGUge1xuICByaWdodDogLTc0cHg7XG59XG5cbi5mbGlja2luZy1hcnJvdy1wcmV2OjpiZWZvcmUsXG4uZmxpY2tpbmctYXJyb3ctcHJldjo6YWZ0ZXIsXG4uZmxpY2tpbmctYXJyb3ctbmV4dDo6YmVmb3JlLFxuLmZsaWNraW5nLWFycm93LW5leHQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmE2NWU7XG59XG4uZmxpY2tpbmctYXJyb3ctcHJldjo6YmVmb3JlIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDIycHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XG59XG4uZmxpY2tpbmctYXJyb3ctcHJldjo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gNHB4KTtcbiAgbGVmdDogMjJweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XG4gICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcbn1cbi5mbGlja2luZy1hcnJvdy1uZXh0OjpiZWZvcmUge1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDIycHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XG4gICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XG59XG4uZmxpY2tpbmctYXJyb3ctbmV4dDo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gNHB4KTtcbiAgcmlnaHQ6IDIycHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XG4gICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XG59XG5cbi5mbGlja2luZy1hcnJvdy1kaXNhYmxlZCxcbi5mbGlja2luZy1hcnJvdy1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmZsaWNraW5nLWFycm93LWRpc2FibGVkOjpiZWZvcmUsXG4uZmxpY2tpbmctYXJyb3ctZGlzYWJsZWQ6OmFmdGVyLFxuLmZsaWNraW5nLWFycm93LWRpc2FibGVkOjpiZWZvcmUsXG4uZmxpY2tpbmctYXJyb3ctZGlzYWJsZWQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbn1cblxuLmZsaWNraW5nLWFycm93LXByZXYuaXMtdGhpbjo6YmVmb3JlLFxuLmZsaWNraW5nLWFycm93LXByZXYuaXMtdGhpbjo6YWZ0ZXIsXG4uZmxpY2tpbmctYXJyb3ctbmV4dC5pcy10aGluOjpiZWZvcmUsXG4uZmxpY2tpbmctYXJyb3ctbmV4dC5pcy10aGluOjphZnRlcntcbiAgaGVpZ2h0OiAzcHg7XG59XG5cbi5mbGlja2luZy1hcnJvdy1wcmV2LmlzLXRoaW46OmFmdGVyLFxuLmZsaWNraW5nLWFycm93LW5leHQuaXMtdGhpbjo6YWZ0ZXJ7XG4gIHRvcDogY2FsYyg1MCUgLSAycHgpO1xufVxuIiwiI3RvcGJhciB7XG4gIGJhY2tncm91bmQ6ICRCYXNpcy1EZXNlcnQ7XG4gIC50b3Atc2xvZ2FuIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAubmF2IHtcbiAgICAubmF2LWl0ZW0ge1xuICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRCYXNpcy1XaGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTQwJTsgLyogMS41NzVyZW0gKi9cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDEyNW1zIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGFuZ3VhZ2UtaG9sZGVyIHtcbiAgICAgIC8vbGluZS1oZWlnaHQ6IDA7XG5cbiAgICAgIC5maXgtbGluZS1oZWlnaHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWxhbmcge1xuICAgICAgICB3aWR0aDogMjVweDsgLyogUGFzIGFhbiBuYWFyIGRlIGdld2Vuc3RlIGdyb290dGUgKi9cbiAgICAgICAgaGVpZ2h0OiAyNXB4OyAvKiBQYXMgYWFuIG5hYXIgZGUgZ2V3ZW5zdGUgZ3Jvb3R0ZSAqL1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IC8qIFpvcmd0IGVydm9vciBkYXQgZGUgaW5ob3VkIGJpbm5lbiBkZSBjaXJrZWwgYmxpamZ0ICovXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuXG4gICAgICAgICYubGFuZ3VhZ2UtZHJvcGRvd24ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJEhvb2Zka2xldXItU3VuLWJhY2t1cDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IC8qIFpvcmd0IGVydm9vciBkYXQgZGUgYWZiZWVsZGluZyBkZSBoZWxlIGNvbnRhaW5lciBiZWRla3QgKi9cbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8qIFpvcmd0IGVydm9vciBkYXQgZGUgYWZiZWVsZGluZyBkZSBoZWxlIGNvbnRhaW5lciBiZWRla3QgKi9cbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyAvKiBab3JndCBlcnZvb3IgZGF0IGRlIGFmYmVlbGRpbmcgZGUgY29udGFpbmVyIHZvbGxlZGlnIGJlZGVrdCAqL1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgLyogQ2VudHJlZXJ0IGRlIGFmYmVlbGRpbmcgYmlubmVuIGRlIGNvbnRhaW5lciAqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkSG9vZmRrbGV1ci1TdW47XG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgfVxufVxuXG4jbWFpbm1lbnUge1xuICBwYWRkaW5nLXRvcDogMS4xMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjEyNXJlbTtcblxuICAjbWVudVdyYXBwZXIge1xuICAgIGdhcDogMXJlbTtcbiAgfVxuXG4gICYubmF2YmFyIHtcbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICAmLm1lbnUtaXRlbXMge1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTQwJTsgLyogMjUuMnB4ICovXG4gICAgICAgIC5uYXYtaXRlbSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgLm5hdi1saW5rOm5vdCgmLmFjdGl2ZSkge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBsZWZ0OiA1MCU7IC8vIG9yIGFueSBzdGFydGluZyBwb3NpdGlvblxuICAgICAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7IC8vIEluaXRpYWxseSBoaWRkZW5cbiAgICAgICAgICAgICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc1JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA1IDUnIGZpbGw9J25vbmUnJTNFJTNDY2lyY2xlIGN4PScyLjUnIGN5PScyLjUnIHI9JzInIGZpbGw9JyUyMzJGMkYyRicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAxMjVtcyBlYXNlLWluLW91dCwgdG9wIDEyNW1zIGVhc2UtaW4tb3V0LFxuICAgICAgICAgICAgICAgIG9wYWNpdHkgMTI1bXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTI1bXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOyAvLyBTZXQgdGhlIGZpbmFsIHN0YXRlIG9mIG9wYWNpdHlcbiAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzUnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDUgNScgZmlsbD0nbm9uZSclM0UlM0NjaXJjbGUgY3g9JzIuNScgY3k9JzIuNScgcj0nMicgZmlsbD0nJTIzMkYyRjJGJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgMTI1bXMgZWFzZS1pbi1vdXQsIHRvcCAxMjVtcyBlYXNlLWluLW91dCxcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMTI1bXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAmLnNob3cge1xuICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7IC8vIFNldCB0aGUgZmluYWwgc3RhdGUgb2Ygb3BhY2l0eVxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNScgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgNSA1JyBmaWxsPSdub25lJyUzRSUzQ2NpcmNsZSBjeD0nMi41JyBjeT0nMi41JyByPScyJyBmaWxsPSclMjMyRjJGMkYnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAxMjVtcyBlYXNlLWluLW91dCwgdG9wIDEyNW1zIGVhc2UtaW4tb3V0LFxuICAgICAgICAgICAgICAgICAgb3BhY2l0eSAxMjVtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5kcm9wZG93bi10b2dnbGUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHZpZXdCb3g9JzAgMCAxNCAxNCcgZmlsbD0nbm9uZSclM0UlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHZpZXdCb3g9JzAgMCAxNCAxNCcgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGQ9J00xMS44MzkzIDUuNzE0MjdMNy40NjQyNyAxMC4wODkzQzcuNDAzMzEgMTAuMTUwNSA3LjMzMDg2IDEwLjE5OSA3LjI1MTA5IDEwLjIzMjFDNy4xNzEzMiAxMC4yNjUyIDcuMDg1OCAxMC4yODIzIDYuOTk5NDMgMTAuMjgyM0M2LjkxMzA2IDEwLjI4MjMgNi44Mjc1NCAxMC4yNjUyIDYuNzQ3NzcgMTAuMjMyMUM2LjY2OCAxMC4xOTkgNi41OTU1NSAxMC4xNTA1IDYuNTM0NTggMTAuMDg5M0wyLjE1OTU5IDUuNzE0MjdDMi4wMzYzIDUuNTkwOTkgMS45NjcwNCA1LjQyMzc4IDEuOTY3MDQgNS4yNDk0M0MxLjk2NzA0IDUuMDc1MDggMi4wMzYzIDQuOTA3ODcgMi4xNTk1OSA0Ljc4NDU4QzIuMjgyODcgNC42NjEzIDIuNDUwMDggNC41OTIwNCAyLjYyNDQzIDQuNTkyMDRDMi43OTg3OCA0LjU5MjA0IDIuOTY1OTkgNC42NjEzIDMuMDg5MjcgNC43ODQ1OEw2Ljk5OTk4IDguNjk1MjlMMTAuOTEwNyA0Ljc4NDA0QzExLjAzNCA0LjY2MDc1IDExLjIwMTIgNC41OTE0OSAxMS4zNzU1IDQuNTkxNDlDMTEuNTQ5OSA0LjU5MTQ5IDExLjcxNzEgNC42NjA3NSAxMS44NDA0IDQuNzg0MDRDMTEuOTYzNiA0LjkwNzMyIDEyLjAzMjkgNS4wNzQ1MyAxMi4wMzI5IDUuMjQ4ODhDMTIuMDMyOSA1LjQyMzIzIDExLjk2MzYgNS41OTA0NCAxMS44NDA0IDUuNzEzNzJMMTEuODM5MyA1LjcxNDI3WicgZmlsbD0nJTIzMkYyRjJGJy8lM0UlM0Mvc3ZnJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyNW1zIGVhc2U7IC8qIEFwcGx5IHRyYW5zaXRpb24gZm9yIHJvdGF0aW9uICovXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc2hvdyxcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoXG4gICAgICAgICAgICAgICAgICAxODBkZWdcbiAgICAgICAgICAgICAgICApOyAvKiBSb3RhdGUgdGhlIGFycm93IHdoZW4gZHJvcGRvd24gaXMgb3BlbiAqL1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHZpZXdCb3g9JzAgMCAxNCAxNCcgZmlsbD0nbm9uZSclM0UlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHZpZXdCb3g9JzAgMCAxNCAxNCcgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGQ9J00xMS44MzkzIDUuNzE0MjdMNy40NjQyNyAxMC4wODkzQzcuNDAzMzEgMTAuMTUwNSA3LjMzMDg2IDEwLjE5OSA3LjI1MTA5IDEwLjIzMjFDNy4xNzEzMiAxMC4yNjUyIDcuMDg1OCAxMC4yODIzIDYuOTk5NDMgMTAuMjgyM0M2LjkxMzA2IDEwLjI4MjMgNi44Mjc1NCAxMC4yNjUyIDYuNzQ3NzcgMTAuMjMyMUM2LjY2OCAxMC4xOTkgNi41OTU1NSAxMC4xNTA1IDYuNTM0NTggMTAuMDg5M0wyLjE1OTU5IDUuNzE0MjdDMi4wMzYzIDUuNTkwOTkgMS45NjcwNCA1LjQyMzc4IDEuOTY3MDQgNS4yNDk0M0MxLjk2NzA0IDUuMDc1MDggMi4wMzYzIDQuOTA3ODcgMi4xNTk1OSA0Ljc4NDU4QzIuMjgyODcgNC42NjEzIDIuNDUwMDggNC41OTIwNCAyLjYyNDQzIDQuNTkyMDRDMi43OTg3OCA0LjU5MjA0IDIuOTY1OTkgNC42NjEzIDMuMDg5MjcgNC43ODQ1OEw2Ljk5OTk4IDguNjk1MjlMMTAuOTEwNyA0Ljc4NDA0QzExLjAzNCA0LjY2MDc1IDExLjIwMTIgNC41OTE0OSAxMS4zNzU1IDQuNTkxNDlDMTEuNTQ5OSA0LjU5MTQ5IDExLjcxNzEgNC42NjA3NSAxMS44NDA0IDQuNzg0MDRDMTEuOTYzNiA0LjkwNzMyIDEyLjAzMjkgNS4wNzQ1MyAxMi4wMzI5IDUuMjQ4ODhDMTIuMDMyOSA1LjQyMzIzIDExLjk2MzYgNS41OTA0NCAxMS44NDA0IDUuNzEzNzJMMTEuODM5MyA1LjcxNDI3WicgZmlsbD0nJTIzMkYyRjJGJy8lM0UlM0Mvc3ZnJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgICAgICYuc2hvdyB7XG4gICAgICAgICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTknIHZpZXdCb3g9JzAgMCAxOCAxOScgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGQ9J00xMi45NzIgMTAuMDk2OUw3LjM0Njk4IDE1LjcyMTlDNy4xODg0OCAxNS44ODA0IDYuOTczNDkgMTUuOTY5NSA2Ljc0OTMzIDE1Ljk2OTVDNi41MjUxNiAxNS45Njk1IDYuMzEwMTggMTUuODgwNCA2LjE1MTY3IDE1LjcyMTlDNS45OTMxNiAxNS41NjM0IDUuOTA0MTEgMTUuMzQ4NCA1LjkwNDExIDE1LjEyNDNDNS45MDQxMSAxNC45MDAxIDUuOTkzMTYgMTQuNjg1MSA2LjE1MTY3IDE0LjUyNjZMMTEuMTc5NyA5LjQ5OTk3TDYuMTUzMDggNC40NzE5MkM2LjA3NDU5IDQuMzkzNDQgNi4wMTIzMyA0LjMwMDI2IDUuOTY5ODYgNC4xOTc3MkM1LjkyNzM4IDQuMDk1MTcgNS45MDU1MiAzLjk4NTI2IDUuOTA1NTIgMy44NzQyN0M1LjkwNTUyIDMuNzYzMjcgNS45MjczOCAzLjY1MzM2IDUuOTY5ODYgMy41NTA4MkM2LjAxMjMzIDMuNDQ4MjcgNi4wNzQ1OSAzLjM1NTEgNi4xNTMwOCAzLjI3NjYxQzYuMjMxNTYgMy4xOTgxMiA2LjMyNDc0IDMuMTM1ODcgNi40MjcyOCAzLjA5MzM5QzYuNTI5ODMgMy4wNTA5MSA2LjYzOTc0IDMuMDI5MDUgNi43NTA3MyAzLjAyOTA1QzYuODYxNzMgMy4wMjkwNSA2Ljk3MTY0IDMuMDUwOTEgNy4wNzQxOCAzLjA5MzM5QzcuMTc2NzMgMy4xMzU4NyA3LjI2OTkgMy4xOTgxMiA3LjM0ODM5IDMuMjc2NjFMMTIuOTczNCA4LjkwMTYxQzEzLjA1MiA4Ljk4MDA5IDEzLjExNDMgOS4wNzMzMSAxMy4xNTY3IDkuMTc1OTJDMTMuMTk5MiA5LjI3ODUzIDEzLjIyMSA5LjM4ODUxIDEzLjIyMDkgOS40OTk1NkMxMy4yMjA3IDkuNjEwNjEgMTMuMTk4NyA5LjcyMDU0IDEzLjE1NiA5LjgyMzA1QzEzLjExMzMgOS45MjU1NiAxMy4wNTA3IDEwLjAxODYgMTIuOTcyIDEwLjA5NjlaJyBmaWxsPSd1cmwoJTIzcGFpbnQwX2xpbmVhcl84MDVfMjc3NiknLyUzRSUzQ2RlZnMlM0UlM0NsaW5lYXJHcmFkaWVudCBpZD0ncGFpbnQwX2xpbmVhcl84MDVfMjc3NicgeDE9JzUuOTA0MTEnIHkxPSczLjAyOTA1JyB4Mj0nMTQuMzYwOCcgeTI9JzMuODIyNycgZ3JhZGllbnRVbml0cz0ndXNlclNwYWNlT25Vc2UnJTNFJTNDc3RvcCBzdG9wLWNvbG9yPSclMjNEOThDMkYnLyUzRSUzQ3N0b3Agb2Zmc2V0PScxJyBzdG9wLWNvbG9yPSclMjNFQ0E4MjcnLyUzRSUzQy9saW5lYXJHcmFkaWVudCUzRSUzQy9kZWZzJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDEyNW1zIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDEyNW1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkSG9vZmRrbGV1ci1TdW47XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxOCcgaGVpZ2h0PScxOScgdmlld0JveD0nMCAwIDE4IDE5JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTEyLjk3MiAxMC4wOTY5TDcuMzQ2OTggMTUuNzIxOUM3LjE4ODQ4IDE1Ljg4MDQgNi45NzM0OSAxNS45Njk1IDYuNzQ5MzMgMTUuOTY5NUM2LjUyNTE2IDE1Ljk2OTUgNi4zMTAxOCAxNS44ODA0IDYuMTUxNjcgMTUuNzIxOUM1Ljk5MzE2IDE1LjU2MzQgNS45MDQxMSAxNS4zNDg0IDUuOTA0MTEgMTUuMTI0M0M1LjkwNDExIDE0LjkwMDEgNS45OTMxNiAxNC42ODUxIDYuMTUxNjcgMTQuNTI2NkwxMS4xNzk3IDkuNDk5OTdMNi4xNTMwOCA0LjQ3MTkyQzYuMDc0NTkgNC4zOTM0NCA2LjAxMjMzIDQuMzAwMjYgNS45Njk4NiA0LjE5NzcyQzUuOTI3MzggNC4wOTUxNyA1LjkwNTUyIDMuOTg1MjYgNS45MDU1MiAzLjg3NDI3QzUuOTA1NTIgMy43NjMyNyA1LjkyNzM4IDMuNjUzMzYgNS45Njk4NiAzLjU1MDgyQzYuMDEyMzMgMy40NDgyNyA2LjA3NDU5IDMuMzU1MSA2LjE1MzA4IDMuMjc2NjFDNi4yMzE1NiAzLjE5ODEyIDYuMzI0NzQgMy4xMzU4NyA2LjQyNzI4IDMuMDkzMzlDNi41Mjk4MyAzLjA1MDkxIDYuNjM5NzQgMy4wMjkwNSA2Ljc1MDczIDMuMDI5MDVDNi44NjE3MyAzLjAyOTA1IDYuOTcxNjQgMy4wNTA5MSA3LjA3NDE4IDMuMDkzMzlDNy4xNzY3MyAzLjEzNTg3IDcuMjY5OSAzLjE5ODEyIDcuMzQ4MzkgMy4yNzY2MUwxMi45NzM0IDguOTAxNjFDMTMuMDUyIDguOTgwMDkgMTMuMTE0MyA5LjA3MzMxIDEzLjE1NjcgOS4xNzU5MkMxMy4xOTkyIDkuMjc4NTMgMTMuMjIxIDkuMzg4NTEgMTMuMjIwOSA5LjQ5OTU2QzEzLjIyMDcgOS42MTA2MSAxMy4xOTg3IDkuNzIwNTQgMTMuMTU2IDkuODIzMDVDMTMuMTEzMyA5LjkyNTU2IDEzLjA1MDcgMTAuMDE4NiAxMi45NzIgMTAuMDk2OVonIGZpbGw9J3VybCglMjNwYWludDBfbGluZWFyXzgwNV8yNzc2KScvJTNFJTNDZGVmcyUzRSUzQ2xpbmVhckdyYWRpZW50IGlkPSdwYWludDBfbGluZWFyXzgwNV8yNzc2JyB4MT0nNS45MDQxMScgeTE9JzMuMDI5MDUnIHgyPScxNC4zNjA4JyB5Mj0nMy44MjI3JyBncmFkaWVudFVuaXRzPSd1c2VyU3BhY2VPblVzZSclM0UlM0NzdG9wIHN0b3AtY29sb3I9JyUyM0Q5OEMyRicvJTNFJTNDc3RvcCBvZmZzZXQ9JzEnIHN0b3AtY29sb3I9JyUyM0VDQTgyNycvJTNFJTNDL2xpbmVhckdyYWRpZW50JTNFJTNDL2RlZnMlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAxMjVtcyBlYXNlLWluLW91dCwgb3BhY2l0eSAxMjVtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkSG9vZmRrbGV1ci1TdW47XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE4JyBoZWlnaHQ9JzE5JyB2aWV3Qm94PScwIDAgMTggMTknIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNMTIuOTcyIDEwLjA5NjlMNy4zNDY5OCAxNS43MjE5QzcuMTg4NDggMTUuODgwNCA2Ljk3MzQ5IDE1Ljk2OTUgNi43NDkzMyAxNS45Njk1QzYuNTI1MTYgMTUuOTY5NSA2LjMxMDE4IDE1Ljg4MDQgNi4xNTE2NyAxNS43MjE5QzUuOTkzMTYgMTUuNTYzNCA1LjkwNDExIDE1LjM0ODQgNS45MDQxMSAxNS4xMjQzQzUuOTA0MTEgMTQuOTAwMSA1Ljk5MzE2IDE0LjY4NTEgNi4xNTE2NyAxNC41MjY2TDExLjE3OTcgOS40OTk5N0w2LjE1MzA4IDQuNDcxOTJDNi4wNzQ1OSA0LjM5MzQ0IDYuMDEyMzMgNC4zMDAyNiA1Ljk2OTg2IDQuMTk3NzJDNS45MjczOCA0LjA5NTE3IDUuOTA1NTIgMy45ODUyNiA1LjkwNTUyIDMuODc0MjdDNS45MDU1MiAzLjc2MzI3IDUuOTI3MzggMy42NTMzNiA1Ljk2OTg2IDMuNTUwODJDNi4wMTIzMyAzLjQ0ODI3IDYuMDc0NTkgMy4zNTUxIDYuMTUzMDggMy4yNzY2MUM2LjIzMTU2IDMuMTk4MTIgNi4zMjQ3NCAzLjEzNTg3IDYuNDI3MjggMy4wOTMzOUM2LjUyOTgzIDMuMDUwOTEgNi42Mzk3NCAzLjAyOTA1IDYuNzUwNzMgMy4wMjkwNUM2Ljg2MTczIDMuMDI5MDUgNi45NzE2NCAzLjA1MDkxIDcuMDc0MTggMy4wOTMzOUM3LjE3NjczIDMuMTM1ODcgNy4yNjk5IDMuMTk4MTIgNy4zNDgzOSAzLjI3NjYxTDEyLjk3MzQgOC45MDE2MUMxMy4wNTIgOC45ODAwOSAxMy4xMTQzIDkuMDczMzEgMTMuMTU2NyA5LjE3NTkyQzEzLjE5OTIgOS4yNzg1MyAxMy4yMjEgOS4zODg1MSAxMy4yMjA5IDkuNDk5NTZDMTMuMjIwNyA5LjYxMDYxIDEzLjE5ODcgOS43MjA1NCAxMy4xNTYgOS44MjMwNUMxMy4xMTMzIDkuOTI1NTYgMTMuMDUwNyAxMC4wMTg2IDEyLjk3MiAxMC4wOTY5WicgZmlsbD0ndXJsKCUyM3BhaW50MF9saW5lYXJfODA1XzI3NzYpJy8lM0UlM0NkZWZzJTNFJTNDbGluZWFyR3JhZGllbnQgaWQ9J3BhaW50MF9saW5lYXJfODA1XzI3NzYnIHgxPSc1LjkwNDExJyB5MT0nMy4wMjkwNScgeDI9JzE0LjM2MDgnIHkyPSczLjgyMjcnIGdyYWRpZW50VW5pdHM9J3VzZXJTcGFjZU9uVXNlJyUzRSUzQ3N0b3Agc3RvcC1jb2xvcj0nJTIzRDk4QzJGJy8lM0UlM0NzdG9wIG9mZnNldD0nMScgc3RvcC1jb2xvcj0nJTIzRUNBODI3Jy8lM0UlM0MvbGluZWFyR3JhZGllbnQlM0UlM0MvZGVmcyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDEwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYWN0aW9uLWJ1dHRvbnMge1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1vYmlsZS1oZWFkZXItYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xufVxuXG4jbW9iaWxlV3JhcHBlciB7XG4gIC5tZW51X2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDFyZW07XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAmOm5vdCguYnRuKSB7XG4gICAgICAgIGNvbG9yOiAkQmFzaXMtRGFyaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm1lbnVfc3ViX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6IDJyZW07XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogJEJhc2lzLURhcms7XG4gICAgfVxuICAgIGEsXG4gICAgaHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuNXJlbTtcbiAgICB9XG4gICAgaHIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYzBjMGMwO1xuICAgIH1cbiAgICAuaHItbWFyZ2luLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbiAgICAuaHItbWFyZ2luLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbiAgfVxuICAubWVudV9mb290ZXJfc29jaWFsX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAubW9iaWxlLWxhbmctc3dpdGNoIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJEJhc2lzLURhcms7XG4gICAgfVxuICAgIC5tb2JpbGUtbGFuZy1zd2l0Y2gtZHJvcHdkb3duIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJvb2tpbmctd2lkZ2V0LWFycm93IHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyBlYXNlLWluLW91dDtcbiAgICB9XG4gICAgJi5zaG93IHtcbiAgICAgIC5ib29raW5nLXdpZGdldC1hcnJvdyB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoLTI1JSwgLTI1JSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIlYnRuLW91dGxpbmUge1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cblxuJWxpbmstY3VzdG9tIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxNDAlOyAvKiAxLjRyZW0gKi9cbn1cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7IC8qIDEuNHJlbSAqL1xuICB0cmFuc2l0aW9uOiBhbGwgMTI1bXMgZWFzZS1pbi1vdXQ7XG4gICYubm8tdHJhbnNpdGlvbiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuYnRuLWNpcmNsZSB7XG4gICAgcGFkZGluZzogMXJlbTtcblxuICAgICYuYWNjb3VudC1sb2dnZWQtaW4ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkQmFzaXMtRGVzZXJ0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJhc2lzLURlc2VydDtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRCYXNpcy1EZXNlcnQsIDIwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY2NvdW50LXBhZ2Uge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkQmFzaXMtRGVzZXJ0O1xuXG4gICAgICBzdmcge1xuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBmaWxsOiAkQmFzaXMtRGVzZXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJEJhc2lzLURlc2VydCwgMjAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmJ0bi1wcmltYXJ5IHtcbiAgICAtLWJzLWJ0bi1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAkSG9vZmRrbGV1ci1TdW47XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6ICRIb29mZGtsZXVyLVN1bi1maXg7XG4gICAgICBib3JkZXItY29sb3I6ICRCYXNpcy1EZXNlcnQ7XG4gICAgfVxuICB9XG5cbiAgJi5idG4tc2Vjb25kYXJ5IHtcbiAgICAtLWJzLWJ0bi1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAkYWN0aWUtd2F0ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpZS13YXRlci1maXg7XG4gICAgICBib3JkZXItY29sb3I6ICRUaW50ZW4tV2F0ZXItSG92ZXI7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICAmLmJ0bi1kYW5nZXIge1xuICAgIC0tYnMtYnRuLWNvbG9yOiAjZmZmO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJEJhc2lzLURhcms7XG4gICAgICBiYWNrZ3JvdW5kOiAkTm90aWZpY2F0aW9uLUVycm9yLUxpZ2h0O1xuICAgIH1cbiAgfVxuXG4gICYuYnRuLXdhcm5pbmcge1xuICAgIC0tYnMtYnRuLWNvbG9yOiAjZmZmO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJEJhc2lzLURhcms7XG4gICAgICBiYWNrZ3JvdW5kOiAkTm90aWZpY2F0aW9uLVdhcm5pbmctTGlnaHQ7XG4gICAgfVxuICB9XG5cbiAgJi5idG4tc3VjY2VzcyB7XG4gICAgLS1icy1idG4tY29sb3I6ICNmZmY7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkQmFzaXMtRGFyaztcbiAgICAgIGJhY2tncm91bmQ6ICROb3RpZmljYXRpb24tU3VjY2Vzcy1MaWdodDtcbiAgICB9XG4gIH1cblxuICAmLmJ0bi1saWdodCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gICYuYnRuLW91dGxpbmUtcHJpbWFyeSB7XG4gICAgY29sb3I6ICRIb29mZGtsZXVyLVN1bi1iYWNrdXA7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgLy9ib3JkZXI6IDJweCBzb2xpZCAkYWN0aWUtd2F0ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRIb29mZGtsZXVyLVN1bi1iYWNrdXA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmMWU5O1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmOGYxZTk7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVm9lZyBlZW4gcHNldWRvLWVsZW1lbnQgdG9lIHZvb3IgZGUgZ3JhZGllbnQgcmFuZFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAyLjVyZW07XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMnB4O1xuICAgICAgbGVmdDogLTJweDtcbiAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgYm90dG9tOiAtMnB4O1xuICAgICAgYmFja2dyb3VuZDogJEhvb2Zka2xldXItU3VuO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgfVxuXG4gICAgLy8gVm9lZyBlZW4gcHNldWRvLWVsZW1lbnQgdG9lIHZvb3IgZGUgYWNodGVyZ3JvbmQgdmFuIGRlIGtub3BcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAyLjVyZW07XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcztcbiAgICB9XG5cbiAgICAvLyBHcmFkaWVudCB0ZWtzdFxuICAgIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZDogJEhvb2Zka2xldXItU3VuO1xuICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAmLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgLy9ib3JkZXI6IDJweCBzb2xpZCAkYWN0aWUtd2F0ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZWVmMztcbiAgICAgIGNvbG9yOiAkVGludGVuLVdhdGVyLUhvdmVyO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTVlZWYzO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZvZWcgZWVuIHBzZXVkby1lbGVtZW50IHRvZSB2b29yIGRlIGdyYWRpZW50IHJhbmRcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMi41cmVtO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTJweDtcbiAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICByaWdodDogLTJweDtcbiAgICAgIGJvdHRvbTogLTJweDtcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpZS13YXRlcjtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgIH1cblxuICAgIC8vIFZvZWcgZWVuIHBzZXVkby1lbGVtZW50IHRvZSB2b29yIGRlIGFjaHRlcmdyb25kIHZhbiBkZSBrbm9wXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMi41cmVtO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG4gICAgfVxuXG4gICAgLy8gR3JhZGllbnQgdGVrc3RcbiAgICBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpZS13YXRlcjtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIHRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5idG4tb3V0bGluZS1saWdodCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gICYuYnRuLW91dGxpbmUtZGFyayB7XG4gICAgY29sb3I6ICRCYXNpcy1EYXJrO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRUaW50ZW4tTGlnaHQtR3JleTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgY29sb3I6ICRCYXNpcy1EYXJrO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbiAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4udGV4dC1wcmltYXJ5IHtcbiAgQGV4dGVuZCAlbGluay1jdXN0b207XG4gIGJhY2tncm91bmQ6ICRIb29mZGtsZXVyLVN1bjtcbiAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5saW5rLXByaW1hcnkge1xuICBAZXh0ZW5kICVsaW5rLWN1c3RvbTtcbiAgYmFja2dyb3VuZDogJEhvb2Zka2xldXItU3VuO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkQmFzaXMtRGVzZXJ0O1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5saW5rLXNlY29uZGFyeSB7XG4gIEBleHRlbmQgJWxpbmstY3VzdG9tO1xuICBiYWNrZ3JvdW5kOiAkYWN0aWUtd2F0ZXI7XG4gIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRUaW50ZW4tV2F0ZXItSG92ZXI7XG4gICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4ubGluay1saWdodCB7XG4gIEBleHRlbmQgJWxpbmstY3VzdG9tO1xufVxuXG4ubGluay1kYXJrIHtcbiAgQGV4dGVuZCAlbGluay1jdXN0b207XG59XG5cbi5wcmltYXJ5LXRleHQtZ3JhZGllbnQge1xuICBiYWNrZ3JvdW5kOiAkSG9vZmRrbGV1ci1TdW47XG4gIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRCYXNpcy1EZXNlcnQ7XG4gICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4ucHJpbWFyeS10ZXh0LWdyYWRpZW50LW5vLWhvdmVyIHtcbiAgYmFja2dyb3VuZDogJEhvb2Zka2xldXItU3VuO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNlY29uZGFyeS10ZXh0LWdyYWRpZW50IHtcbiAgYmFja2dyb3VuZDogJGFjdGllLXdhdGVyO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkVGludGVuLVdhdGVyLUhvdmVyO1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLnNlY29uZGFyeS10ZXh0LWdyYWRpZW50LW5vLWhvdmVyIHtcbiAgYmFja2dyb3VuZDogJGFjdGllLXdhdGVyO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbiIsIi5hbGVydCB7XG4gIGNvbG9yOiAkQmFzaXMtRGFyaztcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlOyAvKiAxLjRyZW0gKi9cbiAgaDUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn0iLCIudGFnLWhvbGRlciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gIH1cbn1cblxuLmN1c3RvbS10YWcge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICB9XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7IC8qIDEuMjI1cmVtICovXG4gIGJhY2tncm91bmQ6ICRCYXNpcy1XaGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMi41cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xuICB9XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4yNXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgJEJhc2lzLURlc2VydDtcbiAgY29sb3I6ICRCYXNpcy1EZXNlcnQ7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJi50cmFuc3BhcmFudCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIHN2ZyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICB9XG4gIH1cbiAgJi5kZWZhdWx0IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkQmFzaXMtRGVzZXJ0O1xuICAgIGNvbG9yOiAkQmFzaXMtRGVzZXJ0O1xuXG4gICAgc3ZnIHtcbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiAkQmFzaXMtRGVzZXJ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYW1iZXIge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRBY2NlbnQtQW1iZXI7XG4gICAgY29sb3I6ICRBY2NlbnQtQW1iZXI7XG5cbiAgICBzdmcge1xuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6ICRBY2NlbnQtQW1iZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5yYXNwYmVycnkge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRBY2NlbnQtUmFzcGJlcnJ5O1xuICAgIGNvbG9yOiAkQWNjZW50LVJhc3BiZXJyeTtcblxuICAgIHN2ZyB7XG4gICAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogJEFjY2VudC1SYXNwYmVycnk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5mb3Jlc3Qge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRBY2NlbnQtRm9yZXN0O1xuICAgIGNvbG9yOiAkQWNjZW50LUZvcmVzdDtcblxuICAgIHN2ZyB7XG4gICAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogJEFjY2VudC1Gb3Jlc3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi53YXRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJFRpbnRlbi1XYXRlci1Ib3ZlcjtcbiAgICBjb2xvcjogJFRpbnRlbi1XYXRlci1Ib3ZlcjtcblxuICAgIHN2ZyB7XG4gICAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogJFRpbnRlbi1XYXRlci1Ib3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5kZXNlcnQge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRCYXNpcy1EZXNlcnQ7XG4gICAgY29sb3I6ICRCYXNpcy1EZXNlcnQ7XG4gICAgc3ZnIHtcbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiAkQmFzaXMtRGVzZXJ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNhcmQge1xuICB0cmFuc2l0aW9uOiBhbGwgMTI1bXMgZWFzZS1pbi1vdXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctaG92ZXI7XG4gIH1cbiAgJi5tYXAtY2FyZCB7XG4gICAgLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmNhcmQtY2Fyb3VzZWwge1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5jYXJkLWNhcm91c2VsLWltZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gICAgICBib3R0b206IDIwcHg7XG5cbiAgICAgIC5mbGlja2l0eS1wYWdlLWRvdCB7XG4gICAgICAgIG1hcmdpbjogMCAwLjI1cmVtO1xuICAgICAgICB3aWR0aDogMC41cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYmFja2dyb3VuZDogJEJhc2lzLVdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjFzIHdpZHRoIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICYuaXMtc2VsZWN0ZWQge1xuICAgICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNhcmQtY2Fyb3VzZWwtcG9ydHJhaXQge1xuICAgIC5mbGlja2l0eS12aWV3cG9ydCB7XG4gICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICB9XG4gICAgLmZsaWNraXR5LWNlbGwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjsgLyogRW5zdXJlcyBpbWFnZSBjb3ZlcnMgdGhlIGNvbnRhaW5lciAqL1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgICYuY2Fyb3VzZWwtY2VsbC1pbWFnZSB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgJi5mbGlja2l0eS1sYXp5ZXJyb3IsXG4gICAgICAgICYuZmxpY2tpdHktbGF6eWxvYWRlZCB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgICAgIGJvdHRvbTogMjBweDtcblxuICAgICAgLmZsaWNraXR5LXBhZ2UtZG90IHtcbiAgICAgICAgbWFyZ2luOiAwIDAuMjVyZW07XG4gICAgICAgIHdpZHRoOiAwLjVyZW07XG4gICAgICAgIGhlaWdodDogMC41cmVtO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkQmFzaXMtV2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgICAgIHRyYW5zaXRpb246IDAuMXMgd2lkdGggZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgJi5pcy1zZWxlY3RlZCB7XG4gICAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2FyZC1ib2R5IHtcbiAgICAuY2FyZC1kYXRhIHtcbiAgICAgIGdhcDogMC42MjVyZW07XG4gICAgfVxuXG4gICAgLmNhcmQtZmFjaWxpdGllcyB7XG4gICAgICAuY2FyZC1mYWNpbGl0aWVzLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLmZhY2lsaXR5IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZ2FwOiAwLjI1cmVtO1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7IC8qIDEuNHJlbSAqL1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmQtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlOyAvKiAxLjk1cmVtICovXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZC10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTQwJTsgLyogMS40cmVtICovXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZC1yYXRpbmcge1xuICAgICAgLnJldmlldy1zdW1tYXJ5LXJhdGluZyB7XG4gICAgICAgIGNvbG9yOiAkQWNjZW50LUFtYmVyO1xuXG4gICAgICAgIC5yYXRpbmctbnVtYmVyIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLWxvY2F0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlOyAvKiAxLjYyNXJlbSAqL1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmQtZGlzdGFuY2Uge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTQwJTsgLyogMS4yMjVyZW0gKi9cbiAgICB9XG5cbiAgICAuY2FyZC1tZXNzYWdlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAwLjI1cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTQwJTsgLyogMS4yMjVyZW0gKi9cbiAgICAgIGNvbG9yOiAkTm90aWZpY2F0aW9uLVdhcm5pbmc7XG4gICAgfVxuXG4gICAgLmNhcmQtYm9va2luZyB7XG4gICAgICAuY2FyZC1ib29raW5nLWRhdGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIHJvdy1nYXA6IDA7XG4gICAgICAgIC5jYXJkLWJvb2tpbmctc3RvY2sge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb2xvcjogJEFjY2VudC1SYXNwYmVycnk7XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmQtYm9va2luZy1kYXRlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgICAgY29sb3I6ICRUaW50ZW4tRGFyay1HcmV5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIHJvdy1nYXA6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWJvb2tpbmctcHJpY2Uge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlOyAvKiAxLjYyNXJlbSAqL1xuICAgICAgICAgICYuZGlzY291bnQtcHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogJEFjY2VudC1SYXNwYmVycnk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmRpc2NvdW50LXByaWNlLXBlcmNlbnRhZ2Uge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xMjU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jYXJkLW5vLWRhdGUtc2VsZWN0ZWQge1xuICAgICAgICAgIGNvbG9yOiAkTm90aWZpY2F0aW9uLVdhcm5pbmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnBvcnRyYWl0IHtcbiAgICAmOm5vdCguYWNjb21tb2RhdGlvbikge1xuICAgICAgLmNhcmQtYm9keSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICBoZWlnaHQ6IDI0cmVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICBoZWlnaHQ6IDI1cmVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICBoZWlnaHQ6IDIzLjg3NXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWNjb21tb2RhdGlvbiB7XG4gICAgICAuY2FyZC1ib2R5IHtcbiAgICAgICAgZ2FwOiAxcmVtO1xuXG4gICAgICAgIC5jYXJkLWRhdGEge1xuICAgICAgICAgIGdhcDogMXJlbTtcblxuICAgICAgICAgIC5mYWNpbGl0eS1hY2NvbW1vZGF0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IDAuMjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5ibG9nIHtcbiAgICAgIC5jYXJkLWltZy10b3Age1xuICAgICAgICAuaW1hZ2UtaG9sZGVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2FyZC1ib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgIGhlaWdodDogMTNyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgIGhlaWdodDogMTNyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgIGhlaWdodDogMTNyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5jYW1waW5nX2NhcmQge1xuICAgICAgLmNhcmQtYm9keSB7XG4gICAgICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA0cmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZC1sb2NhdGlvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5sYW5kc2NhcGUge1xuICAgIC8vbWluLWhlaWdodDogMThyZW07XG5cbiAgICAuY2FyZC1ib2R5IHtcbiAgICAgIC5jYXJkLWRhdGEge1xuICAgICAgICBnYXA6IDAuMjVyZW07XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZC1mYWNpbGl0aWVzLWxpc3Qge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIGdhcDogMS41cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5vdGhlckRhdGVzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkTm90aWZpY2F0aW9uLVdhcm5pbmcgIWltcG9ydGFudDtcbiAgICAuY2FyZC1ib29raW5nLWRhdGVzIHtcbiAgICAgIGNvbG9yOiAkTm90aWZpY2F0aW9uLVdhcm5pbmc7XG4gICAgfVxuICB9XG4gICYuY2FyZC1hY2NvbW1vZGF0aW9uLWRpc2FibGVkIHtcbiAgICAuY2FyZC1pbWctdG9wIHtcbiAgICAgIG9wYWNpdHk6IDAuNTsgLyogTWFrZXMgdGhlIGNhcmQgbG9vayBmYWRlZCAqL1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IC8qIERpc2FibGVzIHRleHQgc2VsZWN0aW9uICovXG4gICAgfVxuICAgIC5jYXJkLWRhdGE6bm90KC5jYXJkLW1lc3NhZ2UpIHtcbiAgICAgIG9wYWNpdHk6IDAuNTsgLyogTWFrZXMgdGhlIGNhcmQgbG9vayBmYWRlZCAqL1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8qIERpc2FibGVzIGNsaWNrcyBhbmQgb3RoZXIgaW50ZXJhY3Rpb25zICovXG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgLyogRGlzYWJsZXMgdGV4dCBzZWxlY3Rpb24gKi9cbiAgICB9XG4gIH1cbn1cblxuLm1vYmlsZS1jYXJkLWNhcm91c2VsLXBvcnRyYWl0IHtcbiAgaGVpZ2h0OiAxNnJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJi5pcy1mdWxsc2NyZWVuIHtcbiAgICB6LWluZGV4OiAxMDIxO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICAuZmxpY2tpdHktZnVsbHNjcmVlbi1idXR0b24gLmZsaWNraXR5LWJ1dHRvbi1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgbGVmdDogLTEwcHg7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgfVxuICAgIC5jYXJvdXNlbC1jZWxsIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHVuc2V0O1xuICAgICAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgb2JqZWN0LWZpdDogdW5zZXQ7XG4gICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNhcm91c2VsLWNvdW50ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgLmNhcm91c2VsLWNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTZyZW07XG4gICAgYmFja2dyb3VuZDogIzIyMjtcbiAgICAvKiBjZW50ZXIgaW1hZ2VzIGluIGNlbGxzIHdpdGggZmxleGJveCAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC5jYXJvdXNlbC1jZWxsIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAvKiBmYWRlIGluIGltYWdlIHdoZW4gbG9hZGVkICovXG4gIC5jYXJvdXNlbC1jZWxsLWltYWdlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHM7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIC5jYXJvdXNlbC1jZWxsLWltYWdlLmZsaWNraXR5LWxhenlsb2FkZWQsXG4gIC5jYXJvdXNlbC1jZWxsLWltYWdlLmZsaWNraXR5LWxhenllcnJvciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAuZmxpY2tpdHktYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gICAgYm90dG9tOiAyMHB4O1xuXG4gICAgLmZsaWNraXR5LXBhZ2UtZG90IHtcbiAgICAgIG1hcmdpbjogMCAwLjI1cmVtO1xuICAgICAgd2lkdGg6IDAuNXJlbTtcbiAgICAgIGhlaWdodDogMC41cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQ6ICRCYXNpcy1XaGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgICB0cmFuc2l0aW9uOiAwLjFzIHdpZHRoIGVhc2UtaW4tb3V0O1xuXG4gICAgICAmLmlzLXNlbGVjdGVkIHtcbiAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm5ld3NsZXR0ZXItY3RhLWJvdHRvbSB7XG4gIC5pbnB1dC1ncm91cCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAyLjVyZW07XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGlucHV0IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgICNzdWJtaXROZXdzbGV0dGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIuNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuZm9vdGVyIHtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7IC8qIDEuNHJlbSAqL1xuXG4gIC5mb290ZXItcmV2aWV3LXN1bW1hcnkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7IC8qIDEuMjI1cmVtICovXG4gIH1cblxuICAucmV2aWV3LXN1bW1hcnktcmF0aW5nIHtcbiAgICBjb2xvcjogJEFjY2VudC1BbWJlcjtcblxuICAgIC5yYXRpbmctbnVtYmVyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgLm5hdiB7XG4gICAgLm5hdi1pdGVtIHtcbiAgICAgIC5uYXYtbGluayB7XG4gICAgICAgIGNvbG9yOiAkQmFzaXMtRGFyaztcbiAgICAgICAgdHJhbnNpdGlvbjogZm9udC13ZWlnaHQgMTAwbXMgZWFzZS1pbi1vdXQgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtd2VpZ2h0IDEwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnN1YnRleHQge1xuICAgICAgICBjb2xvcjogJFRpbnRlbi1EYXJrLUdyZXk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3ViZm9vdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkVGludGVuLUdyZXkgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAycHggIWltcG9ydGFudDtcblxuICAgIC5wYXltZW50cyB7XG4gICAgICBnYXA6IDFyZW07XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlOyAvKiAxLjU3NXJlbSAqL1xuICAgICAgLnBheW1lbnQtbG9nb3Mge1xuICAgICAgICBnYXA6IDAuNXJlbTtcblxuICAgICAgICAucGF5bWVudC1sb2dvIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuem9vdmVyLWF3YXJkIHtcbiAgICAgIGltZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDguNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc29jaWFscyB7XG4gICAgICBnYXA6IDEuNXJlbTtcbiAgICB9XG4gIH1cblxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxMzAlOyAvKiAxLjYyNXJlbSAqL1xuICB9XG5cbiAgLmJvdHRvbS1mb290ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRUaW50ZW4tR3JleSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDJweCAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbn1cbi5mb290ZXJfd2lkZ2V0IHtcbiAgei1pbmRleDogMTAxOTtcbiAgLmRlZmF1bHRfZm9vdGVyX3dpZGdldCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAxcHggLTVweCAyMHB4IDBweCByZ2JhKDcwLCA3MCwgNzAsIDAuMTUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW0gMC4zNzVyZW0gMHJlbSAwcmVtO1xuICAgIC53aWRnZXRfZWxlbWVudHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMy41cmVtO1xuICAgICAgLmZvb3Rlcl9jaGF0LFxuICAgICAgLmZvb3Rlcl9kaXNjb3ZlciB7XG4gICAgICAgIGEge1xuICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBjb2xvcjogJEJhc2lzLURhcms7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZm9vdGVyX3NlYXJjaCB7XG4gICAgICAgIC5iaWdfc2VhcmNoX2J1dHRvbiB7XG4gICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgICAgICBib3JkZXI6IDEwcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jbGFtcC10ZXh0LTEge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAxOyAvLyBBYW50YWwgbGlqbmVuIGRhdCBqZSB3aWx0IGxhdGVuIHppZW5cbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5jbGFtcC10ZXh0LTIge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyOyAvLyBBYW50YWwgbGlqbmVuIGRhdCBqZSB3aWx0IGxhdGVuIHppZW5cbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5jbGFtcC10ZXh0LTMge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzOyAvLyBBYW50YWwgbGlqbmVuIGRhdCBqZSB3aWx0IGxhdGVuIHppZW5cbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4uY2xhbXAtdGV4dC00IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogNDsgLy8gQWFudGFsIGxpam5lbiBkYXQgamUgd2lsdCBsYXRlbiB6aWVuXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuLmNsYW1wLXRleHQtNSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDU7IC8vIEFhbnRhbCBsaWpuZW4gZGF0IGplIHdpbHQgbGF0ZW4gemllblxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi5jbGFtcC10ZXh0LTYge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiA2OyAvLyBBYW50YWwgbGlqbmVuIGRhdCBqZSB3aWx0IGxhdGVuIHppZW5cbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4uY2xhbXAtdGV4dC03IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogNzsgLy8gQWFudGFsIGxpam5lbiBkYXQgamUgd2lsdCBsYXRlbiB6aWVuXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuLmNsYW1wLXRleHQtOCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDg7IC8vIEFhbnRhbCBsaWpuZW4gZGF0IGplIHdpbHQgbGF0ZW4gemllblxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi5jbGFtcC10ZXh0LTkge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiA5OyAvLyBBYW50YWwgbGlqbmVuIGRhdCBqZSB3aWx0IGxhdGVuIHppZW5cbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4uY2xhbXAtdGV4dC0xMCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDEwOyAvLyBBYW50YWwgbGlqbmVuIGRhdCBqZSB3aWx0IGxhdGVuIHppZW5cbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5wbGFjZWhvbGRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG59XG5cbi5iYWNrLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbn1cblxuLmFuaW1hdGVkLWxpbmsge1xuICBzcGFuIHtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tcmlnaHQgMjAwbXMgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAmOmhvdmVyIHNwYW4ge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICB9XG59XG5cbi5idG4tb3V0bGluZS1kYXJrOm5vdCguYnRuLWNpcmNsZSwgLm5vLXN2Zy1hbmltYXRpb24pOmhhcyhzdmcpLFxuLmJ0bi5idG4tc2Vjb25kYXJ5Om5vdCgubm8tc3ZnLWFuaW1hdGlvbik6aGFzKHN2ZyksXG4uYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoLm5vLXN2Zy1hbmltYXRpb24pOmhhcyhzdmcpLFxuLmJ0bi5idG4tcHJpbWFyeTpub3QoLm5vLXN2Zy1hbmltYXRpb24pOmhhcyhzdmcpLFxuLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCgubm8tc3ZnLWFuaW1hdGlvbik6aGFzKHN2ZyksXG4ubGluay1wcmltYXJ5Om5vdCgubm8tc3ZnLWFuaW1hdGlvbik6aGFzKHN2ZyksXG4ubGluay1zZWNvbmRhcnk6bm90KC5uby1zdmctYW5pbWF0aW9uKTpoYXMoc3ZnKSB7XG4gIHN2ZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgJjpob3ZlciBzdmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpOyAvKiBNb3ZlcyB0aGUgc3ZnIHNsaWdodGx5IHRvIHRoZSByaWdodCAqL1xuICB9XG4gICYuc3ZnLWxlZnQge1xuICAgICY6aG92ZXIgc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsgLyogTW92ZXMgdGhlIHN2ZyBzbGlnaHRseSB0byB0aGUgcmlnaHQgKi9cbiAgICB9XG4gIH1cbn1cblxuLnN0aWNreS1zY3JvbGxlciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMTQwcHg7XG4gIHotaW5kZXg6IDEwO1xuICAmLmNoZWNrb3V0LXNjcm9sbGVyIHtcbiAgICB0b3A6IDYwcHg7XG4gIH1cbn1cbi5jdXN0b21fcG9wb3ZlciB7XG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgLlRyZW5nb1dpZGdldExhdW5jaGVyX19pZnJhbWUsXG4gIC5UcmVuZ29PbmxpbmVTdGF0dXNfX2lmcmFtZSxcbiAgLlRyZW5nb1dpZGdldEdyZWV0ZXJfX2lmcmFtZSxcbiAgLlRyZW5nb1dpZGdldEJhZGdlX19pZnJhbWUsXG4gIC5UcmVuZ29PbmxpbmVTdGF0dXNfX2lmcmFtZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIuZm9ybS1jb250cm9sLFxuLmZvcm0tc2VsZWN0IHtcbiAgYm9yZGVyLXJhZGl1czogJGZvcm0tYm9yZGVyLXJhZGl1cztcbn1cblxuLy8gdGV4dGFyZWEge1xuLy8gICAmLmZvcm0tY29udHJvbCB7XG4vLyAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbi8vICAgfVxuLy8gfVxuIiwiLmZzbGlnaHRib3gtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgwKSAhaW1wb3J0YW50O1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNXB4KTtcblxuICAuZnNsaWdodGJveHMge1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIH1cblxuICAuZnNsaWdodGJveC1zbGlkZS1udW1iZXItY29udGFpbmVyIHtcbiAgICBjb2xvcjogJEJhc2lzLURlc2VydDtcblxuICAgIC5mc2xpZ2h0Ym94LXNsYXNoIHtcbiAgICAgIGJhY2tncm91bmQ6ICRCYXNpcy1EZXNlcnQ7XG4gICAgfVxuICB9XG5cbiAgLmZzbGlnaHRib3gtbG9hZGVyLWNoaWxkIHtcbiAgICBib3JkZXItY29sb3I6ICRCYXNpcy1EZXNlcnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuXG4gIC5mc2xpZ2h0Ym94LXRodW1icyB7XG4gICAgLmZzbGlnaHRib3gtdGh1bWItd3JhcHBlciB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZzbGlnaHRib3h0YSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJEhvb2Zka2xldXItU3VuLWJhY2t1cCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgfVxuICB9XG59IiwibGl0ZS15b3V0dWJlIHtcbiAgPiAubHR5LXBsYXlidG4ge1xuICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgLyA5MHB4IDkwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nOTAnIGhlaWdodD0nOTAnIHZpZXdCb3g9JzAgMCA5MCA5MScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ2cgZmlsdGVyPSd1cmwoJTIzZmlsdGVyMF9kXzI3OTBfMjAzODIpJyUzRSUzQ3JlY3QgeD0nMjAnIHk9JzEyLjUnIHdpZHRoPSc1MCcgaGVpZ2h0PSc1MCcgcng9JzI1JyBmaWxsPSd1cmwoJTIzcGFpbnQwX2xpbmVhcl8yNzkwXzIwMzgyKScvJTNFJTNDcGF0aCBkPSdNNTEuMjY4OCAzNS45MDIyTDQxLjEzODIgMjkuNzA1NUM0MC45MjU4IDI5LjU3NiA0MC42ODI3IDI5LjUwNTIgNDAuNDM0IDI5LjUwMDNDNDAuMTg1MiAyOS40OTU0IDM5LjkzOTYgMjkuNTU2NSAzOS43MjIyIDI5LjY3NzZDMzkuNTA0OCAyOS43OTg2IDM5LjMyMzQgMjkuOTc1MiAzOS4xOTY1IDMwLjE4OTJDMzkuMDY5NiAzMC40MDMyIDM5LjAwMTggMzAuNjQ3MSAzOSAzMC44OTU5VjQzLjI4OTJDMzkuMDAxOCA0My41MzggMzkuMDY5NiA0My43ODE5IDM5LjE5NjUgNDMuOTk1OUMzOS4zMjM0IDQ0LjIxIDM5LjUwNDggNDQuMzg2NSAzOS43MjIyIDQ0LjUwNzVDMzkuOTM5NiA0NC42Mjg2IDQwLjE4NTIgNDQuNjg5OCA0MC40MzQgNDQuNjg0OUM0MC42ODI3IDQ0LjY3OTkgNDAuOTI1OCA0NC42MDkxIDQxLjEzODIgNDQuNDc5Nkw1MS4yNjg4IDM4LjI4M0M1MS40NzMxIDM4LjE1ODYgNTEuNjQxOSAzNy45ODM4IDUxLjc1OTEgMzcuNzc1M0M1MS44NzYzIDM3LjU2NjggNTEuOTM3OCAzNy4zMzE3IDUxLjkzNzggMzcuMDkyNkM1MS45Mzc4IDM2Ljg1MzQgNTEuODc2MyAzNi42MTgzIDUxLjc1OTEgMzYuNDA5OEM1MS42NDE5IDM2LjIwMTMgNTEuNDczMSAzNi4wMjY1IDUxLjI2ODggMzUuOTAyMlpNNDAuNjg3NSA0Mi43NzczVjMxLjQwNzhMNDkuOTggMzcuMDkyNkw0MC42ODc1IDQyLjc3NzNaJyBmaWxsPSd3aGl0ZScvJTNFJTNDL2clM0UlM0NkZWZzJTNFJTNDZmlsdGVyIGlkPSdmaWx0ZXIwX2RfMjc5MF8yMDM4MicgeD0nMCcgeT0nMC41JyB3aWR0aD0nOTAnIGhlaWdodD0nOTAnIGZpbHRlclVuaXRzPSd1c2VyU3BhY2VPblVzZScgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSdzUkdCJyUzRSUzQ2ZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0nMCcgcmVzdWx0PSdCYWNrZ3JvdW5kSW1hZ2VGaXgnLyUzRSUzQ2ZlQ29sb3JNYXRyaXggaW49J1NvdXJjZUFscGhhJyB0eXBlPSdtYXRyaXgnIHZhbHVlcz0nMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAnIHJlc3VsdD0naGFyZEFscGhhJy8lM0UlM0NmZU9mZnNldCBkeT0nOCcvJTNFJTNDZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPScxMCcvJTNFJTNDZmVDb21wb3NpdGUgaW4yPSdoYXJkQWxwaGEnIG9wZXJhdG9yPSdvdXQnLyUzRSUzQ2ZlQ29sb3JNYXRyaXggdHlwZT0nbWF0cml4JyB2YWx1ZXM9JzAgMCAwIDAgMC4yNzQ1MSAwIDAgMCAwIDAuMjc0NTEgMCAwIDAgMCAwLjI3NDUxIDAgMCAwIDAuMiAwJy8lM0UlM0NmZUJsZW5kIG1vZGU9J25vcm1hbCcgaW4yPSdCYWNrZ3JvdW5kSW1hZ2VGaXgnIHJlc3VsdD0nZWZmZWN0MV9kcm9wU2hhZG93XzI3OTBfMjAzODInLyUzRSUzQ2ZlQmxlbmQgbW9kZT0nbm9ybWFsJyBpbj0nU291cmNlR3JhcGhpYycgaW4yPSdlZmZlY3QxX2Ryb3BTaGFkb3dfMjc5MF8yMDM4MicgcmVzdWx0PSdzaGFwZScvJTNFJTNDL2ZpbHRlciUzRSUzQ2xpbmVhckdyYWRpZW50IGlkPSdwYWludDBfbGluZWFyXzI3OTBfMjAzODInIHgxPScyMCcgeTE9JzEyLjUnIHgyPSc3Ni43MzYnIHkyPScyMS45MTcxJyBncmFkaWVudFVuaXRzPSd1c2VyU3BhY2VPblVzZSclM0UlM0NzdG9wIHN0b3AtY29sb3I9JyUyM0Q5OEMyRicvJTNFJTNDc3RvcCBvZmZzZXQ9JzEnIHN0b3AtY29sb3I9JyUyM0VDQTgyNycvJTNFJTNDL2xpbmVhckdyYWRpZW50JTNFJTNDL2RlZnMlM0UlM0Mvc3ZnJTNFJTBBXCIpO1xuICAgIGZpbHRlcjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQ7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgPiAubHR5LXBsYXlidG4ge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgZmlsdGVyOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyAuaWZyYW1lbHktZW1iZWQge1xuLy8gICAuaWZyYW1lbHktcmVzcG9uc2l2ZSB7XG4vLyAgICAgJjphZnRlciB7XG4vLyAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgICB0b3A6IDUwJTtcbi8vICAgICAgIGxlZnQ6IDUwJTtcbi8vICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuLy8gICAgICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nOTAnIGhlaWdodD0nOTAnIHZpZXdCb3g9JzAgMCA5MCA5MScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ2cgZmlsdGVyPSd1cmwoJTIzZmlsdGVyMF9kXzI3OTBfMjAzODIpJyUzRSUzQ3JlY3QgeD0nMjAnIHk9JzEyLjUnIHdpZHRoPSc1MCcgaGVpZ2h0PSc1MCcgcng9JzI1JyBmaWxsPSd1cmwoJTIzcGFpbnQwX2xpbmVhcl8yNzkwXzIwMzgyKScvJTNFJTNDcGF0aCBkPSdNNTEuMjY4OCAzNS45MDIyTDQxLjEzODIgMjkuNzA1NUM0MC45MjU4IDI5LjU3NiA0MC42ODI3IDI5LjUwNTIgNDAuNDM0IDI5LjUwMDNDNDAuMTg1MiAyOS40OTU0IDM5LjkzOTYgMjkuNTU2NSAzOS43MjIyIDI5LjY3NzZDMzkuNTA0OCAyOS43OTg2IDM5LjMyMzQgMjkuOTc1MiAzOS4xOTY1IDMwLjE4OTJDMzkuMDY5NiAzMC40MDMyIDM5LjAwMTggMzAuNjQ3MSAzOSAzMC44OTU5VjQzLjI4OTJDMzkuMDAxOCA0My41MzggMzkuMDY5NiA0My43ODE5IDM5LjE5NjUgNDMuOTk1OUMzOS4zMjM0IDQ0LjIxIDM5LjUwNDggNDQuMzg2NSAzOS43MjIyIDQ0LjUwNzVDMzkuOTM5NiA0NC42Mjg2IDQwLjE4NTIgNDQuNjg5OCA0MC40MzQgNDQuNjg0OUM0MC42ODI3IDQ0LjY3OTkgNDAuOTI1OCA0NC42MDkxIDQxLjEzODIgNDQuNDc5Nkw1MS4yNjg4IDM4LjI4M0M1MS40NzMxIDM4LjE1ODYgNTEuNjQxOSAzNy45ODM4IDUxLjc1OTEgMzcuNzc1M0M1MS44NzYzIDM3LjU2NjggNTEuOTM3OCAzNy4zMzE3IDUxLjkzNzggMzcuMDkyNkM1MS45Mzc4IDM2Ljg1MzQgNTEuODc2MyAzNi42MTgzIDUxLjc1OTEgMzYuNDA5OEM1MS42NDE5IDM2LjIwMTMgNTEuNDczMSAzNi4wMjY1IDUxLjI2ODggMzUuOTAyMlpNNDAuNjg3NSA0Mi43NzczVjMxLjQwNzhMNDkuOTggMzcuMDkyNkw0MC42ODc1IDQyLjc3NzNaJyBmaWxsPSd3aGl0ZScvJTNFJTNDL2clM0UlM0NkZWZzJTNFJTNDZmlsdGVyIGlkPSdmaWx0ZXIwX2RfMjc5MF8yMDM4MicgeD0nMCcgeT0nMC41JyB3aWR0aD0nOTAnIGhlaWdodD0nOTAnIGZpbHRlclVuaXRzPSd1c2VyU3BhY2VPblVzZScgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSdzUkdCJyUzRSUzQ2ZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0nMCcgcmVzdWx0PSdCYWNrZ3JvdW5kSW1hZ2VGaXgnLyUzRSUzQ2ZlQ29sb3JNYXRyaXggaW49J1NvdXJjZUFscGhhJyB0eXBlPSdtYXRyaXgnIHZhbHVlcz0nMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAnIHJlc3VsdD0naGFyZEFscGhhJy8lM0UlM0NmZU9mZnNldCBkeT0nOCcvJTNFJTNDZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPScxMCcvJTNFJTNDZmVDb21wb3NpdGUgaW4yPSdoYXJkQWxwaGEnIG9wZXJhdG9yPSdvdXQnLyUzRSUzQ2ZlQ29sb3JNYXRyaXggdHlwZT0nbWF0cml4JyB2YWx1ZXM9JzAgMCAwIDAgMC4yNzQ1MSAwIDAgMCAwIDAuMjc0NTEgMCAwIDAgMCAwLjI3NDUxIDAgMCAwIDAuMiAwJy8lM0UlM0NmZUJsZW5kIG1vZGU9J25vcm1hbCcgaW4yPSdCYWNrZ3JvdW5kSW1hZ2VGaXgnIHJlc3VsdD0nZWZmZWN0MV9kcm9wU2hhZG93XzI3OTBfMjAzODInLyUzRSUzQ2ZlQmxlbmQgbW9kZT0nbm9ybWFsJyBpbj0nU291cmNlR3JhcGhpYycgaW4yPSdlZmZlY3QxX2Ryb3BTaGFkb3dfMjc5MF8yMDM4MicgcmVzdWx0PSdzaGFwZScvJTNFJTNDL2ZpbHRlciUzRSUzQ2xpbmVhckdyYWRpZW50IGlkPSdwYWludDBfbGluZWFyXzI3OTBfMjAzODInIHgxPScyMCcgeTE9JzEyLjUnIHgyPSc3Ni43MzYnIHkyPScyMS45MTcxJyBncmFkaWVudFVuaXRzPSd1c2VyU3BhY2VPblVzZSclM0UlM0NzdG9wIHN0b3AtY29sb3I9JyUyM0Q5OEMyRicvJTNFJTNDc3RvcCBvZmZzZXQ9JzEnIHN0b3AtY29sb3I9JyUyM0VDQTgyNycvJTNFJTNDL2xpbmVhckdyYWRpZW50JTNFJTNDL2RlZnMlM0UlM0Mvc3ZnJTNFJTBBXCIpO1xuLy8gICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UtaW4tb3V0O1xuLy8gICAgIH1cbi8vICAgICAmOmhvdmVyIHtcbi8vICAgICAgICY6YWZ0ZXIge1xuLy8gICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLjIpO1xuLy8gICAgICAgfVxuLy8gICAgIH1cbi8vICAgfVxuLy8gfVxuIiwiLy8gLm1hcnF1ZWUtY29udGFpbmVyIHtcbi8vICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vICAgZGlzcGxheTogZmxleDtcbi8vICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vICAgd2lkdGg6IDEwMCU7XG4vLyAgIGJhY2tncm91bmQ6ICNmMGYwZjA7IC8qIEN1c3RvbWl6ZSBiYWNrZ3JvdW5kIGNvbG9yICovXG4vLyAgIHBhZGRpbmc6IDEwcHg7XG4vLyAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vIH1cblxuLy8gLm1hcnF1ZWUtY29udGVudCB7XG4vLyAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vICAgcGFkZGluZy1yaWdodDogNTBweDsgLyogU3BhY2UgYmV0d2VlbiByZXBlYXRlZCBjb250ZW50ICovXG4vLyAgIGZvbnQtc2l6ZTogMjRweDsgLyogQ3VzdG9taXplIGZvbnQgc2l6ZSAqL1xuLy8gICBjb2xvcjogIzMzMzsgLyogQ3VzdG9taXplIHRleHQgY29sb3IgKi9cbi8vICAgYW5pbWF0aW9uOiBtYXJxdWVlIDNzIGxpbmVhciBpbmZpbml0ZTtcbi8vIH1cblxuLy8gLm1hcnF1ZWUtaW5uZXIge1xuLy8gICBkaXNwbGF5OiBmbGV4O1xuLy8gICBmbGV4LXdyYXA6IG5vd3JhcDtcbi8vIH1cblxuLy8gQGtleWZyYW1lcyBtYXJxdWVlIHtcbi8vICAgMCUge1xuLy8gICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbi8vICAgfVxuLy8gICAxMDAlIHtcbi8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuLy8gICB9XG4vLyB9XG5cbi5wcm9tb3Rpb25Db250ZW50IHtcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4ubWFycXVlZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjbGFtcCgyZW0sIDh2dywgMy41ZW0pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgcGFkZGluZzogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAkSG9vZmRrbGV1ci1TdW47XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xZGVnKTtcbn1cblxuLmxvb3AtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1oZWFkaW5ncy1hbHQ7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFyZW07XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS4yNXJlbSwgMy41dncsIDJyZW0pO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAwIDAuMTVlbTtcbiAgYW5pbWF0aW9uOiBsb29wVGV4dCAxNXMgaW5maW5pdGUgbGluZWFyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWhlYWRpbmdzLWFsdDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFyZW07XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjI1cmVtLCAzLjV2dywgMnJlbSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbG9vcFRleHQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxufVxuIiwiI0NhbXBpbmdEYXRlUGlja2VyUmVzdWx0IHtcbiAgc2Nyb2xsLW1hcmdpbi10b3A6IDEwMHB4O1xufVxuXG4jdmlsbGF0ZW50X2NhbXBpbmdfZGF0ZV9waWNrZXIge1xuICBzY3JvbGwtbWFyZ2luLXRvcDogMTE1cHg7XG59XG5cbiNwcmljZU1hdHJpeE1vYmlsZSB7XG4gIHNjcm9sbC1tYXJnaW4tdG9wOiAxMjBweDtcbn1cbi5jYW1waW5nLXBhZ2Uge1xuICAucm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG5cbiAgLmN1c3RvbS1wYWRkaW5nIHtcbiAgICBwYWRkaW5nLXRvcDogMy4yNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy4yNXJlbTtcbiAgfVxuXG4gIC5jYW1waW5nLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMC42MjVyZW07XG5cbiAgICAuY2FtcGluZy10b3BiYXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuXG4gICAgICAuY2FtcGluZy1yYXRpbmcge1xuICAgICAgICBjb2xvcjogJEFjY2VudC1BbWJlcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTQwJTsgLyogMS41NzVyZW0gKi9cbiAgICAgIH1cblxuICAgICAgLmNhbXBpbmctc2hhcmUge1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYW1waW5nLXRpdGxlIHtcbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlOyAvKiAyLjZyZW0gKi9cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FtcGluZy1sb2NhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMC4yNXJlbTtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7IC8qIDEuNjI1cmVtICovXG4gICAgfVxuICB9XG5cbiAgLmNhbXBpbmctZmFjaWxpdGllcyB7XG4gICAgLmNhbXBpbmctaW50cm8tZGVzY3JpcHRpb24ge1xuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNhbXBpbmctZ2FsbGVyeSB7XG4gICAgJl9tYWluLWltYWdlIHtcbiAgICAgIGhlaWdodDogMjZyZW07XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDEyNW1zIGVhc2UtaW4tb3V0O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl90aHVtYm5haWwtZ3JpZCB7XG4gICAgICAuaW1hZ2UtaG9sZGVyIHtcbiAgICAgICAgaGVpZ2h0OiA3LjI1cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAxMjVtcyBlYXNlLWluLW91dDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pbWFnZS10b3AtbGVmdCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmltYWdlLWJvdHRvbS1yaWdodCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubW9yZS1pbWFnZXMtb3ZlcmxheSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgIDBkZWcsXG4gICAgICAgICAgcmdiKDAgMCAwIC8gNTAlKSAyNSUsXG4gICAgICAgICAgcmdiKDAgMCAwIC8gMCUpIDUwJSxcbiAgICAgICAgICByZ2IoMCAwIDAgLyA1MCUpIDc1JVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAubW9yZS1pbWFnZXMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIuNXJlbTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7IC8qIDEuNHJlbSAqL1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jYW1waW5nLWluZm9ybWF0aW9uIHtcbiAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLy8gYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgLy8gZ2FwOiAxLjVyZW07XG5cbiAgICAuY2FtcGluZy1pbmZvcm1hdGlvbi10YWJzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIH1cbiAgICAgIC5jYW1waW5nLWluZm9ybWF0aW9uLXRhYiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRUaW50ZW4tR3JleTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbSAwcmVtIDByZW0gMXJlbTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICAgZ2FwOiAwLjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbSAwLjVyZW07XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRUaW50ZW4tR3JleTtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgZmxleDogMCAwIDMzLjMzMzMlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjNzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlO1xuXG4gICAgICAgIC5vcmFuZ2VfaWNvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgJEhvb2Zka2xldXItU3VuLWJhY2t1cDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkTm90aWZpY2F0aW9uLVdhcm5pbmctTGlnaHQ7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJEhvb2Zka2xldXItU3VuLWJhY2t1cDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3ZnLmdyZXlfaWNvbiBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICRIb29mZGtsZXVyLVN1bi1iYWNrdXA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAub3JhbmdlX2ljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRIb29mZGtsZXVyLVN1bixcbiAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDk5ZGVnLCAjZDk4YzJmIDAlLCAjZWNhODI3IDEwMCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCAkSG9vZmRrbGV1ci1TdW4tYmFja3VwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICROb3RpZmljYXRpb24tV2FybmluZy1MaWdodDtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkSG9vZmRrbGV1ci1TdW4tYmFja3VwO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkSG9vZmRrbGV1ci1TdW4sXG4gICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCg5OWRlZywgI2Q5OGMyZiAwJSwgI2VjYTgyNyAxMDAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdmcuZ3JleV9pY29uIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJEhvb2Zka2xldXItU3VuLWJhY2t1cDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4xcyBlYXNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvL2Rpc3BsYXk6IGZsZXg7XG4gICAgICAvL2FsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgLy9nYXA6IDJyZW07XG4gICAgICAvL2FsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkVGludGVuLUdyZXk7XG5cbiAgICAgIC8vIC5mbGlja2luZy1jYW1lcmEge1xuICAgICAgLy8gICBnYXA6IDJyZW07XG4gICAgICAvLyB9XG5cbiAgICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgLy8gICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgLy8gICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAvLyAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAvLyAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgLy8gICAmOjpiZWZvcmUsXG4gICAgICAvLyAgICY6OmFmdGVyIHtcbiAgICAgIC8vICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgLy8gICAgIHdpZHRoOiAzMHB4O1xuICAgICAgLy8gICAgIGhlaWdodDogMzBweDtcbiAgICAgIC8vICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAvLyAgICAgei1pbmRleDogMTtcbiAgICAgIC8vICAgfVxuXG4gICAgICAvLyAgICY6OmJlZm9yZSB7XG4gICAgICAvLyAgICAgbGVmdDogNDNweDtcbiAgICAgIC8vICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHdoaXRlLCB0cmFuc3BhcmVudCk7XG4gICAgICAvLyAgIH1cblxuICAgICAgLy8gICAmOjphZnRlciB7XG4gICAgICAvLyAgICAgcmlnaHQ6IDQzcHg7XG4gICAgICAvLyAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgd2hpdGUpO1xuICAgICAgLy8gICB9XG5cbiAgICAgIC8vICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgLy8gICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH1cblxuICAgICAgLy8gLmNhbXBpbmctaW5mb3JtYXRpb24tdGFiIHtcbiAgICAgIC8vICAgLy8gcGFkZGluZzogMCAwIDAuMjVyZW07XG4gICAgICAvLyAgIC8vIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIC8vICAgLy8gd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgLy8gICAvLyBzcGFuIHtcbiAgICAgIC8vICAgLy8gICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAvLyAgIC8vICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgLy8gICAvLyAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAvLyAgIC8vICAgbGluZS1oZWlnaHQ6IDEzMCU7IC8qIDEuNjI1cmVtICovXG4gICAgICAvLyAgIC8vICAgY29sb3I6ICRUaW50ZW4tR3JleTtcbiAgICAgIC8vICAgLy8gICB0cmFuc2l0aW9uOiBjb2xvciAxMjVtcyBlYXNlO1xuICAgICAgLy8gICAvLyAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgIC8vICAgLy8gICAmOjphZnRlciB7XG4gICAgICAvLyAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAvLyAgIC8vICAgICByaWdodDogMDtcbiAgICAgIC8vICAgLy8gICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgLy8gICAvLyAgICAgYmFja2dyb3VuZDogJFRpbnRlbi1HcmV5O1xuICAgICAgLy8gICAvLyAgICAgd2lkdGg6IDA7XG4gICAgICAvLyAgIC8vICAgICBoZWlnaHQ6IDA7XG4gICAgICAvLyAgIC8vICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlO1xuICAgICAgLy8gICAvLyAgIH1cblxuICAgICAgLy8gICAvLyAgICY6aG92ZXIge1xuICAgICAgLy8gICAvLyAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgLy8gICAvLyAgIH1cbiAgICAgIC8vICAgLy8gfVxuXG4gICAgICAvLyAgIC8vICYuYWN0aXZlIHtcbiAgICAgIC8vICAgLy8gICBib3JkZXItY29sb3I6ICRIb29mZGtsZXVyLVN1bi1iYWNrdXA7XG4gICAgICAvLyAgIC8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAvLyAgIC8vICAgc3BhbiB7XG4gICAgICAvLyAgIC8vICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgLy8gICAvLyAgICAgY29sb3I6ICRIb29mZGtsZXVyLVN1bi1iYWNrdXA7XG4gICAgICAvLyAgIC8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC8vICAgLy8gICAgICY6OmFmdGVyIHtcbiAgICAgIC8vICAgLy8gICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy8gICAvLyAgICAgICBsZWZ0OiAwO1xuICAgICAgLy8gICAvLyAgICAgICBib3R0b206IC04cHg7XG4gICAgICAvLyAgIC8vICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgLy8gICAvLyAgICAgICBiYWNrZ3JvdW5kOiAkSG9vZmRrbGV1ci1TdW4tYmFja3VwO1xuICAgICAgLy8gICAvLyAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC8vICAgLy8gICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAvLyAgIC8vICAgICB9XG4gICAgICAvLyAgIC8vICAgfVxuXG4gICAgICAvLyAgIC8vICAgLy9zcGFuIHtcbiAgICAgIC8vICAgLy8gICAvLyAgYmFja2dyb3VuZDogJEhvb2Zka2xldXItU3VuO1xuICAgICAgLy8gICAvLyAgIC8vICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAvLyAgIC8vICAgLy8gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIC8vICAgLy8gICAvL1xuICAgICAgLy8gICAvLyAgIC8vICAmOmhvdmVyIHtcbiAgICAgIC8vICAgLy8gICAvLyAgICBiYWNrZ3JvdW5kOiAkQmFzaXMtRGVzZXJ0O1xuICAgICAgLy8gICAvLyAgIC8vICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIC8vICAgLy8gICAvLyAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAvLyAgIC8vICAgLy8gIH1cbiAgICAgIC8vICAgLy8gICAvLyB9XG4gICAgICAvLyAgIC8vIH1cbiAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAjY2FtcGluZy1pbmZvLWNvbnRlbnQge1xuICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgfVxuICB9XG5cbiAgLnpvb21pc3QtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC56b29taXN0LWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC56b29taXN0LXpvb21lci1pbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAxcmVtIDAgMDtcbiAgfVxuXG4gIC56b29taXN0LWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG5cbiAgI2FjY29tbW9kYXRpb25DYXJkc2xpZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICAucGFuZWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgfVxuICB9XG59XG4uY2FtcGluZy1mYWNpbGl0aWVzIHtcbiAgLmNhbXBpbmctZmFjaWxpdGllcy1saXN0IHtcbiAgICAuZmFjaWxpdHkge1xuICAgICAgLmZhY2lsaXR5LXRleHQge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi56b2VrLWJvZWstcGFnZSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBtYXJnaW4tdG9wOiAzLjVyZW07XG4gIH1cbiAgLnpvZWstYm9lay1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgZ2FwOiAyLjVyZW07XG4gICAgfVxuICAgIC56b2VrLWJvZWstbGlzdC10b3BiYXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnpvZWstYm9lay10b3RhbC1yZXN1bHRzIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAuem9lay1ib2VrLXNvcnRlciB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRCYXNpcy1EYXJrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkLWxpc3QtbGF5b3V0LFxuICAgIC5jYXJkLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogMXJlbTtcbiAgICB9XG4gIH1cblxuICAuem9lay1ib2VrLXNpZGViYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDIuNXJlbTtcblxuICAgIC5zbWFsbC1tYXAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwLjEyNXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRCYXNpcy1DcmVhbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9wdWJsaWMvaW1hZ2VzL3ZpbGxhdGVudC1tYXAtMTIwMC04MDAucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgfVxuXG4gICAgLnpvZWstYm9lay1zdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgZ2FwOiAxcmVtO1xuICAgIH1cblxuICAgIC56b2VrLWJvZWstZmlsdGVycyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogMnJlbTtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAuem9lay1ib2VrLWZpbHRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAuem9lay1ib2VrLWZpbHRlci1saXN0IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgZ2FwOiAwLjJyZW07XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICAuem9lay1ib2VrLXNob3ctbW9yZS1maWx0ZXJzLFxuICAgICAgICAgIC56b2VrLWJvZWstc2hvdy1sZXNzLWZpbHRlcnMge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmZvcm0tY2hlY2sge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnpvZWtfYm9la19leHRyYV9idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8vcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuNXJlbTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRUaW50ZW4tRGFyay1HcmV5O1xuICAgICAgYmFja2dyb3VuZDogJEJhc2lzLVdoaXRlO1xuICAgICAgY29sb3I6ICRUaW50ZW4tRGFyay1HcmV5O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAmLmFjdGl2ZS1kYXRlLXBpY2tlciB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRCYXNpcy1EYXJrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkQmFzaXMtV2hpdGU7XG4gICAgICAgIGNvbG9yOiAkQmFzaXMtRGFyaztcbiAgICAgIH1cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxLjEyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJvb2tpbmctd2lkZ2V0LXBlcnNvbi1waWNrZXIge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgbWluLXdpZHRoOiAzMjBweDtcbiAgfVxufVxuXG4uYm9va2luZy13aWRnZXQtZGVzdGluYXRpb24tcGlja2VyLFxuLmJvb2tpbmctd2lkZ2V0LXBlcnNvbi1waWNrZXIsXG4uYm9va2luZy13aWRnZXQtZGF0ZS1waWNrZXIsXG4uY3VzdG9tLWRyb3Bkb3duIHtcbiAgLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bixcbiAgOm5vdCguYnRuLWNoZWNrKSArIC5idG46YWN0aXZlLFxuICAuYnRuOmZpcnN0LWNoaWxkOmFjdGl2ZSxcbiAgLmJ0bi5hY3RpdmUsXG4gIC5idG4uc2hvdyxcbiAgLmxpbmstZGFyay5zaG93IHtcbiAgICBjb2xvcjogIzJmMmYyZjtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmJvb2tpbmctd2lkZ2V0LWRhdGUtcmFuZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwLjVyZW07XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkVGludGVuLUxpZ2h0LUdyZXk7XG5cbiAgICAmLnNob3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGdhcDogMC41cmVtO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlLWluLW91dDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTknIHZpZXdCb3g9JzAgMCAxOCAxOScgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGQ9J00xMi45NzIgMTAuMDk2OUw3LjM0Njk4IDE1LjcyMTlDNy4xODg0OCAxNS44ODA0IDYuOTczNDkgMTUuOTY5NSA2Ljc0OTMzIDE1Ljk2OTVDNi41MjUxNiAxNS45Njk1IDYuMzEwMTggMTUuODgwNCA2LjE1MTY3IDE1LjcyMTlDNS45OTMxNiAxNS41NjM0IDUuOTA0MTEgMTUuMzQ4NCA1LjkwNDExIDE1LjEyNDNDNS45MDQxMSAxNC45MDAxIDUuOTkzMTYgMTQuNjg1MSA2LjE1MTY3IDE0LjUyNjZMMTEuMTc5NyA5LjQ5OTk3TDYuMTUzMDggNC40NzE5MkM2LjA3NDU5IDQuMzkzNDQgNi4wMTIzMyA0LjMwMDI2IDUuOTY5ODYgNC4xOTc3MkM1LjkyNzM4IDQuMDk1MTcgNS45MDU1MiAzLjk4NTI2IDUuOTA1NTIgMy44NzQyN0M1LjkwNTUyIDMuNzYzMjcgNS45MjczOCAzLjY1MzM2IDUuOTY5ODYgMy41NTA4MkM2LjAxMjMzIDMuNDQ4MjcgNi4wNzQ1OSAzLjM1NTEgNi4xNTMwOCAzLjI3NjYxQzYuMjMxNTYgMy4xOTgxMiA2LjMyNDc0IDMuMTM1ODcgNi40MjcyOCAzLjA5MzM5QzYuNTI5ODMgMy4wNTA5MSA2LjYzOTc0IDMuMDI5MDUgNi43NTA3MyAzLjAyOTA1QzYuODYxNzMgMy4wMjkwNSA2Ljk3MTY0IDMuMDUwOTEgNy4wNzQxOCAzLjA5MzM5QzcuMTc2NzMgMy4xMzU4NyA3LjI2OTkgMy4xOTgxMiA3LjM0ODM5IDMuMjc2NjFMMTIuOTczNCA4LjkwMTYxQzEzLjA1MiA4Ljk4MDA5IDEzLjExNDMgOS4wNzMzMSAxMy4xNTY3IDkuMTc1OTJDMTMuMTk5MiA5LjI3ODUzIDEzLjIyMSA5LjM4ODUxIDEzLjIyMDkgOS40OTk1NkMxMy4yMjA3IDkuNjEwNjEgMTMuMTk4NyA5LjcyMDU0IDEzLjE1NiA5LjgyMzA1QzEzLjExMzMgOS45MjU1NiAxMy4wNTA3IDEwLjAxODYgMTIuOTcyIDEwLjA5NjlaJyBmaWxsPSd1cmwoJTIzcGFpbnQwX2xpbmVhcl84MDVfMjc3NiknLyUzRSUzQ2RlZnMlM0UlM0NsaW5lYXJHcmFkaWVudCBpZD0ncGFpbnQwX2xpbmVhcl84MDVfMjc3NicgeDE9JzUuOTA0MTEnIHkxPSczLjAyOTA1JyB4Mj0nMTQuMzYwOCcgeTI9JzMuODIyNycgZ3JhZGllbnRVbml0cz0ndXNlclNwYWNlT25Vc2UnJTNFJTNDc3RvcCBzdG9wLWNvbG9yPSclMjNEOThDMkYnLyUzRSUzQ3N0b3Agb2Zmc2V0PScxJyBzdG9wLWNvbG9yPSclMjNFQ0E4MjcnLyUzRSUzQy9saW5lYXJHcmFkaWVudCUzRSUzQy9kZWZzJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAxMjVtcyBlYXNlLWluLW91dCwgb3BhY2l0eSAxMjVtcyBlYXNlLWluLW91dDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRIb29mZGtsZXVyLVN1bjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE4JyBoZWlnaHQ9JzE5JyB2aWV3Qm94PScwIDAgMTggMTknIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNMTIuOTcyIDEwLjA5NjlMNy4zNDY5OCAxNS43MjE5QzcuMTg4NDggMTUuODgwNCA2Ljk3MzQ5IDE1Ljk2OTUgNi43NDkzMyAxNS45Njk1QzYuNTI1MTYgMTUuOTY5NSA2LjMxMDE4IDE1Ljg4MDQgNi4xNTE2NyAxNS43MjE5QzUuOTkzMTYgMTUuNTYzNCA1LjkwNDExIDE1LjM0ODQgNS45MDQxMSAxNS4xMjQzQzUuOTA0MTEgMTQuOTAwMSA1Ljk5MzE2IDE0LjY4NTEgNi4xNTE2NyAxNC41MjY2TDExLjE3OTcgOS40OTk5N0w2LjE1MzA4IDQuNDcxOTJDNi4wNzQ1OSA0LjM5MzQ0IDYuMDEyMzMgNC4zMDAyNiA1Ljk2OTg2IDQuMTk3NzJDNS45MjczOCA0LjA5NTE3IDUuOTA1NTIgMy45ODUyNiA1LjkwNTUyIDMuODc0MjdDNS45MDU1MiAzLjc2MzI3IDUuOTI3MzggMy42NTMzNiA1Ljk2OTg2IDMuNTUwODJDNi4wMTIzMyAzLjQ0ODI3IDYuMDc0NTkgMy4zNTUxIDYuMTUzMDggMy4yNzY2MUM2LjIzMTU2IDMuMTk4MTIgNi4zMjQ3NCAzLjEzNTg3IDYuNDI3MjggMy4wOTMzOUM2LjUyOTgzIDMuMDUwOTEgNi42Mzk3NCAzLjAyOTA1IDYuNzUwNzMgMy4wMjkwNUM2Ljg2MTczIDMuMDI5MDUgNi45NzE2NCAzLjA1MDkxIDcuMDc0MTggMy4wOTMzOUM3LjE3NjczIDMuMTM1ODcgNy4yNjk5IDMuMTk4MTIgNy4zNDgzOSAzLjI3NjYxTDEyLjk3MzQgOC45MDE2MUMxMy4wNTIgOC45ODAwOSAxMy4xMTQzIDkuMDczMzEgMTMuMTU2NyA5LjE3NTkyQzEzLjE5OTIgOS4yNzg1MyAxMy4yMjEgOS4zODg1MSAxMy4yMjA5IDkuNDk5NTZDMTMuMjIwNyA5LjYxMDYxIDEzLjE5ODcgOS43MjA1NCAxMy4xNTYgOS44MjMwNUMxMy4xMTMzIDkuOTI1NTYgMTMuMDUwNyAxMC4wMTg2IDEyLjk3MiAxMC4wOTY5WicgZmlsbD0ndXJsKCUyM3BhaW50MF9saW5lYXJfODA1XzI3NzYpJy8lM0UlM0NkZWZzJTNFJTNDbGluZWFyR3JhZGllbnQgaWQ9J3BhaW50MF9saW5lYXJfODA1XzI3NzYnIHgxPSc1LjkwNDExJyB5MT0nMy4wMjkwNScgeDI9JzE0LjM2MDgnIHkyPSczLjgyMjcnIGdyYWRpZW50VW5pdHM9J3VzZXJTcGFjZU9uVXNlJyUzRSUzQ3N0b3Agc3RvcC1jb2xvcj0nJTIzRDk4QzJGJy8lM0UlM0NzdG9wIG9mZnNldD0nMScgc3RvcC1jb2xvcj0nJTIzRUNBODI3Jy8lM0UlM0MvbGluZWFyR3JhZGllbnQlM0UlM0MvZGVmcyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAxMjVtcyBlYXNlLWluLW91dCwgb3BhY2l0eSAxMjVtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRIb29mZGtsZXVyLVN1bjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTknIHZpZXdCb3g9JzAgMCAxOCAxOScgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGQ9J00xMi45NzIgMTAuMDk2OUw3LjM0Njk4IDE1LjcyMTlDNy4xODg0OCAxNS44ODA0IDYuOTczNDkgMTUuOTY5NSA2Ljc0OTMzIDE1Ljk2OTVDNi41MjUxNiAxNS45Njk1IDYuMzEwMTggMTUuODgwNCA2LjE1MTY3IDE1LjcyMTlDNS45OTMxNiAxNS41NjM0IDUuOTA0MTEgMTUuMzQ4NCA1LjkwNDExIDE1LjEyNDNDNS45MDQxMSAxNC45MDAxIDUuOTkzMTYgMTQuNjg1MSA2LjE1MTY3IDE0LjUyNjZMMTEuMTc5NyA5LjQ5OTk3TDYuMTUzMDggNC40NzE5MkM2LjA3NDU5IDQuMzkzNDQgNi4wMTIzMyA0LjMwMDI2IDUuOTY5ODYgNC4xOTc3MkM1LjkyNzM4IDQuMDk1MTcgNS45MDU1MiAzLjk4NTI2IDUuOTA1NTIgMy44NzQyN0M1LjkwNTUyIDMuNzYzMjcgNS45MjczOCAzLjY1MzM2IDUuOTY5ODYgMy41NTA4MkM2LjAxMjMzIDMuNDQ4MjcgNi4wNzQ1OSAzLjM1NTEgNi4xNTMwOCAzLjI3NjYxQzYuMjMxNTYgMy4xOTgxMiA2LjMyNDc0IDMuMTM1ODcgNi40MjcyOCAzLjA5MzM5QzYuNTI5ODMgMy4wNTA5MSA2LjYzOTc0IDMuMDI5MDUgNi43NTA3MyAzLjAyOTA1QzYuODYxNzMgMy4wMjkwNSA2Ljk3MTY0IDMuMDUwOTEgNy4wNzQxOCAzLjA5MzM5QzcuMTc2NzMgMy4xMzU4NyA3LjI2OTkgMy4xOTgxMiA3LjM0ODM5IDMuMjc2NjFMMTIuOTczNCA4LjkwMTYxQzEzLjA1MiA4Ljk4MDA5IDEzLjExNDMgOS4wNzMzMSAxMy4xNTY3IDkuMTc1OTJDMTMuMTk5MiA5LjI3ODUzIDEzLjIyMSA5LjM4ODUxIDEzLjIyMDkgOS40OTk1NkMxMy4yMjA3IDkuNjEwNjEgMTMuMTk4NyA5LjcyMDU0IDEzLjE1NiA5LjgyMzA1QzEzLjExMzMgOS45MjU1NiAxMy4wNTA3IDEwLjAxODYgMTIuOTcyIDEwLjA5NjlaJyBmaWxsPSd1cmwoJTIzcGFpbnQwX2xpbmVhcl84MDVfMjc3NiknLyUzRSUzQ2RlZnMlM0UlM0NsaW5lYXJHcmFkaWVudCBpZD0ncGFpbnQwX2xpbmVhcl84MDVfMjc3NicgeDE9JzUuOTA0MTEnIHkxPSczLjAyOTA1JyB4Mj0nMTQuMzYwOCcgeTI9JzMuODIyNycgZ3JhZGllbnRVbml0cz0ndXNlclNwYWNlT25Vc2UnJTNFJTNDc3RvcCBzdG9wLWNvbG9yPSclMjNEOThDMkYnLyUzRSUzQ3N0b3Agb2Zmc2V0PScxJyBzdG9wLWNvbG9yPSclMjNFQ0E4MjcnLyUzRSUzQy9saW5lYXJHcmFkaWVudCUzRSUzQy9kZWZzJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZHJvcGRvd24taXRlbSB7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDEwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgfVxuICAgIH1cbiAgICAuZHBfX21lbnUge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgICAuZHBfX2NlbGxfaW5uZXI6aG92ZXIge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjFzIGVhc2UtaW4sXG4gICAgICAgIGJvcmRlciAwLjFzIGVhc2UtaW4sIG9wYWNpdHkgMC4xcyBlYXNlLWluLCB3aWR0aCAwLjFzIGVhc2UtaW4sXG4gICAgICAgIGhlaWdodCAwLjFzIGVhc2UtaW4sIG1hcmdpbiAwLjFzIGVhc2UtaW47XG4gICAgfVxuICB9XG4gIC5ndWVzdHMtYW1vdW50LXBpY2tlcixcbiAgLnBhY2thZ2UtYW1vdW50LXBpY2tlciB7XG4gICAgZ2FwOiAxcmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAuZ3Vlc3QtdHlwZSxcbiAgICAucGFja2FnZS10eXBlIHtcbiAgICAgIC5ndWVzdC1uYW1lLFxuICAgICAgLnBhY2thZ2UtbmFtZSB7XG4gICAgICAgIGNvbG9yOiAkQmFzaXMtRGFyaztcbiAgICAgIH1cbiAgICAgIC5ndWVzdC1kZXNjcmlwdGlvbixcbiAgICAgIC5wYWNrYWdlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICRUaW50ZW4tRGFyay1HcmV5O1xuICAgICAgfVxuICAgIH1cbiAgICAucGx1cy1taW4tZ3Vlc3Qtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIC5ndWVzdC1hbW91bnQge1xuICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAucGx1cy1taW4tZ3Vlc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIuNXJlbTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJFRpbnRlbi1MaWdodC1HcmV5O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG5cbiAgICAgICAgLyogU2hhZG93X0xvdyAqL1xuICAgICAgICBib3gtc2hhZG93OiAwcHggOHB4IDIwcHggMHB4IHJnYmEoNzAsIDcwLCA3MCwgMC4yKTtcbiAgICAgIH1cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGZpbGw6ICRUaW50ZW4tTGlnaHQtR3JleTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNsZWFyRGF0ZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwLjc1cmVtIDByZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi56b2VrX2JvZWtfZXh0cmFfYnV0dG9ucyB7XG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG59XG5cbi5zZWFyY2hMaXN0RXJyb3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDFyZW07XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIC5zZWFyY2hFcnJvcldyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIH1cbn1cbiIsIi5yZXZpZXdzIHtcbiAgcGFkZGluZzogMCAwLjkzNzVyZW07XG4gIGdhcDogMS41cmVtO1xuXG4gIC5yZXZpZXctc3VtbWFyeSB7XG4gICAgLnJldmlldy1yYXRpbmcge1xuICAgICAgZ2FwOiAwLjVyZW07XG5cbiAgICAgIC5yZXZpZXctcmF0aW5nLW51bWJlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDIuNjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEuODc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkQWNjZW50LUFtYmVyO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICB9XG5cbiAgICAgIC5yZXZpZXctcmF0aW5nLXN0YXJzIHtcbiAgICAgICAgaGVpZ2h0OiAyLjYyNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmV2aWV3LXRvdGFscyB7XG4gICAgICBjb2xvcjogJEJhc2lzLURhcms7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTMwJTsgLyogMS42MjVyZW0gKi9cbiAgICB9XG4gIH1cblxuICAucmV2aWV3LWNhcmRzIHtcbiAgICBnYXA6IDEuNXJlbTtcblxuICAgIC5yZXZpZXctY2FyZCB7XG4gICAgICAucmV2aWV3LWNhcmQtYm9keSB7XG4gICAgICAgIGdhcDogMC4yNXJlbTtcblxuICAgICAgICAucmV2aWV3LWNhcmQtbmFtZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJldmlldy1jYXJkLXJhdGluZyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGdhcDogMC41cmVtO1xuXG4gICAgICAgICAgLnJldmlldy1jYXJkLW51bWJlciB7XG4gICAgICAgICAgICBjb2xvcjogJEFjY2VudC1BbWJlcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXZpZXctY2FyZC1kYXRlIHtcbiAgICAgICAgICBjb2xvcjogJFRpbnRlbi1EYXJrLUdyZXk7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgICAgIH1cblxuICAgICAgICAucmV2aWV3LWNhcmQtdGV4dCB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgICAgIH1cblxuICAgICAgICAucmV2aWV3LWNhcmQtY2FtcGluZyB7XG4gICAgICAgICAgLnJldmlldy1jYXJkLWNhbXBpbmctbmFtZSB7XG4gICAgICAgICAgICBjb2xvcjogJFRpbnRlbi1EYXJrLUdyZXk7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNyZXZpZXdzLXJlYWQtbW9yZS1wb3B1cCB7XG4gIC5yZXZpZXctY2FyZHMge1xuICAgIGdhcDogdW5zZXQ7XG4gIH1cbn1cbiIsIi5jYW1waW5nLWZhcS13cmFwcGVyIHtcbiAgZ2FwOiAxcmVtO1xuXG4gIC5hY2NvcmRpb24ge1xuICAgIGdhcDogMS41cmVtO1xuXG4gICAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgIC5hY2NvcmRpb24taGVhZGVyIHtcbiAgICAgICAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMi41cmVtO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tVGludGVuLUxpZ2h0LUdyZXksICNGMkYyRjIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgICAgIC8qIFNoYWRvd19Mb3cgKi9cbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSg3MCwgNzAsIDcwLCAwLjIwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyY6bm90KC5jb2xsYXBzZWQpOjphZnRlciB7XG4gICAgICAgICAgLy8gIGJveC1zaGFkb3c6IDBweCAtOHB4IDIwcHggMHB4IHJnYmEoNzAsIDcwLCA3MCwgMC4yKTtcbiAgICAgICAgICAvLyAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMTAwbXMgZWFzZTtcbiAgICAgICAgICAvL31cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5jYW1waW5nLWZhdm9yaXRlIHtcbiAgLmZhdm9yaXRlLWhlYWRlciB7XG4gICAgLmFsdC1zcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmF2b3JpdGUtZm9vdGVyIHtcbiAgICAuZmF2b3JpdGUtbmFtZSB7XG4gICAgICBnYXA6IDAuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmN1c3RvbWVyLXNlcnZpY2UtYmxvY2sge1xuICBwYWRkaW5nOiA1cmVtIDJyZW0gMXJlbSAycmVtO1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgcGFkZGluZzogNC41cmVtIDYuNXJlbSAyLjVyZW0gNi41cmVtO1xuICB9XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMXJlbTtcbiAgYmFja2dyb3VuZDogJEhvb2Zka2xldXItU3VuO1xuICBjb2xvcjogI2ZmZjtcblxuICAuY3VzdG9tZXItc2VydmljZS1lbXBsb3llZSB7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuXG4gICAgLmN1c3RvbWVyLXNlcnZpY2UtbmFtZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b21lci1zZXJ2aWNlLWJ1dHRvbnMge1xuICAgIGdhcDogMXJlbTtcbiAgfVxufVxuIiwiLmNhbXBpbmctYm9va2luZy13aWRnZXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAycmVtIDFyZW07XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDFyZW07XG4gICYud2lkZ2V0LWhvbWVwYWdlIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGdhcDogMC41cmVtO1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbTtcbiAgICB9XG4gICAgLmNhbXBpbmctYm9va2luZy13aWRnZXQtaG9tZXBhZ2Uge1xuICAgICAgLmJvb2tpbmctd2lkZ2V0LXN1bW1hcnkge1xuICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgICAgfVxuICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICBtaW4td2lkdGg6IDI3MHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgIC5idG4ge1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYm9va2luZy13aWRnZXQtZGF0ZS1yYW5nZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDAuNXJlbTtcbiAgfVxuICAuYm9va2luZy13aWRnZXQtc3VtbWFyeSB7XG4gICAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICAvLyBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIC5ib29raW5nLXdpZGdldC1jYW5jYWxsYXRpb24ge1xuICAgICAgLmJ0bi1ncm91cCB7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgLmJ0bi1jaGVjayB7XG4gICAgICAgICAgJiArIC5idG4ge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkVGludGVuLUdyZXk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6Y2hlY2tlZCxcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICYgKyAuYnRuIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aWUtd2F0ZXItYmFja3VwO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkVGludGVuLUV4dHJhLUxpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgJi5jYW5jYWxsYXRpb24tcGFja2FnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDFyZW07XG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5ib29raW5nLXdpZGdldC1zdW1tYXJ5LWRhdGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIC8vIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAvLyBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgLmJvb2tpbmctd2lkZ2V0LXN1bW1hcnktZGF0YSB7XG4gICAgICAgIC8vIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLy8gYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgY29sb3I6ICRUaW50ZW4tRGFyay1HcmV5O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJvb2tpbmctd2lkZ2V0LWRhdGUtc3VtbWFyeS1wcmljZSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGNvbG9yOiAkQmFzaXMtRGFyaztcbiAgICAgIC5kaXNjb3VudC1wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRBY2NlbnQtUmFzcGJlcnJ5O1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYm9va2luZy13aWRnZXQtcHJpY2UtdGV4dCB7XG4gICAgY29sb3I6ICRUaW50ZW4tRGFyay1HcmV5O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIH1cbn1cblxuLmdyYWRpZW50LWJvcmRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNXB4OyAvKiBBZGp1c3QgcGFkZGluZyB0byBib3JkZXIgd2lkdGggKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZjA2LCAjNGE5MGUyKTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgLyogT3B0aW9uYWwgKi9cbn1cblxuLmdyYWRpZW50LWJvcmRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IHdoaXRlOyAvKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBlbGVtZW50ICovXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IC8qIE1hdGNoIHRoZSBib3JkZXIgcmFkaXVzICovXG4gIG1hcmdpbjogNXB4OyAvKiBTaG91bGQgbWF0Y2ggdGhlIHBhZGRpbmcgc2V0IGFib3ZlICovXG59XG5cbi5tb2JpbGUtYm9va2luZy13aWRnZXQge1xuICAud2FybmluZy10ZXh0LW1lc3NhZ2Uge1xuICAgIGNvbG9yOiAkd2FybmluZztcbiAgfVxuICAubW9iaWxlLWF2YWlsYWJpbGl0eS1oZWFkZXIge1xuICAgIC5tb2JpbGUtYXZhaWxhYmlsaXR5LWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWN0aWUtd2F0ZXI7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICB9XG4gIH1cbiAgLm1vYmlsZS1zdW1tYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMC43NXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAubW9iaWxlLXN1bW1hcnktbGVmdCB7XG4gICAgICAubW9iaWxlLXN1bW1hcnktcHJpY2Uge1xuICAgICAgICAuYm9va2luZy13aWRnZXQtc3VtbWFyeSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIC5ib29raW5nLXdpZGdldC1jYW5jYWxsYXRpb24ge1xuICAgICAgICAgICAgLmJ0bi1ncm91cCB7XG4gICAgICAgICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgICAgICAgLmJ0bi1jaGVjayB7XG4gICAgICAgICAgICAgICAgJiArIC5idG4ge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkVGludGVuLUdyZXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6Y2hlY2tlZCxcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICYgKyAuYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aWUtd2F0ZXItYmFja3VwO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkVGludGVuLUV4dHJhLUxpZ2h0O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgJi5jYW5jYWxsYXRpb24tcGFja2FnZSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDFyZW07XG4gICAgICAgICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5ib29raW5nLXdpZGdldC1zdW1tYXJ5LWRhdGUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgICAuYm9va2luZy13aWRnZXQtc3VtbWFyeS1kYXRhIHtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgICAgICBjb2xvcjogJFRpbnRlbi1EYXJrLUdyZXk7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuYm9va2luZy13aWRnZXQtZGF0ZS1zdW1tYXJ5LXByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgY29sb3I6ICRCYXNpcy1EYXJrO1xuICAgICAgICAgICAgLmRpc2NvdW50LXByaWNlIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBjb2xvcjogJEFjY2VudC1SYXNwYmVycnk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ib29raW5nLXdpZGdldC1wcmljZS10ZXh0IHtcbiAgICAgICAgICBjb2xvcjogJFRpbnRlbi1EYXJrLUdyZXk7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm1vYmlsZS1zdW1tYXJ5LWRhdGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAkVGludGVuLURhcmstR3JleTtcbiAgICAgICAgLm1vYmlsZS1zdW1tYXJ5LWRhdGUge1xuICAgICAgICAgIGNvbG9yOiAkQmFzaXMtRGFyaztcbiAgICAgICAgfVxuICAgICAgICAubW9iaWxlLXN1bW1hcnktZG90IHtcbiAgICAgICAgfVxuICAgICAgICAubW9iaWxlLXN1bW1hcnktcGVycyB7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm1vYmlsZS1jaGVja291dC1zdW1tYXJ5LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAuYWxlcnQuYWxlcnQtd2FybmluZyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuY2hlY2tvdXQtc3VtbWFyeSB7XG4gICAgICBnYXA6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAuY2hlY2tvdXQtYWNjb21tb2RhdGlvbiB7XG4gICAgICAgIC5jaGVja291dC1hY2NvbW1vZGF0aW9uLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmcsXG4gICAgICAuY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLXVwZGF0ZXMge1xuICAgICAgICBnYXA6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBNaXhpbiB0byBnZW5lcmF0ZSBrZXlmcmFtZXMgZm9yIGdyb3dpbmcgd2lkdGhcbkBtaXhpbiBncm93LXdpZHRoKCRzdGFydC13aWR0aCwgJGVuZC13aWR0aCkge1xuICBAa2V5ZnJhbWVzIGdyb3ctd2lkdGgtI3skc3RhcnQtd2lkdGh9LSN7JGVuZC13aWR0aH0ge1xuICAgIDAlIHtcbiAgICAgIHdpZHRoOiAjeyRzdGFydC13aWR0aCArIFwiJVwifTsgLy8gSW50ZXJwb2xhdGluZyB3aXRoIHBlcmNlbnRhZ2Ugc2lnblxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIHdpZHRoOiAjeyRlbmQtd2lkdGggKyBcIiVcIn07IC8vIEludGVycG9sYXRpbmcgd2l0aCBwZXJjZW50YWdlIHNpZ25cbiAgICB9XG4gIH1cbiAgYW5pbWF0aW9uOiBncm93LXdpZHRoLSN7JHN0YXJ0LXdpZHRofS0jeyRlbmQtd2lkdGh9IDM1MG1zIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xufVxuXG4uY2hlY2tvdXQtcGFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAuY2hlY2tvdXQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDFyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgIGdhcDogMC41cmVtO1xuICAgIH1cbiAgfVxuICAuc3RlcHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBoZWlnaHQ6IDVyZW07XG4gICAgLnN0ZXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmJ0biB7XG4gICAgICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgICAgICBzdmcge1xuICAgICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgfVxuICAgICAgLmxhc3Qtc3RlcCB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjklO1xuICAgICAgbGVmdDogMTAlO1xuICAgICAgcmlnaHQ6IDUlO1xuICAgICAgaGVpZ2h0OiAwLjI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZWVlOTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAyJTtcbiAgICAgICAgbGVmdDogMiU7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIEJhc2Ugc3R5bGVzIGZvciB0aGUgOmFmdGVyIGVsZW1lbnRcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2ExMjk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAwLjI1cmVtO1xuICAgICAgbGVmdDogMTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDAlOyAvLyBEZWZhdWx0IHN0YXJ0aW5nIHdpZHRoXG4gICAgICB0b3A6IDI5JTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAyJTtcbiAgICAgICAgbGVmdDogMiU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3RlcCAyOiBHcm93IGZyb20gMCUgdG8gMjUlXG4gICAgJi5jaGVja291dC1zdGVwLTI6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZ3Jvdy13aWR0aCgwLCAyNSk7XG4gICAgfVxuXG4gICAgLy8gU3RlcCAzOiBHcm93IGZyb20gMjUlIHRvIDU1JVxuICAgICYuY2hlY2tvdXQtc3RlcC0zOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGdyb3ctd2lkdGgoMjUsIDU1KTtcbiAgICB9XG5cbiAgICAvLyBTdGVwIDQ6IEdyb3cgZnJvbSA1NSUgdG8gODUlXG4gICAgJi5jaGVja291dC1zdGVwLTQ6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZ3Jvdy13aWR0aCg1NSwgODUpO1xuICAgIH1cbiAgfVxuICAuY2hlY2tvdXQtbGVmdC1zaWRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxcmVtO1xuICAgIC50cmFzaC1ob3ZlciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlOyAvKiBTbW9vdGggdHJhbnNpdGlvbiBmb3IgdGhlIHNjYWxlIGVmZmVjdCAqL1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgLyogQ2hhbmdlIGN1cnNvciB0byBwb2ludGVyIG9uIGhvdmVyICovXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgLyogU2xpZ2h0bHkgZW5sYXJnZSB0aGUgU1ZHIG9uIGhvdmVyICovXG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jaGVja291dC1zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMS41cmVtO1xuICAgIC5jaGVja291dC1hY2NvbW1vZGF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxcmVtO1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIC5jaGVja291dC1hY2NvbW1vZGF0aW9uLWRldGFpbHMtaW1hZ2Uge1xuICAgICAgfVxuICAgICAgLmNoZWNrb3V0LWFjY29tbW9kYXRpb24tZGV0YWlscyB7XG4gICAgICAgIC5jaGVja291dC1hY2NvbW1vZGF0aW9uLXJldmlldyB7XG4gICAgICAgICAgY29sb3I6ICRBY2NlbnQtQW1iZXI7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgICAgICAuY2hlY2tvdXQtYWNjb21tb2RhdGlvbi10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmNoZWNrb3V0LWFjY29tbW9kYXRpb24tYm9va2luZyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgLmNoZWNrb3V0LWFjY29tbW9kYXRpb24tYm9va2luZy1wbGFjZSxcbiAgICAgIC5jaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmctZGF0ZSxcbiAgICAgIC5jaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmctcGVyc29ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuICAgICAgLmNoZWNrb3V0LWFjY29tbW9kYXRpb24tYm9va2luZy10b3RhbC1yZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgLmNoZWNrb3V0LWFjY29tbW9kYXRpb24tYm9va2luZy10b3RhbC1yZW50LXByaWNlIHtcbiAgICAgICAgICBzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBjb2xvcjogI2Q4MzM1MDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmctZGl2aWRlciB7XG4gICAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuICAgICAgYmFja2dyb3VuZDogJFRpbnRlbi1MaWdodC1HcmV5O1xuICAgIH1cbiAgICAuY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLXVwZGF0ZXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGdhcDogMC41cmVtO1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIC5jaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmctdXBkYXRlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgLmNoZWNrb3V0LWFjY29tbW9kYXRpb24tYm9va2luZy11cGRhdGUtcHJpY2Uge1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmctdG90YWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuMjVyZW07XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgLmNoZWNrb3V0LWFjY29tbW9kYXRpb24tYm9va2luZy10b3RhbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTMwJTsgLyogMS42MjVyZW0gKi9cbiAgICAgIH1cbiAgICAgIC5jaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmctdG90YWwtcHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7IC8qIDIuMjc1cmVtICovXG4gICAgICB9XG4gICAgfVxuICAgIC5jaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmctaW52b2ljZS1leHRyYXMge1xuICAgICAgYmFja2dyb3VuZDogJEJhc2lzLUNyZWFtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGdhcDogMC41cmVtO1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICB9XG4gIH1cbiAgLm1vYmlsZS1zdW1tYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC5tb2JpbGUtc3VtbWFyeS1sZWZ0IHtcbiAgICAgIC5tb2JpbGUtc3VtbWFyeS1wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGNvbG9yOiAjZDgzMzUwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5tb2JpbGUtc3VtbWFyeS1kYXRhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogJFRpbnRlbi1EYXJrLUdyZXk7XG4gICAgICAgIC5tb2JpbGUtc3VtbWFyeS1kYXRlIHtcbiAgICAgICAgfVxuICAgICAgICAubW9iaWxlLXN1bW1hcnktZG90IHtcbiAgICAgICAgfVxuICAgICAgICAubW9iaWxlLXN1bW1hcnktcGVycyB7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm1vYmlsZS1jaGVja291dC1zdW1tYXJ5LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAuYWxlcnQuYWxlcnQtd2FybmluZyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuY2hlY2tvdXQtc3VtbWFyeSB7XG4gICAgICBnYXA6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAuY2hlY2tvdXQtYWNjb21tb2RhdGlvbiB7XG4gICAgICAgIC5jaGVja291dC1hY2NvbW1vZGF0aW9uLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmcsXG4gICAgICAuY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLXVwZGF0ZXMge1xuICAgICAgICBnYXA6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNoZWNrb3V0LWNvbmZpcm0tc3VtbWFyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMXJlbTtcbiAgICAuY2hlY2tvdXQtY3VzdG9tZXItZGF0YS1uYW1lIHtcbiAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICB9XG4gIH1cbiAgLnBheW1lbnQtdHlwZXMge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFmNmZjO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIGhyIHtcbiAgICAgIGJvcmRlci13aWR0aDogMC4xMjVyZW07XG4gICAgICBib3JkZXItY29sb3I6ICNjMGMwYzA7XG4gICAgfVxuICAgIC5wYXltZW50LXNjaGVtZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogMC41cmVtO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZGl2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2hlY2tvdXQtZXJyb3ItdGV4dCB7XG4gIGNvbG9yOiAkTm90aWZpY2F0aW9uLUVycm9yO1xufVxuXG4uY2hlY2tvdXQtZGF0YS1mb3JtIHtcbiAgZm9ybSB7XG4gICAgI2ZpcnN0TmFtZSxcbiAgICAjbGFzdE5hbWUsXG4gICAgI2JpcnRoZGF5LFxuICAgICNhZGRyZXNzLFxuICAgICNlbWFpbEFkZHJlc3MsXG4gICAgI3Bob25lIHtcbiAgICAgIHNjcm9sbC1tYXJnaW4tdG9wOiA2cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLmNvbnRlbnQtc3BhY2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMXJlbTtcbn1cblxuLmN1c3RvbS1wYWRkaW5nIHtcbiAgcGFkZGluZy10b3A6IDMuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzLjI1cmVtO1xufVxuXG4ucGFnZS10ZW1wbGF0ZSB7XG4gIC5yb3cge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIH1cbn1cbi5jdXN0b20tcm93LWdhcCB7XG4gIGdhcDogM3JlbTtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIGdhcDogNnJlbTtcbiAgfVxufVxuXG4ubGFyZ2Utc3BhY2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAzcmVtO1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgZ2FwOiA2cmVtO1xuICB9XG59XG5cbi5ibG9jay1wYWRkaW5nIHtcbiAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLnRpcHMge1xuICAudGlwIHtcbiAgICAmX251bWJlciB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtYmFzZTtcbiAgICAgIGZvbnQtc2l6ZTogNC44NzVyZW07XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7IC8qIDYuODI1cmVtICovXG4gICAgfVxuICB9XG59XG5cbi5pbWFnZVRleHQge1xuICAuaW1hZ2VUd28ge1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGhlaWdodDogNDgwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgIGhlaWdodDogMzEwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG4gICAgICBoZWlnaHQ6IDM1MHB4O1xuICAgIH1cbiAgfVxufVxuXG4uaW1hZ2VHYWxsZXJ5IHtcbiAgLyogRW5zdXJlIHRoYXQgdGhlIG91dGVyIGNvbnRhaW5lciBkb2Vzbid0IGNsaXAgdGhlIHNoYWRvdyAqL1xuICAuc2xpY2stbGlzdCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgLyogQWxsb3cgc2hhZG93cyB0byBmbG93IG91dHNpZGUgdGhlIHNsaWRlciAqL1xuICB9XG5cbiAgLnNsaWNrLXRyYWNrIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyAvKiBFbnN1cmUgdGhhdCB0aGUgdHJhY2sgZG9lc24ndCBjbGlwIHRoZSBzaGFkb3cgKi9cbiAgfVxuICAuc2xpY2stc2xpZGUge1xuICAgIGhlaWdodDogMzI1cHg7IC8qIE9yIDIwcmVtICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8qIEhpZGUgb3ZlcmZsb3cgZm9yIGltYWdlcyBsYXJnZXIgdGhhbiB0aGUgY29udGFpbmVyICovXG4gICAgbWFyZ2luLXJpZ2h0OiAxLjY4NzVyZW07XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bzsgLyogTWFpbnRhaW4gYXNwZWN0IHJhdGlvICovXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjsgLyogRW5zdXJlcyB0aGUgaW1hZ2UgZmlsbHMgdGhlIGFyZWEgd2hpbGUga2VlcGluZyBpdHMgYXNwZWN0IHJhdGlvICovXG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjsgLyogQ2VudGVyIHRoZSBpbWFnZSAqL1xuICAgIH1cbiAgICAmOm5vdCguc2xpY2stYWN0aXZlKSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuICAuc2xpY2stZG90cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaW1hZ2VJbXByZXNzaW9uIHtcbiAgLyogRW5zdXJlIHRoYXQgdGhlIG91dGVyIGNvbnRhaW5lciBkb2Vzbid0IGNsaXAgdGhlIHNoYWRvdyAqL1xuICAuc2xpY2stbGlzdCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgLyogQWxsb3cgc2hhZG93cyB0byBmbG93IG91dHNpZGUgdGhlIHNsaWRlciAqL1xuICB9XG5cbiAgLnNsaWNrLXRyYWNrIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyAvKiBFbnN1cmUgdGhhdCB0aGUgdHJhY2sgZG9lc24ndCBjbGlwIHRoZSBzaGFkb3cgKi9cbiAgfVxuICAuc2xpY2stc2xpZGUge1xuICAgIGhlaWdodDogMTguNzVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8qIEhpZGUgb3ZlcmZsb3cgZm9yIGltYWdlcyBsYXJnZXIgdGhhbiB0aGUgY29udGFpbmVyICovXG4gICAgbWFyZ2luLXJpZ2h0OiAxLjY4NzVyZW07XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bzsgLyogTWFpbnRhaW4gYXNwZWN0IHJhdGlvICovXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjsgLyogRW5zdXJlcyB0aGUgaW1hZ2UgZmlsbHMgdGhlIGFyZWEgd2hpbGUga2VlcGluZyBpdHMgYXNwZWN0IHJhdGlvICovXG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjsgLyogQ2VudGVyIHRoZSBpbWFnZSAqL1xuICAgIH1cbiAgICAmOm5vdCguc2xpY2stYWN0aXZlKSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuICAuc2xpY2stZG90cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYmxvZ19hdXRob3Ige1xuICBnYXA6IDFyZW07XG4gIC5hdXRob3JfaW1hZ2Uge1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogNC43NXJlbTtcbiAgICB9XG4gIH1cbiAgLmF1dGhvcl93cml0dGVuYnlfdGl0bGUge1xuICAgIGNvbG9yOiAkVGludGVuLURhcmstR3JleTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlOyAvKiAxLjIyNXJlbSAqL1xuICB9XG4gIC5hdXRob3Jfd3JpdHRlbmJ5IHtcbiAgICBnYXA6IDAuNXJlbTtcbiAgfVxufVxuXG4udXNwcy1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMC4yNXJlbTtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiAxLjVyZW07XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiAxLjVyZW07XG4gIH1cbiAgLnVzcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xuICB9XG59XG5cbi5ibG9nLW92ZXJ2aWV3IHtcbiAgLmJsb2ctd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cmVtO1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgZ2FwOiAzLjc1cmVtO1xuICAgIH1cbiAgICAuYmxvZy1oZWFkZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxcmVtO1xuICAgIH1cbiAgICAuYmxvZy1saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBnYXA6IDIuNXJlbTtcbiAgICAgIC5ibG9nLXBhZ2UtZ3JpZCB7XG4gICAgICAgIC5ibG9nLWl0ZW0ge1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAmLmhpZGRlbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBQcmV2ZW50IGludGVyYWN0aW9uIHdpdGggaGlkZGVuIGl0ZW1zICovXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kZXN0aW5hdGlvbi1pdGVtIHtcbiAgLmJ0biB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIC8vYm9yZGVyLWNvbG9yOiAkQmFzaXMtSXZvcnk7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gIC5idXR0b25fbGlzdF9ncmlkIHtcbiAgICAuZGVzdGluYXRpb24taXRlbSB7XG4gICAgICAuYnRuIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogTW9iaWxlIDItY29sdW1uIGJ1dHRvbnMgZGl2aWRlciAqL1xuLmJ1dHRvbnMtZ3JpZC1tb2JpbGUtZGl2aWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wOCk7IC8qIHN1YnRsZSBkaXZpZGVyICovXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5oZXJvX2ltYWdlIHtcbiAgaGVpZ2h0OiAxMi4wNjI1cmVtO1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgaGVpZ2h0OiAxNS4wNjI1cmVtO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBoZWlnaHQ6IDE4LjA2MjVyZW07XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIGhlaWdodDogMjEuMjVyZW07XG4gIH1cbn1cbi5ob21lcGFnZV9oZXJvX2ltYWdlIHtcbiAgI3ZpbGxhdGVudF9zZWFyY2hfaG9tZV93aWRnZXQge1xuICAgIG1hcmdpbi10b3A6IC0wLjc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICAjdmlsbGF0ZW50X3NlYXJjaF9ob21lX3dpZGdldCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTAuNzVyZW07XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgIGhlaWdodDogMzByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNi41NXJlbTtcbiAgICAjdmlsbGF0ZW50X3NlYXJjaF9ob21lX3dpZGdldCB7XG4gICAgICBtYXJnaW4tdG9wOiAyM3JlbTtcbiAgICB9XG4gICAgLmhvbWVwYWdlX2hlcm9faW1hZ2Vfd3JhcHBlcixcbiAgICAuaG9tZXBhZ2VfaGVyb193aWRnZXRfd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgIGhlaWdodDogMzQuMzEyNXJlbTtcbiAgfVxufVxuXG4uaW1hZ2VNYXBUZXh0IHtcbiAgLnNob3ctb24tbWFwIHtcbiAgICAuYmlnLW1hcCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNlZWU5O1xuICAgICAgaGVpZ2h0OiAxMHJlbTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgaGVpZ2h0OiAxNXJlbTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgaGVpZ2h0OiAyMHJlbTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNhbXBpbmdTbGlkZXIsXG4uYmxvZ1NsaWRlciB7XG4gIC8qIEVuc3VyZSB0aGF0IHRoZSBvdXRlciBjb250YWluZXIgZG9lc24ndCBjbGlwIHRoZSBzaGFkb3cgKi9cbiAgLnNsaWNrLWxpc3Qge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IC8qIEFsbG93IHNoYWRvd3MgdG8gZmxvdyBvdXRzaWRlIHRoZSBzbGlkZXIgKi9cbiAgfVxuXG4gIC5zbGljay10cmFjayB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgLyogRW5zdXJlIHRoYXQgdGhlIHRyYWNrIGRvZXNuJ3QgY2xpcCB0aGUgc2hhZG93ICovXG4gIH1cbiAgLnNsaWNrLXNsaWRlIHtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjY4NzVyZW07XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAvLyBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bzsgLyogTWFpbnRhaW4gYXNwZWN0IHJhdGlvICovXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjsgLyogRW5zdXJlcyB0aGUgaW1hZ2UgZmlsbHMgdGhlIGFyZWEgd2hpbGUga2VlcGluZyBpdHMgYXNwZWN0IHJhdGlvICovXG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjsgLyogQ2VudGVyIHRoZSBpbWFnZSAqL1xuICAgIH1cbiAgICAmOm5vdCguc2xpY2stYWN0aXZlKSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAuY2FyZC5wb3J0cmFpdC5jYW1waW5nX2NhcmQgLmNhcmQtYm9keSAuY2FyZC10aXRsZSB7XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICB9XG4gIH1cbiAgLnNsaWNrLWRvdHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNhbXBpbmctZ2FsbGVyeSB7XG4gICZfbWFpbi1pbWFnZSB7XG4gICAgaGVpZ2h0OiAyNi41cmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTI1bXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX3RodW1ibmFpbC1ncmlkIHtcbiAgICAuaW1hZ2UtaG9sZGVyIHtcbiAgICAgIGhlaWdodDogMTNyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTI1bXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1hZ2UtdG9wLWxlZnQge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZS1ib3R0b20tcmlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuXG4gICAgICBpbWcge1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1vcmUtaW1hZ2VzLW92ZXJsYXkge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDBkZWcsXG4gICAgICAgIHJnYigwIDAgMCAvIDUwJSkgMjUlLFxuICAgICAgICByZ2IoMCAwIDAgLyAwJSkgNTAlLFxuICAgICAgICByZ2IoMCAwIDAgLyA1MCUpIDc1JVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAubW9yZS1pbWFnZXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIuNXJlbTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7IC8qIDEuNHJlbSAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cbn1cblxuLm92ZXJ2aWV3LWNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFyZW07XG4gIC5vdmVydmlldy1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBnYXA6IDFyZW07XG4gICAgfVxuICAgIC5vdmVydmlldy10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyOyAvLyBBYW50YWwgbGlqbmVuIGRhdCBqZSB3aWx0IGxhdGVuIHppZW5cbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDExNXB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMzVweDtcbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaGlnaHRsaWdodEdhbGxlcnkge1xuICAvKiBFbnN1cmUgdGhhdCB0aGUgb3V0ZXIgY29udGFpbmVyIGRvZXNuJ3QgY2xpcCB0aGUgc2hhZG93ICovXG4gIC5zbGljay1saXN0IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyAvKiBBbGxvdyBzaGFkb3dzIHRvIGZsb3cgb3V0c2lkZSB0aGUgc2xpZGVyICovXG4gIH1cblxuICAuc2xpY2stdHJhY2sge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IC8qIEVuc3VyZSB0aGF0IHRoZSB0cmFjayBkb2Vzbid0IGNsaXAgdGhlIHNoYWRvdyAqL1xuICB9XG4gIC5zbGljay1zbGlkZSB7XG4gICAgZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBoZWlnaHQ6IDIwLjVyZW07IC8qIE9yIDIwcmVtICovXG4gICAgLy9kaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLyogSGlkZSBvdmVyZmxvdyBmb3IgaW1hZ2VzIGxhcmdlciB0aGFuIHRoZSBjb250YWluZXIgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDEuNjg3NXJlbTtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiBhdXRvOyAvKiBNYWludGFpbiBhc3BlY3QgcmF0aW8gKi9cbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyAvKiBFbnN1cmVzIHRoZSBpbWFnZSBmaWxscyB0aGUgYXJlYSB3aGlsZSBrZWVwaW5nIGl0cyBhc3BlY3QgcmF0aW8gKi9cbiAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyAvKiBDZW50ZXIgdGhlIGltYWdlICovXG4gICAgfVxuICAgICY6bm90KC5zbGljay1hY3RpdmUpIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIC5zbGljay1kb3RzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnNsaWRlci1jdXN0b20tb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgMTgwZGVnLFxuICAgICAgcmdiYSgwLCAwLCAwLCAwKSA1MCUsXG4gICAgICByZ2JhKDAsIDAsIDAsIDAuNSkgMTAwJVxuICAgICk7XG4gIH1cbn1cblxuLmNvbnRhY3RfYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgZ2FwOiAwLjI1cmVtO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuY29udGFjdF9ibG9ja19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjNlZWU5O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gM3JlbTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMC4yNXJlbTtcbiAgICBmbGV4OiAxIDAgMDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS42MjVyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSAxcmVtIDEuNXJlbSAxcmVtO1xuICAgIH1cbiAgICBwLFxuICAgIGg2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi5wYWdpbmF0aW9uIHtcbiAgLnBhZ2UtaXRlbSB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5idG4tcHJpbWFyeS5idG4tY2lyY2xlIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNkOThjMmY7XG4gICAgfVxuICB9XG59XG5cbi5wcm9tb3Rpb25Db250ZW50IHtcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLnBhZ2UtdGVtcGxhdGUtZXJyb3Ige1xuICBoZWlnaHQ6IDEwNjBweDtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIGhlaWdodDogMTE3MHB4O1xuICB9XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcbiAgLnBhZ2Utbm90LWZvdW5kLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMi41cmVtO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgfVxuICAuZXJyb3JfbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDEwLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBmb250LXNpemU6IDE5LjVyZW07XG4gICAgfVxuICB9XG59XG4iLCIuc2VhcmNoX3BhZ2Uge1xuICBtaW4taGVpZ2h0OiA1MHZoO1xuICAuaG9tZXBhZ2VfaGVyb19pbWFnZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgICBoZWlnaHQ6IDE1cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBoZWlnaHQ6IDIzLjMxMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiA2LjU1cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICBoZWlnaHQ6IDIzLjMxMjVyZW07XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaF93cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAtNXJlbTtcbiAgfVxuICAuc2VhcmNoX3dpZGdldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAyLjVyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDFyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjN2M3Yzc7XG4gICAgICBpbnB1dCB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICAgICNzdWJtaXRTZWFyY2gge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyLjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGgzLFxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5zZWFyY2hfcmVzdWx0cyB7XG4gIH1cbn1cbiIsIi8vIEV4YW1wbGUgb2YgYSBjdXN0b20gY29tcG9uZW50XG5cbi5pY29uLWxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB3aWR0aDogMS4xMjVlbTtcbiAgICAgIGhlaWdodDogMS4xMjVlbTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB2aWV3Qm94PScwIDAgMTggMTgnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNMTYuMzQ2OSA1LjY2MDIxTDcuMzQ2OTIgMTQuNjYwMkM3LjI2ODUzIDE0LjczODkgNy4xNzUzOSAxNC44MDEzIDcuMDcyODMgMTQuODQzOUM2Ljk3MDI3IDE0Ljg4NjUgNi44NjAzMSAxNC45MDg0IDYuNzQ5MjcgMTQuOTA4NEM2LjYzODIyIDE0LjkwODQgNi41MjgyNiAxNC44ODY1IDYuNDI1NyAxNC44NDM5QzYuMzIzMTQgMTQuODAxMyA2LjIzIDE0LjczODkgNi4xNTE2MSAxNC42NjAyTDIuMjE0MTEgMTAuNzIyN0MyLjEzNTYyIDEwLjY0NDIgMi4wNzMzNyAxMC41NTExIDIuMDMwODkgMTAuNDQ4NUMxLjk4ODQxIDEwLjM0NiAxLjk2NjU1IDEwLjIzNjEgMS45NjY1NSAxMC4xMjUxQzEuOTY2NTUgMTAuMDE0MSAxLjk4ODQxIDkuOTA0MTUgMi4wMzA4OSA5LjgwMTYxQzIuMDczMzcgOS42OTkwNiAyLjEzNTYyIDkuNjA1ODkgMi4yMTQxMSA5LjUyNzRDMi4yOTI2IDkuNDQ4OTIgMi4zODU3NyA5LjM4NjY2IDIuNDg4MzIgOS4zNDQxOEMyLjU5MDg2IDkuMzAxNzEgMi43MDA3NyA5LjI3OTg0IDIuODExNzcgOS4yNzk4NEMyLjkyMjc2IDkuMjc5ODQgMy4wMzI2NyA5LjMwMTcxIDMuMTM1MjIgOS4zNDQxOEMzLjIzNzc2IDkuMzg2NjYgMy4zMzA5NCA5LjQ0ODkyIDMuNDA5NDIgOS41Mjc0TDYuNzQ5OTcgMTIuODY3OUwxNS4xNTMgNC40NjYzMUMxNS4zMTE1IDQuMzA3OCAxNS41MjY1IDQuMjE4NzUgMTUuNzUwNyA0LjIxODc1QzE1Ljk3NDggNC4yMTg3NSAxNi4xODk4IDQuMzA3OCAxNi4zNDgzIDQuNDY2MzFDMTYuNTA2OCA0LjYyNDgyIDE2LjU5NTkgNC44Mzk4IDE2LjU5NTkgNS4wNjM5NkMxNi41OTU5IDUuMjg4MTMgMTYuNTA2OCA1LjUwMzExIDE2LjM0ODMgNS42NjE2MkwxNi4zNDY5IDUuNjYwMjFaJyBmaWxsPSd1cmwoJTIzcGFpbnQwX2xpbmVhcl84MzlfNTI4MyknLyUzRSUzQ2RlZnMlM0UlM0NsaW5lYXJHcmFkaWVudCBpZD0ncGFpbnQwX2xpbmVhcl84MzlfNTI4MycgeDE9JzEuOTY2NTUnIHkxPSc0LjIxODc1JyB4Mj0nMTguMTg3MScgeTI9JzcuOTAzMzEnIGdyYWRpZW50VW5pdHM9J3VzZXJTcGFjZU9uVXNlJyUzRSUzQ3N0b3Agc3RvcC1jb2xvcj0nJTIzRDk4QzJGJy8lM0UlM0NzdG9wIG9mZnNldD0nMScgc3RvcC1jb2xvcj0nJTIzRUNBODI3Jy8lM0UlM0MvbGluZWFyR3JhZGllbnQlM0UlM0MvZGVmcyUzRSUzQy9zdmclM0VcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyAxMDAlIGF1dG87XG4gICAgfVxuICB9XG59IiwiLm1vYmlsZS16b2VrLWJvZWstc2lkZWJhci13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcmVtO1xufVxuXG4ubW9iaWxlLWZpbHRlcnMge1xuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgfVxuICAuZGVsZXRlLWZpbHRlcnMge1xuICAgIGNvbG9yOiAjOGE4YThhICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG59XG4iLCJcbi5tYXJrZXItbGVnZW5kYSB7XG4gIGhlaWdodDogM3B4O1xuICB3aWR0aDogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjEzLCAyMzMsIDI1NSk7XG59XG4uZHBfX3Rvb2x0aXBfdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgcGFkZGluZzogMC4xcmVtIDAuNXJlbTtcbn1cbi5kcF9fdG9vbHRpcF9tYXJrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5kcF9fbWFya2VyX2xpbmUge1xuICB3aWR0aDogMzAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogM3B4O1xuICBsZWZ0OiB1bnNldDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3R0b206IDJweDtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2UtaW4tb3V0O1xufVxuXG4uZHBfX2RhdGVfaG92ZXIge1xuICAuZHBfX21hcmtlcl9saW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5kcF9fcmFuZ2Vfc3RhcnQsXG4uZHBfX3JhbmdlX2VuZCB7XG4gIC5kcF9fbWFya2VyX2xpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiPHRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiYm9va2luZy13aWRnZXQtZGVzdGluYXRpb24tcGlja2VyXCIgcmVmPVwiZHJvcGRvd25Db250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24gZGVzdGluYXRpb25Ecm9wZG93blwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImJvb2tpbmctd2lkZ2V0LWRlc3RpbmF0aW9uLXBpY2tlciBmdy1ub3JtYWwganVzdGlmeS1jb250ZW50LWJldHdlZW4gdGV4dC1zdGFydCBidG4gYnRuLW91dGxpbmUtZGFyayB3LTEwMCBzaGFkb3ctbm9uZSBwb3NpdGlvbi1yZWxhdGl2ZSBkcm9wZG93bi10b2dnbGUgbm8tc3ZnLWFuaW1hdGlvblwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCJcbiAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgZGF0YS1icy1vZmZzZXQ9XCIxMCwyMFwiXG4gICAgICAgIGRhdGEtYnMtZGlzcGxheT1cInN0YXRpY1wiXG4gICAgICAgIEBjbGljaz1cInRvZ2dsZURyb3Bkb3duXCJcbiAgICAgICAgOmRpc2FibGVkPVwiIXNob3dSZWdpb25cIlxuICAgICAgPlxuICAgICAgICA8c3Bhbj57eyBzZWxlY3RlZFJlZ2lvbiB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJib29raW5nLXdpZGdldC1hcnJvd1wiPlxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIHYtaWY9XCIhZHJvcGRvd25PcGVuXCJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgICAgICBoZWlnaHQ9XCIxOVwiXG4gICAgICAgICAgICB2aWV3Ym94PVwiMCAwIDE4IDE5XCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIEBjbGljay5zdG9wPVwidG9nZ2xlRHJvcGRvd25cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGQ9XCJNMTUuMjIyMiA3Ljg0Njg5TDkuNTk3MTcgMTMuNDcxOUM5LjUxODc4IDEzLjU1MDYgOS40MjU2MyAxMy42MTMgOS4zMjMwOCAxMy42NTU2QzkuMjIwNTIgMTMuNjk4MSA5LjExMDU2IDEzLjcyMDEgOC45OTk1MSAxMy43MjAxQzguODg4NDYgMTMuNzIwMSA4Ljc3ODUgMTMuNjk4MSA4LjY3NTk0IDEzLjY1NTZDOC41NzMzOCAxMy42MTMgOC40ODAyNCAxMy41NTA2IDguNDAxODUgMTMuNDcxOUwyLjc3Njg1IDcuODQ2ODlDMi42MTgzNSA3LjY4ODM5IDIuNTI5MyA3LjQ3MzQgMi41MjkzIDcuMjQ5MjRDMi41MjkzIDcuMDI1MDcgMi42MTgzNSA2LjgxMDA5IDIuNzc2ODUgNi42NTE1OEMyLjkzNTM2IDYuNDkzMDcgMy4xNTAzNSA2LjQwNDAyIDMuMzc0NTEgNi40MDQwMkMzLjU5ODY4IDYuNDA0MDIgMy44MTM2NiA2LjQ5MzA3IDMuOTcyMTcgNi42NTE1OEw5LjAwMDIxIDExLjY3OTZMMTQuMDI4MyA2LjY1MDg4QzE0LjE4NjggNi40OTIzNyAxNC40MDE3IDYuNDAzMzIgMTQuNjI1OSA2LjQwMzMyQzE0Ljg1MDEgNi40MDMzMiAxNS4wNjUxIDYuNDkyMzcgMTUuMjIzNiA2LjY1MDg4QzE1LjM4MjEgNi44MDkzOSAxNS40NzExIDcuMDI0MzcgMTUuNDcxMSA3LjI0ODUzQzE1LjQ3MTEgNy40NzI3IDE1LjM4MjEgNy42ODc2OCAxNS4yMjM2IDcuODQ2MTlMMTUuMjIyMiA3Ljg0Njg5WlwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjMkYyRjJGXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgdi1pZj1cImRyb3Bkb3duT3BlblwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMThcIlxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxOCAxOFwiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICBAY2xpY2suc3RvcD1cInRvZ2dsZURyb3Bkb3duXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBkPVwiTTE0LjY1OTUgMTMuNDY1NUMxNC44MTggMTMuNjI0MSAxNC45MDcgMTMuODM5IDE0LjkwNyAxNC4wNjMyQzE0LjkwNyAxNC4yODc0IDE0LjgxOCAxNC41MDI0IDE0LjY1OTUgMTQuNjYwOUMxNC41MDA5IDE0LjgxOTQgMTQuMjg2IDE0LjkwODQgMTQuMDYxOCAxNC45MDg0QzEzLjgzNzYgMTQuOTA4NCAxMy42MjI2IDE0LjgxOTQgMTMuNDY0MSAxNC42NjA5TDkgMTAuMTk1M0w0LjUzNDQ1IDE0LjY1OTVDNC4zNzU5NCAxNC44MTggNC4xNjA5NiAxNC45MDcgMy45MzY4IDE0LjkwN0MzLjcxMjYzIDE0LjkwNyAzLjQ5NzY1IDE0LjgxOCAzLjMzOTE0IDE0LjY1OTVDMy4xODA2MyAxNC41MDA5IDMuMDkxNTggMTQuMjg2IDMuMDkxNTggMTQuMDYxOEMzLjA5MTU4IDEzLjgzNzYgMy4xODA2MyAxMy42MjI2IDMuMzM5MTQgMTMuNDY0MUw3LjgwNDY5IDlMMy4zNDA1NSA0LjUzNDQ1QzMuMTgyMDQgNC4zNzU5NSAzLjA5Mjk5IDQuMTYwOTYgMy4wOTI5OSAzLjkzNjhDMy4wOTI5OSAzLjcxMjYzIDMuMTgyMDQgMy40OTc2NSAzLjM0MDU1IDMuMzM5MTRDMy40OTkwNSAzLjE4MDYzIDMuNzE0MDQgMy4wOTE1OCAzLjkzODIgMy4wOTE1OEM0LjE2MjM3IDMuMDkxNTggNC4zNzczNSAzLjE4MDYzIDQuNTM1ODYgMy4zMzkxNEw5IDcuODA0NjlMMTMuNDY1NSAzLjMzODQ0QzEzLjYyNDEgMy4xNzk5MyAxMy44MzkgMy4wOTA4OCAxNC4wNjMyIDMuMDkwODhDMTQuMjg3NCAzLjA5MDg4IDE0LjUwMjMgMy4xNzk5MyAxNC42NjA5IDMuMzM4NDRDMTQuODE5NCAzLjQ5Njk1IDE0LjkwODQgMy43MTE5MyAxNC45MDg0IDMuOTM2MDlDMTQuOTA4NCA0LjE2MDI2IDE0LjgxOTQgNC4zNzUyNCAxNC42NjA5IDQuNTMzNzVMMTAuMTk1MyA5TDE0LjY1OTUgMTMuNDY1NVpcIlxuICAgICAgICAgICAgICBmaWxsPVwiIzJGMkYyRlwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnUgdy0xMDBcIj5cbiAgICAgICAgPGxpXG4gICAgICAgICAgdi1mb3I9XCJkZXN0aW5hdGlvbiBpbiBzZWFyY2hEYXRhLnJlZmluZXJTZXR0aW5ncz8ucmVnaW9uc1xuICAgICAgICAgICAgPy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uY29kZSA9PT0gc2VhcmNoRGF0YS5jb3VudHJ5KVxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+XG4gICAgICAgICAgICAgIGEucmVnaW9uID09PSBiLnJlZ2lvbiA/IDAgOiBhLnJlZ2lvbiA+IGIucmVnaW9uID8gMSA6IC0xXG4gICAgICAgICAgICApXCJcbiAgICAgICAgICA6a2V5PVwiZGVzdGluYXRpb25cIlxuICAgICAgICAgIEBjbGljay5wcmV2ZW50PVwic2VsZWN0RGVzdGluYXRpb24oZGVzdGluYXRpb24ucmVnaW9uKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj57eyBkZXN0aW5hdGlvbi5yZWdpb24gfX08L2E+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaSBAY2xpY2sucHJldmVudD1cInNlbGVjdERlc3RpbmF0aW9uKG51bGwpXCI+XG4gICAgICAgICAgPGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+e3tcbiAgICAgICAgICAgIHRyYW5zKFwic2VhcmNoLnJlZ2lvbkRyb3Bkb3duLmRlZmF1bHRcIilcbiAgICAgICAgICB9fTwvYT5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCBUcmFuc2xhdG9yIGZyb20gXCIuL1RyYW5zbGF0b3IuanNcIjtcbmltcG9ydCBTZWFyY2hEYXRhIGZyb20gXCIuL1NlYXJjaERhdGEuanNcIjtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBwcm9wczoge1xuICAgIHNob3dSZWdpb246IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB9LFxuICB9LFxuICBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICBkcm9wZG93bk9wZW46IGZhbHNlLFxuICAgICAgc2VhcmNoRGF0YTogU2VhcmNoRGF0YSxcbiAgICAgIHRyYW5zOiBUcmFuc2xhdG9yLFxuICAgIH07XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgc2VsZWN0ZWRSZWdpb24oKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLnNlYXJjaERhdGEucmVmaW5lclNldHRpbmdzPy5yZWdpb25zPy5maWx0ZXIoXG4gICAgICAgICAgKGl0ZW0pID0+IGl0ZW0ucmVnaW9uID09PSB0aGlzLnNlYXJjaERhdGEucmVnaW9uXG4gICAgICAgIClbMF0/LnJlZ2lvbiA/PyB0aGlzLnRyYW5zKFwic2VhcmNoLnJlZ2lvbkRyb3Bkb3duLmRlZmF1bHRcIilcbiAgICAgICk7XG4gICAgfSxcbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIHNlbGVjdERlc3RpbmF0aW9uKGRlc3RpbmF0aW9uKSB7XG4gICAgICB0aGlzLnNlYXJjaERhdGEucmVnaW9uID0gZGVzdGluYXRpb247IC8vIFVwZGF0ZSB0aGUgc2VsZWN0ZWQgZGVzdGluYXRpb25cbiAgICB9LFxuICAgIHRvZ2dsZURyb3Bkb3duKCkge1xuICAgICAgdGhpcy5kcm9wZG93bk9wZW4gPSAhdGhpcy5kcm9wZG93bk9wZW47XG4gICAgfSxcbiAgICBoYW5kbGVDbGlja091dHNpZGUoZXZlbnQpIHtcbiAgICAgIGlmICghdGhpcy4kcmVmcy5kcm9wZG93bkNvbnRhaW5lci5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbiAgYXN5bmMgbW91bnRlZCgpIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5oYW5kbGVDbGlja091dHNpZGUpO1xuICB9LFxuICBiZWZvcmVVbm1vdW50KCkge1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gIH0sXG59O1xuPC9zY3JpcHQ+XG48c3R5bGUgc2NvcGVkPlxuYnV0dG9uLmJvb2tpbmctd2lkZ2V0LWRlc3RpbmF0aW9uLXBpY2tlcjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JleTtcbn1cbjwvc3R5bGU+XG4iLCI8c2NyaXB0PlxuaW1wb3J0IFwiLi9EYXRlLmpzXCI7XG5pbXBvcnQgU2VhcmNoRGF0YSBmcm9tIFwiLi9TZWFyY2hEYXRhLmpzXCI7XG5pbXBvcnQgVHJhbnNsYXRvciBmcm9tIFwiLi9UcmFuc2xhdG9yLmpzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHJhbnM6IFRyYW5zbGF0b3IsXG4gICAgICBzZWFyY2hEYXRhOiBTZWFyY2hEYXRhLFxuICAgICAgbG9jYWxlOiBsb2NhbGUsXG4gICAgfTtcbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICBpc0FjdGl2ZVBlcmlvZCgpIHtcbiAgICAgIHJldHVybiAocGVyaW9kKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5zZWFyY2hEYXRhLmRhdGUgfHwgdGhpcy5zZWFyY2hEYXRhLmRhdGUubGVuZ3RoICE9PSAyKVxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgY29uc3QgZnJvbSA9IG5ldyBEYXRlKHRoaXMuc2VhcmNoRGF0YS5kYXRlWzBdKS5mb3JtYXQoXCJZLW0tZFwiKTtcbiAgICAgICAgY29uc3QgdG8gPSBuZXcgRGF0ZSh0aGlzLnNlYXJjaERhdGEuZGF0ZVsxXSkuZm9ybWF0KFwiWS1tLWRcIik7XG4gICAgICAgIHJldHVybiBwZXJpb2QuZGF0ZVJhbmdlLmZyb20gPT09IGZyb20gJiYgcGVyaW9kLmRhdGVSYW5nZS50byA9PT0gdG87XG4gICAgICB9O1xuICAgIH0sXG4gICAgZmlsdGVyZWREYXRlUGVyaW9kcygpIHtcbiAgICAgIC8vIEdldCB0b2RheSdzIGRhdGUgaW4gWVlZWS1NTS1ERCBmb3JtYXRcbiAgICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnNwbGl0KFwiVFwiKVswXTtcbiAgICAgIC8vIEZpbHRlciBvdXQgcGVyaW9kcyB3aGVyZSB0aGUgZW5kIGRhdGUgaGFzIGFscmVhZHkgcGFzc2VkXG4gICAgICByZXR1cm4gdGhpcy5kYXRlUGVyaW9kcy5maWx0ZXIoXG4gICAgICAgIChwZXJpb2QpID0+XG4gICAgICAgICAgcGVyaW9kLmRhdGVSYW5nZS5mcm9tID49IHRvZGF5ICYmIHBlcmlvZC5kYXRlUmFuZ2UudG8gPj0gdG9kYXlcbiAgICAgICk7XG4gICAgfSxcbiAgICBzdW1tZXJGaWx0ZXJlZERhdGVQZXJpb2RzKCkge1xuICAgICAgLy8gR2V0IHRvZGF5J3MgZGF0ZSBpbiBZWVlZLU1NLUREIGZvcm1hdFxuICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoXCJUXCIpWzBdO1xuICAgICAgLy8gRmlsdGVyIG91dCBwZXJpb2RzIHdoZXJlIHRoZSBlbmQgZGF0ZSBoYXMgYWxyZWFkeSBwYXNzZWRcbiAgICAgIHJldHVybiB0aGlzLnN1bW1lckRhdGVQZXJpb2RzLmZpbHRlcihcbiAgICAgICAgKHBlcmlvZCkgPT5cbiAgICAgICAgICBwZXJpb2QuZGF0ZVJhbmdlLmZyb20gPj0gdG9kYXkgJiYgcGVyaW9kLmRhdGVSYW5nZS50byA+PSB0b2RheVxuICAgICAgKTtcbiAgICB9LFxuICAgIGRhdGVQZXJpb2RzKCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zKFwic2VhcmNoLmJvb2suc3BlY2lhbF9kYXRlcy5wYXNlblwiKSxcbiAgICAgICAgICAvL2NvbG9yOiBcIiNkOThjMmZcIixcbiAgICAgICAgICBzb3J0OiAxLFxuICAgICAgICAgIGRhdGVSYW5nZToge1xuICAgICAgICAgICAgZnJvbTogXCIyMDI2LTA0LTAzXCIsXG4gICAgICAgICAgICB0bzogXCIyMDI2LTA0LTA2XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb3VudHJ5OiBcIk5MXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0aXRsZTogdGhpcy50cmFucyhcInNlYXJjaC5ib29rLnNwZWNpYWxfZGF0ZXMubWVpdmFrYW50aWVcIiksXG4gICAgICAgICAgLy9jb2xvcjogXCIjZmYwMGZmXCIsXG4gICAgICAgICAgc29ydDogMixcbiAgICAgICAgICBkYXRlUmFuZ2U6IHtcbiAgICAgICAgICAgIGZyb206IFwiMjAyNi0wNC0yNFwiLFxuICAgICAgICAgICAgdG86IFwiMjAyNi0wNS0wM1wiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0aXRsZTogdGhpcy50cmFucyhcInNlYXJjaC5ib29rLnNwZWNpYWxfZGF0ZXMuaGVtZWx2YWFydFwiKSxcbiAgICAgICAgICAvL2NvbG9yOiBcIiNmZjAwMDBcIixcbiAgICAgICAgICBzb3J0OiAzLFxuICAgICAgICAgIGRhdGVSYW5nZToge1xuICAgICAgICAgICAgZnJvbTogXCIyMDI2LTA1LTEzXCIsXG4gICAgICAgICAgICB0bzogXCIyMDI2LTA1LTE3XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb3VudHJ5OiBcIk5MXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0aXRsZTogdGhpcy50cmFucyhcInNlYXJjaC5ib29rLnNwZWNpYWxfZGF0ZXMucGlua3N0ZXJlblwiKSxcbiAgICAgICAgICAvL2NvbG9yOiBcIiMwMDAwZmZcIixcbiAgICAgICAgICBzb3J0OiA0LFxuICAgICAgICAgIGRhdGVSYW5nZToge1xuICAgICAgICAgICAgZnJvbTogXCIyMDI2LTA1LTIyXCIsXG4gICAgICAgICAgICB0bzogXCIyMDI2LTA1LTI2XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb3VudHJ5OiBcIk5MXCIsXG4gICAgICAgIH0sXG4gICAgICAgIC8vIHtcbiAgICAgICAgLy8gICB0aXRsZTogdGhpcy50cmFucyhcInNlYXJjaC5ib29rLnNwZWNpYWxfZGF0ZXMuc3VtbWVyXCIpICsgXCIg4piA77iPXCIsXG4gICAgICAgIC8vICAgLy9jb2xvcjogXCIjMDBmZjAwXCIsXG4gICAgICAgIC8vICAgc29ydDogNSxcbiAgICAgICAgLy8gICBkYXRlUmFuZ2U6IHtcbiAgICAgICAgLy8gICAgIGZyb206IFwiMjAyNS0wNy0wMVwiLFxuICAgICAgICAvLyAgICAgdG86IFwiMjAyNS0wOC0zMVwiLFxuICAgICAgICAvLyAgIH0sXG4gICAgICAgIC8vIH0sXG4gICAgICBdO1xuICAgIH0sXG4gICAgc3VtbWVyRGF0ZVBlcmlvZHMoKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgdGl0bGU6IFwiU3RhcnQgTm9vcmRcIixcbiAgICAgICAgICAvL3RpdGxlOiB0aGlzLnRyYW5zKFwic2VhcmNoLmJvb2suc3BlY2lhbF9kYXRlcy5zdW1tZXJcIikgKyBcIiDimIDvuI9cIixcbiAgICAgICAgICAvL2NvbG9yOiBcIiMwMGZmMDBcIixcbiAgICAgICAgICBzb3J0OiAxLFxuICAgICAgICAgIGRhdGVSYW5nZToge1xuICAgICAgICAgICAgZnJvbTogXCIyMDI2LTA3LTA0XCIsXG4gICAgICAgICAgICB0bzogXCIyMDI2LTA3LTExXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLFxuICAgICAgICB7XG4gICAgICAgICAgdGl0bGU6IFwiU3RhcnQgWnVpZFwiLFxuICAgICAgICAgIC8vdGl0bGU6IHRoaXMudHJhbnMoXCJzZWFyY2guYm9vay5zcGVjaWFsX2RhdGVzLnN1bW1lclwiKSArIFwiIOKYgO+4j1wiLFxuICAgICAgICAgIC8vY29sb3I6IFwiIzAwZmYwMFwiLFxuICAgICAgICAgIHNvcnQ6IDIsXG4gICAgICAgICAgZGF0ZVJhbmdlOiB7XG4gICAgICAgICAgICBmcm9tOiBcIjIwMjYtMDctMTFcIixcbiAgICAgICAgICAgIHRvOiBcIjIwMjYtMDctMThcIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGl0bGU6IFwiU3RhcnQgTWlkZGVuXCIsXG4gICAgICAgICAgLy90aXRsZTogdGhpcy50cmFucyhcInNlYXJjaC5ib29rLnNwZWNpYWxfZGF0ZXMuc3VtbWVyXCIpICsgXCIg4piA77iPXCIsXG4gICAgICAgICAgLy9jb2xvcjogXCIjMDBmZjAwXCIsXG4gICAgICAgICAgc29ydDogMyxcbiAgICAgICAgICBkYXRlUmFuZ2U6IHtcbiAgICAgICAgICAgIGZyb206IFwiMjAyNi0wNy0xOFwiLFxuICAgICAgICAgICAgdG86IFwiMjAyNi0wNy0yNVwiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH0sXG4gIH0sXG5cbiAgbWV0aG9kczoge1xuICAgIHNlbGVjdFBlcmlvZChwZXJpb2QpIHtcbiAgICAgIHRoaXMuc2VhcmNoRGF0YS5kYXRlID0gW1xuICAgICAgICBuZXcgRGF0ZShgJHtwZXJpb2QuZGF0ZVJhbmdlLmZyb219VDAwOjAwOjAwWmApLFxuICAgICAgICBuZXcgRGF0ZShgJHtwZXJpb2QuZGF0ZVJhbmdlLnRvfVQwMDowMDowMFpgKSxcbiAgICAgIF07XG4gICAgICB0aGlzLnNlYXJjaERhdGEuY291bnRyeSA9IHBlcmlvZC5jb3VudHJ5O1xuICAgIH0sXG4gIH0sXG59O1xuPC9zY3JpcHQ+XG5cbjx0ZW1wbGF0ZT5cbiAgPGRpdlxuICAgIHYtaWY9XCJsb2NhbGUgPT09ICdubCdcIlxuICAgIGNsYXNzPVwic3BlY2lhbC1kYXRlLXBlcmlvZHMgcHgtNCBweS0zIGJnLWJhc2ljLWNyZWFtIHJvdW5kZWQgYm9yZGVyXCJcbiAgPlxuICAgIDxwIGNsYXNzPVwiZnctYm9sZFwiPlxuICAgICAg8J+ThSAmbmJzcDt7eyB0aGlzLnRyYW5zKFwic2VhcmNoLmJvb2suc3BlY2lhbF9kYXRlc1wiKSB9fSAyMDI2XG4gICAgPC9wPlxuICAgIDxidXR0b25cbiAgICAgIHYtZm9yPVwicGVyaW9kIGluIFsuLi5maWx0ZXJlZERhdGVQZXJpb2RzXS5zb3J0KChhLCBiKSA9PiBhLnNvcnQgLSBiLnNvcnQpXCJcbiAgICAgIDprZXk9XCJwZXJpb2QudGl0bGVcIlxuICAgICAgOnN0eWxlPVwieyBjb2xvcjogcGVyaW9kLmNvbG9yIH1cIlxuICAgICAgOmNsYXNzPVwiW1xuICAgICAgICAnYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgbWUtMiBtYi0yIHB5LTEgcHgtMicsXG4gICAgICAgIHsgYWN0aXZlOiBpc0FjdGl2ZVBlcmlvZChwZXJpb2QpIH0sXG4gICAgICBdXCJcbiAgICAgIEBjbGljaz1cInNlbGVjdFBlcmlvZChwZXJpb2QpXCJcbiAgICA+XG4gICAgICB7eyBwZXJpb2QudGl0bGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICB2LWlmPVwibG9jYWxlID09PSAnbmwnXCJcbiAgICBjbGFzcz1cInNwZWNpYWwtZGF0ZS1wZXJpb2RzIHB4LTQgcHktMyBiZy1iYXNpYy1jcmVhbSByb3VuZGVkIGJvcmRlclwiXG4gID5cbiAgICA8cCBjbGFzcz1cImZ3LWJvbGRcIj5cbiAgICAgIOKYgO+4jyAmbmJzcDt7eyB0aGlzLnRyYW5zKFwic2VhcmNoLmJvb2suc3BlY2lhbF9kYXRlcy5zdW1tZXJcIikgfX0gMjAyNlxuICAgIDwvcD5cbiAgICA8YnV0dG9uXG4gICAgICB2LWZvcj1cInBlcmlvZCBpbiBbLi4uc3VtbWVyRmlsdGVyZWREYXRlUGVyaW9kc10uc29ydChcbiAgICAgICAgKGEsIGIpID0+IGEuc29ydCAtIGIuc29ydFxuICAgICAgKVwiXG4gICAgICA6a2V5PVwicGVyaW9kLnRpdGxlXCJcbiAgICAgIDpzdHlsZT1cInsgY29sb3I6IHBlcmlvZC5jb2xvciB9XCJcbiAgICAgIDpjbGFzcz1cIltcbiAgICAgICAgJ2J0biBidG4tb3V0bGluZS1wcmltYXJ5IG1lLTIgbWItMiBweS0xIHB4LTInLFxuICAgICAgICB7IGFjdGl2ZTogaXNBY3RpdmVQZXJpb2QocGVyaW9kKSB9LFxuICAgICAgXVwiXG4gICAgICBAY2xpY2s9XCJzZWxlY3RQZXJpb2QocGVyaW9kKVwiXG4gICAgPlxuICAgICAge3sgcGVyaW9kLnRpdGxlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHN0eWxlIHNjb3BlZD5cbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQ7XG59XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5LmFjdGl2ZSB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAycHggc29saWQgI2Q5OGMyZjtcbn1cbi5idG4tb3V0bGluZS1wcmltYXJ5LmFjdGl2ZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk4YzJmO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG9wYWNpdHk6IDAuMTtcbiAgei1pbmRleDogLTE7XG59XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyOjpiZWZvcmUsXG4uYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMjtcbn1cbjwvc3R5bGU+XG4iLCI8c2NyaXB0PlxuZXhwb3J0IGRlZmF1bHQge1xuICBwcm9wczoge1xuICAgIHJhdGluZzoge1xuICAgICAgdHlwZTogW1N0cmluZywgTnVtYmVyXSxcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0sXG4gICAgaXNEZXNrdG9wOiBCb29sZWFuLFxuICB9LFxuICBjb21wdXRlZDoge1xuICAgIGZvcm1hdHRlZFJhdGluZygpIHtcbiAgICAgIGNvbnN0IHJhdGluZyA9IHBhcnNlRmxvYXQodGhpcy5yYXRpbmcpO1xuICAgICAgY29uc3Qgcm91bmRlZCA9IE1hdGgucm91bmQocmF0aW5nICogMTApIC8gMTA7XG4gICAgICByZXR1cm4gcm91bmRlZCAlIDEgPT09IDBcbiAgICAgICAgPyBNYXRoLnJvdW5kKHJvdW5kZWQpLnRvU3RyaW5nKClcbiAgICAgICAgOiByb3VuZGVkLnRvRml4ZWQoMSk7XG4gICAgfSxcbiAgICBzdGFyUmF0aW5ncygpIHtcbiAgICAgIGNvbnN0IHN0YXJzID0gW107XG4gICAgICBsZXQgcmF0aW5nID0gdGhpcy5mb3JtYXR0ZWRSYXRpbmcgLyAyOyAvLyBDb252ZXJ0IDAtMTAgc2NhbGUgdG8gMC01IHNjYWxlXG5cbiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IDU7IGkrKykge1xuICAgICAgICBpZiAocmF0aW5nID49IDEpIHtcbiAgICAgICAgICBzdGFycy5wdXNoKFwiZnVsbFwiKTsgLy8gRnVsbCBzdGFyXG4gICAgICAgIH0gZWxzZSBpZiAocmF0aW5nID49IDAuNSkge1xuICAgICAgICAgIHN0YXJzLnB1c2goXCJoYWxmXCIpOyAvLyBIYWxmIHN0YXJcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGFycy5wdXNoKFwiZW1wdHlcIik7IC8vIEVtcHR5IHN0YXJcbiAgICAgICAgfVxuICAgICAgICByYXRpbmcgLT0gMTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN0YXJzO1xuICAgIH0sXG4gIH0sXG59O1xuPC9zY3JpcHQ+XG5cbjx0ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInJldmlldy1zdW1tYXJ5LXJhdGluZyBtdC1sZy0wIGQtaW5saW5lLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwicmF0aW5nLW51bWJlciBtZS0xXCJcbiAgICAgIDpjbGFzcz1cInsgcmF0aW5nX251bWJlcl9tb2JpbGU6ICFpc0Rlc2t0b3AgfVwiXG4gICAgICA+e3sgZm9ybWF0dGVkUmF0aW5nIH19PC9zcGFuXG4gICAgPlxuICAgIDx0ZW1wbGF0ZVxuICAgICAgdi1mb3I9XCIoc3RhciwgaW5kZXgpIGluIHN0YXJSYXRpbmdzXCJcbiAgICAgIDprZXk9XCJpbmRleFwiXG4gICAgICB2LWlmPVwiaXNEZXNrdG9wXCJcbiAgICA+XG4gICAgICA8c3ZnXG4gICAgICAgIHYtaWY9XCJzdGFyID09PSAnZnVsbCdcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgIGhlaWdodD1cIjE4XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAxOCAxOFwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE2LjQ3MzUgOC4wNzQ1OUwxMy4zMDk0IDEwLjgwNDhMMTQuMjczNCAxNC44ODc5QzE0LjMyNjYgMTUuMTA5NSAxNC4zMTI5IDE1LjM0MiAxNC4yMzQgMTUuNTU1OEMxNC4xNTUyIDE1Ljc2OTcgMTQuMDE0NyAxNS45NTU0IDEzLjgzMDQgMTYuMDg5NUMxMy42NDYgMTYuMjIzNiAxMy40MjYxIDE2LjMgMTMuMTk4MyAxNi4zMDkxQzEyLjk3MDYgMTYuMzE4MyAxMi43NDUyIDE2LjI1OTcgMTIuNTUwNyAxNi4xNDA4TDguOTk5OTYgMTMuOTU1NUw1LjQ0NzA3IDE2LjE0MDhDNS4yNTI2IDE2LjI1OSA1LjAyNzUxIDE2LjMxNyA0LjgwMDE1IDE2LjMwNzZDNC41NzI3OCAxNi4yOTgxIDQuMzUzMyAxNi4yMjE1IDQuMTY5MzUgMTYuMDg3NkMzLjk4NTM5IDE1Ljk1MzYgMy44NDUxOSAxNS43NjgyIDMuNzY2MzkgMTUuNTU0N0MzLjY4NzU5IDE1LjM0MTMgMy42NzM3MiAxNS4xMDkyIDMuNzI2NTIgMTQuODg3OUw0LjY5NDAyIDEwLjgwNDhMMS41Mjk5NiA4LjA3NDU5QzEuMzU3OSA3LjkyNTg5IDEuMjMzNDcgNy43Mjk3OSAxLjE3MjE5IDcuNTEwNzlDMS4xMTA5MiA3LjI5MTc4IDEuMTE1NTMgNy4wNTk1OCAxLjE4NTQ0IDYuODQzMThDMS4yNTUzNCA2LjYyNjc4IDEuMzg3NDYgNi40MzU3OCAxLjU2NTI3IDYuMjk0MDFDMS43NDMwOSA2LjE1MjI1IDEuOTU4NzMgNi4wNjYwMSAyLjE4NTI3IDYuMDQ2MDdMNi4zMzM3MSA1LjcxMTM5TDcuOTM0MDIgMS44Mzg1N0M4LjAyMDY0IDEuNjI3NTEgOC4xNjgwNyAxLjQ0Njk3IDguMzU3NTYgMS4zMTk5MUM4LjU0NzA1IDEuMTkyODQgOC43NzAwNSAxLjEyNSA4Ljk5ODIgMS4xMjVDOS4yMjYzNSAxLjEyNSA5LjQ0OTM0IDEuMTkyODQgOS42Mzg4MyAxLjMxOTkxQzkuODI4MzMgMS40NDY5NyA5Ljk3NTc2IDEuNjI3NTEgMTAuMDYyNCAxLjgzODU3TDExLjY2MiA1LjcxMTM5TDE1LjgxMDQgNi4wNDYwN0MxNi4wMzc0IDYuMDY1MjcgMTYuMjUzNyA2LjE1MTAzIDE2LjQzMjEgNi4yOTI1OUMxNi42MTA2IDYuNDM0MTYgMTYuNzQzMyA2LjYyNTI1IDE2LjgxMzcgNi44NDE5MUMxNi44ODQgNy4wNTg1NyAxNi44ODg5IDcuMjkxMTggMTYuODI3NiA3LjUxMDU4QzE2Ljc2NjMgNy43Mjk5OCAxNi42NDE3IDcuOTI2NDIgMTYuNDY5MyA4LjA3NTI5TDE2LjQ3MzUgOC4wNzQ1OVpcIlxuICAgICAgICAgIGZpbGw9XCIjRTRBMDA2XCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPHN2Z1xuICAgICAgICB2LWVsc2UtaWY9XCJzdGFyID09PSAnaGFsZidcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgIGhlaWdodD1cIjE4XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAxOCAxOFwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsPVwiI0U0QTAwNlwiXG4gICAgICAgICAgY2xhc3M9XCJzdDBcIlxuICAgICAgICAgIGQ9XCJNMTcuMSw2LjhjLTAuMS0wLjMtMC4zLTAuNS0wLjUtMC43Yy0wLjItMC4yLTAuNS0wLjMtMC44LTAuM2wtNC0wLjNsLTEuNS0zLjdDMTAuMiwxLjUsMTAsMS4yLDkuOCwxLjEgQzkuNiwwLjksOS4zLDAuOCw5LDAuOGMtMC4zLDAtMC42LDAuMS0wLjgsMC4yQzgsMS4yLDcuOCwxLjUsNy43LDEuN0w2LjEsNS40bC00LDAuM2MtMC4zLDAtMC42LDAuMS0wLjgsMC4zQzEuMiw2LjIsMSw2LjUsMC45LDYuOCBDMC44LDcsMC44LDcuMywwLjksNy42QzEsNy45LDEuMSw4LjEsMS4zLDguM2wzLDIuNmwtMC45LDMuOWMtMC4xLDAuMy0wLjEsMC42LDAsMC44YzAuMSwwLjMsMC4zLDAuNSwwLjUsMC43IGMwLjIsMC4yLDAuNSwwLjMsMC44LDAuM2MwLjMsMCwwLjYtMC4xLDAuOC0wLjJMOSwxNC4zbDMuNCwyLjFjMC4yLDAuMSwwLjUsMC4yLDAuOCwwLjJjMC4zLDAsMC42LTAuMSwwLjgtMC4zIGMwLjItMC4yLDAuNC0wLjQsMC41LTAuN2MwLjEtMC4zLDAuMS0wLjYsMC0wLjhsLTAuOS0zLjlsMy0yLjZjMC4yLTAuMiwwLjQtMC40LDAuNC0wLjdDMTcuMiw3LjMsMTcuMiw3LDE3LjEsNi44eiBNOSwyLjlsMS41LDMuNiBjMC4xLDAuMSwwLjIsMC4zLDAuMywwLjRjMC4xLDAuMSwwLjMsMC4xLDAuNCwwLjJsMy45LDAuM2wtMywyLjZjLTAuMSwwLjEtMC4yLDAuMi0wLjMsMC40YzAsMC4xLTAuMSwwLjMsMCwwLjVsMC45LDMuOGwtMy4zLTIgYy0wLjEtMC4xLTAuMy0wLjEtMC40LTAuMVwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxzdmdcbiAgICAgICAgdi1lbHNlXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgaGVpZ2h0PVwiMThcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMTcuMDg1OCA2Ljc0OTc2QzE2Ljk5ODcgNi40ODA2OCAxNi44MzM2IDYuMjQzNTIgMTYuNjExNiA2LjA2ODI5QzE2LjM4OTUgNS44OTMwNiAxNi4xMjA1IDUuNzg3NjQgMTUuODM4NSA1Ljc2NTM4TDExLjg1OTUgNS40NDQwNkwxMC4zMjM5IDEuNzMwODVDMTAuMjE2IDEuNDY4NDIgMTAuMDMyNSAxLjI0Mzk4IDkuNzk2NzYgMS4wODYwM0M5LjU2MTAzIDAuOTI4MDc5IDkuMjgzNjcgMC44NDM3NSA4Ljk5OTkxIDAuODQzNzVDOC43MTYxNSAwLjg0Mzc1IDguNDM4OCAwLjkyODA3OSA4LjIwMzA2IDEuMDg2MDNDNy45NjczMyAxLjI0Mzk4IDcuNzgzODUgMS40Njg0MiA3LjY3NTkzIDEuNzMwODVMNi4xNDE3MSA1LjQ0NDc2TDIuMTYyNzMgNS43NjUzOEMxLjg4MDIzIDUuNzg4NjggMS42MTA5MSA1Ljg5NDk2IDEuMzg4NjMgNi4wNzA4NkMxLjE2NjM1IDYuMjQ2NzYgMS4wMDEwMiA2LjQ4NDQzIDAuOTEzNDE0IDYuNzU0MDFDMC44MjU4MDggNy4wMjM1OSAwLjgxOTgzNSA3LjMxMzA2IDAuODk2MjQ3IDcuNTg2MDJDMC45NzI2NTkgNy44NTg5OSAxLjEyODA1IDguMTAzMjggMS4zNDI4OCA4LjI4ODJMNC4zNzg5OCAxMC45MDY2TDMuNDUwODUgMTQuODIzQzMuMzgzMTYgMTUuMDk5MiAzLjM5OTE3IDE1LjM4OTIgMy40OTY4NSAxNS42NTYyQzMuNTk0NTMgMTUuOTIzMiAzLjc2OTQ3IDE2LjE1NTEgMy45OTkzNyAxNi4zMjIzQzQuMjI5MjcgMTYuNDg5NSA0LjUwMzc1IDE2LjU4NDYgNC43ODc4NSAxNi41OTUzQzUuMDcxOTUgMTYuNjA2IDUuMzUyODEgMTYuNTMyIDUuNTk0NjggMTYuMzgyNkw4Ljk5OTkxIDE0LjI4NjZMMTIuNDA1MSAxNi4zODI2QzEyLjY0NjkgMTYuNTMxIDEyLjkyNzQgMTYuNjA0MyAxMy4yMTA5IDE2LjU5MzNDMTMuNDk0NCAxNi41ODIzIDEzLjc2ODIgMTYuNDg3NCAxMy45OTc4IDE2LjMyMDZDMTQuMjI3MyAxNi4xNTM5IDE0LjQwMjIgMTUuOTIyNyAxNC41MDAzIDE1LjY1NjVDMTQuNTk4NSAxNS4zOTAzIDE0LjYxNTQgMTUuMTAxIDE0LjU0OSAxNC44MjUxTDEzLjYyMDggMTAuOTA4N0wxNi42NTY5IDguMjkwMzFDMTYuODczMSA4LjEwNDk0IDE3LjAyOTIgNy44NTk1MyAxNy4xMDU2IDcuNTg1MjNDMTcuMTgyIDcuMzEwOTQgMTcuMTc1MSA3LjAyMDE0IDE3LjA4NTggNi43NDk3NlpNMTIuMTMwOSA5Ljk2MzA0QzEyLjAxMzkgMTAuMDY0IDExLjkyNjggMTAuMTk1MSAxMS44NzkxIDEwLjM0MjJDMTEuODMxNSAxMC40ODkyIDExLjgyNTIgMTAuNjQ2NiAxMS44NjA5IDEwLjc5NjlMMTIuNzY3MyAxNC42MjQ4TDkuNDQyMTggMTIuNTgwMUM5LjMwOTE4IDEyLjQ5ODIgOS4xNTYwOCAxMi40NTQ5IDguOTk5OTEgMTIuNDU0OUM4Ljg0Mzc1IDEyLjQ1NDkgOC42OTA2NCAxMi40OTgyIDguNTU3NjUgMTIuNTgwMUw1LjIzMjU3IDE0LjYyNDhMNi4xMzg5IDEwLjc5OThDNi4xNzQ2IDEwLjY0OTQgNi4xNjgyOSAxMC40OTIxIDYuMTIwNjggMTAuMzQ1QzYuMDczMDcgMTAuMTk3OSA1Ljk4NTk3IDEwLjA2NjggNS44Njg5IDkuOTY1ODVMMi44OTY3OSA3LjM5OTQ1TDYuNzkyMSA3LjA4NTE1QzYuOTQ3MTEgNy4wNzI3IDcuMDk1NjcgNy4wMTc2NCA3LjIyMTM2IDYuOTI2MDdDNy4zNDcwNSA2LjgzNDUgNy40NDQ5OSA2LjcwOTk3IDcuNTA0MzcgNi41NjYyNEw4Ljk5OTkxIDIuOTQ1MTVMMTAuNDk1NSA2LjU2NjI0QzEwLjU1NDggNi43MDk5NyAxMC42NTI4IDYuODM0NSAxMC43Nzg1IDYuOTI2MDdDMTAuOTA0MiA3LjAxNzY0IDExLjA1MjcgNy4wNzI3IDExLjIwNzcgNy4wODUxNUwxNS4xMDMgNy4zOTk0NUwxMi4xMzA5IDkuOTYzMDRaXCJcbiAgICAgICAgICBmaWxsPVwiI0U0QTAwNlwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L3RlbXBsYXRlPlxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzdHlsZT5cbi5yYXRpbmctbnVtYmVyLnJhdGluZ19udW1iZXJfbW9iaWxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4xMjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDNyZW07XG4gIGJhY2tncm91bmQ6ICNlNGEwMDY7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDAuNzVyZW0gIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTQwJTsgLyogMS4wNXJlbSAqL1xuICB3aWR0aDogMS41NjI1cmVtO1xuICBoZWlnaHQ6IDEuNTYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG48L3N0eWxlPlxuIiwiPHNjcmlwdD5cbmltcG9ydCBJbnRsTWVzc2FnZUZvcm1hdCBmcm9tIFwiaW50bC1tZXNzYWdlZm9ybWF0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcHM6IFtcImNhbXBpbmdcIiwgXCJ0eXBlQ2FyZFwiLCBcImlzRGVza3RvcFwiLCBcImlzTWFwQ2FyZFwiXSxcbiAgY29tcG9uZW50czoge30sXG4gIGJlZm9yZU1vdW50KCkge30sXG5cbiAgZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxlOiBsb2NhbGUsXG4gICAgfTtcbiAgfSxcblxuICBjb21wdXRlZDoge30sXG5cbiAgbWV0aG9kczoge30sXG59O1xuPC9zY3JpcHQ+XG5cbjx0ZW1wbGF0ZT5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY2FyZC1mYWNpbGl0aWVzLWxpc3QgZ2FwLTIganVzdGlmeS1jb250ZW50LWJldHdlZW4ganVzdGlmeS1jb250ZW50LWxnLXN0YXJ0XCJcbiAgPlxuICAgIDxkaXYgdi1pZj1cImNhbXBpbmc/LmNhbXBpbmc/LnBlcnNvbnNcIiBjbGFzcz1cImZhY2lsaXR5IGZhY2lsaXRpZXMtcGVyc29uc1wiPlxuICAgICAgPHN2Z1xuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgIGhlaWdodD1cIjE4XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAxOCAxOFwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTguODAwODIgMTEuMjYyOEM5LjUxMzE1IDEwLjY0NTEgMTAuMDI0MSA5LjgxNjE3IDEwLjI2NDQgOC44ODg2MUMxMC41MDQ2IDcuOTYxMDQgMTAuNDYyNiA2Ljk3OTY3IDEwLjE0NCA2LjA3NzU5QzkuODI1MzMgNS4xNzU1MSA5LjI0NTUxIDQuMzk2MzcgOC40ODMxNSAzLjg0NTgzQzcuNzIwNzkgMy4yOTUyOSA2LjgxMjc3IDMgNS44ODIyMyAzQzQuOTUxNyAzIDQuMDQzNjggMy4yOTUyOSAzLjI4MTMyIDMuODQ1ODNDMi41MTg5NiA0LjM5NjM3IDEuOTM5MTQgNS4xNzU1MSAxLjYyMDUxIDYuMDc3NTlDMS4zMDE4OCA2Ljk3OTY3IDEuMjU5ODQgNy45NjEwNCAxLjUwMDExIDguODg4NjFDMS43NDAzOCA5LjgxNjE3IDIuMjUxMzIgMTAuNjQ1MSAyLjk2MzY0IDExLjI2MjhDMS44NTEzMyAxMS43ODE4IDAuODg3NDAzIDEyLjU4NzcgMC4xNjQ4MzIgMTMuNjAyOUMwLjAzMTM3MzQgMTMuNzkwNiAtMC4wMjQzNzUgMTQuMDI1MiAwLjAwOTg1MDQyIDE0LjI1NTNDMC4wNDQwNzU5IDE0LjQ4NTMgMC4xNjU0NzIgMTQuNjkxOSAwLjM0NzMzMiAxNC44Mjk2QzAuNTI5MTkzIDE0Ljk2NzMgMC43NTY2MiAxNS4wMjQ5IDAuOTc5NTg0IDE0Ljk4OTVDMS4yMDI1NSAxNC45NTQyIDEuNDAyNzggMTQuODI5IDEuNTM2MjQgMTQuNjQxM0MyLjAzNjQzIDEzLjkzNjUgMi42OTA2MSAxMy4zNjMyIDMuNDQ1NzEgMTIuOTY4QzQuMjAwODEgMTIuNTcyOSA1LjAzNTU2IDEyLjM2NjkgNS44ODIyMyAxMi4zNjY5QzYuNzI4OTEgMTIuMzY2OSA3LjU2MzY2IDEyLjU3MjkgOC4zMTg3NiAxMi45NjhDOS4wNzM4NiAxMy4zNjMyIDkuNzI4MDQgMTMuOTM2NSAxMC4yMjgyIDE0LjY0MTNDMTAuMzYxNyAxNC44MjkxIDEwLjU2MiAxNC45NTQ0IDEwLjc4NSAxNC45ODk4QzExLjAwOCAxNS4wMjUyIDExLjIzNTUgMTQuOTY3NyAxMS40MTc1IDE0LjgzQzExLjU5OTQgMTQuNjkyMyAxMS43MjA5IDE0LjQ4NTcgMTEuNzU1MiAxNC4yNTU1QzExLjc4OTUgMTQuMDI1NCAxMS43MzM4IDEzLjc5MDcgMTEuNjAwMyAxMy42MDI5QzEwLjg3NzMgMTIuNTg3OCA5LjkxMzIyIDExLjc4MiA4LjgwMDgyIDExLjI2MjhaTTMuMDQ3MjggNy42ODM5NkMzLjA0NzI4IDcuMTA1NDMgMy4yMTM1NCA2LjUzOTg5IDMuNTI1MDUgNi4wNTg4NkMzLjgzNjU2IDUuNTc3ODMgNC4yNzkzMiA1LjIwMjkxIDQuNzk3MzQgNC45ODE1MkM1LjMxNTM2IDQuNzYwMTMgNS44ODUzOCA0LjcwMjIgNi40MzUzMSA0LjgxNTA2QzYuOTg1MjMgNC45Mjc5MyA3LjQ5MDM4IDUuMjA2NTIgNy44ODY4NSA1LjYxNTZDOC4yODMzMyA2LjAyNDY5IDguNTUzMzMgNi41NDU4OSA4LjY2MjcyIDcuMTEzMzFDOC43NzIxMSA3LjY4MDcyIDguNzE1OTYgOC4yNjg4NiA4LjUwMTM5IDguODAzMzVDOC4yODY4MiA5LjMzNzg1IDcuOTIzNDYgOS43OTQ2OSA3LjQ1NzI1IDEwLjExNjFDNi45OTEwNSAxMC40Mzc1IDYuNDQyOTQgMTAuNjA5MSA1Ljg4MjIzIDEwLjYwOTFDNS4xMzAzNiAxMC42MDkxIDQuNDA5MjcgMTAuMzAwOSAzLjg3NzYyIDkuNzUyMzNDMy4zNDU5NiA5LjIwMzc2IDMuMDQ3MjggOC40NTk3NSAzLjA0NzI4IDcuNjgzOTZaTTE3LjY1NDQgMTQuODI2M0MxNy41NjQ0IDE0Ljg5NDYgMTcuNDYyMiAxNC45NDM5IDE3LjM1MzcgMTQuOTcxNEMxNy4yNDUyIDE0Ljk5ODkgMTcuMTMyNSAxNS4wMDQxIDE3LjAyMiAxNC45ODY2QzE2LjkxMTYgMTQuOTY5MiAxNi44MDU2IDE0LjkyOTQgMTYuNzEgMTQuODY5N0MxNi42MTQ0IDE0LjgwOTkgMTYuNTMxMiAxNC43MzEzIDE2LjQ2NTEgMTQuNjM4NEMxNS45NjM3IDEzLjkzNDkgMTUuMzA5MyAxMy4zNjI2IDE0LjU1NDQgMTIuOTY3NkMxMy43OTk2IDEyLjU3MjYgMTIuOTY1NSAxMi4zNjU5IDEyLjExOTEgMTIuMzY0MUMxMS44OTM2IDEyLjM2NDEgMTEuNjc3MyAxMi4yNzE3IDExLjUxNzggMTIuMTA3MUMxMS4zNTgzIDExLjk0MjUgMTEuMjY4NyAxMS43MTkzIDExLjI2ODcgMTEuNDg2NkMxMS4yNjg3IDExLjI1MzkgMTEuMzU4MyAxMS4wMzA3IDExLjUxNzggMTAuODY2MUMxMS42NzczIDEwLjcwMTUgMTEuODkzNiAxMC42MDkxIDEyLjExOTEgMTAuNjA5MUMxMi41MjIxIDEwLjYwODMgMTIuOTIwMiAxMC41MTkgMTMuMjg3MSAxMC4zNDY5QzEzLjY1MzkgMTAuMTc0OSAxMy45ODEgOS45MjQxOCAxNC4yNDY1IDkuNjExNDVDMTQuNTEyIDkuMjk4NzIgMTQuNzA5OSA4LjkzMTE4IDE0LjgyNjkgOC41MzMzM0MxNC45NDM5IDguMTM1NDkgMTQuOTc3NCA3LjcxNjQ4IDE0LjkyNTEgNy4zMDQyNEMxNC44NzI3IDYuODkyIDE0LjczNTkgNi40OTYgMTQuNTIzNSA2LjE0MjY0QzE0LjMxMTIgNS43ODkyOCAxNC4wMjgzIDUuNDg2NjkgMTMuNjkzNyA1LjI1NTAzQzEzLjM1OTEgNS4wMjMzNiAxMi45ODA1IDQuODY3OTYgMTIuNTgzMSA0Ljc5OTE4QzEyLjE4NTcgNC43MzAzOSAxMS43Nzg3IDQuNzQ5OCAxMS4zODkxIDQuODU2MTJDMTEuMjgwMyA0Ljg4ODYgMTEuMTY2NCA0Ljg5ODMyIDExLjA1MzkgNC44ODQ3M0MxMC45NDE0IDQuODcxMTQgMTAuODMyNiA0LjgzNDUgMTAuNzM0MSA0Ljc3Njk2QzEwLjYzNTUgNC43MTk0MyAxMC41NDkgNC42NDIxNiAxMC40Nzk4IDQuNTQ5NjhDMTAuNDEwNSA0LjQ1NzIgMTAuMzU5OSA0LjM1MTM5IDEwLjMzMDggNC4yMzg0NEMxMC4zMDE3IDQuMTI1NSAxMC4yOTQ4IDQuMDA3NyAxMC4zMTA0IDMuODkxOTZDMTAuMzI2MSAzLjc3NjIxIDEwLjM2NCAzLjY2NDg2IDEwLjQyMTkgMy41NjQ0M0MxMC40Nzk4IDMuNDY0IDEwLjU1NjYgMy4zNzY1MiAxMC42NDc3IDMuMzA3MTJDMTAuNzM4OCAzLjIzNzcyIDEwLjg0MjUgMy4xODc4IDEwLjk1MjYgMy4xNjAyOUMxMS45NDg3IDIuODg3OTYgMTMuMDA0OSAyLjk3MzcxIDEzLjk0NzUgMy40MDM0MkMxNC44OTAxIDMuODMzMTMgMTUuNjYyOCA0LjU4MTE4IDE2LjEzODMgNS41MjQ0MkMxNi42MTM5IDYuNDY3NjcgMTYuNzY0IDcuNTQ5ODkgMTYuNTY0IDguNTkyOUMxNi4zNjM5IDkuNjM1OTIgMTUuODI1NiAxMC41Nzc2IDE1LjAzNzcgMTEuMjYyOEMxNi4xNSAxMS43ODE4IDE3LjExNCAxMi41ODc3IDE3LjgzNjUgMTMuNjAyOUMxNy45NjkgMTMuNzkwMyAxOC4wMjQzIDE0LjAyNDIgMTcuOTkwMSAxNC4yNTM0QzE3Ljk1NiAxNC40ODI3IDE3LjgzNTMgMTQuNjg4NiAxNy42NTQ0IDE0LjgyNjNaXCJcbiAgICAgICAgICBmaWxsPVwiIzJGMkYyRlwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZmFjaWxpdGllcy1wZXJzb25zLWFtb3VudFwiPnt7XG4gICAgICAgIGNhbXBpbmcuY2FtcGluZy5wZXJzb25zXG4gICAgICB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICB2LWlmPVwiY2FtcGluZz8uY2FtcGluZz8uZmFjaWxpdHlfaWNvbnM/LmluY2x1ZGVzKCdzYW5pdGF0eV9mYWNpbGl0aWVzJylcIlxuICAgICAgZGF0YS1mYWNpbGl0eT1cInNhbml0YXR5X2ZhY2lsaXRpZXNcIlxuICAgICAgY2xhc3M9XCJmYWNpbGl0eSBmYWNpbGl0aWVzLXNhbml0YWlyXCJcbiAgICA+XG4gICAgICA8c3ZnXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB3aWR0aD1cIjIxXCJcbiAgICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDIxIDIwXCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgPlxuICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxN18xMzA0MSlcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZD1cIk01Ljg0NTcgMTguNDM3NUM1Ljg0NTcgMTguNjg0NyA1Ljc3MjM5IDE4LjkyNjQgNS42MzUwNCAxOS4xMzJDNS40OTc2OSAxOS4zMzc1IDUuMzAyNDcgMTkuNDk3NyA1LjA3NDA2IDE5LjU5MjNDNC44NDU2NSAxOS42ODcgNC41OTQzMiAxOS43MTE3IDQuMzUxODQgMTkuNjYzNUM0LjEwOTM2IDE5LjYxNTIgMy44ODY2NCAxOS40OTYyIDMuNzExODIgMTkuMzIxNEMzLjUzNyAxOS4xNDY2IDMuNDE3OTUgMTguOTIzOCAzLjM2OTcyIDE4LjY4MTRDMy4zMjE0OSAxOC40Mzg5IDMuMzQ2MjQgMTguMTg3NiAzLjQ0MDg1IDE3Ljk1OTFDMy41MzU0NiAxNy43MzA3IDMuNjk1NjggMTcuNTM1NSAzLjkwMTI0IDE3LjM5ODJDNC4xMDY4IDE3LjI2MDggNC4zNDg0OCAxNy4xODc1IDQuNTk1NyAxNy4xODc1QzQuOTI3MjIgMTcuMTg3NSA1LjI0NTE3IDE3LjMxOTIgNS40Nzk1OSAxNy41NTM2QzUuNzE0MDEgMTcuNzg4IDUuODQ1NyAxOC4xMDYgNS44NDU3IDE4LjQzNzVaTTcuMDk1NyAxNC42ODc1QzYuODQ4NDggMTQuNjg3NSA2LjYwNjggMTQuNzYwOCA2LjQwMTI0IDE0Ljg5ODJDNi4xOTU2OCAxNS4wMzU1IDYuMDM1NDYgMTUuMjMwNyA1Ljk0MDg1IDE1LjQ1OTFDNS44NDYyNCAxNS42ODc2IDUuODIxNDkgMTUuOTM4OSA1Ljg2OTcyIDE2LjE4MTRDNS45MTc5NSAxNi40MjM4IDYuMDM3IDE2LjY0NjYgNi4yMTE4MiAxNi44MjE0QzYuMzg2NjQgMTYuOTk2MiA2LjYwOTM2IDE3LjExNTIgNi44NTE4NCAxNy4xNjM1QzcuMDk0MzIgMTcuMjExNyA3LjM0NTY1IDE3LjE4NyA3LjU3NDA2IDE3LjA5MjNDNy44MDI0NyAxNi45OTc3IDcuOTk3NjkgMTYuODM3NSA4LjEzNTA0IDE2LjYzMkM4LjI3MjM5IDE2LjQyNjQgOC4zNDU3IDE2LjE4NDcgOC4zNDU3IDE1LjkzNzVDOC4zNDU3IDE1LjYwNiA4LjIxNDAxIDE1LjI4OCA3Ljk3OTU5IDE1LjA1MzZDNy43NDUxNyAxNC44MTkyIDcuNDI3MjIgMTQuNjg3NSA3LjA5NTcgMTQuNjg3NVpNMi4wOTU3IDE0LjY4NzVDMS44NDg0OCAxNC42ODc1IDEuNjA2OCAxNC43NjA4IDEuNDAxMjQgMTQuODk4MkMxLjE5NTY4IDE1LjAzNTUgMS4wMzU0NiAxNS4yMzA3IDAuOTQwODU0IDE1LjQ1OTFDMC44NDYyNDUgMTUuNjg3NiAwLjgyMTQ5MSAxNS45Mzg5IDAuODY5NzIyIDE2LjE4MTRDMC45MTc5NTQgMTYuNDIzOCAxLjAzNyAxNi42NDY2IDEuMjExODIgMTYuODIxNEMxLjM4NjY0IDE2Ljk5NjIgMS42MDkzNiAxNy4xMTUyIDEuODUxODQgMTcuMTYzNUMyLjA5NDMyIDE3LjIxMTcgMi4zNDU2NSAxNy4xODcgMi41NzQwNiAxNy4wOTIzQzIuODAyNDcgMTYuOTk3NyAyLjk5NzY5IDE2LjgzNzUgMy4xMzUwNCAxNi42MzJDMy4yNzIzOSAxNi40MjY0IDMuMzQ1NyAxNi4xODQ3IDMuMzQ1NyAxNS45Mzc1QzMuMzQ1NyAxNS42MDYgMy4yMTQwMSAxNS4yODggMi45Nzk1OSAxNS4wNTM2QzIuNzQ1MTcgMTQuODE5MiAyLjQyNzIyIDE0LjY4NzUgMi4wOTU3IDE0LjY4NzVaTTQuNTk1NyAxNC42ODc1QzQuODQyOTMgMTQuNjg3NSA1LjA4NDYgMTQuNjE0MiA1LjI5MDE3IDE0LjQ3NjhDNS40OTU3MyAxNC4zMzk1IDUuNjU1OTQgMTQuMTQ0MyA1Ljc1MDU1IDEzLjkxNTlDNS44NDUxNiAxMy42ODc0IDUuODY5OTIgMTMuNDM2MSA1LjgyMTY5IDEzLjE5MzZDNS43NzM0NSAxMi45NTEyIDUuNjU0NCAxMi43Mjg0IDUuNDc5NTkgMTIuNTUzNkM1LjMwNDc3IDEyLjM3ODggNS4wODIwNCAxMi4yNTk3IDQuODM5NTcgMTIuMjExNUM0LjU5NzA5IDEyLjE2MzMgNC4zNDU3NiAxMi4xODggNC4xMTczNSAxMi4yODI2QzMuODg4OTQgMTIuMzc3MyAzLjY5MzcyIDEyLjUzNzUgMy41NTYzNyAxMi43NDNDMy40MTkwMSAxMi45NDg2IDMuMzQ1NyAxMy4xOTAzIDMuMzQ1NyAxMy40Mzc1QzMuMzQ1NyAxMy43NjkgMy40Nzc0IDE0LjA4NyAzLjcxMTgyIDE0LjMyMTRDMy45NDYyNCAxNC41NTU4IDQuMjY0MTggMTQuNjg3NSA0LjU5NTcgMTQuNjg3NVpNMjAuNTMzMiAzLjEyNUMyMC41MzMyIDMuMzczNjQgMjAuNDM0NCAzLjYxMjEgMjAuMjU4NiAzLjc4NzkxQzIwLjA4MjggMy45NjM3MyAxOS44NDQzIDQuMDYyNSAxOS41OTU3IDQuMDYyNUgxNy43OTg4TDE1Ljc4MjQgNi4wNzczNEwxNC4xMDY2IDE1Ljg4NTJDMTQuMDU4NyAxNi4xNjc4IDEzLjkzMzkgMTYuNDMxOSAxMy43NDYgMTYuNjQ4NEMxMy41NTggMTYuODY0OSAxMy4zMTQxIDE3LjAyNTUgMTMuMDQwOSAxNy4xMTI2QzEyLjc2NzggMTcuMTk5NyAxMi40NzU5IDE3LjIxIDEyLjE5NzMgMTcuMTQyM0MxMS45MTg3IDE3LjA3NDcgMTEuNjY0MSAxNi45MzE2IDExLjQ2MTMgMTYuNzI4OUwzLjgwNTA4IDkuMDcyNjZDMy42MDE4NyA4Ljg2OTc1IDMuNDU4NTEgOC42MTQ3NyAzLjM5MDc0IDguMzM1NzJDMy4zMjI5NyA4LjA1NjY3IDMuMzMzNDEgNy43NjQzMyAzLjQyMDkyIDcuNDkwODNDMy41MDg0MyA3LjIxNzMyIDMuNjY5NjIgNi45NzMyMiAzLjg4Njc5IDYuNzg1MzNDNC4xMDM5NiA2LjU5NzQ1IDQuMzY4NzEgNi40NzMwNCA0LjY1MTk1IDYuNDI1NzhMMTQuNDU2NiA0Ljc1MDc4TDE2Ljc0NDkgMi40NjE3MkMxNi44MzIxIDIuMzc0NjkgMTYuOTM1NSAyLjMwNTY3IDE3LjA0OTMgMi4yNTg2MkMxNy4xNjMxIDIuMjExNTcgMTcuMjg1MSAyLjE4NzQgMTcuNDA4MiAyLjE4NzVIMTkuNTk1N0MxOS44NDQzIDIuMTg3NSAyMC4wODI4IDIuMjg2MjcgMjAuMjU4NiAyLjQ2MjA5QzIwLjQzNDQgMi42Mzc5IDIwLjUzMzIgMi44NzYzNiAyMC41MzMyIDMuMTI1Wk0xMy43NjEzIDYuNzcxODdMNS41NTgyIDguMTczNDRMMTIuMzYwNSAxNC45NzU4TDEzLjc2MTMgNi43NzE4N1pcIlxuICAgICAgICAgICAgZmlsbD1cIiMyRjJGMkZcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGRlZnM+XG4gICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNTE3XzEzMDQxXCI+XG4gICAgICAgICAgICA8cmVjdFxuICAgICAgICAgICAgICB3aWR0aD1cIjIwXCJcbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC41MzMyMDMpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgPC9kZWZzPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgdi1pZj1cImNhbXBpbmc/LmNhbXBpbmc/LmZhY2lsaXR5X2ljb25zPy5pbmNsdWRlcygnd2lmaScpICYmIGZhbHNlXCJcbiAgICAgIGRhdGEtZmFjaWxpdHk9XCJ3aWZpXCJcbiAgICAgIGNsYXNzPVwiZmFjaWxpdHkgZmFjaWxpdGllcy13aWZpXCJcbiAgICA+XG4gICAgICA8c3ZnXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB3aWR0aD1cIjE5XCJcbiAgICAgICAgaGVpZ2h0PVwiMThcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE5IDE4XCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgPlxuICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzYzOV8xNDc2KVwiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTEwLjE5MjEgMTQuMzQzNkMxMC4xOTIxIDE0LjU2NjEgMTAuMTI2MSAxNC43ODM2IDEwLjAwMjUgMTQuOTY4NkM5Ljg3ODg2IDE1LjE1MzYgOS43MDMxNiAxNS4yOTc4IDkuNDk3NTkgMTUuMzgzQzkuMjkyMDIgMTUuNDY4MSA5LjA2NTgyIDE1LjQ5MDQgOC44NDc2IDE1LjQ0N0M4LjYyOTM3IDE1LjQwMzYgOC40Mjg5MSAxNS4yOTY0IDguMjcxNTggMTUuMTM5MUM4LjExNDI0IDE0Ljk4MTggOC4wMDcxIDE0Ljc4MTMgNy45NjM2OSAxNC41NjMxQzcuOTIwMjggMTQuMzQ0OCA3Ljk0MjU2IDE0LjExODYgOC4wMjc3MSAxMy45MTMxQzguMTEyODYgMTMuNzA3NSA4LjI1NzA1IDEzLjUzMTggOC40NDIwNiAxMy40MDgyQzguNjI3MDYgMTMuMjg0NiA4Ljg0NDU3IDEzLjIxODYgOS4wNjcwNyAxMy4yMTg2QzkuMzY1NDQgMTMuMjE4NiA5LjY1MTU5IDEzLjMzNzEgOS44NjI1NyAxMy41NDgxQzEwLjA3MzUgMTMuNzU5MSAxMC4xOTIxIDE0LjA0NTIgMTAuMTkyMSAxNC4zNDM2Wk0xNi45MTQ2IDUuODk5NzZDMTQuNzAyIDQuMDg1MDQgMTEuOTI4NyAzLjA5MzI2IDkuMDY3MDcgMy4wOTMyNkM2LjIwNTQgMy4wOTMyNiAzLjQzMjE3IDQuMDg1MDQgMS4yMTk0OSA1Ljg5OTc2QzEuMTMzODUgNS45NzAwOCAxLjA2MjkgNi4wNTY1NyAxLjAxMDY4IDYuMTU0MzFDMC45NTg0NyA2LjI1MjA0IDAuOTI2MDE3IDYuMzU5MSAwLjkxNTE3OSA2LjQ2OTM4QzAuOTA0MzQxIDYuNTc5NjYgMC45MTUzMjkgNi42OTA5OSAwLjk0NzUxNyA2Ljc5NzAyQzAuOTc5NzA1IDYuOTAzMDUgMS4wMzI0NiA3LjAwMTcgMS4xMDI3OCA3LjA4NzM0QzEuMTczMDkgNy4xNzI5OCAxLjI1OTU4IDcuMjQzOTQgMS4zNTczMiA3LjI5NjE1QzEuNDU1MDUgNy4zNDgzNyAxLjU2MjExIDcuMzgwODIgMS42NzIzOSA3LjM5MTY2QzEuNzgyNjcgNy40MDI1IDEuODk0IDcuMzkxNTEgMi4wMDAwMyA3LjM1OTMyQzIuMTA2MDYgNy4zMjcxMyAyLjIwNDcxIDcuMjc0MzcgMi4yOTAzNSA3LjIwNDA2QzQuMjAxMTkgNS42MzcxOCA2LjU5NTk1IDQuNzgwODcgOS4wNjcwNyA0Ljc4MDg3QzExLjUzODIgNC43ODA4NyAxMy45MzMgNS42MzcxOCAxNS44NDM4IDcuMjA0MDZDMTUuOTI5NCA3LjI3NDM3IDE2LjAyODEgNy4zMjcxMyAxNi4xMzQxIDcuMzU5MzJDMTYuMjQwMSA3LjM5MTUxIDE2LjM1MTUgNy40MDI1IDE2LjQ2MTggNy4zOTE2NkMxNi41NzIgNy4zODA4MiAxNi42NzkxIDcuMzQ4MzcgMTYuNzc2OCA3LjI5NjE1QzE2Ljg3NDYgNy4yNDM5NCAxNi45NjExIDcuMTcyOTggMTcuMDMxNCA3LjA4NzM0QzE3LjEwMTcgNy4wMDE3IDE3LjE1NDQgNi45MDMwNSAxNy4xODY2IDYuNzk3MDJDMTcuMjE4OCA2LjY5MDk5IDE3LjIyOTggNi41Nzk2NiAxNy4yMTkgNi40NjkzOEMxNy4yMDgxIDYuMzU5MSAxNy4xNzU3IDYuMjUyMDQgMTcuMTIzNSA2LjE1NDMxQzE3LjA3MTIgNi4wNTY1NyAxNy4wMDAzIDUuOTcwMDggMTYuOTE0NiA1Ljg5OTc2Wk0xNC42NTM0IDguNDEyMDNDMTMuMDYzNCA3LjE1MzMxIDExLjA5NSA2LjQ2ODQ0IDkuMDY3MDcgNi40Njg0NEM3LjAzOTE3IDYuNDY4NDQgNS4wNzA3MSA3LjE1MzMxIDMuNDgwNzQgOC40MTIwM0MzLjMwOTc0IDguNTUyMzkgMy4yMDA3IDguNzU0MzEgMy4xNzcxMiA4Ljk3NDI5QzMuMTUzNTQgOS4xOTQyNiAzLjIxNzMgOS40MTQ3IDMuMzU0NjggOS41ODgxMkMzLjQ5MjA1IDkuNzYxNTQgMy42OTIwNCA5Ljg3NDA3IDMuOTExNTcgOS45MDE0N0M0LjEzMTExIDkuOTI4ODcgNC4zNTI2MiA5Ljg2ODk1IDQuNTI4NCA5LjczNDYxQzUuODIwMjEgOC43MTIgNy40MTk1IDguMTU1NjIgOS4wNjcwNyA4LjE1NTYyQzEwLjcxNDYgOC4xNTU2MiAxMi4zMTM5IDguNzEyIDEzLjYwNTcgOS43MzQ2MUMxMy43ODE1IDkuODY4OTUgMTQuMDAzIDkuOTI4ODcgMTQuMjIyNiA5LjkwMTQ3QzE0LjQ0MjEgOS44NzQwNyAxNC42NDIxIDkuNzYxNTQgMTQuNzc5NSA5LjU4ODEyQzE0LjkxNjggOS40MTQ3IDE0Ljk4MDYgOS4xOTQyNiAxNC45NTcgOC45NzQyOUMxNC45MzM0IDguNzU0MzEgMTQuODI0NCA4LjU1MjM5IDE0LjY1MzQgOC40MTIwM1pNMTIuMzc2NyAxMC45MTk0QzExLjQxNDggMTAuMjIwMSAxMC4yNTYyIDkuODQzNTEgOS4wNjcwNyA5Ljg0MzUxQzcuODc3OTIgOS44NDM1MSA2LjcxOTMyIDEwLjIyMDEgNS43NTc0NiAxMC45MTk0QzUuNTc2NTggMTEuMDUxMiA1LjQ1NTQ3IDExLjI0OTUgNS40MjA3OSAxMS40NzA2QzUuMzg2MTEgMTEuNjkxOCA1LjQ0MDcgMTEuOTE3NiA1LjU3MjU0IDEyLjA5ODVDNS43MDQzOCAxMi4yNzk0IDUuOTAyNjggMTIuNDAwNSA2LjEyMzgxIDEyLjQzNTJDNi4zNDQ5NCAxMi40Njk5IDYuNTcwOCAxMi40MTUzIDYuNzUxNjggMTIuMjgzNEM3LjQyNDU4IDExLjc5NDIgOC4yMzUxNCAxMS41MzA3IDkuMDY3MDcgMTEuNTMwN0M5Ljg5OTAxIDExLjUzMDcgMTAuNzA5NiAxMS43OTQyIDExLjM4MjUgMTIuMjgzNEMxMS40NzIgMTIuMzQ4NyAxMS41NzM2IDEyLjM5NTcgMTEuNjgxMyAxMi40MjE4QzExLjc4OSAxMi40NDc4IDExLjkwMDggMTIuNDUyNCAxMi4wMTAzIDEyLjQzNTJDMTIuMTE5OCAxMi40MTggMTIuMjI0OSAxMi4zNzk0IDEyLjMxOTUgMTIuMzIxN0MxMi40MTQgMTIuMjYzOSAxMi40OTYzIDEyLjE4ODEgMTIuNTYxNiAxMi4wOTg1QzEyLjYyNjkgMTIuMDA4OSAxMi42NzM5IDExLjkwNzQgMTIuNjk5OSAxMS43OTk3QzEyLjcyNiAxMS42OTE5IDEyLjczMDUgMTEuNTgwMSAxMi43MTM0IDExLjQ3MDZDMTIuNjk2MiAxMS4zNjEyIDEyLjY1NzYgMTEuMjU2MSAxMi41OTk4IDExLjE2MTVDMTIuNTQyMSAxMS4wNjY5IDEyLjQ2NjIgMTAuOTg0NyAxMi4zNzY3IDEwLjkxOTRaXCJcbiAgICAgICAgICAgIGZpbGw9XCIjMkYyRjJGXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxkZWZzPlxuICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzYzOV8xNDc2XCI+XG4gICAgICAgICAgICA8cmVjdFxuICAgICAgICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMThcIlxuICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC4wNjY4OTQ1KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvY2xpcFBhdGg+XG4gICAgICAgIDwvZGVmcz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIHYtaWY9XCJjYW1waW5nPy5jYW1waW5nPy5mYWNpbGl0eV9pY29ucz8uaW5jbHVkZXMoJ291dGRvb3JfcG9vbCcpXCJcbiAgICAgIGRhdGEtZmFjaWxpdHk9XCJvdXRkb29yX3Bvb2xcIlxuICAgICAgY2xhc3M9XCJmYWNpbGl0eSBmYWNpbGl0aWVzLXBvb2xcIlxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHdpZHRoPVwiMTlcIlxuICAgICAgICBoZWlnaHQ9XCIxOFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMTkgMThcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICA+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk02Ljc4NzYgMTAuNTA0QzcuMDExMzcgMTAuNTA0IDcuMjI1OTkgMTAuNDE1MSA3LjM4NDIyIDEwLjI1NjlDNy41NDI0NSAxMC4wOTg2IDcuNjMxMzUgOS44ODQwMSA3LjYzMTM1IDkuNjYwMjNWOS41NjI1SDExLjU2ODhWOS43OTM4M0MxMS41Njg4IDEwLjAxNzYgMTEuNjU3NyAxMC4yMzIyIDExLjgxNiAxMC4zOTA0QzExLjk3NDIgMTAuNTQ4NyAxMi4xODg4IDEwLjYzNzYgMTIuNDEyNiAxMC42Mzc2QzEyLjYzNjQgMTAuNjM3NiAxMi44NTEgMTAuNTQ4NyAxMy4wMDkyIDEwLjM5MDRDMTMuMTY3NSAxMC4yMzIyIDEzLjI1NjMgMTAuMDE3NiAxMy4yNTYzIDkuNzkzODNWMi4yNUMxMy4yNTYzIDIuMDI2MjIgMTMuMTY3NSAxLjgxMTYxIDEzLjAwOTIgMS42NTMzOEMxMi44NTEgMS40OTUxNCAxMi42MzY0IDEuNDA2MjUgMTIuNDEyNiAxLjQwNjI1QzEyLjE4ODggMS40MDYyNSAxMS45NzQyIDEuNDk1MTQgMTEuODE2IDEuNjUzMzhDMTEuNjU3NyAxLjgxMTYxIDExLjU2ODggMi4wMjYyMiAxMS41Njg4IDIuMjVWMi44MTI1SDcuNjMxMzVWMi4yNUM3LjYzMTM1IDIuMDI2MjIgNy41NDI0NSAxLjgxMTYxIDcuMzg0MjIgMS42NTMzOEM3LjIyNTk5IDEuNDk1MTQgNy4wMTEzNyAxLjQwNjI1IDYuNzg3NiAxLjQwNjI1QzYuNTYzODIgMS40MDYyNSA2LjM0OTIxIDEuNDk1MTQgNi4xOTA5OCAxLjY1MzM4QzYuMDMyNzQgMS44MTE2MSA1Ljk0Mzg1IDIuMDI2MjIgNS45NDM4NSAyLjI1VjkuNjYwMjNDNS45NDM4NSA5Ljg4NDAxIDYuMDMyNzQgMTAuMDk4NiA2LjE5MDk4IDEwLjI1NjlDNi4zNDkyMSAxMC40MTUxIDYuNTYzODIgMTAuNTA0IDYuNzg3NiAxMC41MDRaTTcuNjMxMzUgNy44NzVWNy4wMzEyNUgxMS41Njg4VjcuODc1SDcuNjMxMzVaTTExLjU2ODggNC41VjUuMzQzNzVINy42MzEzNVY0LjVIMTEuNTY4OFpNMi4wMDYzNSAxMS41MzEyQzIuMDA2MzUgMTEuMzA3NSAyLjA5NTI0IDExLjA5MjkgMi4yNTM0OCAxMC45MzQ2QzIuNDExNzEgMTAuNzc2NCAyLjYyNjMyIDEwLjY4NzUgMi44NTAxIDEwLjY4NzVDMy45NDkwOCAxMC42ODc1IDQuNTM3NiAxMS4wNzc3IDUuMDA1ODggMTEuMzkwNkM1LjM4NTU3IDExLjY0MzggNS42Mzg2OSAxMS44MTI1IDYuMjI1MSAxMS44MTI1QzYuODExNSAxMS44MTI1IDcuMDYzOTMgMTEuNjQ1MiA3LjQ0NDMyIDExLjM5MDZDNy45MTQ3MSAxMS4wNzYzIDguNDk5IDEwLjY4NzUgOS41OTkzOSAxMC42ODc1QzEwLjY5OTggMTAuNjg3NSAxMS4yODY5IDExLjA3NzcgMTEuNzU1MiAxMS4zOTA2QzEyLjEzNTYgMTEuNjQzOCAxMi4zODggMTEuODEyNSAxMi45NzUxIDExLjgxMjVDMTMuNTYyMiAxMS44MTI1IDEzLjgxNDYgMTEuNjQ1MiAxNC4xOTQzIDExLjM5MDZDMTQuNjY1NCAxMS4wNzYzIDE1LjI0OSAxMC42ODc1IDE2LjM1MDEgMTAuNjg3NUMxNi41NzM5IDEwLjY4NzUgMTYuNzg4NSAxMC43NzY0IDE2Ljk0NjcgMTAuOTM0NkMxNy4xMDUgMTEuMDkyOSAxNy4xOTM4IDExLjMwNzUgMTcuMTkzOCAxMS41MzEyQzE3LjE5MzggMTEuNzU1IDE3LjEwNSAxMS45Njk2IDE2Ljk0NjcgMTIuMTI3OUMxNi43ODg1IDEyLjI4NjEgMTYuNTczOSAxMi4zNzUgMTYuMzUwMSAxMi4zNzVDMTUuNzYxNiAxMi4zNzUgMTUuNTEwNiAxMi41NDIzIDE1LjEzMDIgMTIuNzk2OUMxNC42NTk4IDEzLjExMTIgMTQuMDc1NSAxMy41IDEyLjk3NTEgMTMuNUMxMS44NzQ3IDEzLjUgMTEuMjg3NiAxMy4xMDk4IDEwLjgxOTMgMTIuNzk2OUMxMC40Mzg5IDEyLjU0MzcgMTAuMTg2NSAxMi4zNzUgOS41OTkzOSAxMi4zNzVDOS4wMTIyOCAxMi4zNzUgOC43NjA1NyAxMi41NDIzIDguMzgwMTggMTIuNzk2OUM3LjkwOTc5IDEzLjExMTIgNy4zMjU0OSAxMy41IDYuMjI1MSAxMy41QzUuMTI0NzEgMTMuNSA0LjUzNzYgMTMuMTA5OCA0LjA2OTMyIDEyLjc5NjlDMy42ODk2MyAxMi41NDM3IDMuNDM2NSAxMi4zNzUgMi44NTAxIDEyLjM3NUMyLjYyNjMyIDEyLjM3NSAyLjQxMTcxIDEyLjI4NjEgMi4yNTM0OCAxMi4xMjc5QzIuMDk1MjQgMTEuOTY5NiAyLjAwNjM1IDExLjc1NSAyLjAwNjM1IDExLjUzMTJaTTE3LjE5MzggMTQuNjI1QzE3LjE5MzggMTQuODQ4OCAxNy4xMDUgMTUuMDYzNCAxNi45NDY3IDE1LjIyMTZDMTYuNzg4NSAxNS4zNzk5IDE2LjU3MzkgMTUuNDY4OCAxNi4zNTAxIDE1LjQ2ODhDMTUuNzYxNiAxNS40Njg4IDE1LjUxMDYgMTUuNjM2MSAxNS4xMzAyIDE1Ljg5MDZDMTQuNjU5OCAxNi4yMDQ5IDE0LjA3NTUgMTYuNTkzOCAxMi45NzUxIDE2LjU5MzhDMTEuODc0NyAxNi41OTM4IDExLjI4NzYgMTYuMjAzNSAxMC44MTkzIDE1Ljg5MDZDMTAuNDM4OSAxNS42Mzc1IDEwLjE4NjUgMTUuNDY4OCA5LjU5OTM5IDE1LjQ2ODhDOS4wMTIyOCAxNS40Njg4IDguNzYwNTcgMTUuNjM2MSA4LjM4MDE4IDE1Ljg5MDZDNy45MDk3OSAxNi4yMDQ5IDcuMzI1NDkgMTYuNTkzOCA2LjIyNTEgMTYuNTkzOEM1LjEyNDcxIDE2LjU5MzggNC41Mzc2IDE2LjIwMzUgNC4wNjkzMiAxNS44OTA2QzMuNjg5NjMgMTUuNjM3NSAzLjQzNjUgMTUuNDY4OCAyLjg1MDEgMTUuNDY4OEMyLjYyNjMyIDE1LjQ2ODggMi40MTE3MSAxNS4zNzk5IDIuMjUzNDggMTUuMjIxNkMyLjA5NTI0IDE1LjA2MzQgMi4wMDYzNSAxNC44NDg4IDIuMDA2MzUgMTQuNjI1QzIuMDA2MzUgMTQuNDAxMiAyLjA5NTI0IDE0LjE4NjYgMi4yNTM0OCAxNC4wMjg0QzIuNDExNzEgMTMuODcwMSAyLjYyNjMyIDEzLjc4MTIgMi44NTAxIDEzLjc4MTJDMy45NDkwOCAxMy43ODEyIDQuNTM3NiAxNC4xNzE1IDUuMDA1ODggMTQuNDg0NEM1LjM4NTU3IDE0LjczNzUgNS42Mzg2OSAxNC45MDYyIDYuMjI1MSAxNC45MDYyQzYuODExNSAxNC45MDYyIDcuMDYzOTMgMTQuNzM4OSA3LjQ0NDMyIDE0LjQ4NDRDNy45MTQ3MSAxNC4xNzAxIDguNDk5IDEzLjc4MTIgOS41OTkzOSAxMy43ODEyQzEwLjY5OTggMTMuNzgxMiAxMS4yODY5IDE0LjE3MTUgMTEuNzU1MiAxNC40ODQ0QzEyLjEzNTYgMTQuNzM3NSAxMi4zODggMTQuOTA2MiAxMi45NzUxIDE0LjkwNjJDMTMuNTYyMiAxNC45MDYyIDEzLjgxNDYgMTQuNzM4OSAxNC4xOTQzIDE0LjQ4NDRDMTQuNjY1NCAxNC4xNzAxIDE1LjI0OSAxMy43ODEyIDE2LjM1MDEgMTMuNzgxMkMxNi41NzM5IDEzLjc4MTIgMTYuNzg4NSAxMy44NzAxIDE2Ljk0NjcgMTQuMDI4NEMxNy4xMDUgMTQuMTg2NiAxNy4xOTM4IDE0LjQwMTIgMTcuMTkzOCAxNC42MjVaXCJcbiAgICAgICAgICBmaWxsPVwiIzJGMkYyRlwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICB2LWlmPVwiY2FtcGluZz8uY2FtcGluZz8uZmFjaWxpdHlfaWNvbnM/LmluY2x1ZGVzKCdhY3Rpdml0aWVzJykgJiYgZmFsc2VcIlxuICAgICAgZGF0YS1mYWNpbGl0eT1cImFjdGl2aXRpZXNcIlxuICAgICAgY2xhc3M9XCJmYWNpbGl0eSBmYWNpbGl0aWVzLWFjdGl2aXRpZXNcIlxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHdpZHRoPVwiMTlcIlxuICAgICAgICBoZWlnaHQ9XCIxOFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMTkgMThcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICA+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0xNy4yODQ3IDEzLjc2MUMxNy4yNjgzIDEzLjU2MTggMTcuMjA5NyAxMy4zNjg0IDE3LjExMjcgMTMuMTkzN0MxNy4wMTU3IDEzLjAxOSAxNi44ODI2IDEyLjg2NyAxNi43MjIyIDEyLjc0NzdMMTQuNDA2OCAxMC45MTA1TDE1LjI1NzYgMTAuMDU5N0MxNS42MTY3IDkuNzAzNzYgMTUuODgyMyA5LjI2NDY0IDE2LjAzMDggOC43ODEzNUMxNi4xNzk0IDguMjk4MDYgMTYuMjA2MyA3Ljc4NTU2IDE2LjEwOTEgNy4yODkzOUMxNS43NjkxIDUuNjE4MTIgMTQuODUzMSA0LjExOTI5IDEzLjUyMDkgMy4wNTQ0NkMxMi4xNjk2IDEuOTY3NDggMTAuNDgyMSAxLjM4NDc3IDguNzQ4MDcgMS40MDYzNEM2Ljg0NjI3IDEuNDM4MzUgNS4wMzEzMSAyLjIwODA5IDMuNjg2MzUgMy41NTMwNkMyLjM0MTM4IDQuODk4MDIgMS41NzE2NCA2LjcxMjk4IDEuNTM5NjMgOC42MTQ3OEMxLjUxODIzIDEwLjM0OCAyLjEwMDY4IDEyLjAzNDcgMy4xODcwNSAxMy4zODU1QzQuMjUxODggMTQuNzE3NyA1Ljc1MDcxIDE1LjYzMzcgNy40MjE5OCAxNS45NzM3QzcuOTE4MDQgMTYuMDcwOSA4LjQzMDQ0IDE2LjA0NCA4LjkxMzYyIDE1Ljg5NTRDOS4zOTY4IDE1Ljc0NjkgOS44MzU3OSAxNS40ODEzIDEwLjE5MTYgMTUuMTIyMkwxMS4wNDM4IDE0LjI3MzVMMTIuODgxIDE2LjU5MDNDMTMuMDAwMyAxNi43NTA3IDEzLjE1MjMgMTYuODgzOCAxMy4zMjcgMTYuOTgwOEMxMy41MDE3IDE3LjA3NzggMTMuNjk1MSAxNy4xMzY0IDEzLjg5NDIgMTcuMTUyOEMxMy45MzI5IDE3LjE1MjggMTMuOTcxNiAxNy4xNTc3IDE0LjAxMSAxNy4xNTc3QzE0LjM4MzYgMTcuMTU3NSAxNC43NDEgMTcuMDA5MyAxNS4wMDQ1IDE2Ljc0NTdMMTYuODc3NiAxNC44NzI2QzE3LjAyMjQgMTQuNzI4MiAxNy4xMzM5IDE0LjU1MzkgMTcuMjA0MiAxNC4zNjE4QzE3LjI3NDYgMTQuMTY5OCAxNy4zMDIgMTMuOTY0NyAxNy4yODQ3IDEzLjc2MVpNMy4yMjcxMyA4LjYzODY4QzMuMjY5MzIgNS42MjUwOSA1Ljc1ODM4IDMuMTM2MDMgOC43NzE5OCAzLjA5Mzg0QzkuNjUxODQgMy4wODI4NSAxMC41MjI1IDMuMjczNiAxMS4zMTcyIDMuNjUxNDRDMTIuMTExOSA0LjAyOTI4IDEyLjgwOTUgNC41ODQxNyAxMy4zNTY0IDUuMjczNTNMNS40MDY4MiAxMy4yMjMxQzQuNzE3NDcgMTIuNjc2MiA0LjE2MjU3IDExLjk3ODYgMy43ODQ3MyAxMS4xODM5QzMuNDA2ODkgMTAuMzg5MiAzLjIxNjE0IDkuNTE4NTUgMy4yMjcxMyA4LjYzODY4Wk0xNC4wMzQ5IDE1LjMyODJMMTEuNzc3OCAxMi40ODEzQzExLjcwMzggMTIuMzg4MyAxMS42MTEgMTIuMzExOSAxMS41MDU1IDEyLjI1NzNDMTEuNCAxMi4yMDI2IDExLjI4NDEgMTIuMTcwOSAxMS4xNjU0IDEyLjE2NDJIMTEuMTE2OUMxMS4wMDYxIDEyLjE2NDEgMTAuODk2MyAxMi4xODU4IDEwLjc5MzkgMTIuMjI4MkMxMC42OTE0IDEyLjI3MDUgMTAuNTk4NCAxMi4zMzI2IDEwLjUxOTkgMTIuNDEwOUw4Ljk5OTA4IDEzLjkyOUM4LjgzOTEzIDE0LjA5MTYgOC42NDE1NSAxNC4yMTIxIDguNDIzODYgMTQuMjgwMUM4LjIwNjE2IDE0LjM0OCA3Ljk3NTA2IDE0LjM2MTIgNy43NTEwNCAxNC4zMTg1QzcuNDcxNSAxNC4yNjI0IDcuMTk2ODggMTQuMTg0MSA2LjkyOTc5IDE0LjA4NDRMMTQuMjE3NyA2Ljc5NjVDMTQuMzE3NCA3LjA2MzU5IDE0LjM5NTcgNy4zMzgyMSAxNC40NTE4IDcuNjE3NzVDMTQuNDk0NSA3Ljg0MTc3IDE0LjQ4MTMgOC4wNzI4NiAxNC40MTM0IDguMjkwNTZDMTQuMzQ1NCA4LjUwODI2IDE0LjIyNDggOC43MDU4NCAxNC4wNjIzIDguODY1NzlMMTIuNTQxNCAxMC4zODY3QzEyLjQ1NzIgMTAuNDcwNiAxMi4zOTE2IDEwLjU3MTUgMTIuMzQ5MSAxMC42ODI2QzEyLjMwNjUgMTAuNzkzNyAxMi4yODggMTAuOTEyNiAxMi4yOTQ2IDExLjAzMTRDMTIuMzAxMyAxMS4xNTAxIDEyLjMzMjkgMTEuMjY2MiAxMi4zODc2IDExLjM3MTlDMTIuNDQyMyAxMS40Nzc1IDEyLjUxODYgMTEuNTcwNSAxMi42MTE3IDExLjY0NDVMMTUuNDYxNSAxMy45MDE2TDE0LjAzNDkgMTUuMzI4MlpcIlxuICAgICAgICAgIGZpbGw9XCIjMkYyRjJGXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIHYtaWY9XCJjYW1waW5nPy5jYW1waW5nPy5mYWNpbGl0eV9pY29ucz8uaW5jbHVkZXMoJ3BldHNfYWxsb3dlZCcpXCJcbiAgICAgIGRhdGEtZmFjaWxpdHk9XCJwZXRzX2FsbG93ZWRcIlxuICAgICAgY2xhc3M9XCJmYWNpbGl0eSBmYWNpbGl0aWVzLXBldHNcIlxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHdpZHRoPVwiMTlcIlxuICAgICAgICBoZWlnaHQ9XCIxOFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMTkgMThcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICA+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0xNy4yNjAzIDcuNTkzNzVDMTcuMjYwMyA3LjkyNzUxIDE3LjE2MTMgOC4yNTM3NyAxNi45NzU5IDguNTMxMjhDMTYuNzkwNCA4LjgwODc4IDE2LjUyNjkgOS4wMjUwNyAxNi4yMTg1IDkuMTUyOEMxNS45MTAyIDkuMjgwNTIgMTUuNTcwOSA5LjMxMzk0IDE1LjI0MzUgOS4yNDg4M0MxNC45MTYyIDkuMTgzNzEgMTQuNjE1NSA5LjAyMjk5IDE0LjM3OTUgOC43ODY5OUMxNC4xNDM1IDguNTUwOTkgMTMuOTgyOCA4LjI1MDMxIDEzLjkxNzcgNy45MjI5N0MxMy44NTI2IDcuNTk1NjIgMTMuODg2IDcuMjU2MzIgMTQuMDEzNyA2Ljk0Nzk3QzE0LjE0MTQgNi42Mzk2MiAxNC4zNTc3IDYuMzc2MDcgMTQuNjM1MiA2LjE5MDY1QzE0LjkxMjcgNi4wMDUyMiAxNS4yMzkgNS45MDYyNSAxNS41NzI4IDUuOTA2MjVDMTYuMDIwMyA1LjkwNjI1IDE2LjQ0OTUgNi4wODQwNCAxNi43NjYgNi40MDA1MUMxNy4wODI1IDYuNzE2OTggMTcuMjYwMyA3LjE0NjIgMTcuMjYwMyA3LjU5Mzc1Wk01LjQ0Nzc1IDcuNTkzNzVDNS40NDc3NSA3LjI1OTk5IDUuMzQ4NzggNi45MzM3MyA1LjE2MzM2IDYuNjU2MjNDNC45Nzc5MyA2LjM3ODcyIDQuNzE0MzggNi4xNjI0MyA0LjQwNjAzIDYuMDM0N0M0LjA5NzY4IDUuOTA2OTggMy43NTgzOCA1Ljg3MzU2IDMuNDMxMDQgNS45Mzg2OEMzLjEwMzcgNi4wMDM3OSAyLjgwMzAxIDYuMTY0NTEgMi41NjcwMSA2LjQwMDUxQzIuMzMxMDEgNi42MzY1MSAyLjE3MDI5IDYuOTM3MTkgMi4xMDUxOCA3LjI2NDU0QzIuMDQwMDcgNy41OTE4OCAyLjA3MzQ5IDcuOTMxMTggMi4yMDEyMSA4LjIzOTUzQzIuMzI4OTMgOC41NDc4OCAyLjU0NTIyIDguODExNDMgMi44MjI3MyA4Ljk5Njg2QzMuMTAwMjQgOS4xODIyOCAzLjQyNjUgOS4yODEyNSAzLjc2MDI1IDkuMjgxMjVDNC4yMDc4MSA5LjI4MTI1IDQuNjM3MDMgOS4xMDM0NiA0Ljk1MzUgOC43ODY5OUM1LjI2OTk2IDguNDcwNTMgNS40NDc3NSA4LjA0MTMgNS40NDc3NSA3LjU5Mzc1Wk03LjEzNTI1IDUuOTA2MjVDNy40NjkwMSA1LjkwNjI1IDcuNzk1MjcgNS44MDcyOCA4LjA3Mjc4IDUuNjIxODZDOC4zNTAyOSA1LjQzNjQzIDguNTY2NTggNS4xNzI4OCA4LjY5NDMgNC44NjQ1M0M4LjgyMjAyIDQuNTU2MTggOC44NTU0NCA0LjIxNjg4IDguNzkwMzMgMy44ODk1NEM4LjcyNTIyIDMuNTYyMTkgOC41NjQ1IDMuMjYxNTEgOC4zMjg1IDMuMDI1NTFDOC4wOTI1IDIuNzg5NTEgNy43OTE4MSAyLjYyODc5IDcuNDY0NDcgMi41NjM2OEM3LjEzNzEzIDIuNDk4NTYgNi43OTc4MyAyLjUzMTk4IDYuNDg5NDggMi42NTk3QzYuMTgxMTMgMi43ODc0MyA1LjkxNzU3IDMuMDAzNzIgNS43MzIxNSAzLjI4MTIzQzUuNTQ2NzMgMy41NTg3MyA1LjQ0Nzc1IDMuODg0OTkgNS40NDc3NSA0LjIxODc1QzUuNDQ3NzUgNC42NjYzIDUuNjI1NTQgNS4wOTU1MyA1Ljk0MjAxIDUuNDExOTlDNi4yNTg0OCA1LjcyODQ2IDYuNjg3NyA1LjkwNjI1IDcuMTM1MjUgNS45MDYyNVpNMTIuMTk3OCA1LjkwNjI1QzEyLjUzMTUgNS45MDYyNSAxMi44NTc4IDUuODA3MjggMTMuMTM1MyA1LjYyMTg2QzEzLjQxMjggNS40MzY0MyAxMy42MjkxIDUuMTcyODggMTMuNzU2OCA0Ljg2NDUzQzEzLjg4NDUgNC41NTYxOCAxMy45MTc5IDQuMjE2ODggMTMuODUyOCAzLjg4OTU0QzEzLjc4NzcgMy41NjIxOSAxMy42MjcgMy4yNjE1MSAxMy4zOTEgMy4wMjU1MUMxMy4xNTUgMi43ODk1MSAxMi44NTQzIDIuNjI4NzkgMTIuNTI3IDIuNTYzNjhDMTIuMTk5NiAyLjQ5ODU2IDExLjg2MDMgMi41MzE5OCAxMS41NTIgMi42NTk3QzExLjI0MzYgMi43ODc0MyAxMC45ODAxIDMuMDAzNzIgMTAuNzk0NiAzLjI4MTIzQzEwLjYwOTIgMy41NTg3MyAxMC41MTAzIDMuODg0OTkgMTAuNTEwMyA0LjIxODc1QzEwLjUxMDMgNC42NjYzIDEwLjY4OCA1LjA5NTUzIDExLjAwNDUgNS40MTE5OUMxMS4zMjEgNS43Mjg0NiAxMS43NTAyIDUuOTA2MjUgMTIuMTk3OCA1LjkwNjI1Wk0xNS41NzI4IDEyLjkzNzVDMTUuNTcyOSAxMy40NDggMTUuNDQ2NiAxMy45NTA2IDE1LjIwNTMgMTQuNDAwNUMxNC45NjQgMTQuODUwNCAxNC42MTUxIDE1LjIzMzUgMTQuMTg5NyAxNS41MTU4QzEzLjc2NDQgMTUuNzk4MSAxMy4yNzU4IDE1Ljk3MDggMTIuNzY3NSAxNi4wMTg0QzEyLjI1OTIgMTYuMDY2IDExLjc0NyAxNS45ODcxIDExLjI3NjcgMTUuNzg4N0MxMC4yNDUyIDE1LjM2NCA5LjA4Nzc5IDE1LjM2NCA4LjA1NjM1IDE1Ljc4ODdDNy4zMjQ0NiAxNi4wOTggNi41MDE2MSAxNi4xMTM5IDUuNzU4MzQgMTUuODMzQzUuMDE1MDYgMTUuNTUyMSA0LjQwODM1IDE0Ljk5NjEgNC4wNjM5MyAxNC4yOEMzLjcxOTUxIDEzLjU2NCAzLjY2MzggMTIuNzQyOSAzLjkwODM0IDExLjk4NjlDNC4xNTI4OCAxMS4yMzA5IDQuNjc4OTIgMTAuNTk3OSA1LjM3NzQ0IDEwLjIxOTJDNS44ODc1OSA5LjkzNjE2IDYuMjY0NjIgOS40NjIyOCA2LjQyNTggOC45MDE1NkM2LjYyOTg3IDguMTk5OTYgNy4wNTYxMiA3LjU4MzUzIDcuNjQwNSA3LjE0NDlDOC4yMjQ4OCA2LjcwNjI4IDguOTM1ODIgNi40NjkxNSA5LjY2NjUgNi40NjkxNUMxMC4zOTcyIDYuNDY5MTUgMTEuMTA4MSA2LjcwNjI4IDExLjY5MjUgNy4xNDQ5QzEyLjI3NjkgNy41ODM1MyAxMi43MDMxIDguMTk5OTYgMTIuOTA3MiA4LjkwMTU2QzEzLjA2ODUgOS40NjIyNCAxMy40NDU1IDkuOTM2MSAxMy45NTU2IDEwLjIxOTJDMTQuNDQ0NyAxMC40ODQ5IDE0Ljg1MzIgMTAuODc3NyAxNS4xMzc4IDExLjM1NjFDMTUuNDIyNCAxMS44MzQ1IDE1LjU3MjcgMTIuMzgwOCAxNS41NzI4IDEyLjkzNzVaTTEzLjg4NTMgMTIuOTM3NUMxMy44ODUzIDEyLjY4MzkgMTMuODE2OCAxMi40MzUgMTMuNjg3IDEyLjIxNzFDMTMuNTU3MSAxMS45OTkzIDEzLjM3MDggMTEuODIwNiAxMy4xNDc3IDExLjdMMTMuMTQwNiAxMS42OTU4QzEyLjIzOTUgMTEuMTk4NyAxMS41NzI2IDEwLjM2NDEgMTEuMjg2NSA5LjM3NTQ3QzExLjE4NDMgOS4wMjQ5NSAxMC45NzExIDguNzE3MDQgMTAuNjc5IDguNDk3OTdDMTAuMzg2OSA4LjI3ODg5IDEwLjAzMTYgOC4xNjA0NyA5LjY2NjUgOC4xNjA0N0M5LjMwMTM4IDguMTYwNDcgOC45NDYxIDguMjc4ODkgOC42NTQgOC40OTc5N0M4LjM2MTkgOC43MTcwNCA4LjE0ODc0IDkuMDI0OTUgOC4wNDY1IDkuMzc1NDdDNy45MDUyOSA5Ljg2NTY0IDcuNjY4ODUgMTAuMzIzMiA3LjM1MDcgMTAuNzIxOUM3LjAzMjU2IDExLjEyMDYgNi42Mzg5NCAxMS40NTI4IDYuMTkyMzYgMTEuNjk5M0w2LjE4NTMzIDExLjcwMzVDNS45MTE2NCAxMS44NTMxIDUuNjk1NDQgMTIuMDg5NCA1LjU3MDc0IDEyLjM3NTNDNS40NDYwNSAxMi42NjEyIDUuNDE5OTMgMTIuOTgwNCA1LjQ5NjUxIDEzLjI4MjhDNS41NzMwOCAxMy41ODUxIDUuNzQ4IDEzLjg1MzQgNS45OTM3NCAxNC4wNDU1QzYuMjM5NDkgMTQuMjM3NiA2LjU0MjExIDE0LjM0MjUgNi44NTQgMTQuMzQzOEM3LjA0MjQ2IDE0LjM0NDMgNy4yMjkwNSAxNC4zMDY1IDcuNDAyNDQgMTQuMjMyN0g3LjQxMTU4QzguODU1NjkgMTMuNjM2MSAxMC40NzczIDEzLjYzNjEgMTEuOTIxNCAxNC4yMzI3SDExLjkzMDZDMTIuMTA0IDE0LjMwNjUgMTIuMjkwNiAxNC4zNDQzIDEyLjQ3OSAxNC4zNDM4QzEyLjg1MiAxNC4zNDM4IDEzLjIwOTcgMTQuMTk1NiAxMy40NzM0IDEzLjkzMTlDMTMuNzM3MSAxMy42NjgxIDEzLjg4NTMgMTMuMzEwNSAxMy44ODUzIDEyLjkzNzVaXCJcbiAgICAgICAgICBmaWxsPVwiIzJGMkYyRlwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICB2LWlmPVwiXG4gICAgICAgIFtcbiAgICAgICAgICAnQWlyY28nLFxuICAgICAgICAgICdBaXJjb25kaXRpb25pbmcnLFxuICAgICAgICAgICdBaXIgY29uZGl0aW9uaW5nJyxcbiAgICAgICAgICAnS2xpbWFhbmxhZ2UnLFxuICAgICAgICAgICdBaXIgY28nLFxuICAgICAgICBdLnNvbWUoKGljb24pID0+XG4gICAgICAgICAgY2FtcGluZz8uY2FtcGluZz8uZmFjaWxpdHlfaWNvbnM/LnNvbWUoXG4gICAgICAgICAgICAoZmFjaWxpdHlJY29uKSA9PiBmYWNpbGl0eUljb24udG9Mb3dlckNhc2UoKSA9PT0gaWNvbi50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICBcIlxuICAgICAgZGF0YS1mYWNpbGl0eT1cImFpcmNvXCJcbiAgICAgIGNsYXNzPVwiZmFjaWxpdHkgZmFjaWxpdGllcy1haXJjb1wiXG4gICAgPlxuICAgICAgPHN2Z1xuICAgICAgICBkYXRhLW5hbWU9XCJBaXJjbyBGYWNpbGl0eVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB3aWR0aD1cIjE3XCJcbiAgICAgICAgaGVpZ2h0PVwiMTdcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBjbGFzcz1cImFpcmNvX2Nscy0yXCJcbiAgICAgICAgICBkPVwiTS4xLDJjMC0uNS40LS45LjktLjloMTZjLjUsMCwuOS40LjkuOXY3YzAsLjUtLjQuOS0uOS45SDFjLS41LDAtLjktLjQtLjktLjlWMlpNMS45LDIuOXY1LjJoMTQuMlYyLjlIMS45WlwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJhaXJjb19jbHMtMVwiXG4gICAgICAgICAgZD1cIk0xMS41LDExcy41Ni41Mi40OSwxLjI1Yy0uMDguOTItLjkxLDEuNTgtLjk5LDIuNS0uMDcuNzMuNDksMS4yNS40OSwxLjI1XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBjbGFzcz1cImFpcmNvX2Nscy0xXCJcbiAgICAgICAgICBkPVwiTTUuNSwxMXMuNTYuNTIuNDksMS4yNWMtLjA4LjkyLS45MSwxLjU4LS45OSwyLjUtLjA3LjczLjQ5LDEuMjUuNDksMS4yNVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJhaXJjb19jbHMtMVwiXG4gICAgICAgICAgZD1cIk04LjUsMTFzLjU2LjUyLjQ5LDEuMjVjLS4wOC45Mi0uOTEsMS41OC0uOTksMi41LS4wNy43My40OSwxLjI1LjQ5LDEuMjVcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGNsYXNzPVwiYWlyY29fY2xzLTJcIlxuICAgICAgICAgIGQ9XCJNMy4xLDZjMC0uNS40LS45LjktLjloMTBjLjUsMCwuOS40LjkuOXYzYzAsLjUtLjQuOS0uOS45SDRjLS41LDAtLjktLjQtLjktLjl2LTNaTTQuOSw2Ljl2MS4yaDguMnYtMS4ySDQuOVpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGNsYXNzPVwiYWlyY29fY2xzLTJcIlxuICAgICAgICAgIGQ9XCJNMTQuOSw0YzAsLjI4LS4yMi41LS41LjVoLTEuM2MtLjI4LDAtLjUtLjIyLS41LS41cy4yMi0uNS41LS41aDEuM2MuMjgsMCwuNS4yMi41LjVaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIHYtaWY9XCJcbiAgICAgICAgWydWZXJ3YXJtaW5nJywgJ0hlYXRpbmcnLCAnSGVpenVuZyddLnNvbWUoKGljb24pID0+XG4gICAgICAgICAgY2FtcGluZz8uY2FtcGluZz8uZmFjaWxpdHlfaWNvbnM/LnNvbWUoXG4gICAgICAgICAgICAoZmFjaWxpdHlJY29uKSA9PiBmYWNpbGl0eUljb24udG9Mb3dlckNhc2UoKSA9PT0gaWNvbi50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICBcIlxuICAgICAgZGF0YS1mYWNpbGl0eT1cIkhlYXRpbmdcIlxuICAgICAgY2xhc3M9XCJmYWNpbGl0eSBmYWNpbGl0aWVzLWhlYXRpbmdcIlxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHdpZHRoPVwiMjBcIlxuICAgICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICAgIHZpZXdib3g9XCIwIDAgMjAgMjBcIlxuICAgICAgICBjbGFzcz1cIm1lLTEgaGVhdGluZ19mYWNpbGl0eVwiXG4gICAgICA+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJoZWF0aW5nX2Nscy0yXCJcbiAgICAgICAgICBkPVwiTTkuNS41cy41Ni41Mi40OSwxLjI1Yy0uMDguOTItLjkxLDEuNTgtLjk5LDIuNS0uMDcuNzMuNDksMS4yNS40OSwxLjI1XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBjbGFzcz1cImhlYXRpbmdfY2xzLTJcIlxuICAgICAgICAgIGQ9XCJNMy41LjVzLjU2LjUyLjQ5LDEuMjVjLS4wOC45Mi0uOTEsMS41OC0uOTksMi41LS4wNy43My40OSwxLjI1LjQ5LDEuMjVcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGNsYXNzPVwiaGVhdGluZ19jbHMtMlwiXG4gICAgICAgICAgZD1cIk02LjUuNXMuNTYuNTIuNDksMS4yNWMtLjA4LjkyLS45MSwxLjU4LS45OSwyLjUtLjA3LjczLjQ5LDEuMjUuNDksMS4yNVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJoZWF0aW5nX2Nscy0xXCJcbiAgICAgICAgICBkPVwiTTEsNy41aDBjLjU1LDAsMSwuNDUsMSwxdjhjMCwuNTUtLjQ1LDEtMSwxaDBjLS41NSwwLTEtLjQ1LTEtMXYtOGMwLS41NS40NS0xLDEtMVpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGNsYXNzPVwiaGVhdGluZ19jbHMtMVwiXG4gICAgICAgICAgZD1cIk00LDcuNWgwYy41NSwwLDEsLjQ1LDEsMXY4YzAsLjU1LS40NSwxLTEsMWgwYy0uNTUsMC0xLS40NS0xLTF2LThjMC0uNTUuNDUtMSwxLTFaXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBjbGFzcz1cImhlYXRpbmdfY2xzLTFcIlxuICAgICAgICAgIGQ9XCJNNyw3LjVoMGMuNTUsMCwxLC40NSwxLDF2OGMwLC41NS0uNDUsMS0xLDFoMGMtLjU1LDAtMS0uNDUtMS0xdi04YzAtLjU1LjQ1LTEsMS0xWlwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJoZWF0aW5nX2Nscy0xXCJcbiAgICAgICAgICBkPVwiTTEwLDcuNWgwYy41NSwwLDEsLjQ1LDEsMXY4YzAsLjU1LS40NSwxLTEsMWgwYy0uNTUsMC0xLS40NS0xLTF2LThjMC0uNTUuNDUtMSwxLTFaXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBjbGFzcz1cImhlYXRpbmdfY2xzLTFcIlxuICAgICAgICAgIGQ9XCJNMTMsNy41aDBjLjU1LDAsMSwuNDUsMSwxdjhjMCwuNTUtLjQ1LDEtMSwxaDBjLS41NSwwLTEtLjQ1LTEtMXYtOGMwLS41NS40NS0xLDEtMVpcIlxuICAgICAgICAvPlxuICAgICAgICA8cmVjdFxuICAgICAgICAgIGNsYXNzPVwiaGVhdGluZ19jbHMtMVwiXG4gICAgICAgICAgeD1cIjEyXCJcbiAgICAgICAgICB5PVwiOC41XCJcbiAgICAgICAgICB3aWR0aD1cIjNcIlxuICAgICAgICAgIGhlaWdodD1cIjJcIlxuICAgICAgICAgIHJ4PVwiLjVcIlxuICAgICAgICAgIHJ5PVwiLjVcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHN0eWxlIHNjb3BlZD5cbi5haXJjb19jbHMtMSB7XG4gIHN0cm9rZTogIzJmMmYyZjtcbiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICBzdHJva2UtbGluZWpvaW46IHJvdW5kO1xuICBzdHJva2Utd2lkdGg6IDEuNnB4O1xufVxuXG4uYWlyY29fY2xzLTEsXG4uYWlyY29fY2xzLTIge1xuICBmaWxsOiAjMmYyZjJmO1xufVxuXG4uYWlyY29fY2xzLTIge1xuICBmaWxsLXJ1bGU6IGV2ZW5vZGQ7XG59XG5cbi5oZWF0aW5nX2Nscy0xLFxuLmhlYXRpbmdfY2xzLTIge1xuICBmaWxsOiAjMmYyZjJmO1xufVxuXG4uaGVhdGluZ19jbHMtMiB7XG4gIHN0cm9rZTogIzJmMmYyZjtcbiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICBzdHJva2UtbGluZWpvaW46IHJvdW5kO1xufVxuPC9zdHlsZT5cbiIsIjxzY3JpcHQ+XG5pbXBvcnQgSW50bE1lc3NhZ2VGb3JtYXQgZnJvbSBcImludGwtbWVzc2FnZWZvcm1hdFwiO1xuaW1wb3J0IFNlYXJjaENhcmRSYXRpbmcgZnJvbSBcIi4vU2VhcmNoQ2FyZFJhdGluZ1wiO1xuaW1wb3J0IFNlYXJjaENhcmRGYWNpbGl0aWVzIGZyb20gXCIuL1NlYXJjaENhcmRGYWNpbGl0aWVzXCI7XG5pbXBvcnQgRmxpY2tpdHkgZnJvbSBcImZsaWNraXR5XCI7XG5pbXBvcnQgVHJhbnNsYXRvciBmcm9tIFwiLi9UcmFuc2xhdG9yLmpzXCI7XG5pbXBvcnQgU2VhcmNoRGF0YSBmcm9tIFwiLi9TZWFyY2hEYXRhLmpzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgY29tcG9uZW50czoge1xuICAgIFNlYXJjaENhcmRSYXRpbmcsXG4gICAgU2VhcmNoQ2FyZEZhY2lsaXRpZXMsXG4gIH0sXG5cbiAgaW5qZWN0OiBbXCJzdmdcIl0sXG4gIHByb3BzOiBbXCJjYW1waW5nXCIsIFwidHlwZUNhcmRcIiwgXCJpc0Rlc2t0b3BcIiwgXCJpc01hcENhcmRcIiwgXCJpc0ZsZXhpYmxlQ29udGVudFwiXSxcblxuICBtb3VudGVkKCkge1xuICAgIC8vY29uc29sZS5sb2codGhpcy5jYW1waW5nKTtcbiAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7XG4gICAgICBjb25zdCBjYXJkQ2Fyb3VzZWxzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi5jYXJkLWNhcm91c2VsXCIpO1xuICAgICAgLy9jb25zdCBpc0Rlc2t0b3AgPSB3aW5kb3cuaW5uZXJXaWR0aCA+PSA5OTI7IC8vIEV4YW1wbGUgY29uZGl0aW9uIGZvciBkZXNrdG9wIGNoZWNrLCBhZGp1c3QgYXMgbmVlZGVkXG4gICAgICBjYXJkQ2Fyb3VzZWxzLmZvckVhY2goKGNhcmRDYXJvdXNlbCkgPT4ge1xuICAgICAgICBjb25zdCBmbGt0eSA9IG5ldyBGbGlja2l0eShjYXJkQ2Fyb3VzZWwsIHtcbiAgICAgICAgICBjZWxsU2VsZWN0b3I6IFwiLmNhcmQtY2Fyb3VzZWwtaW1nXCIsXG4gICAgICAgICAgc2V0R2FsbGVyeVNpemU6IGZhbHNlLFxuICAgICAgICAgIGNlbGxBbGlnbjogXCJsZWZ0XCIsIC8vIER5bmFtaWNhbGx5IHNldCBjZWxsQWxpZ25cbiAgICAgICAgICB3cmFwQXJvdW5kOiBmYWxzZSxcbiAgICAgICAgICBsYXp5TG9hZDogMSxcbiAgICAgICAgICBpbWFnZXNMb2FkZWQ6IHRydWUsXG4gICAgICAgICAgcHJldk5leHRCdXR0b25zOiBmYWxzZSxcbiAgICAgICAgICBwYWdlRG90czogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZmxpY2tpdHlJbnN0YW5jZXMucHVzaChmbGt0eSk7IC8vIFN0b3JlIHRoZSBpbnN0YW5jZVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0sXG5cbiAgZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2VhcmNoRGF0YTogU2VhcmNoRGF0YSxcbiAgICAgIGxvY2FsZTogbG9jYWxlLFxuICAgICAgcmVmZXJlbmNlQ2l0eTogXCJ1dHJlY2h0XCIsXG4gICAgICByZWZlcmVuY2VDaXRpZXM6IHtcbiAgICAgICAgdXRyZWNodDoge1xuICAgICAgICAgIG5hbWU6IHtcbiAgICAgICAgICAgIG5sOiBcIlV0cmVjaHRcIixcbiAgICAgICAgICAgIGRlOiBcIlV0cmVjaHRcIixcbiAgICAgICAgICAgIGVuOiBcIlV0cmVjaHRcIixcbiAgICAgICAgICB9LFxuICAgICAgICAgIGxhdGl0dWRlOiA1Mi4wOTA4NzgsXG4gICAgICAgICAgbG9uZ2l0dWRlOiA1LjEyMTYwMixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB0cmFuczogVHJhbnNsYXRvcixcbiAgICAgIGZsaWNraXR5SW5zdGFuY2VzOiBbXSwgLy8gVG8gc3RvcmUgRmxpY2tpdHkgaW5zdGFuY2VzXG4gICAgICBfcHJldmlvdXNXaWR0aDogbnVsbCwgLy8gVG8gdHJhY2sgd2luZG93IHdpZHRoIGNoYW5nZXNcbiAgICB9O1xuICB9LFxuICB3YXRjaDoge1xuICAgIGlzRGVza3RvcCgpIHtcbiAgICAgIC8vY29uc29sZS5sb2coXCJpc0Rlc2t0b3AgY2hhbmdlZFwiLCB0aGlzLmlzRGVza3RvcCk7XG4gICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7XG4gICAgICAgIC8vIExvb3Agb3ZlciBlYWNoIHN0b3JlZCBGbGlja2l0eSBpbnN0YW5jZSBhbmQgY2FsbCByZXNpemVcbiAgICAgICAgdGhpcy5mbGlja2l0eUluc3RhbmNlcy5mb3JFYWNoKChmbGt0eSkgPT4ge1xuICAgICAgICAgIGZsa3R5LnJlc2l6ZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLy8gXCJzZWFyY2hSZXN1bHRzLmNhbXBpbmdzXCIobmV3VmFsdWUpIHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKFwic2VhcmNoUmVzdWx0cy5jYW1waW5ncyBjaGFuZ2VkXCIpO1xuICAgIC8vICAgaWYgKG5ld1ZhbHVlICYmIG5ld1ZhbHVlLmxlbmd0aCkge1xuICAgIC8vICAgICBhbGVydChcInNlYXJjaFJlc3VsdHMuY2FtcGluZ3MgY2hhbmdlZFwiKTtcbiAgICAvLyAgIH1cbiAgICAvLyB9LFxuICB9LFxuICBjb21wdXRlZDoge1xuICAgIGxhYmVsKCkge1xuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5jYW1waW5nLmNhbXBpbmcuY2FtcGluZ19sYWJlbHMgfHxcbiAgICAgICAgIXRoaXMuY2FtcGluZy5jYW1waW5nLmNhbXBpbmdfbGFiZWxzWzBdXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLmNhbXBpbmcuY2FtcGluZy5jYW1waW5nX2xhYmVsc1swXTtcbiAgICB9LFxuICAgIGxhYmVsSWNvbigpIHtcbiAgICAgIGlmICghdGhpcy5sYWJlbCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgbGV0IGh0bWwgPSB0aGlzLnN2Z1t0aGlzLmxhYmVsLmltYWdlXSA/PyBcIlwiO1xuXG4gICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7XG4gICAgICAgIHRoaXMuJHJlZnMubGFiZWxJY29uXG4gICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoXCJzdmcgcGF0aFwiKVxuICAgICAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiAoaXRlbS5zdHlsZS5maWxsID0gdGhpcy5sYWJlbC5jb2xvcikpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBodG1sO1xuICAgIH0sXG5cbiAgICBjaXR5KCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlQ2l0aWVzW3RoaXMucmVmZXJlbmNlQ2l0eV07XG4gICAgfSxcblxuICAgIGJlc3RNYXRjaCgpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhbXBpbmcuYXZhaWxhYmlsaXR5WzBdID8/IG51bGw7XG4gICAgfSxcblxuICAgIHN0b2NrKCkge1xuICAgICAgcmV0dXJuIHRoaXMuYmVzdE1hdGNoPy5zdG9jayA/PyBudWxsO1xuICAgIH0sXG5cbiAgICBkYXRlKCkge1xuICAgICAgbGV0IGF2YWlsYWJpbGl0eSA9IHRoaXMuYmVzdE1hdGNoO1xuXG4gICAgICBsZXQgZGF0ZVBhcnQxID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLnJlcGxhY2UoL15lbiQvLCBcImVuLUdCXCIpLCB7XG4gICAgICAgIGRheTogXCJudW1lcmljXCIsXG4gICAgICAgIG1vbnRoOiBcInNob3J0XCIsXG4gICAgICB9KS5mb3JtYXQoYXZhaWxhYmlsaXR5Py5kYXRlMSk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgYXZhaWxhYmlsaXR5Py5kYXRlMSAmJlxuICAgICAgICBhdmFpbGFiaWxpdHk/LmRhdGUxPy5nZXRNb250aCgpID09PSBhdmFpbGFiaWxpdHk/LmRhdGUyPy5nZXRNb250aCgpXG4gICAgICApIHtcbiAgICAgICAgZGF0ZVBhcnQxID0gYXZhaWxhYmlsaXR5LmRhdGUxLmdldERhdGUoKTtcbiAgICAgIH1cblxuICAgICAgbGV0IGRhdGVQYXJ0MiA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvY2FsZS5yZXBsYWNlKC9eZW4kLywgXCJlbi1HQlwiKSwge1xuICAgICAgICBkYXk6IFwibnVtZXJpY1wiLFxuICAgICAgICBtb250aDogXCJzaG9ydFwiLFxuICAgICAgfSkuZm9ybWF0KGF2YWlsYWJpbGl0eT8uZGF0ZTIpO1xuXG4gICAgICByZXR1cm4gZGF0ZVBhcnQxICsgXCIgLSBcIiArIGRhdGVQYXJ0MjtcbiAgICB9LFxuICAgIG9yaWdpbmFsUHJpY2UoKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuYmVzdE1hdGNoPy5vcmlnaW5hbFByaWNlPy52YWx1ZVxuICAgICAgICA/IHRoaXMuYmVzdE1hdGNoPy5vcmlnaW5hbFByaWNlPy52YWx1ZVxuICAgICAgICA6IG51bGw7XG5cbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIG51bGw7XG5cbiAgICAgIGNvbnN0IHByaWNlRm9ybWF0ID0gbmV3IEludGxNZXNzYWdlRm9ybWF0KFxuICAgICAgICBcInt2YWx1ZSwgbnVtYmVyLCA6OmN1cnJlbmN5L0VVUn1cIixcbiAgICAgICAgdGhpcy5sb2NhbGUgLy8gRHluYW1pY2FsbHkgdXNpbmcgdGhlIHBhc3NlZCBsb2NhbGVcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBwcmljZUZvcm1hdC5mb3JtYXQoeyB2YWx1ZSB9KTtcbiAgICB9LFxuICAgIHByaWNlKCkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmJlc3RNYXRjaD8ucHJpY2U/LnZhbHVlXG4gICAgICAgID8gdGhpcy5iZXN0TWF0Y2g/LnByaWNlPy52YWx1ZVxuICAgICAgICA6IG51bGw7XG5cbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIG51bGw7XG5cbiAgICAgIGNvbnN0IHByaWNlRm9ybWF0ID0gbmV3IEludGxNZXNzYWdlRm9ybWF0KFxuICAgICAgICBcInt2YWx1ZSwgbnVtYmVyLCA6OmN1cnJlbmN5L0VVUn1cIixcbiAgICAgICAgdGhpcy5sb2NhbGUgLy8gRHluYW1pY2FsbHkgdXNpbmcgdGhlIHBhc3NlZCBsb2NhbGVcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBwcmljZUZvcm1hdC5mb3JtYXQoeyB2YWx1ZSB9KTtcbiAgICB9LFxuXG4gICAgZGlzY291bnRQZXJjZW50YWdlKCkge1xuICAgICAgLy8gR2V0IHRoZSByYXcgdmFsdWVzIGZyb20gYmVzdE1hdGNoXG4gICAgICBjb25zdCBvcmlnaW5hbFZhbHVlID0gdGhpcy5iZXN0TWF0Y2g/Lm9yaWdpbmFsUHJpY2U/LnZhbHVlO1xuICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5iZXN0TWF0Y2g/LnByaWNlPy52YWx1ZTtcblxuICAgICAgLy8gSWYgZWl0aGVyIHZhbHVlIGlzIG1pc3Npbmcgb3IgdGhleSdyZSBlcXVhbCwgdGhlcmUncyBubyBkaXNjb3VudFxuICAgICAgaWYgKCFvcmlnaW5hbFZhbHVlIHx8ICFjdXJyZW50VmFsdWUgfHwgb3JpZ2luYWxWYWx1ZSA8PSBjdXJyZW50VmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgZGlzY291bnQgcGVyY2VudGFnZVxuICAgICAgY29uc3QgZGlzY291bnQgPSAoKG9yaWdpbmFsVmFsdWUgLSBjdXJyZW50VmFsdWUpIC8gb3JpZ2luYWxWYWx1ZSkgKiAxMDA7XG5cbiAgICAgIC8vIFJvdW5kIHRvIHdob2xlIG51bWJlciBmb3IgY2xlYW5lciBkaXNwbGF5XG4gICAgICByZXR1cm4gXCItXCIgKyBNYXRoLnJvdW5kKGRpc2NvdW50KSArIFwiJVwiO1xuICAgIH0sXG5cbiAgICBkaXNwbGF5ZWRJbWFnZXMoKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYW1waW5nLmNhbXBpbmcuaW1hZ2VzLnNsaWNlKDAsIDUpOyAvLyBTaG93IDEwIGltYWdlcyBvbiBkZXNrdG9wXG4gICAgfSxcbiAgICAvLyAgIHJldHVybiB0aGlzLmlzRGVza3RvcFxuICAgIC8vICAgICA/IHRoaXMuY2FtcGluZy5jYW1waW5nLmltYWdlcy5zbGljZSgwLCA1KSAvLyBTaG93IDEwIGltYWdlcyBvbiBkZXNrdG9wXG4gICAgLy8gICAgIDogdGhpcy5jYW1waW5nLmNhbXBpbmcuaW1hZ2VzLnNsaWNlKDAsIDUpOyAvLyBTaG93IDUgaW1hZ2VzIG9uIG1vYmlsZVxuICAgIC8vIH0sXG4gIH0sXG5cbiAgbWV0aG9kczoge1xuICAgIC8qKlxuICAgICAqIFJlc2l6ZSBGbGlja2l0eSBpbnN0YW5jZXMgd2hlbiB2aWV3cG9ydCBzaXplIGNoYW5nZXMgYWNyb3NzIHNwZWNpZmllZCBicmVha3BvaW50c1xuICAgICAqL1xuXG4gICAgLy8gZGlzdGFuY2UobGF0MSwgbG9uMSwgbGF0MiwgbG9uMikge1xuICAgIC8vICAgY29uc3QgdW5pdCA9IFwiS1wiO1xuICAgIC8vICAgaWYgKGxhdDEgPT0gbGF0MiAmJiBsb24xID09IGxvbjIpIHtcbiAgICAvLyAgICAgcmV0dXJuIDA7XG4gICAgLy8gICB9IGVsc2Uge1xuICAgIC8vICAgICB2YXIgcmFkbGF0MSA9IChNYXRoLlBJICogbGF0MSkgLyAxODA7XG4gICAgLy8gICAgIHZhciByYWRsYXQyID0gKE1hdGguUEkgKiBsYXQyKSAvIDE4MDtcbiAgICAvLyAgICAgdmFyIHRoZXRhID0gbG9uMSAtIGxvbjI7XG4gICAgLy8gICAgIHZhciByYWR0aGV0YSA9IChNYXRoLlBJICogdGhldGEpIC8gMTgwO1xuICAgIC8vICAgICB2YXIgZGlzdCA9XG4gICAgLy8gICAgICAgTWF0aC5zaW4ocmFkbGF0MSkgKiBNYXRoLnNpbihyYWRsYXQyKSArXG4gICAgLy8gICAgICAgTWF0aC5jb3MocmFkbGF0MSkgKiBNYXRoLmNvcyhyYWRsYXQyKSAqIE1hdGguY29zKHJhZHRoZXRhKTtcbiAgICAvLyAgICAgaWYgKGRpc3QgPiAxKSB7XG4gICAgLy8gICAgICAgZGlzdCA9IDE7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgICAgZGlzdCA9IE1hdGguYWNvcyhkaXN0KTtcbiAgICAvLyAgICAgZGlzdCA9IChkaXN0ICogMTgwKSAvIE1hdGguUEk7XG4gICAgLy8gICAgIGRpc3QgPSBkaXN0ICogNjAgKiAxLjE1MTU7XG4gICAgLy8gICAgIGlmICh1bml0ID09IFwiS1wiKSB7XG4gICAgLy8gICAgICAgZGlzdCA9IGRpc3QgKiAxLjYwOTM0NDtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICBpZiAodW5pdCA9PSBcIk5cIikge1xuICAgIC8vICAgICAgIGRpc3QgPSBkaXN0ICogMC44Njg0O1xuICAgIC8vICAgICB9XG5cbiAgICAvLyAgICAgcmV0dXJuIE1hdGgucm91bmQoZGlzdCk7XG4gICAgLy8gICB9XG4gICAgLy8gfSxcbiAgICBnb1RvQ2FtcGluZ1JvdXRlKHJvdXRlUGF0aCkge1xuICAgICAgLy8gQ2hlY2sgaWYgcm91dGVQYXRoIGlzIHByb3ZpZGVkXG4gICAgICBpZiAoIXJvdXRlUGF0aCkge1xuICAgICAgICByZXR1cm4gcm91dGVQYXRoO1xuICAgICAgfVxuXG4gICAgICBsZXQgZmluYWxVcmwgPSByb3V0ZVBhdGg7XG5cbiAgICAgIC8vIEFkZCBkYXRlIGFuZCBsb3MgcGFyYW1ldGVycyB3aGVuIHR5cGVDYXJkIGlzICdvdGhlckRhdGVzJ1xuICAgICAgaWYgKFxuICAgICAgICAodGhpcy50eXBlQ2FyZCA9PT0gXCJvdGhlckRhdGVzXCIgfHwgdGhpcy5pc0ZsZXhpYmxlQ29udGVudCkgJiZcbiAgICAgICAgdGhpcy5iZXN0TWF0Y2g/LmRhdGUxXG4gICAgICApIHtcbiAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5iZXN0TWF0Y2guZGF0ZTE7XG4gICAgICAgIGNvbnN0IGRheSA9IFN0cmluZyhzdGFydERhdGUuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCBcIjBcIik7XG4gICAgICAgIGNvbnN0IG1vbnRoID0gU3RyaW5nKHN0YXJ0RGF0ZS5nZXRNb250aCgpICsgMSkucGFkU3RhcnQoMiwgXCIwXCIpO1xuICAgICAgICBjb25zdCB5ZWFyID0gc3RhcnREYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBgJHt5ZWFyfS0ke21vbnRofS0ke2RheX1gO1xuXG4gICAgICAgIC8vIENhbGN1bGF0ZSBsZW5ndGggb2Ygc3RheSAobG9zKVxuICAgICAgICBjb25zdCBsb3MgPSB0aGlzLmJlc3RNYXRjaD8ubG9zIHx8IHRoaXMuc2VhcmNoRGF0YT8ubG9zIHx8IDc7XG5cbiAgICAgICAgLy8gQWRkIGRhdGUgYW5kIGxvcyBwYXJhbWV0ZXJzIHRvIFVSTFxuICAgICAgICBjb25zdCBzZXBhcmF0b3IgPSByb3V0ZVBhdGguaW5jbHVkZXMoXCI/XCIpID8gXCImXCIgOiBcIj9cIjtcbiAgICAgICAgZmluYWxVcmwgPSBgJHtyb3V0ZVBhdGh9JHtzZXBhcmF0b3J9ZGF0ZT0ke2Zvcm1hdHRlZERhdGV9Jmxvcz0ke2xvc31gO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmluYWxVcmw7XG4gICAgfSxcbiAgfSxcbn07XG48L3NjcmlwdD5cblxuPHRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiY2FyZCBsYW5kc2NhcGUgYm9yZGVyLTAgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvdyBtYi0wIGctMCBoLTEwMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC00IGNvbC1tZC00XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZSByb3VuZGVkLXN0YXJ0IGgtMTAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRvcC0wIHN0YXJ0LTAgei0xIHctMTAwXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciB0YWctaG9sZGVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cImN1c3RvbS10YWcgZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgdi1pZj1cImxhYmVsXCJcbiAgICAgICAgICAgICAgICA6c3R5bGU9XCJ7IGNvbG9yOiBsYWJlbC5jb2xvciwgJ2JvcmRlci1jb2xvcic6IGxhYmVsLmNvbG9yIH1cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gdi1odG1sPVwibGFiZWxJY29uXCIgcmVmPVwibGFiZWxJY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIHt7IGxhYmVsLnRpdGxlIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtY2Fyb3VzZWwgei0wXCIgcmVmPVwiY2Fyb3VzZWxcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWNhcm91c2VsLWltZ1wiXG4gICAgICAgICAgICAgIHYtZm9yPVwiKGltYWdlLCBpbmRleCkgaW4gZGlzcGxheWVkSW1hZ2VzXCJcbiAgICAgICAgICAgICAgOmtleT1cImluZGV4XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtY2Fyb3VzZWwtaW1nLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2Fyb3VzZWwtY2VsbC1pbWFnZVwiXG4gICAgICAgICAgICAgICAgICA6c3Jjc2V0PVwiXG4gICAgICAgICAgICAgICAgICAgIChpbWFnZVsnNjAweDQwMC53ZWJwJ11cbiAgICAgICAgICAgICAgICAgICAgICA/IGltYWdlWyc2MDB4NDAwLndlYnAnXSArICcgNjAwdywgJ1xuICAgICAgICAgICAgICAgICAgICAgIDogJycpICtcbiAgICAgICAgICAgICAgICAgICAgKGltYWdlWyczMDB4MzAwLndlYnAnXVxuICAgICAgICAgICAgICAgICAgICAgID8gaW1hZ2VbJzMwMHgzMDAud2VicCddICsgJyAzMDB3J1xuICAgICAgICAgICAgICAgICAgICAgIDogJycpXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgc2l6ZXM9XCIobWluLXdpZHRoOiA3NjlweCkgNjAwcHgsIChtaW4td2lkdGg6IDU3NnB4KSAzMDBweCwgMzAwcHhcIlxuICAgICAgICAgICAgICAgICAgOnNyYz1cIlxuICAgICAgICAgICAgICAgICAgICBpbWFnZVsnNjAweDQwMC53ZWJwJ10gfHxcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2VbJzMwMHgzMDAud2VicCddIHx8XG4gICAgICAgICAgICAgICAgICAgIGltYWdlWyczMDB4MjAwLndlYnAnXVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIDphbHQ9XCJcbiAgICAgICAgICAgICAgICAgICAgY2FtcGluZy5jYW1waW5nLnRpdGxlICtcbiAgICAgICAgICAgICAgICAgICAgJyAtICcgK1xuICAgICAgICAgICAgICAgICAgICBjYW1waW5nLmNhbXBpbmcucmVnaW9uICtcbiAgICAgICAgICAgICAgICAgICAgJyAtICcgK1xuICAgICAgICAgICAgICAgICAgICBjYW1waW5nLmNhbXBpbmcuY291bnRyeVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC04IGNvbC1tZC04XCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIj5cbiAgICAgICAgPGFcbiAgICAgICAgICA6aHJlZj1cImdvVG9DYW1waW5nUm91dGUoY2FtcGluZy5jYW1waW5nLnJvdXRlUGF0aClcIlxuICAgICAgICAgIDp0aXRsZT1cIlxuICAgICAgICAgICAgdHJhbnMoJ3NlYXJjaC5yZXN1bHQudmlld0NhbXBpbmcudGl0bGUnLCB7XG4gICAgICAgICAgICAgIGNhbXBpbmdOYW1lOiBjYW1waW5nLmNhbXBpbmcudGl0bGUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIFwiXG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LWRlY29yYXRpb24tbm9uZSB0ZXh0LWRhcmsgdXNlci1zZWxlY3Qtbm9uZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8IS0tIGhlcmUgIEEgLS0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWJvZHkgaC0xMDAgZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0xIGdhcC1sZy0yIHAtMiBwLWxnLTNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWJsb2NrIGQtbGctZmxleCBqdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2VlblwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mYWNpbGl0aWVzIGQtYmxvY2tcIj5cbiAgICAgICAgICAgICAgICA8U2VhcmNoQ2FyZEZhY2lsaXRpZXNcbiAgICAgICAgICAgICAgICAgIDpjYW1waW5nPVwiY2FtcGluZ1wiXG4gICAgICAgICAgICAgICAgICA6aXNEZXNrdG9wPVwiaXNEZXNrdG9wXCJcbiAgICAgICAgICAgICAgICA+PC9TZWFyY2hDYXJkRmFjaWxpdGllcz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtcmF0aW5nXCJcbiAgICAgICAgICAgICAgICB2LWlmPVwiY2FtcGluZz8uY2FtcGluZz8ucmV2aWV3U2NvcmU/LnNjb3JlID4gMCAmJiBpc0Rlc2t0b3BcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNlYXJjaENhcmRSYXRpbmdcbiAgICAgICAgICAgICAgICAgIDpyYXRpbmc9XCJjYW1waW5nPy5jYW1waW5nPy5yZXZpZXdTY29yZT8uc2NvcmVcIlxuICAgICAgICAgICAgICAgICAgOmlzRGVza3RvcD1cImlzRGVza3RvcFwiXG4gICAgICAgICAgICAgICAgPjwvU2VhcmNoQ2FyZFJhdGluZz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1sZy1yb3cganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24tc2VsZi1zdHJldGNoIGFsaWduLWl0ZW1zLWVuZCBoLTEwMFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtZGF0YSBkLWZsZXggZmxleC1ncm93LTEgZmxleC1jb2x1bW4gYWxpZ24tc2VsZi1zdHJldGNoXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZC13cmFwLXJhdGluZy10aXRsZSBkLWZsZXggZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZSBjbGFtcC10ZXh0LTIgbWItMFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBjYW1waW5nLmNhbXBpbmcudGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1yYXRpbmdcIlxuICAgICAgICAgICAgICAgICAgICB2LWlmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2FtcGluZz8uY2FtcGluZz8ucmV2aWV3U2NvcmU/LnNjb3JlID4gMCAmJiAhaXNEZXNrdG9wXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTZWFyY2hDYXJkUmF0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgOnJhdGluZz1cImNhbXBpbmc/LmNhbXBpbmc/LnJldmlld1Njb3JlPy5zY29yZVwiXG4gICAgICAgICAgICAgICAgICAgICAgOmlzRGVza3RvcD1cImlzRGVza3RvcFwiXG4gICAgICAgICAgICAgICAgICAgID48L1NlYXJjaENhcmRSYXRpbmc+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sb2NhdGlvbiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xXCI+XG4gICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE1XCJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTVcIlxuICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTAgNC42ODc1QzkuMzIwMTMgNC42ODc1IDguNjU1NTIgNC44ODkxMSA4LjA5MDIzIDUuMjY2ODJDNy41MjQ5MyA1LjY0NDU0IDcuMDg0MzQgNi4xODE0IDYuODI0MTYgNi44MDk1M0M2LjU2Mzk5IDcuNDM3NjUgNi40OTU5MSA4LjEyODgxIDYuNjI4NTUgOC43OTU2MkM2Ljc2MTE5IDkuNDYyNDMgNy4wODg1OCAxMC4wNzQ5IDcuNTY5MzIgMTAuNTU1N0M4LjA1MDA2IDExLjAzNjQgOC42NjI1NyAxMS4zNjM4IDkuMzI5MzggMTEuNDk2NEM5Ljk5NjE5IDExLjYyOTEgMTAuNjg3NCAxMS41NjEgMTEuMzE1NSAxMS4zMDA4QzExLjk0MzYgMTEuMDQwNyAxMi40ODA1IDEwLjYwMDEgMTIuODU4MiAxMC4wMzQ4QzEzLjIzNTkgOS40Njk0OCAxMy40Mzc1IDguODA0ODcgMTMuNDM3NSA4LjEyNUMxMy40MzY1IDcuMjEzNjMgMTMuMDc0IDYuMzM5ODkgMTIuNDI5NSA1LjY5NTQ2QzExLjc4NTEgNS4wNTEwMyAxMC45MTE0IDQuNjg4NTMgMTAgNC42ODc1Wk0xMCA5LjY4NzVDOS42OTA5NyA5LjY4NzUgOS4zODg4NyA5LjU5NTg2IDkuMTMxOTIgOS40MjQxN0M4Ljg3NDk3IDkuMjUyNDggOC42NzQ3IDkuMDA4NDUgOC41NTY0NCA4LjcyMjk0QzguNDM4MTggOC40Mzc0MyA4LjQwNzIzIDguMTIzMjcgOC40Njc1MiA3LjgyMDE3QzguNTI3ODEgNy41MTcwOCA4LjY3NjYzIDcuMjM4NjYgOC44OTUxNSA3LjAyMDE0QzkuMTEzNjcgNi44MDE2MyA5LjM5MjA4IDYuNjUyODEgOS42OTUxNyA2LjU5MjUyQzkuOTk4MjcgNi41MzIyMyAxMC4zMTI0IDYuNTYzMTggMTAuNTk3OSA2LjY4MTQ0QzEwLjg4MzUgNi43OTk3IDExLjEyNzUgNi45OTk5NyAxMS4yOTkyIDcuMjU2OTJDMTEuNDcwOSA3LjUxMzg3IDExLjU2MjUgNy44MTU5NyAxMS41NjI1IDguMTI1QzExLjU2MjUgOC41Mzk0IDExLjM5NzkgOC45MzY4MyAxMS4xMDQ5IDkuMjI5ODVDMTAuODExOCA5LjUyMjg4IDEwLjQxNDQgOS42ODc1IDEwIDkuNjg3NVpNMTAgMC45Mzc1QzguMDk0MzkgMC45Mzk1NjggNi4yNjc0MiAxLjY5NzQ4IDQuOTE5OTUgMy4wNDQ5NUMzLjU3MjQ4IDQuMzkyNDIgMi44MTQ1NyA2LjIxOTM5IDIuODEyNSA4LjEyNUMyLjgxMjUgMTQuMTY4NyA5LjE5MDYzIDE4LjcwMzEgOS40NjI1IDE4Ljg5M0M5LjYyMDA1IDE5LjAwMzIgOS44MDc3IDE5LjA2MjQgMTAgMTkuMDYyNEMxMC4xOTIzIDE5LjA2MjQgMTAuMzc5OSAxOS4wMDMyIDEwLjUzNzUgMTguODkzQzExLjc0NTUgMTguMDAyNyAxMi44NTA4IDE2Ljk4MDggMTMuODMyOCAxNS44NDYxQzE2LjAyNzMgMTMuMzI1OCAxNy4xODc1IDEwLjY1MzkgMTcuMTg3NSA4LjEyNUMxNy4xODU0IDYuMjE5MzkgMTYuNDI3NSA0LjM5MjQyIDE1LjA4IDMuMDQ0OTVDMTMuNzMyNiAxLjY5NzQ4IDExLjkwNTYgMC45Mzk1NjggMTAgMC45Mzc1Wk0xMi40NDUzIDE0LjU4NjdDMTEuNzAwNCAxNS40NDI0IDEwLjg4MjIgMTYuMjMxMyAxMCAxNi45NDQ1QzkuMTE3OCAxNi4yMzEzIDguMjk5NTggMTUuNDQyNCA3LjU1NDY5IDE0LjU4NjdDNi4yNSAxMy4wNzU4IDQuNjg3NSAxMC43MjczIDQuNjg3NSA4LjEyNUM0LjY4NzUgNi43MTYwNCA1LjI0NzIxIDUuMzY0NzggNi4yNDM1IDQuMzY4NDlDNy4yMzk3OCAzLjM3MjIxIDguNTkxMDQgMi44MTI1IDEwIDIuODEyNUMxMS40MDkgMi44MTI1IDEyLjc2MDIgMy4zNzIyMSAxMy43NTY1IDQuMzY4NDlDMTQuNzUyOCA1LjM2NDc4IDE1LjMxMjUgNi43MTYwNCAxNS4zMTI1IDguMTI1QzE1LjMxMjUgMTAuNzI3MyAxMy43NSAxMy4wNzU4IDEyLjQ0NTMgMTQuNTg2N1pcIlxuICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ1cmwoI3BhaW50MF9saW5lYXJfNTE3XzEzMDU1KVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxkZWZzPlxuICAgICAgICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJwYWludDBfbGluZWFyXzUxN18xMzA1NVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB4MT1cIjIuODEyNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB5MT1cIjAuOTM3NVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB4Mj1cIjE5LjI4OFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB5Mj1cIjMuMTA2MzVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPVwiI0I5NzcyN1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiNFQ0E4MjdcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cbiAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAge3sgY2FtcGluZy5jYW1waW5nLmNvdW50cnkgfX0sIHt7IGNhbXBpbmcuY2FtcGluZy5yZWdpb24gfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImNhcmQtdGV4dCBjbGFtcC10ZXh0LTMgbWItMVwiPlxuICAgICAgICAgICAgICAgICAge3sgY2FtcGluZy5jYW1waW5nLm9uZWxpbmVyIH19XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWRpc3RhbmNlXCIgdi1pZj1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICB0cmFucyhcInNlYXJjaC5yZXN1bHQuZGlzdGFuY2VGcm9tXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICBjaXR5OiBjaXR5Lm5hbWVbbG9jYWxlXSxcbiAgICAgICAgICAgICAgICAgICAgICBudW1iZXI6IGRpc3RhbmNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FtcGluZy5jYW1waW5nLmxhdGl0dWRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FtcGluZy5jYW1waW5nLmxvbmdpdHVkZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNpdHkubGF0aXR1ZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaXR5LmxvbmdpdHVkZVxuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLW1lc3NhZ2VcIiB2LWlmPVwidHlwZUNhcmQgPT09ICdvdGhlckRhdGVzJ1wiPlxuICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCJcbiAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxOCAxOFwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguNTkzNzUgMUM3LjA5MTg1IDEgNS42MjM2OCAxLjQ0NTM3IDQuMzc0ODkgMi4yNzk3OEMzLjEyNjExIDMuMTE0MTkgMi4xNTI4IDQuMzAwMTcgMS41NzgwNCA1LjY4Nzc1QzEuMDAzMjkgNy4wNzUzMiAwLjg1MjkwOSA4LjYwMjE3IDEuMTQ1OTIgMTAuMDc1MkMxLjQzODkyIDExLjU0ODMgMi4xNjIxNiAxMi45MDEzIDMuMjI0MTYgMTMuOTYzM0M0LjI4NjE3IDE1LjAyNTMgNS42MzkyNCAxNS43NDg2IDcuMTEyMjkgMTYuMDQxNkM4LjU4NTMzIDE2LjMzNDYgMTAuMTEyMiAxNi4xODQyIDExLjQ5OTggMTUuNjA5NUMxMi44ODczIDE1LjAzNDcgMTQuMDczMyAxNC4wNjE0IDE0LjkwNzcgMTIuODEyNkMxNS43NDIxIDExLjU2MzggMTYuMTg3NSAxMC4wOTU3IDE2LjE4NzUgOC41OTM3NUMxNi4xODUzIDYuNTgwNDUgMTUuMzg0NSA0LjY1MDI1IDEzLjk2MDkgMy4yMjY2MkMxMi41MzczIDEuODAzIDEwLjYwNzEgMS4wMDIyMyA4LjU5Mzc1IDFaTTguNTkzNzUgMTQuNUM3LjQyNTYxIDE0LjUgNi4yODM2OSAxNC4xNTM2IDUuMzEyNDIgMTMuNTA0NkM0LjM0MTE0IDEyLjg1NTYgMy41ODQxMiAxMS45MzMyIDMuMTM3MDkgMTAuODU0QzIuNjkwMDYgOS43NzQ3NSAyLjU3MzEgOC41ODcyIDIuODAwOTkgNy40NDE1QzMuMDI4ODggNi4yOTU4IDMuNTkxNCA1LjI0MzQgNC40MTc0IDQuNDE3NEM1LjI0MzQxIDMuNTkxNCA2LjI5NTggMy4wMjg4OCA3LjQ0MTUgMi44MDA5OUM4LjU4NzIgMi41NzMwOSA5Ljc3NDc1IDIuNjkwMDYgMTAuODU0IDMuMTM3MDlDMTEuOTMzMiAzLjU4NDEyIDEyLjg1NTYgNC4zNDExNCAxMy41MDQ2IDUuMzEyNDFDMTQuMTUzNiA2LjI4MzY5IDE0LjUgNy40MjU2IDE0LjUgOC41OTM3NUMxNC40OTgzIDEwLjE1OTcgMTMuODc1NSAxMS42NjEgMTIuNzY4MyAxMi43NjgyQzExLjY2MSAxMy44NzU1IDEwLjE1OTcgMTQuNDk4MyA4LjU5Mzc1IDE0LjVaTTcuNzUgOC44NzVWNS4yMTg3NUM3Ljc1IDQuOTk0OTcgNy44Mzg5IDQuNzgwMzYgNy45OTcxMyA0LjYyMjEzQzguMTU1MzcgNC40NjM4OSA4LjM2OTk4IDQuMzc1IDguNTkzNzUgNC4zNzVDOC44MTc1MyA0LjM3NSA5LjAzMjE0IDQuNDYzODkgOS4xOTAzNyA0LjYyMjEzQzkuMzQ4NjEgNC43ODAzNiA5LjQzNzUgNC45OTQ5NyA5LjQzNzUgNS4yMTg3NVY4Ljg3NUM5LjQzNzUgOS4wOTg3OCA5LjM0ODYxIDkuMzEzMzkgOS4xOTAzNyA5LjQ3MTYyQzkuMDMyMTQgOS42Mjk4NiA4LjgxNzUzIDkuNzE4NzUgOC41OTM3NSA5LjcxODc1QzguMzY5OTggOS43MTg3NSA4LjE1NTM3IDkuNjI5ODYgNy45OTcxMyA5LjQ3MTYyQzcuODM4OSA5LjMxMzM5IDcuNzUgOS4wOTg3OCA3Ljc1IDguODc1Wk05LjcxODc1IDExLjY4NzVDOS43MTg3NSAxMS45MSA5LjY1Mjc3IDEyLjEyNzUgOS41MjkxNiAxMi4zMTI1QzkuNDA1NTQgMTIuNDk3NSA5LjIyOTg0IDEyLjY0MTcgOS4wMjQyNyAxMi43MjY5QzguODE4NzEgMTIuODEyIDguNTkyNTEgMTIuODM0MyA4LjM3NDI4IDEyLjc5MDlDOC4xNTYwNSAxMi43NDc1IDcuOTU1NTkgMTIuNjQwMyA3Ljc5ODI2IDEyLjQ4M0M3LjY0MDkyIDEyLjMyNTcgNy41MzM3OCAxMi4xMjUyIDcuNDkwMzcgMTEuOTA3QzcuNDQ2OTYgMTEuNjg4NyA3LjQ2OTI0IDExLjQ2MjUgNy41NTQzOSAxMS4yNTdDNy42Mzk1NCAxMS4wNTE0IDcuNzgzNzMgMTAuODc1NyA3Ljk2ODc0IDEwLjc1MjFDOC4xNTM3NCAxMC42Mjg1IDguMzcxMjUgMTAuNTYyNSA4LjU5Mzc1IDEwLjU2MjVDOC44OTIxMiAxMC41NjI1IDkuMTc4MjcgMTAuNjgxIDkuMzg5MjUgMTAuODkyQzkuNjAwMjMgMTEuMTAzIDkuNzE4NzUgMTEuMzg5MSA5LjcxODc1IDExLjY4NzVaXCJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0VCODcyQlwiXG4gICAgICAgICAgICAgICAgICAgID48L3BhdGg+XG4gICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgIHt7IHRyYW5zKFwic2VhcmNoLnJlc3VsdC53YXJuaW5nLm90aGVyRGF0ZXNcIikgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXNlcGVyYXRvclwiIHYtaWY9XCJpc0Rlc2t0b3BcIj5cbiAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMlwiXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMiAxMDBcIlxuICAgICAgICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoLTEwMFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xIDFMMSA5OVwiIHN0cm9rZT1cIiNDMEMwQzBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtYm9va2luZyBhbGlnbi1pdGVtcy1lbmQgZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGdhcC0yXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIHYtaWY9XCJzZWFyY2hEYXRhLmxvcyAmJiBzZWFyY2hEYXRhLmFycml2YWxEYXRlXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1ib29raW5nLWRhdGEgZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtZW5kXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtYm9va2luZy1zdG9ja1wiIHYtaWY9XCJzdG9jayA8PSA1XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnMoXCJzZWFyY2gucmVzdWx0LnZpZXdDYW1waW5nLnN0b2NrXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0b2NrOiBzdG9jayxcbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9va2luZy1kYXRlIGQtZmxleCBmbGV4LW5vd3JhcFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtYm9va2luZy1kYXRlc1wiPnt7IGRhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjRcIlxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjRcIlxuICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNCA0XCJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgdi1pZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRGF0YS5hZHVsdHMgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hEYXRhLmNoaWxkcmVuICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRGF0YS5iYWJpZXMgPlxuICAgICAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMlwiIGN5PVwiMlwiIHI9XCIyXCIgZmlsbD1cIiM4QThBOEFcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICB2LWlmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hEYXRhLmFkdWx0cyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaERhdGEuY2hpbGRyZW4gK1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hEYXRhLmJhYmllcyA+XG4gICAgICAgICAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtYm9va2luZy1wZXJzb25zXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFucyhcInNlYXJjaC5yZXN1bHQubnVtUGVyc29uc1wiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlcjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hEYXRhLmFkdWx0cyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRGF0YS5jaGlsZHJlbiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRGF0YS5iYWJpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsbC1wcmljZXMgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWJvb2tpbmctcHJpY2UgZGlzY291bnQtcHJpY2UtcGVyY2VudGFnZSBiZy1kaXNjb3VudFwiXG4gICAgICAgICAgICAgICAgICAgICAgdi1pZj1cImRpc2NvdW50UGVyY2VudGFnZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBkaXNjb3VudFBlcmNlbnRhZ2UgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWJvb2tpbmctcHJpY2UgZGlzY291bnQtcHJpY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdi1pZj1cIm9yaWdpbmFsUHJpY2UgJiYgb3JpZ2luYWxQcmljZSAhPSBwcmljZVwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgb3JpZ2luYWxQcmljZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvb2tpbmctcHJpY2VcIj57eyBwcmljZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIHYtZWxzZVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWJvb2tpbmctZGF0YSBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1lbmRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWJvb2tpbmctZGF0ZSBkLWZsZXggZmxleC1sZy1jb2x1bW4gZmxleC1ub3dyYXAgYWxpZ24taXRlbXMtY2VudGVyIGFsaWduLWl0ZW1zLWxnLWVuZFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1ib29raW5nLWRhdGVzIGNhcmQtbm8tZGF0ZS1zZWxlY3RlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IHRyYW5zKFwic2VhcmNoLnJlc3VsdC53YXJuaW5nLm5vRGF0ZVBpY2tlZFwiKSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjRcIlxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjRcIlxuICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNCA0XCJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgdi1pZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRGF0YS5hZHVsdHMgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hEYXRhLmNoaWxkcmVuICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRGF0YS5iYWJpZXMgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAwICYmICFpc0Rlc2t0b3BcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjJcIiBjeT1cIjJcIiByPVwiMlwiIGZpbGw9XCIjOEE4QThBXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgdi1pZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRGF0YS5hZHVsdHMgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hEYXRhLmNoaWxkcmVuICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRGF0YS5iYWJpZXMgPlxuICAgICAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWJvb2tpbmctcGVyc29uc1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnMoXCJzZWFyY2gucmVzdWx0Lm51bVBlcnNvbnNcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRGF0YS5hZHVsdHMgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaERhdGEuY2hpbGRyZW4gK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaERhdGEuYmFiaWVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtYm9va2luZy1idXR0b24gdGV4dC1ub3dyYXBcIlxuICAgICAgICAgICAgICAgICAgdi1pZj1cIlxuICAgICAgICAgICAgICAgICAgICAhaXNEZXNrdG9wICYmICghc2VhcmNoRGF0YS5sb3MgfHwgIXNlYXJjaERhdGEuYXJyaXZhbERhdGUpXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIDpocmVmPVwiZ29Ub0NhbXBpbmdSb3V0ZShjYW1waW5nLmNhbXBpbmcucm91dGVQYXRoKVwiXG4gICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cIntcbiAgICAgICAgICAgICAgICAgICAgICAnYnRuIGJ0bi1zZWNvbmRhcnkgcHktMic6IGlzRGVza3RvcCxcbiAgICAgICAgICAgICAgICAgICAgICAnbGluay1zZWNvbmRhcnkgbGluay1vZmZzZXQtMiBsaW5rLXVuZGVybGluZS1vcGFjaXR5LTI1IGxpbmstdW5kZXJsaW5lLW9wYWNpdHktMTAwLWhvdmVyJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICFpc0Rlc2t0b3AsXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICA6dGl0bGU9XCJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFucygnc2VhcmNoLnJlc3VsdC52aWV3Q2FtcGluZy50aXRsZScsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbXBpbmdOYW1lOiBjYW1waW5nLmNhbXBpbmcudGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPnt7XG4gICAgICAgICAgICAgICAgICAgICAgIXNlYXJjaERhdGEubG9zIHx8ICFzZWFyY2hEYXRhLmFycml2YWxEYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRyYW5zKFwic2VhcmNoLnJlc3VsdC5zaG93UHJpY2VzXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHRyYW5zKFwic2VhcmNoLnJlc3VsdC52aWV3Q2FtcGluZ1wiKVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMThcIlxuICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTggMThcIlxuICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICB2LWlmPVwiaXNEZXNrdG9wXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE1Ljc4NDUgOS41OTY4OUwxMC43MjIgMTQuNjU5NEMxMC41NjM0IDE0LjgxNzkgMTAuMzQ4NSAxNC45MDcgMTAuMTI0MyAxNC45MDdDOS45MDAxMyAxNC45MDcgOS42ODUxNSAxNC44MTc5IDkuNTI2NjQgMTQuNjU5NEM5LjM2ODEzIDE0LjUwMDkgOS4yNzkwOCAxNC4yODU5IDkuMjc5MDggMTQuMDYxN0M5LjI3OTA4IDEzLjgzNzYgOS4zNjgxMyAxMy42MjI2IDkuNTI2NjQgMTMuNDY0MUwxMy4xNDg0IDkuODQzNjlIMi44MTI1QzIuNTg4NzIgOS44NDM2OSAyLjM3NDExIDkuNzU0OCAyLjIxNTg4IDkuNTk2NTZDMi4wNTc2NCA5LjQzODMzIDEuOTY4NzUgOS4yMjM3MiAxLjk2ODc1IDguOTk5OTRDMS45Njg3NSA4Ljc3NjE2IDIuMDU3NjQgOC41NjE1NSAyLjIxNTg4IDguNDAzMzJDMi4zNzQxMSA4LjI0NTA5IDIuNTg4NzIgOC4xNTYxOSAyLjgxMjUgOC4xNTYxOUgxMy4xNDg0TDkuNTI4MDUgNC41MzM2OUM5LjM2OTU0IDQuMzc1MTggOS4yODA0OSA0LjE2MDIgOS4yODA0OSAzLjkzNjAzQzkuMjgwNDkgMy43MTE4NyA5LjM2OTU0IDMuNDk2ODkgOS41MjgwNSAzLjMzODM4QzkuNjg2NTUgMy4xNzk4NyA5LjkwMTU0IDMuMDkwODIgMTAuMTI1NyAzLjA5MDgyQzEwLjM0OTkgMy4wOTA4MiAxMC41NjQ5IDMuMTc5ODcgMTAuNzIzNCAzLjMzODM4TDE1Ljc4NTkgOC40MDA4OEMxNS44NjQ1IDguNDc5MzcgMTUuOTI2OSA4LjU3MjYzIDE1Ljk2OTUgOC42NzUzMUMxNi4wMTIgOC43Nzc5OCAxNi4wMzM4IDguODg4MDQgMTYuMDMzNyA4Ljk5OTE4QzE2LjAzMzUgOS4xMTAzMSAxNi4wMTE1IDkuMjIwMzIgMTUuOTY4NyA5LjMyMjlDMTUuOTI1OSA5LjQyNTQ3IDE1Ljg2MzMgOS41MTg1OSAxNS43ODQ1IDkuNTk2ODlaXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRkZGRkZGXCJcbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTlcIlxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCJcbiAgICAgICAgICAgICAgICAgICAgICB2aWV3Ym94PVwiMCAwIDE5IDE4XCJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgdi1pZj1cIiFpc0Rlc2t0b3BcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTYuMjg0NSA5LjU5Njg5TDExLjIyMiAxNC42NTk0QzExLjA2MzQgMTQuODE3OSAxMC44NDg1IDE0LjkwNyAxMC42MjQzIDE0LjkwN0MxMC40MDAxIDE0LjkwNyAxMC4xODUxIDE0LjgxNzkgMTAuMDI2NiAxNC42NTk0QzkuODY4MTMgMTQuNTAwOSA5Ljc3OTA4IDE0LjI4NTkgOS43NzkwOCAxNC4wNjE3QzkuNzc5MDggMTMuODM3NiA5Ljg2ODEzIDEzLjYyMjYgMTAuMDI2NiAxMy40NjQxTDEzLjY0ODQgOS44NDM2OUgzLjMxMjVDMy4wODg3MiA5Ljg0MzY5IDIuODc0MTEgOS43NTQ4IDIuNzE1ODggOS41OTY1NkMyLjU1NzY0IDkuNDM4MzMgMi40Njg3NSA5LjIyMzcyIDIuNDY4NzUgOC45OTk5NEMyLjQ2ODc1IDguNzc2MTYgMi41NTc2NCA4LjU2MTU1IDIuNzE1ODggOC40MDMzMkMyLjg3NDExIDguMjQ1MDkgMy4wODg3MiA4LjE1NjE5IDMuMzEyNSA4LjE1NjE5SDEzLjY0ODRMMTAuMDI4IDQuNTMzNjlDOS44Njk1NCA0LjM3NTE4IDkuNzgwNDkgNC4xNjAyIDkuNzgwNDkgMy45MzYwM0M5Ljc4MDQ5IDMuNzExODcgOS44Njk1NCAzLjQ5Njg5IDEwLjAyOCAzLjMzODM4QzEwLjE4NjYgMy4xNzk4NyAxMC40MDE1IDMuMDkwODIgMTAuNjI1NyAzLjA5MDgyQzEwLjg0OTkgMy4wOTA4MiAxMS4wNjQ5IDMuMTc5ODcgMTEuMjIzNCAzLjMzODM4TDE2LjI4NTkgOC40MDA4OEMxNi4zNjQ1IDguNDc5MzcgMTYuNDI2OSA4LjU3MjYzIDE2LjQ2OTUgOC42NzUzMUMxNi41MTIgOC43Nzc5OCAxNi41MzM4IDguODg4MDQgMTYuNTMzNyA4Ljk5OTE4QzE2LjUzMzUgOS4xMTAzMSAxNi41MTE1IDkuMjIwMzIgMTYuNDY4NyA5LjMyMjlDMTYuNDI1OSA5LjQyNTQ3IDE2LjM2MzMgOS41MTg1OSAxNi4yODQ1IDkuNTk2ODlaXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ1cmwoI2ZkYWZhc2RmYXNkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImZkYWZhc2RmYXNkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeDE9XCIyLjQ2ODc1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeTE9XCI4Ljk5ODg5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeDI9XCIxNi41MzM3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeTI9XCI4Ljk5ODg5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JhZGllbnR1bml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj1cIiM0MUE4RDdcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiMyQjg2QjJcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwhLS0gaGVyZSAgZW5kIEEgLS0+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG48c3R5bGUgc2NvcGVkPlxuLyogQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY2FyZCB7XG4gICAgaGVpZ2h0OiAxNS41cmVtO1xuICB9XG59ICovXG5cbi5jYXJkLWJvb2tpbmcge1xuICBtaW4td2lkdGg6IDExcmVtO1xufVxuLmNhcmQtc2VwZXJhdG9yIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCAxMHB4O1xufVxuXG4uY2FyZC1zZXBlcmF0b3Igc3ZnIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmNhcmQtY2Fyb3VzZWwtaW1nIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIEltYWdlIGNvbnRhaW5lciBhbmQgcmVzcG9uc2l2ZSBzdHlsZXMgKi9cbi5jYXJkLWNhcm91c2VsLWltZy1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmNhcmQtY2Fyb3VzZWwtaW1nIGltZy5jYXJvdXNlbC1jZWxsLWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4vKiBTYWZhcmktc3BlY2lmaWMgbW9kaWZpY2F0aW9ucyAqL1xuQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpIHtcbiAgLmNhcmQtY2Fyb3VzZWwtaW1nIGltZy5jYXJvdXNlbC1jZWxsLWltYWdlIHtcbiAgICAvKiBTYWZhcmkgcmVuZGVyaW5nIGVuaGFuY2VtZW50cyAqL1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbjwvc3R5bGU+XG48c3R5bGU+PC9zdHlsZT5cbiIsIjxzY3JpcHQ+XG5pbXBvcnQgVHJhbnNsYXRvciBmcm9tIFwiLi9UcmFuc2xhdG9yXCI7XG5pbXBvcnQgU2VhcmNoRGF0YSBmcm9tIFwiLi9TZWFyY2hEYXRhLmpzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcHM6IHtcbiAgICB0b3RhbEV4YWN0TWF0Y2hlczogTnVtYmVyLFxuICAgIHRvdGFsT3RoZXJNYXRjaGVzOiBOdW1iZXIsXG4gICAgc2hvd09ubHlFeGFjdE1hdGNoZXM6IEJvb2xlYW4sXG4gICAgaXNEZXNrdG9wOiBCb29sZWFuLFxuICB9LFxuICBpbmplY3Q6IFtcInNlYXJjaFJlc3VsdHNcIl0sXG4gIGNvbXBvbmVudHM6IHt9LFxuICBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0cmFuczogVHJhbnNsYXRvcixcbiAgICAgIGxvY2FsZTogbG9jYWxlLFxuICAgICAgc2VhcmNoRGF0YTogU2VhcmNoRGF0YSxcbiAgICB9O1xuICB9LFxufTtcbjwvc2NyaXB0PlxuXG48dGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cInpvZWstYm9lay1saXN0LXRvcGJhclwiXG4gICAgOmNsYXNzPVwie1xuICAgICAgJ3Njcm9sbC1tYXJnaW4tdG9wX2Rlc2t0b3AnOiBpc0Rlc2t0b3AsXG4gICAgICAnc2Nyb2xsLW1hcmdpbi10b3BfbW9iaWxlJzogIWlzRGVza3RvcCxcbiAgICB9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ6b2VrLWJvZWstdG90YWwtcmVzdWx0c1wiPlxuICAgICAge3tcbiAgICAgICAgdHJhbnMoXCJzZWFyY2gucmVzdWx0c1wiLCB7XG4gICAgICAgICAgbnVtYmVyOiBzaG93T25seUV4YWN0TWF0Y2hlc1xuICAgICAgICAgICAgPyB0b3RhbEV4YWN0TWF0Y2hlc1xuICAgICAgICAgICAgOiB0b3RhbEV4YWN0TWF0Y2hlcyArIHRvdGFsT3RoZXJNYXRjaGVzLFxuICAgICAgICB9KVxuICAgICAgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiem9lay1ib2VrLXNvcnRlciBjdXN0b20tZHJvcGRvd24gZnctYm9sZFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImxpbmstZGFyayBsaW5rLW9mZnNldC0yIGxpbmstdW5kZXJsaW5lLW9wYWNpdHktMjUgbGluay11bmRlcmxpbmUtb3BhY2l0eS0xMDAtaG92ZXIgYW5pbWF0ZWQtbGlua1wiXG4gICAgICAgICAgaWQ9XCJzb3J0aW5nRHJvcGRvd25cIlxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIlxuICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXItc2VsZWN0LW5vbmVcIj57eyB0cmFucyhcInNlYXJjaC5zb3J0ZXJcIikgfX08L3NwYW4+XG5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMThcIlxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxOCAxOFwiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgZD1cIk04LjQ3MjE3IDExLjc3ODFDOC41NTA4MyAxMS44NTY1IDguNjEzMjQgMTEuOTQ5NiA4LjY1NTgyIDEyLjA1MjJDOC42OTg0MSAxMi4xNTQ3IDguNzIwMzMgMTIuMjY0NyA4LjcyMDMzIDEyLjM3NTdDOC43MjAzMyAxMi40ODY4IDguNjk4NDEgMTIuNTk2NyA4LjY1NTgyIDEyLjY5OTNDOC42MTMyNCAxMi44MDE5IDguNTUwODMgMTIuODk1IDguNDcyMTcgMTIuOTczNEw2LjIyMjE3IDE1LjIyMzRDNi4xNDM3OCAxNS4zMDIgNi4wNTA2NCAxNS4zNjQ1IDUuOTQ4MDggMTUuNDA3QzUuODQ1NTIgMTUuNDQ5NiA1LjczNTU2IDE1LjQ3MTYgNS42MjQ1MSAxNS40NzE2QzUuNTEzNDYgMTUuNDcxNiA1LjQwMzUgMTUuNDQ5NiA1LjMwMDk0IDE1LjQwN0M1LjE5ODM5IDE1LjM2NDUgNS4xMDUyNCAxNS4zMDIgNS4wMjY4NSAxNS4yMjM0TDIuNzc2ODUgMTIuOTczNEMyLjY5ODM3IDEyLjg5NDkgMi42MzYxMSAxMi44MDE3IDIuNTkzNjQgMTIuNjk5MkMyLjU1MTE2IDEyLjU5NjYgMi41MjkzIDEyLjQ4NjcgMi41MjkzIDEyLjM3NTdDMi41MjkzIDEyLjI2NDcgMi41NTExNiAxMi4xNTQ4IDIuNTkzNjQgMTIuMDUyM0MyLjYzNjExIDExLjk0OTcgMi42OTgzNyAxMS44NTY2IDIuNzc2ODUgMTEuNzc4MUMyLjg1NTM0IDExLjY5OTYgMi45NDg1MiAxMS42MzczIDMuMDUxMDYgMTEuNTk0OUMzLjE1MzYxIDExLjU1MjQgMy4yNjM1MiAxMS41MzA1IDMuMzc0NTEgMTEuNTMwNUMzLjQ4NTUxIDExLjUzMDUgMy41OTU0MSAxMS41NTI0IDMuNjk3OTYgMTEuNTk0OUMzLjgwMDUxIDExLjYzNzMgMy44OTM2OCAxMS42OTk2IDMuOTcyMTcgMTEuNzc4MUw0Ljc4MTQ2IDEyLjU4NlYzLjM3NTAzQzQuNzgxNDYgMy4xNTEyNSA0Ljg3MDM2IDIuOTM2NjQgNS4wMjg1OSAyLjc3ODRDNS4xODY4MyAyLjYyMDE3IDUuNDAxNDQgMi41MzEyOCA1LjYyNTIxIDIuNTMxMjhDNS44NDg5OSAyLjUzMTI4IDYuMDYzNiAyLjYyMDE3IDYuMjIxODQgMi43Nzg0QzYuMzgwMDcgMi45MzY2NCA2LjQ2ODk2IDMuMTUxMjUgNi40Njg5NiAzLjM3NTAzVjEyLjU4Nkw3LjI3ODI2IDExLjc3NkM3LjM1Njc2IDExLjY5NzcgNy40NDk5MyAxMS42MzU2IDcuNTUyNDMgMTEuNTkzM0M3LjY1NDk0IDExLjU1MSA3Ljc2NDc3IDExLjUyOTQgNy44NzU2NSAxMS41Mjk2QzcuOTg2NTMgMTEuNTI5OCA4LjA5NjI5IDExLjU1MTggOC4xOTg2NCAxMS41OTQ0QzguMzAxIDExLjYzNzEgOC4zOTM5NCAxMS42OTk1IDguNDcyMTcgMTEuNzc4MVpNMTUuMjIyMiA1LjAyODA3TDEyLjk3MjIgMi43NzgwN0MxMi44OTM4IDIuNjk5NDEgMTIuODAwNiAyLjYzNyAxMi42OTgxIDIuNTk0NDFDMTIuNTk1NSAyLjU1MTgzIDEyLjQ4NTYgMi41Mjk5MSAxMi4zNzQ1IDIuNTI5OTFDMTIuMjYzNSAyLjUyOTkxIDEyLjE1MzUgMi41NTE4MyAxMi4wNTA5IDIuNTk0NDFDMTEuOTQ4NCAyLjYzNyAxMS44NTUyIDIuNjk5NDEgMTEuNzc2OSAyLjc3ODA3TDkuNTI2ODUgNS4wMjgwN0M5LjM2ODM1IDUuMTg2NTggOS4yNzkzIDUuNDAxNTYgOS4yNzkzIDUuNjI1NzNDOS4yNzkzIDUuODQ5ODkgOS4zNjgzNSA2LjA2NDg4IDkuNTI2ODUgNi4yMjMzOUM5LjY4NTM2IDYuMzgxODkgOS45MDAzNSA2LjQ3MDk0IDEwLjEyNDUgNi40NzA5NEMxMC4zNDg3IDYuNDcwOTQgMTAuNTYzNyA2LjM4MTg5IDEwLjcyMjIgNi4yMjMzOUwxMS41MzE1IDUuNDE0MDlWMTQuNjI1QzExLjUzMTUgMTQuODQ4OCAxMS42MjA0IDE1LjA2MzQgMTEuNzc4NiAxNS4yMjE2QzExLjkzNjggMTUuMzc5OSAxMi4xNTE0IDE1LjQ2ODggMTIuMzc1MiAxNS40Njg4QzEyLjU5OSAxNS40Njg4IDEyLjgxMzYgMTUuMzc5OSAxMi45NzE4IDE1LjIyMTZDMTMuMTMwMSAxNS4wNjM0IDEzLjIxOSAxNC44NDg4IDEzLjIxOSAxNC42MjVWNS40MTQwOUwxNC4wMjgzIDYuMjI0MDlDMTQuMTg2OCA2LjM4MjYgMTQuNDAxOCA2LjQ3MTY1IDE0LjYyNTkgNi40NzE2NUMxNC44NTAxIDYuNDcxNjUgMTUuMDY1MSA2LjM4MjYgMTUuMjIzNiA2LjIyNDA5QzE1LjM4MjEgNi4wNjU1OCAxNS40NzExIDUuODUwNiAxNS40NzExIDUuNjI2NDNDMTUuNDcxMSA1LjQwMjI3IDE1LjM4MjEgNS4xODcyOCAxNS4yMjM2IDUuMDI4NzhMMTUuMjIyMiA1LjAyODA3WlwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjMkYyRjJGXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dWxcbiAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1lbmRcIlxuICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT1cInNvcnRpbmdEcm9wZG93blwiXG4gICAgICAgID5cbiAgICAgICAgICA8IS0tbGk+XG4gICAgICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBocmVmPVwiI1wiPnt7XG4gICAgICAgICAgICAgIHRyYW5zKFwic2VhcmNoLnNvcnRlci5iZXN0XCIpXG4gICAgICAgICAgICB9fTwvYT5cbiAgICAgICAgICA8L2xpLS0+XG4gICAgICAgICAgPGxpIHYtaWY9XCJzZWFyY2hEYXRhLmRhdGVbMF0gJiYgc2VhcmNoRGF0YS5kYXRlWzFdXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIlxuICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICAgIEBjbGljay5wcmV2ZW50PVwic2VhcmNoRGF0YS5zb3J0ID0gJ3ByaWNlQXNjJ1wiXG4gICAgICAgICAgICAgID57eyB0cmFucyhcInNlYXJjaC5zb3J0ZXIucHJpY2VVcFwiKSB9fTwvYVxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPGxpIHYtaWY9XCJzZWFyY2hEYXRhLmRhdGVbMF0gJiYgc2VhcmNoRGF0YS5kYXRlWzFdXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIlxuICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICAgIEBjbGljay5wcmV2ZW50PVwic2VhcmNoRGF0YS5zb3J0ID0gJ3ByaWNlRGVzYydcIlxuICAgICAgICAgICAgICA+e3sgdHJhbnMoXCJzZWFyY2guc29ydGVyLnByaWNlRG93blwiKSB9fTwvYVxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPCEtLWxpPlxuICAgICAgICAgICAgPGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cIiNcIj57e1xuICAgICAgICAgICAgICB0cmFucyhcInNlYXJjaC5zb3J0ZXIucG9wdWxhclwiKVxuICAgICAgICAgICAgfX08L2E+XG4gICAgICAgICAgPC9saS0tPlxuICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiXG4gICAgICAgICAgICAgIGhyZWY9XCIjXCJcbiAgICAgICAgICAgICAgQGNsaWNrLnByZXZlbnQ9XCJzZWFyY2hEYXRhLnNvcnQgPSAnbmV3J1wiXG4gICAgICAgICAgICAgID57eyB0cmFucyhcInNlYXJjaC5zb3J0ZXIubmV3XCIpIH19PC9hXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG48c3R5bGUgc2NvcGVkPjwvc3R5bGU+XG48c3R5bGU+XG4uc2Nyb2xsLW1hcmdpbi10b3BfbW9iaWxlIHtcbiAgc2Nyb2xsLW1hcmdpbi10b3A6IDkwcHg7XG59XG4uc2Nyb2xsLW1hcmdpbi10b3BfZGVza3RvcCB7XG4gIHNjcm9sbC1tYXJnaW4tdG9wOiAxNDBweDtcbn1cbjwvc3R5bGU+XG4iLCI8c2NyaXB0PlxuaW1wb3J0IFRyYW5zbGF0b3IgZnJvbSBcIi4vVHJhbnNsYXRvci5qc1wiO1xuaW1wb3J0IFNlYXJjaENhcmQgZnJvbSBcIi4vU2VhcmNoQ2FyZC52dWVcIjtcbmltcG9ydCBTZWFyY2hDYXJkTm9EYXRlcyBmcm9tIFwiLi9TZWFyY2hDYXJkTm9EYXRlcy52dWVcIjtcbmltcG9ydCBGbGlja2l0eSBmcm9tIFwiZmxpY2tpdHlcIjtcblxuLy8gQ3VzdG9tIGRpcmVjdGl2ZSBmb3Igc3RhZ2dlcmVkIGFuaW1hdGlvbnNcbmNvbnN0IHN0YWdnZXJlZEFuaW1hdGlvbiA9IHtcbiAgbW91bnRlZChlbCwgYmluZGluZykge1xuICAgIC8vIEFwcGx5IGEgZGVsYXkgYmFzZWQgb24gdGhlIGluZGV4XG4gICAgY29uc3QgZGVsYXkgPSBiaW5kaW5nLnZhbHVlICogMTIwOyAvLyAxMjBtcyBiZXR3ZWVuIGVhY2ggY2FyZFxuICAgIGVsLnN0eWxlLnRyYW5zaXRpb25EZWxheSA9IGAke2RlbGF5fW1zYDtcbiAgfSxcbn07XG5pbXBvcnQgU2VhcmNoQ2FyZExvYWRpbmcgZnJvbSBcIi4vU2VhcmNoQ2FyZExvYWRpbmcudnVlXCI7XG5pbXBvcnQgU2VhcmNoTGlzdFRvcEJhciBmcm9tIFwiLi9TZWFyY2hMaXN0VG9wQmFyLnZ1ZVwiO1xuaW1wb3J0IFNlYXJjaERhdGEgZnJvbSBcIi4vU2VhcmNoRGF0YS5qc1wiO1xuaW1wb3J0IFNlYXJjaExpc3RXYXJuaW5nIGZyb20gXCIuL1NlYXJjaExpc3RXYXJuaW5nLnZ1ZVwiO1xuaW1wb3J0IFNlYXJjaExpc3RFcnJvciBmcm9tIFwiLi9TZWFyY2hMaXN0RXJyb3IudnVlXCI7XG5cbmltcG9ydCBNYXBNYXJrZXJCbHVlIGZyb20gXCIuL3N2Z3MvbWFwTWFya2VyQmx1ZS52dWVcIjtcbmltcG9ydCBNYXBNYXJrZXJPcmFuZ2UgZnJvbSBcIi4vc3Zncy9tYXBNYXJrZXJPcmFuZ2UudnVlXCI7XG5cbmltcG9ydCB7IEdvb2dsZU1hcCwgTWFya2VyQ2x1c3RlciwgQ3VzdG9tTWFya2VyIH0gZnJvbSBcInZ1ZTMtZ29vZ2xlLW1hcFwiO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBTZWFyY2hDYXJkLFxuICAgIFNlYXJjaENhcmRMb2FkaW5nLFxuICAgIFNlYXJjaENhcmROb0RhdGVzLFxuICAgIFNlYXJjaExpc3RUb3BCYXIsXG4gICAgU2VhcmNoTGlzdFdhcm5pbmcsXG4gICAgU2VhcmNoTGlzdEVycm9yLFxuICAgIEdvb2dsZU1hcCxcbiAgICBNYXJrZXJDbHVzdGVyLFxuICAgIEN1c3RvbU1hcmtlcixcbiAgICBNYXBNYXJrZXJCbHVlLFxuICAgIE1hcE1hcmtlck9yYW5nZSxcbiAgfSxcbiAgZGlyZWN0aXZlczoge1xuICAgIHN0YWdnZXI6IHN0YWdnZXJlZEFuaW1hdGlvbixcbiAgfSxcbiAgcHJvcHM6IHtcbiAgICBpc0ZsZXhpYmxlQ29udGVudDoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIH0sXG4gICAgc2hvd01hcFZpZXc6IEJvb2xlYW4sXG4gICAgc2hvd09ubHlFeGFjdE1hdGNoZXM6IEJvb2xlYW4sXG4gICAgdXNlUGFnaW5hdGlvbjoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgfSxcbiAgICBzZWFyY2hTdGF0dXM6IE9iamVjdCxcbiAgICBzZWFyY2hDdXN0b21CdXR0b25zOiBBcnJheSxcbiAgfSxcbiAgaW5qZWN0OiBbXCJzZWFyY2hSZXN1bHRzXCJdLFxuICBiZWZvcmVNb3VudCgpIHt9LFxuICBtb3VudGVkKCkge1xuICAgIHRoaXMuc2VhcmNoRGF0YS4kd2F0Y2goXCJjb3VudHJ5XCIsIChrZXksIG5ld1ZhbHVlLCBvbGRWYWx1ZSkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZE1hcmtlckluZGV4ID0gbnVsbDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNYXJrZXJTb3VyY2UgPSBudWxsO1xuICAgIH0pO1xuICB9LFxuXG4gIGRhdGEoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlYXJjaERhdGE6IFNlYXJjaERhdGEsXG4gICAgICBfc2VhcmNoUmVzdWx0czogdGhpcy5zZWFyY2hSZXN1bHRzLFxuICAgICAgdHJhbnM6IFRyYW5zbGF0b3IsXG4gICAgICBsb2NhbGU6IGxvY2FsZSxcbiAgICAgIHNvcnQ6IFwiZGlzdGFuY2VcIiwgLy8gZGlzdGFuY2VcbiAgICAgIHJlZmVyZW5jZUNpdHk6IFwidXRyZWNodFwiLFxuICAgICAgcmVmZXJlbmNlQ2l0aWVzOiB7XG4gICAgICAgIHV0cmVjaHQ6IHtcbiAgICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICBubDogXCJVdHJlY2h0XCIsXG4gICAgICAgICAgICBkZTogXCJVdHJlY2h0XCIsXG4gICAgICAgICAgICBlbjogXCJVdHJlY2h0XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBsYXRpdHVkZTogNTIuMDkwODc4LFxuICAgICAgICAgIGxvbmdpdHVkZTogNS4xMjE2MDIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgaXNEZXNrdG9wOiBmYWxzZSxcbiAgICAgIGNlbnRlcjogeyBsYXQ6IDUyLjA5MDg3OCwgbG5nOiA1LjEyMTYwMiB9LFxuICAgICAgem9vbTogNSxcbiAgICAgIHNlbGVjdGVkTWFya2VySW5kZXg6IG51bGwsIC8vIFRyYWNrcyBzZWxlY3RlZCBtYXJrZXIgaW5kZXhcbiAgICAgIHNlbGVjdGVkTWFya2VyU291cmNlOiBudWxsLCAvLyBUcmFja3Mgc291cmNlIG9mIHRoZSBzZWxlY3RlZCBtYXJrZXJcbiAgICAgIGV4YWN0TWF0Y2hlc0N1cnJlbnRQYWdlOiAxLFxuICAgICAgZXhhY3RNYXRjaGVzUGVyUGFnZTogMTAsXG4gICAgICBtYXhQYWdpbmF0aW9uQnV0dG9uczogdGhpcy5pc0Rlc2t0b3AgPyA3IDogMywgLy8gTWF4aW11bSBudW1iZXIgb2YgcGFnaW5hdGlvbiBidXR0b25zIHRvIHNob3dcbiAgICAgIC8vIHVzZVBhZ2luYXRpb24gaXMgbm93IGNvbnRyb2xsZWQgdmlhIHByb3BzXG4gICAgICBvdGhlck1hdGNoZXNDdXJyZW50UGFnZTogMSxcbiAgICAgIG90aGVyTWF0Y2hlc1BlclBhZ2U6IDIsXG4gICAgfTtcbiAgfSxcblxuICBjb21wdXRlZDoge1xuICAgIGNpdHkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2VDaXRpZXNbdGhpcy5yZWZlcmVuY2VDaXR5XTtcbiAgICB9LFxuICAgIHBhZ2luYXRlZEV4YWN0TWF0Y2hlcygpIHtcbiAgICAgIGlmICh0aGlzLnVzZVBhZ2luYXRpb24pIHtcbiAgICAgICAgLy8gUGFnaW5hdGlvbiBhcHByb2FjaDogc2hvdyBvbmx5IGN1cnJlbnQgcGFnZSBpdGVtc1xuICAgICAgICBjb25zdCBzdGFydEluZGV4ID1cbiAgICAgICAgICAodGhpcy5leGFjdE1hdGNoZXNDdXJyZW50UGFnZSAtIDEpICogdGhpcy5leGFjdE1hdGNoZXNQZXJQYWdlO1xuICAgICAgICBjb25zdCBlbmRJbmRleCA9IHN0YXJ0SW5kZXggKyB0aGlzLmV4YWN0TWF0Y2hlc1BlclBhZ2U7XG4gICAgICAgIHJldHVybiB0aGlzLmV4YWN0TWF0Y2hlcy5zbGljZShzdGFydEluZGV4LCBlbmRJbmRleCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBMb2FkIG1vcmUgYXBwcm9hY2g6IHNob3cgYWxsIGl0ZW1zIHVwIHRvIGN1cnJlbnQgcGFnZVxuICAgICAgICByZXR1cm4gdGhpcy5leGFjdE1hdGNoZXMuc2xpY2UoXG4gICAgICAgICAgMCxcbiAgICAgICAgICB0aGlzLmV4YWN0TWF0Y2hlc0N1cnJlbnRQYWdlICogdGhpcy5leGFjdE1hdGNoZXNQZXJQYWdlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSxcbiAgICB0b3RhbFBhZ2VzRXhhY3RNYXRjaGVzKCkge1xuICAgICAgLy8gRW5zdXJlIHdlJ3JlIGNvcnJlY3RseSBjYWxjdWxhdGluZyB0b3RhbCBwYWdlcyBmb3IgYWxsIHJlc3VsdHNcbiAgICAgIGNvbnN0IHRvdGFsID0gTWF0aC5jZWlsKFxuICAgICAgICB0aGlzLmV4YWN0TWF0Y2hlcy5sZW5ndGggLyB0aGlzLmV4YWN0TWF0Y2hlc1BlclBhZ2VcbiAgICAgICk7XG4gICAgICAvL2NvbnNvbGUubG9nKGBQYWdpbmF0aW9uIGRlYnVnOiAke3RoaXMuZXhhY3RNYXRjaGVzLmxlbmd0aH0gaXRlbXMgd2l0aCAke3RoaXMuZXhhY3RNYXRjaGVzUGVyUGFnZX0gcGVyIHBhZ2UgPSAke3RvdGFsfSB0b3RhbCBwYWdlc2ApO1xuICAgICAgcmV0dXJuIHRvdGFsO1xuICAgIH0sXG4gICAgaGFzTW9yZUV4YWN0TWF0Y2hlcygpIHtcbiAgICAgIC8vIEZvciBsb2FkIG1vcmUgZnVuY3Rpb25hbGl0eVxuICAgICAgcmV0dXJuIChcbiAgICAgICAgdGhpcy5leGFjdE1hdGNoZXMubGVuZ3RoID5cbiAgICAgICAgdGhpcy5leGFjdE1hdGNoZXNDdXJyZW50UGFnZSAqIHRoaXMuZXhhY3RNYXRjaGVzUGVyUGFnZVxuICAgICAgKTtcbiAgICB9LFxuICAgIHBhZ2luYXRpb25SYW5nZUV4YWN0TWF0Y2hlcygpIHtcbiAgICAgIC8vIENyZWF0ZSBhbiBhcnJheSBvZiBwYWdlIG51bWJlcnMgdG8gZGlzcGxheSwgaGFuZGxlIGxhcmdlIG51bWJlciBvZiBwYWdlc1xuICAgICAgY29uc3QgdG90YWxQYWdlcyA9IHRoaXMudG90YWxQYWdlc0V4YWN0TWF0Y2hlcztcbiAgICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gdGhpcy5leGFjdE1hdGNoZXNDdXJyZW50UGFnZTtcbiAgICAgIGNvbnN0IGRlbHRhID0gdGhpcy5pc0Rlc2t0b3AgPyAyIDogMTsgLy8gTnVtYmVyIG9mIHBhZ2VzIHRvIHNob3cgYmVmb3JlIGFuZCBhZnRlciBjdXJyZW50IHBhZ2VcblxuICAgICAgLy8gTG9nIHBhZ2luYXRpb24gaW5mbyBmb3IgZGVidWdnaW5nXG4gICAgICAvL2NvbnNvbGUubG9nKGBQYWdpbmF0aW9uIHJhbmdlOiBjdXJyZW50UGFnZT0ke2N1cnJlbnRQYWdlfSwgdG90YWxQYWdlcz0ke3RvdGFsUGFnZXN9YCk7XG5cbiAgICAgIC8vIElmIHRoZXJlJ3Mgb25seSBhIGZldyBwYWdlcywgc2hvdyBhbGwgb2YgdGhlbVxuICAgICAgLy8gaWYgKHRvdGFsUGFnZXMgPD0gKHRoaXMuaXNEZXNrdG9wID8gNyA6IDUpKSB7XG4gICAgICAvLyAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0b3RhbFBhZ2VzIH0sIChfLCBpKSA9PiBpICsgMSk7XG4gICAgICAvLyB9XG5cbiAgICAgIGxldCByYW5nZSA9IFtdO1xuXG4gICAgICAvLyBBbHdheXMgaW5jbHVkZSBmaXJzdCBwYWdlXG4gICAgICAvLyByYW5nZS5wdXNoKDEpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgc3RhcnQgYW5kIGVuZCBvZiBwYWdlIG51bWJlcnMgYXJvdW5kIGN1cnJlbnQgcGFnZVxuICAgICAgLy8gbGV0IHN0YXJ0ID0gTWF0aC5tYXgoMiwgY3VycmVudFBhZ2UgLSBkZWx0YSk7XG4gICAgICAvLyBsZXQgZW5kID0gTWF0aC5taW4odG90YWxQYWdlcywgY3VycmVudFBhZ2UgKyBkZWx0YSk7XG5cbiAgICAgIC8vIEFkZCBlbGxpcHNpcyBpZiBuZWVkZWQgYmV0d2VlbiAxIGFuZCBzdGFydFxuICAgICAgLy8gaWYgKHN0YXJ0ID4gMikge1xuICAgICAgLy8gICByYW5nZS5wdXNoKFwiLi4uXCIpO1xuICAgICAgLy8gfVxuXG4gICAgICAvLyBBZGQgcGFnZXMgYXJvdW5kIGN1cnJlbnQgcGFnZVxuICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdG90YWxQYWdlczsgaSsrKSB7XG4gICAgICAgIHJhbmdlLnB1c2goaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEFkZCBlbGxpcHNpcyBpZiBuZWVkZWQgYmV0d2VlbiBlbmQgYW5kIGxhc3QgcGFnZVxuICAgICAgLy8gaWYgKGVuZCA8IHRvdGFsUGFnZXMgLSAxKSB7XG4gICAgICAvLyAgIHJhbmdlLnB1c2goXCIuLi5cIik7XG4gICAgICAvLyB9XG5cbiAgICAgIC8vIEFsd2F5cyBpbmNsdWRlIGxhc3QgcGFnZSBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIHBhZ2VcbiAgICAgIC8vIGlmICh0b3RhbFBhZ2VzID4gMSkge1xuICAgICAgLy8gICByYW5nZS5wdXNoKHRvdGFsUGFnZXMpO1xuICAgICAgLy8gfVxuXG4gICAgICByZXR1cm4gcmFuZ2U7XG4gICAgfSxcbiAgICBwYWdpbmF0ZWRPdGhlck1hdGNoZXMoKSB7XG4gICAgICAvLyBTaG93IGl0ZW1zIHVwIHRvIHRoZSBjdXJyZW50IHBhZ2UgKGxvYWQgbW9yZSBhcHByb2FjaClcbiAgICAgIHJldHVybiB0aGlzLm90aGVyTWF0Y2hlcy5zbGljZShcbiAgICAgICAgMCxcbiAgICAgICAgdGhpcy5vdGhlck1hdGNoZXNDdXJyZW50UGFnZSAqIHRoaXMub3RoZXJNYXRjaGVzUGVyUGFnZVxuICAgICAgKTtcbiAgICB9LFxuICAgIGhhc01vcmVPdGhlck1hdGNoZXMoKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYWdpbmF0ZWRPdGhlck1hdGNoZXMubGVuZ3RoIDwgdGhpcy5vdGhlck1hdGNoZXMubGVuZ3RoO1xuICAgIH0sXG4gICAgZXhhY3RNYXRjaGVzKCkge1xuICAgICAgbGV0IGV4YWN0TWF0Y2hlcyA9IHRoaXMuX3NlYXJjaFJlc3VsdHMuY2FtcGluZ3M7XG5cbiAgICAgIGlmICh0aGlzLnNlYXJjaERhdGEubG9zICYmIHRoaXMuc2VhcmNoRGF0YS5hcnJpdmFsRGF0ZSkge1xuICAgICAgICBleGFjdE1hdGNoZXMgPSB0aGlzLl9zZWFyY2hSZXN1bHRzLmNhbXBpbmdzLmZpbHRlcihcbiAgICAgICAgICAoaXRlbSkgPT5cbiAgICAgICAgICAgIGl0ZW0uYXZhaWxhYmlsaXR5WzBdPy5sb3MgPT09IHRoaXMuc2VhcmNoRGF0YS5sb3MgJiZcbiAgICAgICAgICAgIGl0ZW0uYXZhaWxhYmlsaXR5WzBdPy5kYXRlMS5mb3JtYXQoKSA9PT0gdGhpcy5zZWFyY2hEYXRhLmFycml2YWxEYXRlXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGxldCBzb3J0ID0gXCJuZXdcIjtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5zZWFyY2hEYXRhLmRhdGVbMF0gJiZcbiAgICAgICAgdGhpcy5zZWFyY2hEYXRhLmRhdGVbMV0gJiZcbiAgICAgICAgdGhpcy5zZWFyY2hEYXRhLnNvcnQgPT09IFwicHJpY2VBc2NcIlxuICAgICAgKSB7XG4gICAgICAgIHNvcnQgPSBcInByaWNlQXNjXCI7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuc2VhcmNoRGF0YS5kYXRlWzBdICYmXG4gICAgICAgIHRoaXMuc2VhcmNoRGF0YS5kYXRlWzFdICYmXG4gICAgICAgIHRoaXMuc2VhcmNoRGF0YS5zb3J0ID09PSBcInByaWNlRGVzY1wiXG4gICAgICApIHtcbiAgICAgICAgc29ydCA9IFwicHJpY2VEZXNjXCI7XG4gICAgICB9XG5cbiAgICAgIGlmIChzb3J0ID09PSBcInByaWNlQXNjXCIpIHtcbiAgICAgICAgZXhhY3RNYXRjaGVzLnNvcnQoXG4gICAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICBwYXJzZUZsb2F0KGEuYXZhaWxhYmlsaXR5WzBdLnJlbnRQcmljZS52YWx1ZSAqIDEwMCkgLVxuICAgICAgICAgICAgcGFyc2VGbG9hdChiLmF2YWlsYWJpbGl0eVswXS5yZW50UHJpY2UudmFsdWUgKiAxMDApXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHNvcnQgPT09IFwicHJpY2VEZXNjXCIpIHtcbiAgICAgICAgZXhhY3RNYXRjaGVzLnNvcnQoXG4gICAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICBwYXJzZUZsb2F0KGIuYXZhaWxhYmlsaXR5WzBdLnJlbnRQcmljZS52YWx1ZSAqIDEwMCkgLVxuICAgICAgICAgICAgcGFyc2VGbG9hdChhLmF2YWlsYWJpbGl0eVswXS5yZW50UHJpY2UudmFsdWUgKiAxMDApXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHNvcnQgPT09IFwibmV3XCIpIHtcbiAgICAgICAgZXhhY3RNYXRjaGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICBjb25zdCBsYWJlbEEgPVxuICAgICAgICAgICAgKGEuY2FtcGluZy5jYW1waW5nX2xhYmVscyA/PyBbXSlcbiAgICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICAoaXRlbSkgPT4gaXRlbT8uc2VhcmNoUHJpb3JpdHkgPCAwIHx8IGl0ZW0/LnNlYXJjaFByaW9yaXR5ID4gMFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PlxuICAgICAgICAgICAgICAgIGEucHJpb3JpdHkgPT09IGIucHJpb3JpdHkgPyAwIDogYS5wcmlvcml0eSAtIGIucHJpb3JpdHlcbiAgICAgICAgICAgICAgKVswXSA/PyBudWxsO1xuICAgICAgICAgIGNvbnN0IGxhYmVsQiA9XG4gICAgICAgICAgICAoYi5jYW1waW5nLmNhbXBpbmdfbGFiZWxzID8/IFtdKVxuICAgICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChpdGVtKSA9PiBpdGVtPy5zZWFyY2hQcmlvcml0eSA8IDAgfHwgaXRlbT8uc2VhcmNoUHJpb3JpdHkgPiAwXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+XG4gICAgICAgICAgICAgICAgYS5wcmlvcml0eSA9PT0gYi5wcmlvcml0eSA/IDAgOiBhLnByaW9yaXR5IC0gYi5wcmlvcml0eVxuICAgICAgICAgICAgICApWzBdID8/IG51bGw7XG5cbiAgICAgICAgICBpZiAobGFiZWxBIHx8IGxhYmVsQikge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKGxhYmVsQj8uc2VhcmNoUHJpb3JpdHkgPz8gMCkgLSAobGFiZWxBPy5zZWFyY2hQcmlvcml0eSA/PyAwKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgYi5jcmVhdGlvbkRhdGUuJGRhdGUuJG51bWJlckxvbmcgLSBhLmNyZWF0aW9uRGF0ZS4kZGF0ZS4kbnVtYmVyTG9uZ1xuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXhhY3RNYXRjaGVzLnNvcnQoXG4gICAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICB0aGlzLmRpc3RhbmNlKFxuICAgICAgICAgICAgICBhLmNhbXBpbmcubGF0aXR1ZGUsXG4gICAgICAgICAgICAgIGEuY2FtcGluZy5sb25naXR1ZGUsXG4gICAgICAgICAgICAgIHRoaXMuY2l0eS5sYXRpdHVkZSxcbiAgICAgICAgICAgICAgdGhpcy5jaXR5LmxvbmdpdHVkZVxuICAgICAgICAgICAgKSAtXG4gICAgICAgICAgICB0aGlzLmRpc3RhbmNlKFxuICAgICAgICAgICAgICBiLmNhbXBpbmcubGF0aXR1ZGUsXG4gICAgICAgICAgICAgIGIuY2FtcGluZy5sb25naXR1ZGUsXG4gICAgICAgICAgICAgIHRoaXMuY2l0eS5sYXRpdHVkZSxcbiAgICAgICAgICAgICAgdGhpcy5jaXR5LmxvbmdpdHVkZVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZXhhY3RNYXRjaGVzO1xuICAgIH0sXG4gICAgb3RoZXJNYXRjaGVzKCkge1xuICAgICAgaWYgKCF0aGlzLnNlYXJjaERhdGEubG9zIHx8ICF0aGlzLnNlYXJjaERhdGEuYXJyaXZhbERhdGUpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvdGhlck1hdGNoZXMgPSB0aGlzLl9zZWFyY2hSZXN1bHRzLmNhbXBpbmdzLmZpbHRlcihcbiAgICAgICAgKGl0ZW0pID0+XG4gICAgICAgICAgaXRlbS5hdmFpbGFiaWxpdHlbMF0/LmxvcyAhPT0gdGhpcy5zZWFyY2hEYXRhLmxvcyB8fFxuICAgICAgICAgIGl0ZW0uYXZhaWxhYmlsaXR5WzBdPy5kYXRlMS5mb3JtYXQoKSAhPT0gdGhpcy5zZWFyY2hEYXRhLmFycml2YWxEYXRlXG4gICAgICApO1xuXG4gICAgICBsZXQgc29ydCA9IFwibmV3XCI7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuc2VhcmNoRGF0YS5kYXRlWzBdICYmXG4gICAgICAgIHRoaXMuc2VhcmNoRGF0YS5kYXRlWzFdICYmXG4gICAgICAgIHRoaXMuc2VhcmNoRGF0YS5zb3J0ID09PSBcInByaWNlQXNjXCJcbiAgICAgICkge1xuICAgICAgICBzb3J0ID0gXCJwcmljZUFzY1wiO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnNlYXJjaERhdGEuZGF0ZVswXSAmJlxuICAgICAgICB0aGlzLnNlYXJjaERhdGEuZGF0ZVsxXSAmJlxuICAgICAgICB0aGlzLnNlYXJjaERhdGEuc29ydCA9PT0gXCJwcmljZURlc2NcIlxuICAgICAgKSB7XG4gICAgICAgIHNvcnQgPSBcInByaWNlRGVzY1wiO1xuICAgICAgfVxuXG4gICAgICBpZiAoc29ydCA9PT0gXCJwcmljZUFzY1wiKSB7XG4gICAgICAgIG90aGVyTWF0Y2hlcy5zb3J0KFxuICAgICAgICAgIChhLCBiKSA9PlxuICAgICAgICAgICAgcGFyc2VGbG9hdChhLmF2YWlsYWJpbGl0eVswXS5yZW50UHJpY2UudmFsdWUgKiAxMDApIC1cbiAgICAgICAgICAgIHBhcnNlRmxvYXQoYi5hdmFpbGFiaWxpdHlbMF0ucmVudFByaWNlLnZhbHVlICogMTAwKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChzb3J0ID09PSBcInByaWNlRGVzY1wiKSB7XG4gICAgICAgIG90aGVyTWF0Y2hlcy5zb3J0KFxuICAgICAgICAgIChhLCBiKSA9PlxuICAgICAgICAgICAgcGFyc2VGbG9hdChiLmF2YWlsYWJpbGl0eVswXS5yZW50UHJpY2UudmFsdWUgKiAxMDApIC1cbiAgICAgICAgICAgIHBhcnNlRmxvYXQoYS5hdmFpbGFiaWxpdHlbMF0ucmVudFByaWNlLnZhbHVlICogMTAwKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChzb3J0ID09PSBcIm5ld1wiKSB7XG4gICAgICAgIG90aGVyTWF0Y2hlcy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgICAgY29uc3QgbGFiZWxBID1cbiAgICAgICAgICAgIChhLmNhbXBpbmcuY2FtcGluZ19sYWJlbHMgPz8gW10pXG4gICAgICAgICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgICAgICAgKGl0ZW0pID0+IGl0ZW0/LnNlYXJjaFByaW9yaXR5IDwgMCB8fCBpdGVtPy5zZWFyY2hQcmlvcml0eSA+IDBcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAuc29ydCgoYSwgYikgPT5cbiAgICAgICAgICAgICAgICBhLnByaW9yaXR5ID09PSBiLnByaW9yaXR5ID8gMCA6IGEucHJpb3JpdHkgLSBiLnByaW9yaXR5XG4gICAgICAgICAgICAgIClbMF0gPz8gbnVsbDtcbiAgICAgICAgICBjb25zdCBsYWJlbEIgPVxuICAgICAgICAgICAgKGIuY2FtcGluZy5jYW1waW5nX2xhYmVscyA/PyBbXSlcbiAgICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICAoaXRlbSkgPT4gaXRlbT8uc2VhcmNoUHJpb3JpdHkgPCAwIHx8IGl0ZW0/LnNlYXJjaFByaW9yaXR5ID4gMFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PlxuICAgICAgICAgICAgICAgIGEucHJpb3JpdHkgPT09IGIucHJpb3JpdHkgPyAwIDogYS5wcmlvcml0eSAtIGIucHJpb3JpdHlcbiAgICAgICAgICAgICAgKVswXSA/PyBudWxsO1xuXG4gICAgICAgICAgaWYgKGxhYmVsQSB8fCBsYWJlbEIpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIChsYWJlbEI/LnNlYXJjaFByaW9yaXR5ID8/IDApIC0gKGxhYmVsQT8uc2VhcmNoUHJpb3JpdHkgPz8gMClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGIuY3JlYXRpb25EYXRlLiRkYXRlLiRudW1iZXJMb25nIC0gYS5jcmVhdGlvbkRhdGUuJGRhdGUuJG51bWJlckxvbmdcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG90aGVyTWF0Y2hlcy5zb3J0KFxuICAgICAgICAgIChhLCBiKSA9PlxuICAgICAgICAgICAgdGhpcy5kaXN0YW5jZShcbiAgICAgICAgICAgICAgYS5jYW1waW5nLmxhdGl0dWRlLFxuICAgICAgICAgICAgICBhLmNhbXBpbmcubG9uZ2l0dWRlLFxuICAgICAgICAgICAgICB0aGlzLmNpdHkubGF0aXR1ZGUsXG4gICAgICAgICAgICAgIHRoaXMuY2l0eS5sb25naXR1ZGVcbiAgICAgICAgICAgICkgLVxuICAgICAgICAgICAgdGhpcy5kaXN0YW5jZShcbiAgICAgICAgICAgICAgYi5jYW1waW5nLmxhdGl0dWRlLFxuICAgICAgICAgICAgICBiLmNhbXBpbmcubG9uZ2l0dWRlLFxuICAgICAgICAgICAgICB0aGlzLmNpdHkubGF0aXR1ZGUsXG4gICAgICAgICAgICAgIHRoaXMuY2l0eS5sb25naXR1ZGVcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG90aGVyTWF0Y2hlcztcbiAgICB9LFxuICAgIHNob3dFcnJvckNvbXBvbmVudCgpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuc2VhcmNoU3RhdHVzLmRhdGFMb2FkZWQgJiZcbiAgICAgICAgdGhpcy5leGFjdE1hdGNoZXMubGVuZ3RoID09PSAwICYmXG4gICAgICAgIHRoaXMub3RoZXJNYXRjaGVzLmxlbmd0aCA9PT0gMFxuICAgICAgKTtcbiAgICB9LFxuICAgIG1hcmtlckJ1dHRvbkNsYXNzKCkge1xuICAgICAgcmV0dXJuIChpbmRleCkgPT5cbiAgICAgICAgdGhpcy5zZWxlY3RlZE1hcmtlckluZGV4ID09PSBpbmRleFxuICAgICAgICAgID8gXCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGJ0bi1jaXJjbGUgbm8tc3ZnLWFuaW1hdGlvblwiIC8vIEFsdGVybmF0aXZlIGNsYXNzIHdoZW4gc2VsZWN0ZWRcbiAgICAgICAgICA6IFwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLWNpcmNsZSBuby1zdmctYW5pbWF0aW9uXCI7IC8vIERlZmF1bHQgY2xhc3NcbiAgICB9LFxuICAgIG1hcmtlckJ1dHRvbk90aGVyc0NsYXNzKCkge1xuICAgICAgcmV0dXJuIChpbmRleCkgPT5cbiAgICAgICAgdGhpcy5zZWxlY3RlZE1hcmtlckluZGV4ID09PSBpbmRleFxuICAgICAgICAgID8gXCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBidG4tY2lyY2xlIG5vLXN2Zy1hbmltYXRpb25cIiAvLyBBbHRlcm5hdGl2ZSBjbGFzcyB3aGVuIHNlbGVjdGVkXG4gICAgICAgICAgOiBcImJ0biBidG4tcHJpbWFyeSBidG4tY2lyY2xlIG5vLXN2Zy1hbmltYXRpb25cIjsgLy8gRGVmYXVsdCBjbGFzc1xuICAgIH0sXG4gICAgbWFya2VyQnV0dG9uU3ZnQ29sb3IoKSB7XG4gICAgICByZXR1cm4gKGluZGV4KSA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkTWFya2VySW5kZXggPT09IGluZGV4XG4gICAgICAgICAgPyBcInVybCgjZ3JhZGllbnQpXCIgLy8gQWx0ZXJuYXRpdmUgY2xhc3Mgd2hlbiBzZWxlY3RlZFxuICAgICAgICAgIDogXCJ3aGl0ZVwiOyAvLyBEZWZhdWx0IGNsYXNzXG4gICAgfSxcbiAgICBtYXJrZXJCdXR0b25PdGhlclN2Z0NvbG9yKCkge1xuICAgICAgcmV0dXJuIChpbmRleCkgPT5cbiAgICAgICAgdGhpcy5zZWxlY3RlZE1hcmtlckluZGV4ID09PSBpbmRleFxuICAgICAgICAgID8gXCIjRUI4NzJCXCIgLy8gQWx0ZXJuYXRpdmUgY2xhc3Mgd2hlbiBzZWxlY3RlZFxuICAgICAgICAgIDogXCJ3aGl0ZVwiOyAvLyBEZWZhdWx0IGNsYXNzXG4gICAgfSxcblxuICAgIGNhbGN1bGF0ZWRDZW50ZXIoKSB7XG4gICAgICBsZXQgbG9uZ2l0dWRlcyA9IHRoaXMuZXhhY3RNYXRjaGVzLm1hcCgoaXRlbSkgPT4gaXRlbS5jYW1waW5nLmxvbmdpdHVkZSk7XG4gICAgICBsZXQgbGF0aXR1ZGVzID0gdGhpcy5leGFjdE1hdGNoZXMubWFwKChpdGVtKSA9PiBpdGVtLmNhbXBpbmcubGF0aXR1ZGUpO1xuXG4gICAgICBpZiAoIXRoaXMuc2hvd09ubHlFeGFjdE1hdGNoZXMpIHtcbiAgICAgICAgbG9uZ2l0dWRlcyA9IFtcbiAgICAgICAgICAuLi5sb25naXR1ZGVzLFxuICAgICAgICAgIC4uLnRoaXMub3RoZXJNYXRjaGVzLm1hcCgoaXRlbSkgPT4gaXRlbS5jYW1waW5nLmxvbmdpdHVkZSksXG4gICAgICAgIF07XG4gICAgICAgIGxhdGl0dWRlcyA9IFtcbiAgICAgICAgICAuLi5sYXRpdHVkZXMsXG4gICAgICAgICAgLi4udGhpcy5vdGhlck1hdGNoZXMubWFwKChpdGVtKSA9PiBpdGVtLmNhbXBpbmcubGF0aXR1ZGUpLFxuICAgICAgICBdO1xuICAgICAgfVxuXG4gICAgICBsb25naXR1ZGVzLnNvcnQoKGEsIGIpID0+IHBhcnNlRmxvYXQoYSkgLSBwYXJzZUZsb2F0KGIpKTtcbiAgICAgIGxhdGl0dWRlcy5zb3J0KChhLCBiKSA9PiBwYXJzZUZsb2F0KGEpIC0gcGFyc2VGbG9hdChiKSk7XG5cbiAgICAgIGNvbnN0IG1pbkxvbiA9IHBhcnNlRmxvYXQoXG4gICAgICAgIGxvbmdpdHVkZXNbMF0gPz8gdGhpcy5yZWZlcmVuY2VDaXRpZXNbdGhpcy5yZWZlcmVuY2VDaXR5XS5sb25naXR1ZGVcbiAgICAgICk7XG4gICAgICBjb25zdCBtaW5MYXQgPSBwYXJzZUZsb2F0KFxuICAgICAgICBsYXRpdHVkZXNbMF0gPz8gdGhpcy5yZWZlcmVuY2VDaXRpZXNbdGhpcy5yZWZlcmVuY2VDaXR5XS5sYXRpdHVkZVxuICAgICAgKTtcblxuICAgICAgbG9uZ2l0dWRlcy5zb3J0KChhLCBiKSA9PiBwYXJzZUZsb2F0KGIpIC0gcGFyc2VGbG9hdChhKSk7XG4gICAgICBsYXRpdHVkZXMuc29ydCgoYSwgYikgPT4gcGFyc2VGbG9hdChiKSAtIHBhcnNlRmxvYXQoYSkpO1xuXG4gICAgICBjb25zdCBtYXhMb24gPSBwYXJzZUZsb2F0KFxuICAgICAgICBsb25naXR1ZGVzWzBdID8/IHRoaXMucmVmZXJlbmNlQ2l0aWVzW3RoaXMucmVmZXJlbmNlQ2l0eV0ubG9uZ2l0dWRlXG4gICAgICApO1xuICAgICAgY29uc3QgbWF4TGF0ID0gcGFyc2VGbG9hdChcbiAgICAgICAgbGF0aXR1ZGVzWzBdID8/IHRoaXMucmVmZXJlbmNlQ2l0aWVzW3RoaXMucmVmZXJlbmNlQ2l0eV0ubGF0aXR1ZGVcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGNlbnRlckxhdCA9IChtaW5MYXQgKyBtYXhMYXQpIC8gMjtcbiAgICAgIGNvbnN0IGNlbnRlckxvbiA9IChtaW5Mb24gKyBtYXhMb24pIC8gMjtcblxuICAgICAgcmV0dXJuIHsgbGF0OiBjZW50ZXJMYXQsIGxuZzogY2VudGVyTG9uIH07XG4gICAgfSxcbiAgICBjYWxjdWxhdGVkWm9vbSgpIHtcbiAgICAgIGxldCBsb25naXR1ZGVzID0gdGhpcy5leGFjdE1hdGNoZXMubWFwKChpdGVtKSA9PiBpdGVtLmNhbXBpbmcubG9uZ2l0dWRlKTtcbiAgICAgIGxldCBsYXRpdHVkZXMgPSB0aGlzLmV4YWN0TWF0Y2hlcy5tYXAoKGl0ZW0pID0+IGl0ZW0uY2FtcGluZy5sYXRpdHVkZSk7XG5cbiAgICAgIGlmICghdGhpcy5zaG93T25seUV4YWN0TWF0Y2hlcykge1xuICAgICAgICBsb25naXR1ZGVzID0gW1xuICAgICAgICAgIC4uLmxvbmdpdHVkZXMsXG4gICAgICAgICAgLi4udGhpcy5vdGhlck1hdGNoZXMubWFwKChpdGVtKSA9PiBpdGVtLmNhbXBpbmcubG9uZ2l0dWRlKSxcbiAgICAgICAgXTtcbiAgICAgICAgbGF0aXR1ZGVzID0gW1xuICAgICAgICAgIC4uLmxhdGl0dWRlcyxcbiAgICAgICAgICAuLi50aGlzLm90aGVyTWF0Y2hlcy5tYXAoKGl0ZW0pID0+IGl0ZW0uY2FtcGluZy5sYXRpdHVkZSksXG4gICAgICAgIF07XG4gICAgICB9XG5cbiAgICAgIGxvbmdpdHVkZXMuc29ydCgoYSwgYikgPT4gcGFyc2VGbG9hdChhKSAtIHBhcnNlRmxvYXQoYikpO1xuICAgICAgbGF0aXR1ZGVzLnNvcnQoKGEsIGIpID0+IHBhcnNlRmxvYXQoYSkgLSBwYXJzZUZsb2F0KGIpKTtcblxuICAgICAgY29uc3QgbWluTG9uID0gcGFyc2VGbG9hdChcbiAgICAgICAgbG9uZ2l0dWRlc1swXSA/PyB0aGlzLnJlZmVyZW5jZUNpdGllc1t0aGlzLnJlZmVyZW5jZUNpdHldLmxvbmdpdHVkZVxuICAgICAgKTtcbiAgICAgIGNvbnN0IG1pbkxhdCA9IHBhcnNlRmxvYXQoXG4gICAgICAgIGxhdGl0dWRlc1swXSA/PyB0aGlzLnJlZmVyZW5jZUNpdGllc1t0aGlzLnJlZmVyZW5jZUNpdHldLmxhdGl0dWRlXG4gICAgICApO1xuXG4gICAgICBsb25naXR1ZGVzLnNvcnQoKGEsIGIpID0+IHBhcnNlRmxvYXQoYikgLSBwYXJzZUZsb2F0KGEpKTtcbiAgICAgIGxhdGl0dWRlcy5zb3J0KChhLCBiKSA9PiBwYXJzZUZsb2F0KGIpIC0gcGFyc2VGbG9hdChhKSk7XG5cbiAgICAgIGNvbnN0IG1heExvbiA9IHBhcnNlRmxvYXQoXG4gICAgICAgIGxvbmdpdHVkZXNbMF0gPz8gdGhpcy5yZWZlcmVuY2VDaXRpZXNbdGhpcy5yZWZlcmVuY2VDaXR5XS5sb25naXR1ZGVcbiAgICAgICk7XG4gICAgICBjb25zdCBtYXhMYXQgPSBwYXJzZUZsb2F0KFxuICAgICAgICBsYXRpdHVkZXNbMF0gPz8gdGhpcy5yZWZlcmVuY2VDaXRpZXNbdGhpcy5yZWZlcmVuY2VDaXR5XS5sYXRpdHVkZVxuICAgICAgKTtcblxuICAgICAgY29uc3QgY2VudGVyTGF0ID0gKG1pbkxhdCArIG1heExhdCkgLyAyO1xuICAgICAgY29uc3QgY2VudGVyTG9uID0gKG1pbkxvbiArIG1heExvbikgLyAyO1xuXG4gICAgICBtYXhMYXREaXN0YW5jZSA9IHRoaXMuZGlzdGFuY2UobWluTGF0LCBjZW50ZXJMb24sIG1heExhdCwgY2VudGVyTG9uKTtcbiAgICAgIG1heExvbkRpc3RhbmNlID0gdGhpcy5kaXN0YW5jZShjZW50ZXJMYXQsIG1pbkxvbiwgY2VudGVyTGF0LCBtYXhMb24pO1xuICAgIH0sXG4gIH0sXG5cbiAgbWV0aG9kczoge1xuICAgIHNjcm9sbFRvVG9wKCkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIuem9lay1ib2VrLWxpc3QtdG9wYmFyXCIpO1xuICAgICAgLy8gVXNlIGZlYXR1cmUgZGV0ZWN0aW9uIGZvciBzbW9vdGggc2Nyb2xsaW5nIGFzIHBlciBtZW1vcnkgYWJvdXQgaU9TIFNhZmFyaSBjb21wYXRpYmlsaXR5XG4gICAgICBpZiAoXCJzY3JvbGxCZWhhdmlvclwiIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSkge1xuICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHtcbiAgICAgICAgICBiZWhhdmlvcjogXCJzbW9vdGhcIixcbiAgICAgICAgICBibG9jazogXCJzdGFydFwiLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgc21vb3RoIHNjcm9sbGluZ1xuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBzY3JvbGxUb0VsZW1lbnQoZWxlbWVudCwgY2FyZCkge1xuICAgICAgLy8gVXNlIGZlYXR1cmUgZGV0ZWN0aW9uIGZvciBzbW9vdGggc2Nyb2xsaW5nIGFzIHBlciBtZW1vcnkgYWJvdXQgaU9TIFNhZmFyaSBjb21wYXRpYmlsaXR5XG4gICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAvLyBPbmx5IG1vYmlsZSB2aWV3IHdpdGhvdXQgY2FyZCBuZWVkcyBhIGRpZmZlcmVudCBvZmZzZXRcbiAgICAgICAgLy8gT3RoZXJ3aXNlIHVzZSB0aGUgc3RhbmRhcmQgb2Zmc2V0IGZvciBhbGwgb3RoZXIgc2NlbmFyaW9zXG4gICAgICAgIGNvbnN0IHlPZmZzZXQgPSAhdGhpcy5pc0Rlc2t0b3AgJiYgIWNhcmQgPyAtMTAwIDogLTE3MDtcblxuICAgICAgICBjb25zdCB5ID1cbiAgICAgICAgICBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5wYWdlWU9mZnNldCArIHlPZmZzZXQ7XG5cbiAgICAgICAgaWYgKFwic2Nyb2xsQmVoYXZpb3JcIiBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUpIHtcbiAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgdG9wOiB5LFxuICAgICAgICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBzbW9vdGggc2Nyb2xsaW5nIChpT1MgU2FmYXJpKVxuICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCB5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgZ29Ub1BhZ2VFeGFjdE1hdGNoZXMocGFnZSkge1xuICAgICAgLy8gRG9uJ3QgcHJvY2VlZCBpZiBpdCdzIGFuIGVsbGlwc2lzIG9yIGludmFsaWQgcGFnZVxuICAgICAgaWYgKHBhZ2UgPT09IFwiLi4uXCIgfHwgcGFnZSA8IDEgfHwgcGFnZSA+IHRoaXMudG90YWxQYWdlc0V4YWN0TWF0Y2hlcykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnpvZWstYm9lay1saXN0LXRvcGJhclwiKTtcblxuICAgICAgLy8gVG8gZml4IHRoZSBhbmltYXRpb24gaXNzdWUgb24gcGFnaW5hdGlvbiwgd2UgbmVlZCB0bzpcbiAgICAgIC8vIDEuIEZpcnN0IHJlc2V0IGFsbCB0cmFuc2l0aW9uIGRlbGF5cyAoY2xlYW4gc2xhdGUpXG4gICAgICAvLyAyLiBTZXQgdGhlIHBhZ2Ugd2hpY2ggdXBkYXRlcyB0aGUgY29udGVudFxuICAgICAgLy8gMy4gUmUtYXBwbHkgdGhlIHRyYW5zaXRpb25zIHdpdGggYSBzbGlnaHQgZGVsYXkgdG8gZW5zdXJlIFZ1ZSBoYXMgcHJvY2Vzc2VkIHRoZSBjaGFuZ2VcblxuICAgICAgLy8gUmVzZXQgYWxsIHRyYW5zaXRpb24gZGVsYXlzXG4gICAgICBjb25zdCBjdXJyZW50Q2FyZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICBcIi5leGFjdE1hdGNoZXMgLmNhcmQtaXRlbVwiXG4gICAgICApO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjdXJyZW50Q2FyZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY3VycmVudENhcmRzW2ldLnN0eWxlLnRyYW5zaXRpb25EZWxheSA9IFwiMG1zXCI7XG4gICAgICB9XG5cbiAgICAgIC8vIFNldCB0aGUgbmV3IHBhZ2VcbiAgICAgIHRoaXMuZXhhY3RNYXRjaGVzQ3VycmVudFBhZ2UgPSBwYWdlO1xuXG4gICAgICAvLyBGb3JjZSBhIHJlcGFpbnQgdG8gaGVscCB3aXRoIHRoZSB0cmFuc2l0aW9uXG4gICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmV4YWN0TWF0Y2hlc1wiKS5zdHlsZS5vcGFjaXR5ID0gMC45OTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmV4YWN0TWF0Y2hlc1wiKS5zdHlsZS5vcGFjaXR5ID0gMTtcbiAgICAgIH0sIDEwKTtcblxuICAgICAgLy8gQWZ0ZXIgVnVlIGhhcyB1cGRhdGVkIHRoZSBET00sIHJlLWFwcGx5IHRoZSBzdGFnZ2VyIHRpbWluZ1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNhcmRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi5leGFjdE1hdGNoZXMgLmNhcmQtaXRlbVwiKTtcblxuICAgICAgICAvLyBSZXNldCBhbGwgY2FyZHMgZmlyc3RcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYXJkcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGNhcmRzW2ldLmNsYXNzTGlzdC5yZW1vdmUoXCJjYXJkLWFuaW1hdGlvbi1hcHBseVwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvcmNlIGEgcmVmbG93IGJlZm9yZSBhcHBseWluZyBhbmltYXRpb25zXG4gICAgICAgIHZvaWQgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5leGFjdE1hdGNoZXNcIikub2Zmc2V0V2lkdGg7XG5cbiAgICAgICAgLy8gQXBwbHkgc3RhZ2dlcmVkIGFuaW1hdGlvbnNcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYXJkcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIC8vIFVzZSBDU1MgY3VzdG9tIHByb3BlcnR5IGZvciB0aGUgYW5pbWF0aW9uIGRlbGF5XG4gICAgICAgICAgY29uc3QgZGVsYXkgPSAoaSArIDEpICogMTIwO1xuICAgICAgICAgIGNhcmRzW2ldLnN0eWxlLnNldFByb3BlcnR5KFwiLS1hbmltYXRpb24tZGVsYXlcIiwgZGVsYXkgKyBcIm1zXCIpO1xuXG4gICAgICAgICAgLy8gRm9yY2UgZWFjaCBjYXJkIHRvIHJlcGFpbnQgYmVmb3JlIGFuaW1hdGlvblxuICAgICAgICAgIHZvaWQgY2FyZHNbaV0ub2Zmc2V0V2lkdGg7XG5cbiAgICAgICAgICAvLyBBZGQgYW5pbWF0aW9uIGNsYXNzIHRvIHRyaWdnZXIgYW5pbWF0aW9uXG4gICAgICAgICAgY2FyZHNbaV0uY2xhc3NMaXN0LmFkZChcImNhcmQtYW5pbWF0aW9uLWFwcGx5XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2xlYW51cCBhbmltYXRpb24gY2xhc3NlcyBhZnRlciBhbGwgYW5pbWF0aW9ucyBjb21wbGV0ZVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBjb25zdCBhbmltYXRlZENhcmRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgIFwiLmNhcmQtYW5pbWF0aW9uLWFwcGx5XCJcbiAgICAgICAgICApO1xuICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgYW5pbWF0ZWRDYXJkcy5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgLy8gS2VlcCB0aGUgdmlzaWJsZSBzdGF0ZSBidXQgcmVtb3ZlIGFuaW1hdGlvbiBjbGFzc1xuICAgICAgICAgICAgYW5pbWF0ZWRDYXJkc1tqXS5zdHlsZS5vcGFjaXR5ID0gMTtcbiAgICAgICAgICAgIGFuaW1hdGVkQ2FyZHNbal0uY2xhc3NMaXN0LnJlbW92ZShcImNhcmQtYW5pbWF0aW9uLWFwcGx5XCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgY2FyZHMubGVuZ3RoICogMTIwICsgOTYwKTsgLy8gV2FpdCBmb3IgYWxsIGFuaW1hdGlvbnMgdG8gY29tcGxldGVcblxuICAgICAgICAvLyBTY3JvbGwgdG8gdGhlIHRvcCBvZiB0aGUgcmVzdWx0cyBhcmVhXG4gICAgICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KGVsZW1lbnQpO1xuICAgICAgfSwgNTApOyAvLyBTaG9ydCBkZWxheSB0byBlbnN1cmUgRE9NIGhhcyB1cGRhdGVkXG4gICAgfSxcbiAgICBsb2FkTW9yZUV4YWN0TWF0Y2hlcygpIHtcbiAgICAgIC8vIE9yaWdpbmFsIGxvYWQgbW9yZSBmdW5jdGlvbmFsaXR5XG4gICAgICBjb25zdCBwcmV2aW91c0NvdW50ID1cbiAgICAgICAgKHRoaXMuZXhhY3RNYXRjaGVzQ3VycmVudFBhZ2UgLSAxKSAqIHRoaXMuZXhhY3RNYXRjaGVzUGVyUGFnZTtcbiAgICAgIHRoaXMuZXhhY3RNYXRjaGVzQ3VycmVudFBhZ2UrKztcblxuICAgICAgLy8gQXBwbHkgYW5pbWF0aW9uIGRlbGF5cyBvbmx5IHRvIG5ld2x5IGxvYWRlZCBjYXJkc1xuICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4ge1xuICAgICAgICBjb25zdCBhbGxDYXJkcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICAgXCIuZXhhY3RNYXRjaGVzIC5jYXJkLWFuaW1hdGlvbi1lbnRlci1hY3RpdmVcIlxuICAgICAgICApO1xuXG4gICAgICAgIGxldCBmaXJzdE5ld0NhcmRFeGFjdCA9IG51bGw7XG5cbiAgICAgICAgQXJyYXkuZnJvbShhbGxDYXJkcykuZm9yRWFjaCgoY2FyZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAvLyBPbmx5IGFwcGx5IGRlbGF5IHRvIG5ld2x5IGxvYWRlZCBjYXJkc1xuICAgICAgICAgIGlmIChpbmRleCA+PSBwcmV2aW91c0NvdW50KSB7XG4gICAgICAgICAgICAvLyBSZXNldCB0aGUgaW5kZXggdG8gc3RhcnQgZnJvbSAwIGZvciBlYWNoIG5ldyBiYXRjaFxuICAgICAgICAgICAgY29uc3QgbmV3SW5kZXggPSBpbmRleCAtIHByZXZpb3VzQ291bnQ7XG4gICAgICAgICAgICBjYXJkLnN0eWxlLnRyYW5zaXRpb25EZWxheSA9IChuZXdJbmRleCArIDEpICogMTAwICsgXCJtc1wiO1xuXG4gICAgICAgICAgICAvLyBTdG9yZSB0aGUgZmlyc3QgbmV3IGNhcmQgZm9yIHNjcm9sbGluZ1xuICAgICAgICAgICAgaWYgKG5ld0luZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgIGZpcnN0TmV3Q2FyZEV4YWN0ID0gY2FyZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFNjcm9sbCB0byB0aGUgZmlyc3QgbmV3IGNhcmQgYWZ0ZXIgYSBzbGlnaHQgZGVsYXkgdG8gYWxsb3cgZm9yIERPTSB1cGRhdGVzXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KGZpcnN0TmV3Q2FyZEV4YWN0LCB0cnVlKTtcbiAgICAgICAgfSwgMjUwKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgbG9hZE1vcmVPdGhlck1hdGNoZXMoKSB7XG4gICAgICAvLyBJbmNyZW1lbnQgdGhlIHBhZ2UgY291bnRlclxuICAgICAgdGhpcy5vdGhlck1hdGNoZXNDdXJyZW50UGFnZSsrO1xuXG4gICAgICAvLyBXYWl0IGZvciBWdWUgdG8gdXBkYXRlIHRoZSBET01cbiAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHtcbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgbmV3IGNhcmRcbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9XG4gICAgICAgICAgKHRoaXMub3RoZXJNYXRjaGVzQ3VycmVudFBhZ2UgLSAxKSAqIHRoaXMub3RoZXJNYXRjaGVzUGVyUGFnZTtcblxuICAgICAgICAvLyBGaW5kIGFsbCB0aGUgY2FyZHMgaW4gdGhlIG90aGVyIG1hdGNoZXMgc2VjdGlvblxuICAgICAgICBjb25zdCBjYXJkcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIub3RoZXJNYXRjaGVzIC5jYXJkLWl0ZW1cIik7XG5cbiAgICAgICAgLy8gSWYgd2UgaGF2ZSBjYXJkcyBhdCB0aGlzIGluZGV4LCBhcHBseSB0cmFuc2l0aW9uIGRlbGF5cyBhbmQgc2Nyb2xsXG4gICAgICAgIGlmIChjYXJkcy5sZW5ndGggPiBzdGFydEluZGV4KSB7XG4gICAgICAgICAgLy8gR2V0IHRoZSBmaXJzdCBuZXcgY2FyZFxuICAgICAgICAgIGNvbnN0IGZpcnN0TmV3Q2FyZCA9IGNhcmRzW3N0YXJ0SW5kZXhdO1xuXG4gICAgICAgICAgLy8gQXBwbHkgdHJhbnNpdGlvbiBkZWxheXMgdG8gdGhlIG5ldyBjYXJkc1xuICAgICAgICAgIGZvciAobGV0IGkgPSBzdGFydEluZGV4OyBpIDwgY2FyZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGRlbGF5SW5kZXggPSBpIC0gc3RhcnRJbmRleDtcbiAgICAgICAgICAgIGNhcmRzW2ldLnN0eWxlLnRyYW5zaXRpb25EZWxheSA9IChkZWxheUluZGV4ICsgMSkgKiAxMDAgKyBcIm1zXCI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gU2Nyb2xsIHRvIHRoZSBmaXJzdCBuZXcgY2FyZCB3aXRoIGEgc2xpZ2h0IGRlbGF5XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoZmlyc3ROZXdDYXJkKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KGZpcnN0TmV3Q2FyZCwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBzZW5kR29vZ2xlRXZlbnQoKSB7XG4gICAgICB0aGlzLnNlbmRHb29nbGVQcm9kdWN0SW1wcmVzc2lvbigpO1xuICAgICAgdGhpcy5zZW5kR29vZ2xlVmlld0l0ZW1MaXN0KCk7XG4gICAgfSxcbiAgICBnZXRHb29nbGVQcmljZShjYW1waW5nKSB7XG4gICAgICBjb25zdCBiZXN0TWF0Y2ggPSBjYW1waW5nLmF2YWlsYWJpbGl0eVswXSA/PyBudWxsO1xuXG4gICAgICBpZiAoIWJlc3RNYXRjaCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJlc3RNYXRjaD8ucmVudFByaWNlPy52YWx1ZSA/PyBudWxsO1xuICAgIH0sXG4gICAgZ2V0R29vbGVTdGFydERhdGUoY2FtcGluZykge1xuICAgICAgY29uc3QgYmVzdE1hdGNoID0gY2FtcGluZy5hdmFpbGFiaWxpdHlbMF0gPz8gbnVsbDtcblxuICAgICAgaWYgKCFiZXN0TWF0Y2gpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBiZXN0TWF0Y2guZGF0ZTEgPyBiZXN0TWF0Y2guZGF0ZTEuZm9ybWF0KFwiZC1tLVlcIikgOiBudWxsO1xuICAgIH0sXG4gICAgZ2V0R29vZ2xlRW5kRGF0ZShjYW1waW5nKSB7XG4gICAgICBjb25zdCBiZXN0TWF0Y2ggPSBjYW1waW5nLmF2YWlsYWJpbGl0eVswXSA/PyBudWxsO1xuXG4gICAgICBpZiAoIWJlc3RNYXRjaCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJlc3RNYXRjaC5kYXRlMiA/IGJlc3RNYXRjaC5kYXRlMi5mb3JtYXQoXCJkLW0tWVwiKSA6IG51bGw7XG4gICAgfSxcbiAgICBzZW5kR29vZ2xlUHJvZHVjdEltcHJlc3Npb24oKSB7XG4gICAgICBjb25zdCBpbXByZXNzaW9ucyA9IFtdO1xuICAgICAgbGV0IHBvc2l0aW9uID0gMTtcblxuICAgICAgdGhpcy5leGFjdE1hdGNoZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpbXByZXNzaW9ucy5wdXNoKHtcbiAgICAgICAgICBwYXJrX2lkOiBpdGVtLmNhbXBpbmcuYmV4X2lkLFxuICAgICAgICAgIHBhcmtfbmFtZTogaXRlbS5jYW1waW5nLnRpdGxlLFxuICAgICAgICAgIG5hbWU6IGl0ZW0uY2FtcGluZy50aXRsZSxcbiAgICAgICAgICBjb3VudHJ5OiBpdGVtLmNhbXBpbmcuY291bnRyeSxcbiAgICAgICAgICByZWdpb246IGl0ZW0uY2FtcGluZy5yZWdpb24sXG4gICAgICAgICAgY2l0eTogaXRlbS5jYW1waW5nLmxvY2FsaXR5LFxuICAgICAgICAgIHByaWNlOiB0aGlzLmdldEdvb2dsZVByaWNlKGl0ZW0pID8/IFwiXCIsXG4gICAgICAgICAgY2F0ZWdvcnk6IFwiY2FtcHNpdGVcIixcbiAgICAgICAgICB2YXJpYW50OlxuICAgICAgICAgICAgdGhpcy5nZXRHb29sZVN0YXJ0RGF0ZShpdGVtKSAmJiB0aGlzLmdldEdvb2dsZUVuZERhdGUoaXRlbSlcbiAgICAgICAgICAgICAgPyB0aGlzLmdldEdvb2xlU3RhcnREYXRlKGl0ZW0pICtcbiAgICAgICAgICAgICAgICBcIiAtIFwiICtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEdvb2dsZUVuZERhdGUoaXRlbSlcbiAgICAgICAgICAgICAgOiBcIlwiLFxuICAgICAgICAgIHN0YXJ0X2RhdGU6IHRoaXMuZ2V0R29vbGVTdGFydERhdGUoaXRlbSkgPz8gXCJcIixcbiAgICAgICAgICBlbmRfZGF0ZTogdGhpcy5nZXRHb29nbGVFbmREYXRlKGl0ZW0pID8/IFwiXCIsXG4gICAgICAgICAgYnJhbmQ6IFwiVmlsbGF0ZW50XCIsXG4gICAgICAgICAgcG9zaXRpb246IHBvc2l0aW9uKyssXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICB0aGlzLm90aGVyTWF0Y2hlcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGltcHJlc3Npb25zLnB1c2goe1xuICAgICAgICAgIHBhcmtfaWQ6IGl0ZW0uY2FtcGluZy5iZXhfaWQsXG4gICAgICAgICAgcGFya19uYW1lOiBpdGVtLmNhbXBpbmcudGl0bGUsXG4gICAgICAgICAgbmFtZTogaXRlbS5jYW1waW5nLnRpdGxlLFxuICAgICAgICAgIGNvdW50cnk6IGl0ZW0uY2FtcGluZy5jb3VudHJ5LFxuICAgICAgICAgIHJlZ2lvbjogaXRlbS5jYW1waW5nLnJlZ2lvbixcbiAgICAgICAgICBjaXR5OiBpdGVtLmNhbXBpbmcubG9jYWxpdHksXG4gICAgICAgICAgcHJpY2U6IHRoaXMuZ2V0R29vZ2xlUHJpY2UoaXRlbSkgPz8gXCJcIixcbiAgICAgICAgICBjYXRlZ29yeTogXCJjYW1wc2l0ZVwiLFxuICAgICAgICAgIHZhcmlhbnQ6XG4gICAgICAgICAgICB0aGlzLmdldEdvb2xlU3RhcnREYXRlKGl0ZW0pICYmIHRoaXMuZ2V0R29vZ2xlRW5kRGF0ZShpdGVtKVxuICAgICAgICAgICAgICA/IHRoaXMuZ2V0R29vbGVTdGFydERhdGUoaXRlbSkgK1xuICAgICAgICAgICAgICAgIFwiIC0gXCIgK1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0R29vZ2xlRW5kRGF0ZShpdGVtKVxuICAgICAgICAgICAgICA6IFwiXCIsXG4gICAgICAgICAgc3RhcnRfZGF0ZTogdGhpcy5nZXRHb29sZVN0YXJ0RGF0ZShpdGVtKSA/PyBcIlwiLFxuICAgICAgICAgIGVuZF9kYXRlOiB0aGlzLmdldEdvb2dsZUVuZERhdGUoaXRlbSkgPz8gXCJcIixcbiAgICAgICAgICBicmFuZDogXCJWaWxsYXRlbnRcIixcbiAgICAgICAgICBwb3NpdGlvbjogcG9zaXRpb24rKyxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgd2luZG93LmRhdGFMYXllciA9IHdpbmRvdy5kYXRhTGF5ZXIgfHwgW107XG4gICAgICBkYXRhTGF5ZXIucHVzaCh7IGVjb21tZXJjZTogbnVsbCB9KTtcbiAgICAgIGRhdGFMYXllci5wdXNoKHtcbiAgICAgICAgZXZlbnQ6IFwicHJvZHVjdEltcHJlc3Npb25cIixcbiAgICAgICAgZWNvbW1lcmNlOiB7XG4gICAgICAgICAgY3VycmVuY3lDb2RlOiBcIkVVUlwiLFxuICAgICAgICAgIGltcHJlc3Npb25zOiBpbXByZXNzaW9ucyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgc2VuZEdvb2dsZVZpZXdJdGVtTGlzdCgpIHtcbiAgICAgIGNvbnN0IGl0ZW1zID0gW107XG4gICAgICBsZXQgaW5kZXggPSAxO1xuXG4gICAgICB0aGlzLmV4YWN0TWF0Y2hlcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgIGl0ZW1faWQ6IGl0ZW0uY2FtcGluZy5iZXhfaWQsXG4gICAgICAgICAgaXRlbV9uYW1lOiBpdGVtLmNhbXBpbmcudGl0bGUsXG4gICAgICAgICAgaXRlbV9icmFuZDogXCJWaWxsYXRlbnRcIixcbiAgICAgICAgICBpdGVtX2NhdGVnb3J5OiBcInBpdGNoXCIsXG4gICAgICAgICAgaXRlbV9jb3VudHJ5OiBpdGVtLmNhbXBpbmcuY291bnRyeSxcbiAgICAgICAgICBpdGVtX3JlZ2lvbjogaXRlbS5jYW1waW5nLnJlZ2lvbixcbiAgICAgICAgICBpdGVtX2NpdHk6IGl0ZW0uY2FtcGluZy5sb2NhbGl0eSxcbiAgICAgICAgICBwYXJrX2lkOiBpdGVtLmNhbXBpbmcuYmV4X2lkLFxuICAgICAgICAgIHBhcmtfbmFtZTogaXRlbS5jYW1waW5nLnRpdGxlLFxuICAgICAgICAgIHByaWNlOiB0aGlzLmdldEdvb2dsZVByaWNlKGl0ZW0pID8/IFwiXCIsXG4gICAgICAgICAgcXVhbnRpdHk6IDEsXG4gICAgICAgICAgY3VycmVuY3k6IFwiRVVSXCIsXG4gICAgICAgICAgc3RhcnRfZGF0ZTogdGhpcy5nZXRHb29sZVN0YXJ0RGF0ZShpdGVtKSA/PyBcIlwiLFxuICAgICAgICAgIGVuZF9kYXRlOiB0aGlzLmdldEdvb2dsZUVuZERhdGUoaXRlbSkgPz8gXCJcIixcbiAgICAgICAgICBpbmRleDogaW5kZXgrKyxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMub3RoZXJNYXRjaGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaXRlbXMucHVzaCh7XG4gICAgICAgICAgaXRlbV9pZDogaXRlbS5jYW1waW5nLmJleF9pZCxcbiAgICAgICAgICBpdGVtX25hbWU6IGl0ZW0uY2FtcGluZy50aXRsZSxcbiAgICAgICAgICBpdGVtX2JyYW5kOiBcIlZpbGxhdGVudFwiLFxuICAgICAgICAgIGl0ZW1fY2F0ZWdvcnk6IFwicGl0Y2hcIixcbiAgICAgICAgICBpdGVtX2NvdW50cnk6IGl0ZW0uY2FtcGluZy5jb3VudHJ5LFxuICAgICAgICAgIGl0ZW1fcmVnaW9uOiBpdGVtLmNhbXBpbmcucmVnaW9uLFxuICAgICAgICAgIGl0ZW1fY2l0eTogaXRlbS5jYW1waW5nLmxvY2FsaXR5LFxuICAgICAgICAgIHBhcmtfaWQ6IGl0ZW0uY2FtcGluZy5iZXhfaWQsXG4gICAgICAgICAgcGFya19uYW1lOiBpdGVtLmNhbXBpbmcudGl0bGUsXG4gICAgICAgICAgcHJpY2U6IHRoaXMuZ2V0R29vZ2xlUHJpY2UoaXRlbSkgPz8gXCJcIixcbiAgICAgICAgICBxdWFudGl0eTogMSxcbiAgICAgICAgICBjdXJyZW5jeTogXCJFVVJcIixcbiAgICAgICAgICBzdGFydF9kYXRlOiB0aGlzLmdldEdvb2xlU3RhcnREYXRlKGl0ZW0pID8/IFwiXCIsXG4gICAgICAgICAgZW5kX2RhdGU6IHRoaXMuZ2V0R29vZ2xlRW5kRGF0ZShpdGVtKSA/PyBcIlwiLFxuICAgICAgICAgIGluZGV4OiBpbmRleCsrLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTtcbiAgICAgIGRhdGFMYXllci5wdXNoKHsgZWNvbW1lcmNlOiBudWxsIH0pO1xuICAgICAgZGF0YUxheWVyLnB1c2goe1xuICAgICAgICBldmVudDogXCJ2aWV3X2l0ZW1fbGlzdFwiLFxuICAgICAgICBlY29tbWVyY2U6IHtcbiAgICAgICAgICBjdXJyZW5jeUNvZGU6IFwiRVVSXCIsXG4gICAgICAgICAgaXRlbV9saXN0X2lkOiBcImF2YWlsYWJpbGl0eV9zZWFyY2hcIixcbiAgICAgICAgICBpdGVtX2xpc3RfbmFtZTogXCJBdmFpbGFiaWxpdHkgc2VhcmNoXCIsXG4gICAgICAgICAgaXRlbXM6IGl0ZW1zLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSxcbiAgICB0b2dnbGVPdGhlck1hdGNoZXMoKSB7XG4gICAgICB0aGlzLnNob3dPbmx5RXhhY3RNYXRjaGVzID0gIXRoaXMuc2hvd09ubHlFeGFjdE1hdGNoZXM7XG4gICAgfSxcbiAgICBjaGVja0lzRGVza3RvcCgpIHtcbiAgICAgIHRoaXMuaXNEZXNrdG9wID0gd2luZG93Lm1hdGNoTWVkaWEoXCIobWluLXdpZHRoOiA5OTJweClcIikubWF0Y2hlcztcbiAgICB9LFxuICAgIGRpc3RhbmNlKGxhdDEsIGxvbjEsIGxhdDIsIGxvbjIpIHtcbiAgICAgIGNvbnN0IHVuaXQgPSBcIktcIjtcbiAgICAgIGlmIChsYXQxID09IGxhdDIgJiYgbG9uMSA9PSBsb24yKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHJhZGxhdDEgPSAoTWF0aC5QSSAqIGxhdDEpIC8gMTgwO1xuICAgICAgICB2YXIgcmFkbGF0MiA9IChNYXRoLlBJICogbGF0MikgLyAxODA7XG4gICAgICAgIHZhciB0aGV0YSA9IGxvbjEgLSBsb24yO1xuICAgICAgICB2YXIgcmFkdGhldGEgPSAoTWF0aC5QSSAqIHRoZXRhKSAvIDE4MDtcbiAgICAgICAgdmFyIGRpc3QgPVxuICAgICAgICAgIE1hdGguc2luKHJhZGxhdDEpICogTWF0aC5zaW4ocmFkbGF0MikgK1xuICAgICAgICAgIE1hdGguY29zKHJhZGxhdDEpICogTWF0aC5jb3MocmFkbGF0MikgKiBNYXRoLmNvcyhyYWR0aGV0YSk7XG4gICAgICAgIGlmIChkaXN0ID4gMSkge1xuICAgICAgICAgIGRpc3QgPSAxO1xuICAgICAgICB9XG4gICAgICAgIGRpc3QgPSBNYXRoLmFjb3MoZGlzdCk7XG4gICAgICAgIGRpc3QgPSAoZGlzdCAqIDE4MCkgLyBNYXRoLlBJO1xuICAgICAgICBkaXN0ID0gZGlzdCAqIDYwICogMS4xNTE1O1xuICAgICAgICBpZiAodW5pdCA9PSBcIktcIikge1xuICAgICAgICAgIGRpc3QgPSBkaXN0ICogMS42MDkzNDQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHVuaXQgPT0gXCJOXCIpIHtcbiAgICAgICAgICBkaXN0ID0gZGlzdCAqIDAuODY4NDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBNYXRoLnJvdW5kKGRpc3QpO1xuICAgICAgfVxuICAgIH0sXG4gICAgc2hvd1NlYXJjaENhcmQoaW5kZXgsIGxhdCwgbG5nLCBzb3VyY2UpIHtcbiAgICAgIGxldCBvZmZzZXQgPSAwO1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnNlbGVjdGVkTWFya2VySW5kZXggPT09IGluZGV4ICYmXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNYXJrZXJTb3VyY2UgPT09IHNvdXJjZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNYXJrZXJJbmRleCA9IG51bGw7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNYXJrZXJTb3VyY2UgPSBudWxsO1xuICAgICAgICAvLyBVcGRhdGUgY2VudGVyIGV2ZW4gd2hlbiBkZXNlbGVjdGluZyBhIG1hcmtlclxuICAgICAgICAvLyBVc2UgdGhlIGNhbGN1bGF0ZWRDZW50ZXIgd2hlbiBubyBtYXJrZXIgaXMgc2VsZWN0ZWRcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNYXJrZXJJbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLnNlbGVjdGVkTWFya2VyU291cmNlID0gc291cmNlO1xuICAgICAgICAvLyBVcGRhdGUgY2VudGVyIHdoZW4gc2VsZWN0aW5nIGEgbWFya2VyXG4gICAgICAgIHRoaXMuY2VudGVyID0geyBsYXQ6IGxhdCArIG9mZnNldCwgbG5nIH07XG4gICAgICB9XG4gICAgICAvLyBMb2cgdGhlIHVwZGF0ZSBmb3IgZGVidWdnaW5nXG4gICAgfSxcbiAgICBjdXN0b21SZW5kZXJlcigpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHJlbmRlcmVyOiB7XG4gICAgICAgICAgcmVuZGVyOiAoeyBjb3VudCwgcG9zaXRpb24gfSwgc3RhdHMsIG1hcCkgPT4ge1xuICAgICAgICAgICAgLy8gY2hhbmdlIGNvbG9yIGlmIHRoaXMgY2x1c3RlciBoYXMgbW9yZSBtYXJrZXJzIHRoYW4gdGhlIG1lYW4gY2x1c3RlclxuICAgICAgICAgICAgY29uc3QgY29sb3IgPVxuICAgICAgICAgICAgICBjb3VudCA+IE1hdGgubWF4KDEwLCBzdGF0cy5jbHVzdGVycy5tYXJrZXJzLm1lYW4pXG4gICAgICAgICAgICAgICAgPyBcIiNmZjAwZmZcIlxuICAgICAgICAgICAgICAgIDogXCIjZmYwMGZmXCI7XG5cbiAgICAgICAgICAgIC8vIGNyZWF0ZSBzdmcgbGl0ZXJhbCB3aXRoIGZpbGwgY29sb3JcbiAgICAgICAgICAgIGNvbnN0IHN2ZyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0MCAyNDBcIiB3aWR0aD1cIjUwXCIgaGVpZ2h0PVwiNTBcIj5cbjxjaXJjbGUgY3g9XCIxMjBcIiBjeT1cIjEyMFwiIG9wYWNpdHk9XCIuOFwiIHI9XCI5MFwiIGZpbGw9XCIjMDg1NzdFXCIvPlxuPHRleHQgeD1cIjUwJVwiIHk9XCI1MCVcIiBzdHlsZT1cImZpbGw6I2ZmZlwiIHRleHQtYW5jaG9yPVwibWlkZGxlXCIgZm9udC1zaXplPVwiNTBcIiBkb21pbmFudC1iYXNlbGluZT1cIm1pZGRsZVwiIGZvbnQtZmFtaWx5PVwicm9ib3RvLGFyaWFsLHNhbnMtc2VyaWZcIj4ke2NvdW50fTwvdGV4dD5cbjxkZWZzPlxuICA8bGluZWFyR3JhZGllbnQgaWQ9XCJibHVlX2dyYWRpZW50XCIgeDE9XCIxLjk2ODc1XCIgeTE9XCI4Ljk5ODg5XCIgeDI9XCIxNi4wMzM3XCIgeTI9XCI4Ljk5ODg5XCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgPHN0b3Agc3RvcC1jb2xvcj1cIiM0MUE4RDdcIj48L3N0b3A+XG4gICAgPHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjMkI4NkIyXCI+PC9zdG9wPlxuICA8L2xpbmVhckdyYWRpZW50PlxuICAgIDxsaW5lYXJHcmFkaWVudCBpZD1cIm9yYW5nZV9ncmFkaWVudFwiIHgxPVwiMS45Njg3NVwiIHkxPVwiMy4wOTA4MlwiIHgyPVwiMTcuNzUyMVwiIHkyPVwiNi4yMDkxM1wiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgIDxzdG9wIHN0b3AtY29sb3I9XCIjRDk4QzJGXCI+PC9zdG9wPlxuICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI0VDQTgyN1wiPjwvc3RvcD5cbiAgPC9saW5lYXJHcmFkaWVudD5cbjwvZGVmcz5cbjwvc3ZnPmA7XG5cbiAgICAgICAgICAgIGNvbnN0IHRpdGxlID0gYENsdXN0ZXIgb2YgJHtjb3VudH0gbWFya2Vyc2AsXG4gICAgICAgICAgICAgIC8vIGFkanVzdCB6SW5kZXggdG8gYmUgYWJvdmUgb3RoZXIgbWFya2Vyc1xuICAgICAgICAgICAgICB6SW5kZXggPSBOdW1iZXIoZ29vZ2xlLm1hcHMuTWFya2VyLk1BWF9aSU5ERVgpICsgY291bnQ7XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgZ29vZ2xlLm1hcHMubWFya2VyICYmXG4gICAgICAgICAgICAgIG1hcC5nZXRNYXBDYXBhYmlsaXRpZXMoKS5pc0FkdmFuY2VkTWFya2Vyc0F2YWlsYWJsZSA9PT0gdHJ1ZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIC8vIGNyZWF0ZSBjbHVzdGVyIFNWRyBlbGVtZW50XG4gICAgICAgICAgICAgIGNvbnN0IHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTtcbiAgICAgICAgICAgICAgY29uc3Qgc3ZnRWwgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKFxuICAgICAgICAgICAgICAgIHN2ZyxcbiAgICAgICAgICAgICAgICBcImltYWdlL3N2Zyt4bWxcIlxuICAgICAgICAgICAgICApLmRvY3VtZW50RWxlbWVudDtcbiAgICAgICAgICAgICAgc3ZnRWwuc2V0QXR0cmlidXRlKFwidHJhbnNmb3JtXCIsIFwidHJhbnNsYXRlKDAgMjUpXCIpO1xuXG4gICAgICAgICAgICAgIGNvbnN0IGNsdXN0ZXJPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIG1hcCxcbiAgICAgICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgICAgICB6SW5kZXgsXG4gICAgICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICAgICAgY29udGVudDogc3ZnRWwsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIHJldHVybiBuZXcgZ29vZ2xlLm1hcHMubWFya2VyLkFkdmFuY2VkTWFya2VyRWxlbWVudChcbiAgICAgICAgICAgICAgICBjbHVzdGVyT3B0aW9uc1xuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjbHVzdGVyT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgICAgICAgIHpJbmRleCxcbiAgICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICAgIGljb246IHtcbiAgICAgICAgICAgICAgICB1cmw6IGBkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LCR7YnRvYShzdmcpfWAsXG4gICAgICAgICAgICAgICAgYW5jaG9yOiBuZXcgZ29vZ2xlLm1hcHMuUG9pbnQoMjUsIDI1KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm4gbmV3IGdvb2dsZS5tYXBzLk1hcmtlcihjbHVzdGVyT3B0aW9ucyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSxcbiAgICByZXNldFpvb20oKSB7XG4gICAgICB0aGlzLnpvb20rKztcbiAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+ICh0aGlzLnpvb20gPSB0aGlzLnNlYXJjaERhdGEuY291bnRyeSA/IDYgOiA1KSk7XG4gICAgfSxcbiAgICBjbG9zZVNlbGVjdGVkTWFya2VyKGV2ZW50KSB7XG4gICAgICBpZiAoZXZlbnQpIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnNlbGVjdGVkTWFya2VySW5kZXggPSBudWxsO1xuICAgICAgdGhpcy5zZWxlY3RlZE1hcmtlclNvdXJjZSA9IG51bGw7XG4gICAgICAvL3RoaXMuem9vbS0tO1xuICAgICAgLy90aGlzLiRuZXh0VGljaygoKSA9PiAodGhpcy56b29tID0gdGhpcy5zZWFyY2hEYXRhLmNvdW50cnkgPyA2IDogNSkpO1xuICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gdGhpcy5jYWxjdWxhdGVkQ2VudGVyKTtcbiAgICB9LFxuICAgIC8vIHJlc2V0Q2VudGVyKCkge1xuICAgIC8vICAgdGhpcy5jZW50ZXIgPSB7XG4gICAgLy8gICAgIGxhdDogdGhpcy5yZWZlcmVuY2VDaXRpZXNbdGhpcy5yZWZlcmVuY2VDaXR5XS5sYXRpdHVkZSxcbiAgICAvLyAgICAgbG5nOiB0aGlzLnJlZmVyZW5jZUNpdGllc1t0aGlzLnJlZmVyZW5jZUNpdHldLmxvbmdpdHVkZSxcbiAgICAvLyAgIH07XG4gICAgLy8gfSxcbiAgfSxcbiAgd2F0Y2g6IHtcbiAgICBcInNlYXJjaFJlc3VsdHMuY2FtcGluZ3NcIihuZXdWYWx1ZSkge1xuICAgICAgaWYgKG5ld1ZhbHVlICYmIG5ld1ZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5zZW5kR29vZ2xlRXZlbnQoKTtcbiAgICAgICAgdGhpcy5zZW5kR29vZ2xlUHJvZHVjdEltcHJlc3Npb24oKTtcbiAgICAgICAgdGhpcy5zZW5kR29vZ2xlVmlld0l0ZW1MaXN0KCk7XG4gICAgICAgIC8vIFJlc2V0IHBhZ2luYXRpb24gd2hlbiBzZWFyY2ggcmVzdWx0cyBjaGFuZ2VcbiAgICAgICAgdGhpcy5vdGhlck1hdGNoZXNDdXJyZW50UGFnZSA9IDE7XG4gICAgICAgIHRoaXMuZXhhY3RNYXRjaGVzQ3VycmVudFBhZ2UgPSAxO1xuICAgICAgICB0aGlzLnNlbGVjdGVkTWFya2VySW5kZXggPSBudWxsO1xuICAgICAgICB0aGlzLnNlbGVjdGVkTWFya2VyU291cmNlID0gbnVsbDtcbiAgICAgICAgLy8gSWYgdGhlcmUgYXJlIHNlYXJjaCByZXN1bHRzLCBzY3JvbGwgdG8gdGhlIHRvcCBvZiB0aGUgcmVzdWx0c1xuICAgICAgICAvLyBpZiAoIXRoaXMuaXNEZXNrdG9wKSB7XG4gICAgICAgIC8vICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIuem9lay1ib2VrLWxpc3QtdG9wYmFyXCIpO1xuICAgICAgICAvLyAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHtcbiAgICAgICAgLy8gICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICAvLyAgIH0pO1xuICAgICAgICAvLyB9XG4gICAgICAgIHRoaXMucmVzZXRab29tKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBzaG93T25seUV4YWN0TWF0Y2hlcyhuZXdWYWx1ZSkge1xuICAgICAgLy8gV2hlbiBjaGVja2JveCBpcyB0b2dnbGVkLCBjbG9zZSBhbGwgcG9wdXAgY2FyZHNcbiAgICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTWFya2VySW5kZXggPSBudWxsO1xuICAgICAgICB0aGlzLnNlbGVjdGVkTWFya2VyU291cmNlID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFJlc2V0IHBhZ2luYXRpb24gd2hlbiB0b2dnbGluZyBiYWNrIHRvIHNob3cgb3RoZXIgbWF0Y2hlc1xuICAgICAgICB0aGlzLm90aGVyTWF0Y2hlc0N1cnJlbnRQYWdlID0gMTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG90aGVyTWF0Y2hlcyhuZXdWYWx1ZSkge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobmV3VmFsdWUpICYmIG5ld1ZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1hcmtlckluZGV4ID0gbnVsbDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1hcmtlclNvdXJjZSA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBSZXNldCBwYWdpbmF0aW9uIHdoZW4gb3RoZXJNYXRjaGVzIGNvbnRlbnQgY2hhbmdlc1xuICAgICAgICB0aGlzLm90aGVyTWF0Y2hlc0N1cnJlbnRQYWdlID0gMTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGV4YWN0TWF0Y2hlcyhuZXdWYWx1ZSkge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobmV3VmFsdWUpICYmIG5ld1ZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1hcmtlckluZGV4ID0gbnVsbDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1hcmtlclNvdXJjZSA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBSZXNldCBwYWdpbmF0aW9uIHdoZW4gZXhhY3RNYXRjaGVzIGNvbnRlbnQgY2hhbmdlc1xuICAgICAgICB0aGlzLmV4YWN0TWF0Y2hlc0N1cnJlbnRQYWdlID0gMTtcbiAgICAgIH1cbiAgICB9LFxuICB9LFxuXG4gIGNyZWF0ZWQoKSB7XG4gICAgLy8gQ2hlY2sgb24gY29tcG9uZW50IGNyZWF0aW9uIGlmIGl0J3MgYSBkZXNrdG9wIHNjcmVlblxuICAgIHRoaXMuaXNEZXNrdG9wID0gd2luZG93Lm1hdGNoTWVkaWEoXCIobWluLXdpZHRoOiA5OTJweClcIikubWF0Y2hlcztcblxuICAgIC8vIExpc3RlbiBmb3Igc2NyZWVuIHNpemUgY2hhbmdlc1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuY2hlY2tJc0Rlc2t0b3ApO1xuICB9LFxuICBiZWZvcmVEZXN0cm95KCkge1xuICAgIC8vIENsZWFuIHVwIGV2ZW50IGxpc3RlbmVyXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5jaGVja0lzRGVza3RvcCk7XG4gIH0sXG59O1xuPC9zY3JpcHQ+XG5cbjx0ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImNvbC1sZy04IHpvZWstYm9lay1saXN0XCI+XG4gICAgPFNlYXJjaExpc3RUb3BCYXJcbiAgICAgIHYtaWY9XCIhc2hvd01hcFZpZXdcIlxuICAgICAgOnNob3dPbmx5RXhhY3RNYXRjaGVzPVwic2hvd09ubHlFeGFjdE1hdGNoZXNcIlxuICAgICAgOnRvdGFsRXhhY3RNYXRjaGVzPVwiZXhhY3RNYXRjaGVzLmxlbmd0aFwiXG4gICAgICA6dG90YWxPdGhlck1hdGNoZXM9XCJvdGhlck1hdGNoZXMubGVuZ3RoXCJcbiAgICAgIDppc0Rlc2t0b3A9XCJpc0Rlc2t0b3BcIlxuICAgID48L1NlYXJjaExpc3RUb3BCYXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWFwLWxpc3QtbGF5b3V0XCIgdi1pZj1cInNob3dNYXBWaWV3XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWFwLXdyYXAgcm91bmRlZCBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgPEdvb2dsZU1hcFxuICAgICAgICAgIHJlZj1cInNlYXJjaEJvb2tSZWZcIlxuICAgICAgICAgIG1hcElkPVwiYzIyNGYyNjU5NGJlMjFkYVwiXG4gICAgICAgICAgYXBpLWtleT1cIkFJemFTeUE0OE53ZzVyVXRkb1oyam9VRmNfOWlST1JyVEtkM3VIc1wiXG4gICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiA3MHZoOyBwb3NpdGlvbjogcmVsYXRpdmVcIlxuICAgICAgICAgIDp6b29tPVwiem9vbVwiXG4gICAgICAgICAgOmNlbnRlcj1cImNlbnRlciB8fCBjYWxjdWxhdGVkQ2VudGVyXCJcbiAgICAgICAgICA6bWluWm9vbT1cIjVcIlxuICAgICAgICAgIDptYXhab29tPVwiMTJcIlxuICAgICAgICAgIDpzY3JvbGx3aGVlbD1cInRydWVcIlxuICAgICAgICAgIDpjbGlja2FibGVJY29ucz1cImZhbHNlXCJcbiAgICAgICAgICA6ZGlzYWJsZURvdWJsZUNsaWNrWm9vbT1cInRydWVcIlxuICAgICAgICAgIDptYXBUeXBlQ29udHJvbD1cImZhbHNlXCJcbiAgICAgICAgICA6c3RyZWV0Vmlld0NvbnRyb2w9XCJmYWxzZVwiXG4gICAgICAgICAgOmRpc2FibGVEZWZhdWx0VUk9XCJ0cnVlXCJcbiAgICAgICAgICA6em9vbUNvbnRyb2w9XCJ0cnVlXCJcbiAgICAgICAgICA6Z2VzdHVyZUhhbmRsaW5nPVwiJ2dyZWVkeSdcIlxuICAgICAgICAgIDpmdWxsc2NyZWVuQ29udHJvbD1cImZhbHNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxNYXJrZXJDbHVzdGVyIDpvcHRpb25zPVwiY3VzdG9tUmVuZGVyZXIoKVwiPlxuICAgICAgICAgICAgPEN1c3RvbU1hcmtlclxuICAgICAgICAgICAgICB2LWZvcj1cIihjYW1waW5nLCBpbmRleCA9IGluZGV4ICsgMTAwKSBpbiBleGFjdE1hdGNoZXNcIlxuICAgICAgICAgICAgICA6a2V5PVwiaW5kZXhcIlxuICAgICAgICAgICAgICA6b3B0aW9ucz1cIntcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgICAgICAgICAgbGF0OiBjYW1waW5nLmNhbXBpbmcubGF0aXR1ZGUsXG4gICAgICAgICAgICAgICAgICBsbmc6IGNhbXBpbmcuY2FtcGluZy5sb25naXR1ZGUsXG4gICAgICAgICAgICAgICAgICBhbmNob3JQb2ludDogJ0JPVFRPTV9DRU5URVInLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICBAY2xpY2s9XCJcbiAgICAgICAgICAgICAgICBzaG93U2VhcmNoQ2FyZChcbiAgICAgICAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgICAgICAgY2FtcGluZy5jYW1waW5nLmxhdGl0dWRlLFxuICAgICAgICAgICAgICAgICAgY2FtcGluZy5jYW1waW5nLmxvbmdpdHVkZSxcbiAgICAgICAgICAgICAgICAgICdleGFjdE1hdGNoZXMnXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgOmNsYXNzPVwibWFya2VyQnV0dG9uQ2xhc3MoaW5kZXgpXCJcbiAgICAgICAgICAgICAgICA6dGl0bGU9XCJjYW1waW5nLmNhbXBpbmcudGl0bGVcIlxuICAgICAgICAgICAgICAgIHN0eWxlPVwicGFkZGluZzogMC43NXJlbVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bWFwTWFya2VyQmx1ZSA6Y29sb3I9XCJtYXJrZXJCdXR0b25TdmdDb2xvcihpbmRleClcIiAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvQ3VzdG9tTWFya2VyPlxuICAgICAgICAgICAgPCEtLSBNYXJrZXJzIGZvciBvdGhlck1hdGNoZXMgLS0+XG4gICAgICAgICAgICA8Q3VzdG9tTWFya2VyXG4gICAgICAgICAgICAgIHYtZm9yPVwiKGNhbXBpbmcsIGluZGV4ID0gaW5kZXggKyAyMDApIGluIG90aGVyTWF0Y2hlc1wiXG4gICAgICAgICAgICAgIHYtaWY9XCIhc2hvd09ubHlFeGFjdE1hdGNoZXNcIlxuICAgICAgICAgICAgICA6a2V5PVwiaW5kZXhcIlxuICAgICAgICAgICAgICA6b3B0aW9ucz1cIntcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgICAgICAgICAgbGF0OiBjYW1waW5nLmNhbXBpbmcubGF0aXR1ZGUsXG4gICAgICAgICAgICAgICAgICBsbmc6IGNhbXBpbmcuY2FtcGluZy5sb25naXR1ZGUsXG4gICAgICAgICAgICAgICAgICBhbmNob3JQb2ludDogJ0JPVFRPTV9DRU5URVInLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICBAY2xpY2s9XCJcbiAgICAgICAgICAgICAgICBzaG93U2VhcmNoQ2FyZChcbiAgICAgICAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgICAgICAgY2FtcGluZy5jYW1waW5nLmxhdGl0dWRlLFxuICAgICAgICAgICAgICAgICAgY2FtcGluZy5jYW1waW5nLmxvbmdpdHVkZSxcbiAgICAgICAgICAgICAgICAgICdvdGhlck1hdGNoZXMnXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgOmNsYXNzPVwibWFya2VyQnV0dG9uT3RoZXJzQ2xhc3MoaW5kZXgpXCJcbiAgICAgICAgICAgICAgICA6dGl0bGU9XCJjYW1waW5nLmNhbXBpbmcudGl0bGVcIlxuICAgICAgICAgICAgICAgIHN0eWxlPVwicGFkZGluZzogMC43NXJlbVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8TWFwTWFya2VyT3JhbmdlIDpjb2xvcj1cIm1hcmtlckJ1dHRvbk90aGVyU3ZnQ29sb3IoaW5kZXgpXCIgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L0N1c3RvbU1hcmtlcj5cbiAgICAgICAgICA8L01hcmtlckNsdXN0ZXI+XG5cbiAgICAgICAgICA8IS0tIEZ1bGwtd2lkdGggU2VhcmNoQ2FyZCBhdCB0aGUgYm90dG9tIGZvciBleGFjdE1hdGNoZXMgLS0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgdi1pZj1cIlxuICAgICAgICAgICAgICBzZWxlY3RlZE1hcmtlckluZGV4ICE9PSBudWxsICYmXG4gICAgICAgICAgICAgIHNlbGVjdGVkTWFya2VyU291cmNlID09PSAnZXhhY3RNYXRjaGVzJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIGNsYXNzPVwibWFwLWJvdHRvbS1jYXJkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8U2VhcmNoQ2FyZFxuICAgICAgICAgICAgICA6aXNGbGV4aWJsZUNvbnRlbnQ9XCJpc0ZsZXhpYmxlQ29udGVudFwiXG4gICAgICAgICAgICAgIDpjYW1waW5nPVwiZXhhY3RNYXRjaGVzW3NlbGVjdGVkTWFya2VySW5kZXhdXCJcbiAgICAgICAgICAgICAgOmlzRGVza3RvcD1cImlzRGVza3RvcFwiXG4gICAgICAgICAgICAgIDppc01hcENhcmQ9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgQGNsb3NlPVwiY2xvc2VTZWxlY3RlZE1hcmtlcigpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJyb3VuZGVkXCJcbiAgICAgICAgICAgID48L1NlYXJjaENhcmQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPCEtLSBGdWxsLXdpZHRoIFNlYXJjaENhcmQgYXQgdGhlIGJvdHRvbSBmb3Igb3RoZXJNYXRjaGVzIC0tPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHYtaWY9XCJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRNYXJrZXJJbmRleCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICBzZWxlY3RlZE1hcmtlclNvdXJjZSA9PT0gJ290aGVyTWF0Y2hlcydcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBjbGFzcz1cIm1hcC1ib3R0b20tY2FyZFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFNlYXJjaENhcmRcbiAgICAgICAgICAgICAgOmlzRmxleGlibGVDb250ZW50PVwiaXNGbGV4aWJsZUNvbnRlbnRcIlxuICAgICAgICAgICAgICA6Y2FtcGluZz1cIm90aGVyTWF0Y2hlc1tzZWxlY3RlZE1hcmtlckluZGV4XVwiXG4gICAgICAgICAgICAgIDppc0Rlc2t0b3A9XCJpc0Rlc2t0b3BcIlxuICAgICAgICAgICAgICA6aXNNYXBDYXJkPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIHR5cGVDYXJkPVwib3RoZXJEYXRlc1wiXG4gICAgICAgICAgICAgIEBjbG9zZT1cImNsb3NlU2VsZWN0ZWRNYXJrZXIoKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwib3RoZXJEYXRlc1wiXG4gICAgICAgICAgICA+PC9TZWFyY2hDYXJkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0dvb2dsZU1hcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWxnLXJvdyB3LTEwMCBtdC0yIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgICAgPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLWNpcmNsZSBuby1zdmctYW5pbWF0aW9uIG5vLXNoYWRvdyBkaXNhYmxlZCBwLTJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxtYXBNYXJrZXJCbHVlIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0zXCI+e3sgdHJhbnMoXCJzZWFyY2guZXhhY3RSZXN1bHRzXCIpIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibXMtbGctMyBtdC0xIG10LWxnLTBcIlxuICAgICAgICAgIHYtaWY9XCJvdGhlck1hdGNoZXMubGVuZ3RoID49IDEgJiYgIXNob3dPbmx5RXhhY3RNYXRjaGVzXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1jaXJjbGUgbm8tc3ZnLWFuaW1hdGlvbiBuby1zaGFkb3cgZGlzYWJsZWQgcC0yXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWFwTWFya2VyT3JhbmdlIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0zXCI+e3sgdHJhbnMoXCJzZWFyY2gub3RoZXJSZXN1bHRzXCIpIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtbGlzdC1sYXlvdXRcIiB2LWlmPVwiIXNob3dNYXBWaWV3XCI+XG4gICAgICA8U2VhcmNoTGlzdEVycm9yXG4gICAgICAgIHYtaWY9XCJzaG93RXJyb3JDb21wb25lbnRcIlxuICAgICAgICA6d2FybmluZ1RpdGxlPVwidHJhbnMoJ3NlYXJjaC5yZXN1bHQuZXJyb3JXYXJuaW5nLnRpdGxlJykgPz8gJydcIlxuICAgICAgICA6d2FybmluZ1RleHQ9XCJ0cmFucygnc2VhcmNoLnJlc3VsdC5lcnJvcldhcm5pbmcudGV4dCcpID8/ICcnXCJcbiAgICAgICAgOndhcm5pbmdCdXR0b249XCJ0cmFucygnc2VhcmNoLnJlc3VsdC5lcnJvcldhcm5pbmcuYnV0dG9uJykgPz8gJydcIlxuICAgICAgLz5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWNvbnRhaW5lclwiIHYtaWY9XCJzZWFyY2hTdGF0dXMuYnVzeVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImN1c3RvbS10YWcgdHJhbnNwYXJhbnQgdGV4dC1kYXJrXCI+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwic3Bpbm5lci1ib3JkZXIgc3Bpbm5lci1ib3JkZXItc20gdGV4dC1kYXJrXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiByb2xlPVwic3RhdHVzXCIgY2xhc3M9XCJ0ZXh0LWRhcmtcIj5Mb2FkaW5nLi4uPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx0cmFuc2l0aW9uLWdyb3VwXG4gICAgICAgIG5hbWU9XCJjYXJkLWFuaW1hdGlvblwiXG4gICAgICAgIHRhZz1cImRpdlwiXG4gICAgICAgIGNsYXNzPVwiY2FyZC1jb250YWluZXIgZXhhY3RNYXRjaGVzXCJcbiAgICAgICAgYXBwZWFyXG4gICAgICAgIHYtaWY9XCIhc2VhcmNoU3RhdHVzLmJ1c3lcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgdi1mb3I9XCIoY2FtcGluZywgaW5kZXgpIGluIHBhZ2luYXRlZEV4YWN0TWF0Y2hlc1wiXG4gICAgICAgICAgOmtleT1cImNhbXBpbmcuY2FtcGluZy5faWQgKyAnLScgKyBpbmRleFwiXG4gICAgICAgICAgY2xhc3M9XCJjYXJkLWl0ZW1cIlxuICAgICAgICAgIHYtc3RhZ2dlcj1cIihpbmRleCAlIGV4YWN0TWF0Y2hlc1BlclBhZ2UpICsgMVwiXG4gICAgICAgID5cbiAgICAgICAgICA8U2VhcmNoQ2FyZFxuICAgICAgICAgICAgOmlzRmxleGlibGVDb250ZW50PVwiaXNGbGV4aWJsZUNvbnRlbnRcIlxuICAgICAgICAgICAgOmNhbXBpbmc9XCJjYW1waW5nXCJcbiAgICAgICAgICAgIDppc0Rlc2t0b3A9XCJpc0Rlc2t0b3BcIlxuICAgICAgICAgID48L1NlYXJjaENhcmQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90cmFuc2l0aW9uLWdyb3VwPlxuICAgICAgPCEtLSBQYWdpbmF0aW9uIG1vZGUgaXMgbm93IGNvbnRyb2xsZWQgdmlhIHByb3BzIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGdhcC0yIGZsZXgtd3JhcFwiXG4gICAgICAgIHYtaWY9XCJcbiAgICAgICAgICB0aGlzLnNlYXJjaEN1c3RvbUJ1dHRvbnMgJiZcbiAgICAgICAgICB0aGlzLnNlYXJjaEN1c3RvbUJ1dHRvbnMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgIGV4YWN0TWF0Y2hlcy5sZW5ndGggKyBvdGhlck1hdGNoZXMubGVuZ3RoIDwgOVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8dGVtcGxhdGVcbiAgICAgICAgICB2LWZvcj1cImJ1dHRvbiBpbiB0aGlzLnNlYXJjaEN1c3RvbUJ1dHRvbnNcIlxuICAgICAgICAgIDprZXk9XCJidXR0b24uYnV0dG9uX3RleHRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIHYtaWY9XCJidXR0b24uYnV0dG9uX2xpbmsgJiYgYnV0dG9uLmJ1dHRvbl90ZXh0XCJcbiAgICAgICAgICAgIDpocmVmPVwiXG4gICAgICAgICAgICAgIGJ1dHRvbi5idXR0b25fbGluayArXG4gICAgICAgICAgICAgIChidXR0b24uYnV0dG9uX3F1ZXJ5X3BhcmFtZXRlcnNcbiAgICAgICAgICAgICAgICA/ICc/JyArIGJ1dHRvbi5idXR0b25fcXVlcnlfcGFyYW1ldGVyc1xuICAgICAgICAgICAgICAgIDogJycpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgY2xhc3M9XCJidG5cIlxuICAgICAgICAgICAgOmNsYXNzPVwiYnV0dG9uLmJ1dHRvbl9zdHlsZVwiXG4gICAgICAgICAgICA6dGl0bGU9XCJidXR0b24uYnV0dG9uX3RleHRcIlxuICAgICAgICAgICAgPnt7IGJ1dHRvbi5idXR0b25fdGV4dCB9fTwvYVxuICAgICAgICAgID5cbiAgICAgICAgPC90ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBQYWdpbmF0aW9uIGNvbnRyb2xzIGZvciBleGFjdE1hdGNoZXMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwicGFnaW5hdGlvbi1jb250YWluZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgbXktNFwiXG4gICAgICAgIHYtaWY9XCJ0b3RhbFBhZ2VzRXhhY3RNYXRjaGVzID4gMSAmJiB1c2VQYWdpbmF0aW9uXCJcbiAgICAgID5cbiAgICAgICAgPG5hdlxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJTZWFyY2ggcmVzdWx0cyBwYWdpbmF0aW9uXCJcbiAgICAgICAgICBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx1bFxuICAgICAgICAgICAgY2xhc3M9XCJwYWdpbmF0aW9uIGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGQtZmxleCBnYXAtMiBnYXAtbGctMyBtYi0zIG1iLWxnLTBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDwhLS0gUHJldmlvdXMgcGFnZSBidXR0b24gLS0+XG4gICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgY2xhc3M9XCJwYWdlLWl0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgIHYtaWY9XCJ0aGlzLmlzRGVza3RvcCAmJiBleGFjdE1hdGNoZXNDdXJyZW50UGFnZSA+IDFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwicGFnZS1saW5rLWN1c3RvbSBsaW5rLWRhcmsgdGV4dC1ub3dyYXAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBweC0yXCJcbiAgICAgICAgICAgICAgICBAY2xpY2s9XCJnb1RvUGFnZUV4YWN0TWF0Y2hlcyhleGFjdE1hdGNoZXNDdXJyZW50UGFnZSAtIDEpXCJcbiAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJleGFjdE1hdGNoZXNDdXJyZW50UGFnZSA9PT0gMVwiXG4gICAgICAgICAgICAgICAgOmFyaWEtbGFiZWw9XCJ0cmFucygncGFnaW5hdGlvbi5idXR0b24ucHJldicpXCJcbiAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTlcIlxuICAgICAgICAgICAgICAgICAgdmlld2JveD1cIjAgMCAxOCAxOVwiXG4gICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xNi4wMzA5IDkuNUMxNi4wMzA5IDkuNzIzNzcgMTUuOTQyIDkuOTM4MzkgMTUuNzgzOCAxMC4wOTY2QzE1LjYyNTYgMTAuMjU0OSAxNS40MTEgMTAuMzQzNyAxNS4xODcyIDEwLjM0MzdINC44NTEyNUw4LjQ3Mzc1IDEzLjk2NTVDOC42MzIyNiAxNC4xMjQxIDguNzIxMzEgMTQuMzM5IDguNzIxMzEgMTQuNTYzMkM4LjcyMTMxIDE0Ljc4NzQgOC42MzIyNiAxNS4wMDIzIDguNDczNzUgMTUuMTYwOUM4LjMxNTI0IDE1LjMxOTQgOC4xMDAyNiAxNS40MDg0IDcuODc2MDkgMTUuNDA4NEM3LjY1MTkzIDE1LjQwODQgNy40MzY5NSAxNS4zMTk0IDcuMjc4NDQgMTUuMTYwOUwyLjIxNTk0IDEwLjA5ODRDMi4xMzcyOCAxMC4wMiAyLjA3NDg3IDkuOTI2ODMgMi4wMzIyOCA5LjgyNDI3QzEuOTg5NjkgOS43MjE3MSAxLjk2Nzc3IDkuNjExNzUgMS45Njc3NyA5LjUwMDdDMS45Njc3NyA5LjM4OTY1IDEuOTg5NjkgOS4yNzk2OSAyLjAzMjI4IDkuMTc3MTNDMi4wNzQ4NyA5LjA3NDU4IDIuMTM3MjggOC45ODE0MyAyLjIxNTk0IDguOTAzMDRMNy4yNzg0NCAzLjg0MDU0QzcuMzU2OTIgMy43NjIwNiA3LjQ1MDEgMy42OTk4IDcuNTUyNjUgMy42NTczMkM3LjY1NTE5IDMuNjE0ODUgNy43NjUxIDMuNTkyOTkgNy44NzYwOSAzLjU5Mjk5QzcuOTg3MDkgMy41OTI5OSA4LjA5NyAzLjYxNDg1IDguMTk5NTQgMy42NTczMkM4LjMwMjA5IDMuNjk5OCA4LjM5NTI3IDMuNzYyMDYgOC40NzM3NSAzLjg0MDU0QzguNTUyMjQgMy45MTkwMyA4LjYxNDQ5IDQuMDEyMjEgOC42NTY5NyA0LjExNDc1QzguNjk5NDUgNC4yMTczIDguNzIxMzEgNC4zMjcyMSA4LjcyMTMxIDQuNDM4MkM4LjcyMTMxIDQuNTQ5MiA4LjY5OTQ1IDQuNjU5MSA4LjY1Njk3IDQuNzYxNjVDOC42MTQ0OSA0Ljg2NDIgOC41NTIyNCA0Ljk1NzM3IDguNDczNzUgNS4wMzU4Nkw0Ljg1MTI1IDguNjU2MjVIMTUuMTg3MkMxNS40MTEgOC42NTYyNSAxNS42MjU2IDguNzQ1MTQgMTUuNzgzOCA4LjkwMzM4QzE1Ljk0MiA5LjA2MTYxIDE2LjAzMDkgOS4yNzYyMiAxNi4wMzA5IDkuNVpcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzJGMkYyRlwiXG4gICAgICAgICAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXktMlwiPlxuICAgICAgICAgICAgICAgICAge3sgdHJhbnMoXCJwYWdpbmF0aW9uLmJ1dHRvbi5wcmV2XCIpIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPCEtLSBQYWdlIG51bWJlcnMgLS0+XG4gICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgdi1mb3I9XCJwYWdlIGluIHBhZ2luYXRpb25SYW5nZUV4YWN0TWF0Y2hlc1wiXG4gICAgICAgICAgICAgIDprZXk9XCIncGFnZS0nICsgcGFnZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwicGFnZS1pdGVtXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBhZ2UtbGluay1jdXN0b20gYnRuIGJ0bi1jaXJjbGVcIlxuICAgICAgICAgICAgICAgIDpjbGFzcz1cIlxuICAgICAgICAgICAgICAgICAgcGFnZSA9PT0gZXhhY3RNYXRjaGVzQ3VycmVudFBhZ2VcbiAgICAgICAgICAgICAgICAgICAgPyAnYnRuLXByaW1hcnknXG4gICAgICAgICAgICAgICAgICAgIDogJ2J0bi1vdXRsaW5lLWRhcmsnXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBAY2xpY2s9XCJnb1RvUGFnZUV4YWN0TWF0Y2hlcyhwYWdlKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBwYWdlIH19XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8IS0tIE5leHQgcGFnZSBidXR0b24gLS0+XG4gICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgY2xhc3M9XCJwYWdlLWl0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgIHYtaWY9XCJcbiAgICAgICAgICAgICAgICB0aGlzLmlzRGVza3RvcCAmJlxuICAgICAgICAgICAgICAgIGV4YWN0TWF0Y2hlc0N1cnJlbnRQYWdlIDwgdG90YWxQYWdlc0V4YWN0TWF0Y2hlc1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwicGFnZS1saW5rLWN1c3RvbSBsaW5rLWRhcmsgdGV4dC1ub3dyYXAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBweC0yXCJcbiAgICAgICAgICAgICAgICBAY2xpY2s9XCJnb1RvUGFnZUV4YWN0TWF0Y2hlcyhleGFjdE1hdGNoZXNDdXJyZW50UGFnZSArIDEpXCJcbiAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJleGFjdE1hdGNoZXNDdXJyZW50UGFnZSA9PT0gdG90YWxQYWdlc0V4YWN0TWF0Y2hlc1wiXG4gICAgICAgICAgICAgICAgOmFyaWEtbGFiZWw9XCJ0cmFucygncGFnaW5hdGlvbi5idXR0b24ubmV4dCcpXCJcbiAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXktMlwiPlxuICAgICAgICAgICAgICAgICAge3sgdHJhbnMoXCJwYWdpbmF0aW9uLmJ1dHRvbi5uZXh0XCIpIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTlcIlxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMThcIlxuICAgICAgICAgICAgICAgICAgdmlld2JveD1cIjAgMCAxOSAxOFwiXG4gICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xNi4yODQ1IDkuNTk2ODlMMTEuMjIyIDE0LjY1OTRDMTEuMDYzNCAxNC44MTc5IDEwLjg0ODUgMTQuOTA3IDEwLjYyNDMgMTQuOTA3QzEwLjQwMDEgMTQuOTA3IDEwLjE4NTEgMTQuODE3OSAxMC4wMjY2IDE0LjY1OTRDOS44NjgxMyAxNC41MDA5IDkuNzc5MDggMTQuMjg1OSA5Ljc3OTA4IDE0LjA2MTdDOS43NzkwOCAxMy44Mzc2IDkuODY4MTMgMTMuNjIyNiAxMC4wMjY2IDEzLjQ2NDFMMTMuNjQ4NCA5Ljg0MzY5SDMuMzEyNUMzLjA4ODcyIDkuODQzNjkgMi44NzQxMSA5Ljc1NDggMi43MTU4OCA5LjU5NjU2QzIuNTU3NjQgOS40MzgzMyAyLjQ2ODc1IDkuMjIzNzIgMi40Njg3NSA4Ljk5OTk0QzIuNDY4NzUgOC43NzYxNiAyLjU1NzY0IDguNTYxNTUgMi43MTU4OCA4LjQwMzMyQzIuODc0MTEgOC4yNDUwOSAzLjA4ODcyIDguMTU2MTkgMy4zMTI1IDguMTU2MTlIMTMuNjQ4NEwxMC4wMjggNC41MzM2OUM5Ljg2OTU0IDQuMzc1MTggOS43ODA0OSA0LjE2MDIgOS43ODA0OSAzLjkzNjAzQzkuNzgwNDkgMy43MTE4NyA5Ljg2OTU0IDMuNDk2ODkgMTAuMDI4IDMuMzM4MzhDMTAuMTg2NiAzLjE3OTg3IDEwLjQwMTUgMy4wOTA4MiAxMC42MjU3IDMuMDkwODJDMTAuODQ5OSAzLjA5MDgyIDExLjA2NDkgMy4xNzk4NyAxMS4yMjM0IDMuMzM4MzhMMTYuMjg1OSA4LjQwMDg4QzE2LjM2NDUgOC40NzkzNyAxNi40MjY5IDguNTcyNjMgMTYuNDY5NSA4LjY3NTMxQzE2LjUxMiA4Ljc3Nzk4IDE2LjUzMzggOC44ODgwNCAxNi41MzM3IDguOTk5MThDMTYuNTMzNSA5LjExMDMxIDE2LjUxMTUgOS4yMjAzMiAxNi40Njg3IDkuMzIyOUMxNi40MjU5IDkuNDI1NDcgMTYuMzYzMyA5LjUxODU5IDE2LjI4NDUgOS41OTY4OVpcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzJGMkYyRlwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIlxuICAgICAgICAgICAgdi1pZj1cIiF0aGlzLmlzRGVza3RvcFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPCEtLSBQcmV2aW91cyBwYWdlIGJ1dHRvbiAtLT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJwYWdlLWl0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgIDpjbGFzcz1cInsgZGlzYWJsZWQ6IGV4YWN0TWF0Y2hlc0N1cnJlbnRQYWdlID09PSAxIH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwicGFnZS1saW5rLWN1c3RvbSBsaW5rLWRhcmsgdGV4dC1ub3dyYXAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBweC0yXCJcbiAgICAgICAgICAgICAgICBAY2xpY2s9XCJnb1RvUGFnZUV4YWN0TWF0Y2hlcyhleGFjdE1hdGNoZXNDdXJyZW50UGFnZSAtIDEpXCJcbiAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJleGFjdE1hdGNoZXNDdXJyZW50UGFnZSA9PT0gMVwiXG4gICAgICAgICAgICAgICAgOmFyaWEtbGFiZWw9XCJ0cmFucygncGFnaW5hdGlvbi5idXR0b24ucHJldicpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTlcIlxuICAgICAgICAgICAgICAgICAgdmlld2JveD1cIjAgMCAxOCAxOVwiXG4gICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xNi4wMzA5IDkuNUMxNi4wMzA5IDkuNzIzNzcgMTUuOTQyIDkuOTM4MzkgMTUuNzgzOCAxMC4wOTY2QzE1LjYyNTYgMTAuMjU0OSAxNS40MTEgMTAuMzQzNyAxNS4xODcyIDEwLjM0MzdINC44NTEyNUw4LjQ3Mzc1IDEzLjk2NTVDOC42MzIyNiAxNC4xMjQxIDguNzIxMzEgMTQuMzM5IDguNzIxMzEgMTQuNTYzMkM4LjcyMTMxIDE0Ljc4NzQgOC42MzIyNiAxNS4wMDIzIDguNDczNzUgMTUuMTYwOUM4LjMxNTI0IDE1LjMxOTQgOC4xMDAyNiAxNS40MDg0IDcuODc2MDkgMTUuNDA4NEM3LjY1MTkzIDE1LjQwODQgNy40MzY5NSAxNS4zMTk0IDcuMjc4NDQgMTUuMTYwOUwyLjIxNTk0IDEwLjA5ODRDMi4xMzcyOCAxMC4wMiAyLjA3NDg3IDkuOTI2ODMgMi4wMzIyOCA5LjgyNDI3QzEuOTg5NjkgOS43MjE3MSAxLjk2Nzc3IDkuNjExNzUgMS45Njc3NyA5LjUwMDdDMS45Njc3NyA5LjM4OTY1IDEuOTg5NjkgOS4yNzk2OSAyLjAzMjI4IDkuMTc3MTNDMi4wNzQ4NyA5LjA3NDU4IDIuMTM3MjggOC45ODE0MyAyLjIxNTk0IDguOTAzMDRMNy4yNzg0NCAzLjg0MDU0QzcuMzU2OTIgMy43NjIwNiA3LjQ1MDEgMy42OTk4IDcuNTUyNjUgMy42NTczMkM3LjY1NTE5IDMuNjE0ODUgNy43NjUxIDMuNTkyOTkgNy44NzYwOSAzLjU5Mjk5QzcuOTg3MDkgMy41OTI5OSA4LjA5NyAzLjYxNDg1IDguMTk5NTQgMy42NTczMkM4LjMwMjA5IDMuNjk5OCA4LjM5NTI3IDMuNzYyMDYgOC40NzM3NSAzLjg0MDU0QzguNTUyMjQgMy45MTkwMyA4LjYxNDQ5IDQuMDEyMjEgOC42NTY5NyA0LjExNDc1QzguNjk5NDUgNC4yMTczIDguNzIxMzEgNC4zMjcyMSA4LjcyMTMxIDQuNDM4MkM4LjcyMTMxIDQuNTQ5MiA4LjY5OTQ1IDQuNjU5MSA4LjY1Njk3IDQuNzYxNjVDOC42MTQ0OSA0Ljg2NDIgOC41NTIyNCA0Ljk1NzM3IDguNDczNzUgNS4wMzU4Nkw0Ljg1MTI1IDguNjU2MjVIMTUuMTg3MkMxNS40MTEgOC42NTYyNSAxNS42MjU2IDguNzQ1MTQgMTUuNzgzOCA4LjkwMzM4QzE1Ljk0MiA5LjA2MTYxIDE2LjAzMDkgOS4yNzYyMiAxNi4wMzA5IDkuNVpcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzJGMkYyRlwiXG4gICAgICAgICAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXktMlwiPlxuICAgICAgICAgICAgICAgICAge3sgdHJhbnMoXCJwYWdpbmF0aW9uLmJ1dHRvbi5wcmV2XCIpIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gTmV4dCBwYWdlIGJ1dHRvbiAtLT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJwYWdlLWl0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgIDpjbGFzcz1cIntcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogZXhhY3RNYXRjaGVzQ3VycmVudFBhZ2UgPT09IHRvdGFsUGFnZXNFeGFjdE1hdGNoZXMsXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwicGFnZS1saW5rLWN1c3RvbSBsaW5rLWRhcmsgdGV4dC1ub3dyYXAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBweC0yXCJcbiAgICAgICAgICAgICAgICBAY2xpY2s9XCJnb1RvUGFnZUV4YWN0TWF0Y2hlcyhleGFjdE1hdGNoZXNDdXJyZW50UGFnZSArIDEpXCJcbiAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJleGFjdE1hdGNoZXNDdXJyZW50UGFnZSA9PT0gdG90YWxQYWdlc0V4YWN0TWF0Y2hlc1wiXG4gICAgICAgICAgICAgICAgOmFyaWEtbGFiZWw9XCJ0cmFucygncGFnaW5hdGlvbi5idXR0b24ubmV4dCcpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXktMlwiPlxuICAgICAgICAgICAgICAgICAge3sgdHJhbnMoXCJwYWdpbmF0aW9uLmJ1dHRvbi5uZXh0XCIpIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTlcIlxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMThcIlxuICAgICAgICAgICAgICAgICAgdmlld2JveD1cIjAgMCAxOSAxOFwiXG4gICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xNi4yODQ1IDkuNTk2ODlMMTEuMjIyIDE0LjY1OTRDMTEuMDYzNCAxNC44MTc5IDEwLjg0ODUgMTQuOTA3IDEwLjYyNDMgMTQuOTA3QzEwLjQwMDEgMTQuOTA3IDEwLjE4NTEgMTQuODE3OSAxMC4wMjY2IDE0LjY1OTRDOS44NjgxMyAxNC41MDA5IDkuNzc5MDggMTQuMjg1OSA5Ljc3OTA4IDE0LjA2MTdDOS43NzkwOCAxMy44Mzc2IDkuODY4MTMgMTMuNjIyNiAxMC4wMjY2IDEzLjQ2NDFMMTMuNjQ4NCA5Ljg0MzY5SDMuMzEyNUMzLjA4ODcyIDkuODQzNjkgMi44NzQxMSA5Ljc1NDggMi43MTU4OCA5LjU5NjU2QzIuNTU3NjQgOS40MzgzMyAyLjQ2ODc1IDkuMjIzNzIgMi40Njg3NSA4Ljk5OTk0QzIuNDY4NzUgOC43NzYxNiAyLjU1NzY0IDguNTYxNTUgMi43MTU4OCA4LjQwMzMyQzIuODc0MTEgOC4yNDUwOSAzLjA4ODcyIDguMTU2MTkgMy4zMTI1IDguMTU2MTlIMTMuNjQ4NEwxMC4wMjggNC41MzM2OUM5Ljg2OTU0IDQuMzc1MTggOS43ODA0OSA0LjE2MDIgOS43ODA0OSAzLjkzNjAzQzkuNzgwNDkgMy43MTE4NyA5Ljg2OTU0IDMuNDk2ODkgMTAuMDI4IDMuMzM4MzhDMTAuMTg2NiAzLjE3OTg3IDEwLjQwMTUgMy4wOTA4MiAxMC42MjU3IDMuMDkwODJDMTAuODQ5OSAzLjA5MDgyIDExLjA2NDkgMy4xNzk4NyAxMS4yMjM0IDMuMzM4MzhMMTYuMjg1OSA4LjQwMDg4QzE2LjM2NDUgOC40NzkzNyAxNi40MjY5IDguNTcyNjMgMTYuNDY5NSA4LjY3NTMxQzE2LjUxMiA4Ljc3Nzk4IDE2LjUzMzggOC44ODgwNCAxNi41MzM3IDguOTk5MThDMTYuNTMzNSA5LjExMDMxIDE2LjUxMTUgOS4yMjAzMiAxNi40Njg3IDkuMzIyOUMxNi40MjU5IDkuNDI1NDcgMTYuMzYzMyA5LjUxODU5IDE2LjI4NDUgOS41OTY4OVpcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzJGMkYyRlwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uYXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBMb2FkIE1vcmUgYnV0dG9uIGZvciBleGFjdE1hdGNoZXMgKG9yaWdpbmFsIGZ1bmN0aW9uYWxpdHkpIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImxvYWQtbW9yZS1jb250YWluZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgbXktNFwiXG4gICAgICAgIHYtaWY9XCJoYXNNb3JlRXhhY3RNYXRjaGVzICYmICF1c2VQYWdpbmF0aW9uXCJcbiAgICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBweS0yIHB4LTRcIlxuICAgICAgICAgIEBjbGljaz1cImxvYWRNb3JlRXhhY3RNYXRjaGVzXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHRyYW5zKFwic2VhcmNoLnNob3dNb3JlXCIpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxTZWFyY2hMaXN0V2FybmluZ1xuICAgICAgICB2LWlmPVwiXG4gICAgICAgICAgb3RoZXJNYXRjaGVzLmxlbmd0aCA+PSAxICYmXG4gICAgICAgICAgIXNob3dPbmx5RXhhY3RNYXRjaGVzICYmXG4gICAgICAgICAgIXNlYXJjaFN0YXR1cy5idXN5XG4gICAgICAgIFwiXG4gICAgICAgIDp3YXJuaW5nVGl0bGU9XCJ0cmFucygnc2VhcmNoLnJlc3VsdC5pbmZvV2FybmluZy50aXRsZScpID8/ICcnXCJcbiAgICAgICAgOndhcm5pbmdUZXh0PVwidHJhbnMoJ3NlYXJjaC5yZXN1bHQuaW5mb1dhcm5pbmcudGV4dCcpID8/ICcnXCJcbiAgICAgIC8+XG4gICAgICA8dHJhbnNpdGlvbi1ncm91cFxuICAgICAgICBuYW1lPVwiY2FyZC1hbmltYXRpb25cIlxuICAgICAgICB0YWc9XCJkaXZcIlxuICAgICAgICBjbGFzcz1cImNhcmQtY29udGFpbmVyIG90aGVyTWF0Y2hlc1wiXG4gICAgICAgIGFwcGVhclxuICAgICAgICB2LWlmPVwiIXNlYXJjaFN0YXR1cy5idXN5XCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHYtZm9yPVwiKGNhbXBpbmcsIGluZGV4KSBpbiBwYWdpbmF0ZWRPdGhlck1hdGNoZXNcIlxuICAgICAgICAgIDprZXk9XCJjYW1waW5nLmNhbXBpbmcuX2lkICsgJy1vdGhlci0nICsgaW5kZXhcIlxuICAgICAgICAgIGNsYXNzPVwiY2FyZC1pdGVtXCJcbiAgICAgICAgICB2LWlmPVwiIXNob3dPbmx5RXhhY3RNYXRjaGVzXCJcbiAgICAgICAgICB2LXN0YWdnZXI9XCIoaW5kZXggJSBvdGhlck1hdGNoZXNQZXJQYWdlKSArIDFcIlxuICAgICAgICA+XG4gICAgICAgICAgPFNlYXJjaENhcmRcbiAgICAgICAgICAgIDppc0ZsZXhpYmxlQ29udGVudD1cImlzRmxleGlibGVDb250ZW50XCJcbiAgICAgICAgICAgIDpjYW1waW5nPVwiY2FtcGluZ1wiXG4gICAgICAgICAgICA6aXNEZXNrdG9wPVwiaXNEZXNrdG9wXCJcbiAgICAgICAgICAgIHR5cGVDYXJkPVwib3RoZXJEYXRlc1wiXG4gICAgICAgICAgICBjbGFzcz1cIm90aGVyRGF0ZXNcIlxuICAgICAgICAgID48L1NlYXJjaENhcmQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90cmFuc2l0aW9uLWdyb3VwPlxuXG4gICAgICA8IS0tIExvYWQgTW9yZSBidXR0b24gZm9yIG90aGVyTWF0Y2hlcyAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJsb2FkLW1vcmUtY29udGFpbmVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgICAgICAgdi1pZj1cIlxuICAgICAgICAgIGhhc01vcmVPdGhlck1hdGNoZXMgJiYgIXNob3dPbmx5RXhhY3RNYXRjaGVzICYmICFzZWFyY2hTdGF0dXMuYnVzeVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBweS0yIHB4LTRcIlxuICAgICAgICAgIEBjbGljaz1cImxvYWRNb3JlT3RoZXJNYXRjaGVzXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHRyYW5zKFwic2VhcmNoLnNob3dNb3JlXCIpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC90ZW1wbGF0ZT5cbjxzdHlsZSBzY29wZWQ+XG4vKiBDb250YWluZXIgZm9yIHRoZSBmdWxsLXdpZHRoIFNlYXJjaENhcmQgKi9cbi5tYXAtYm90dG9tLWNhcmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1heC1oZWlnaHQ6IDM1dmg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5tYXAtbGlzdC1sYXlvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJkLWFuaW1hdGlvbi1tb3ZlLCAvKiBhcHBseSB0cmFuc2l0aW9uIHRvIG1vdmluZyBlbGVtZW50cyAqL1xuLmNhcmQtYW5pbWF0aW9uLWVudGVyLWFjdGl2ZSxcbi5jYXJkLWFuaW1hdGlvbi1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2l0aW9uOiBhbGwgMC43NXMgZWFzZTtcbn1cblxuLmNhcmQtYW5pbWF0aW9uLWVudGVyLWZyb20ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDVweCk7XG59XG4uY2FyZC1hbmltYXRpb24tbGVhdmUtdG8ge1xuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQ1cHgpO1xufVxuXG4vKiBGb3IgbWFudWFsIGFuaW1hdGlvbiB0cmlnZ2VyIG9uIHBhZ2luYXRpb24gKi9cbi5jYXJkLWFuaW1hdGlvbi1hcHBseSB7XG4gIGFuaW1hdGlvbjogY2FyZC1zbGlkZS1pbiAwLjc1cyBlYXNlIGZvcndhcmRzO1xuICAvKiBBbmltYXRpb24gd2lsbCByZXNwZWN0IHRoZSBlbGVtZW50J3MgdHJhbnNpdGlvbkRlbGF5IHByb3BlcnR5ICovXG4gIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tYW5pbWF0aW9uLWRlbGF5LCAwbXMpO1xuICBvcGFjaXR5OiAwOyAvKiBTdGFydCBoaWRkZW4gKi9cbn1cblxuQGtleWZyYW1lcyBjYXJkLXNsaWRlLWluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQ1cHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi8qIGlPUyBTYWZhcmkgc3BlY2lmaWMgb3B0aW1pemF0aW9ucyBhcyBwZXIgbWVtb3J5ICovXG5Ac3VwcG9ydHMgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkge1xuICAuY2FyZC1hbmltYXRpb24tYXBwbHkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuLyogRW5zdXJlIHByb3BlciBzcGFjaW5nIGJldHdlZW4gY2FyZHMgKi9cbi5jYXJkLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuPC9zdHlsZT5cbiIsIjxzY3JpcHQ+XG5pbXBvcnQgSW50bE1lc3NhZ2VGb3JtYXQgZnJvbSBcImludGwtbWVzc2FnZWZvcm1hdFwiO1xuaW1wb3J0IFNlYXJjaERhdGEgZnJvbSBcIi4vU2VhcmNoRGF0YS5qc1wiO1xuaW1wb3J0IFNlYXJjaFNob3dPbk1hcCBmcm9tIFwiLi9TZWFyY2hTaG93T25NYXAudnVlXCI7XG5pbXBvcnQgU2VhcmNoU3VtbWFyeSBmcm9tIFwiLi9TZWFyY2hTdW1tYXJ5LnZ1ZVwiO1xuaW1wb3J0IFNlYXJjaEZpbHRlcnMgZnJvbSBcIi4vU2VhcmNoRmlsdGVycy52dWVcIjtcbmltcG9ydCBUcmFuc2xhdG9yIGZyb20gXCIuL1RyYW5zbGF0b3JcIjtcbmltcG9ydCBDbG9zZVN2ZyBmcm9tIFwiLi9zdmdzL2Nsb3NlU3ZnLnZ1ZVwiO1xuaW1wb3J0IFNlYXJjaERvdFN2ZyBmcm9tIFwiLi9TZWFyY2hEb3RTdmcudnVlXCI7XG5pbXBvcnQgU2VhcmNoRmlsdGVyRXhhY3RNYXRjaGVzIGZyb20gXCIuL1NlYXJjaEZpbHRlckV4YWN0TWF0Y2hlcy52dWVcIjtcbmltcG9ydCBTZWFyY2hJY29uIGZyb20gXCIuL3N2Z3Mvc2VhcmNoSWNvbi52dWVcIjtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBpbmplY3Q6IFtcInNlYXJjaFJlc3VsdHNcIl0sXG4gIHByb3BzOiB7XG4gICAgc2hvd01hcFZpZXc6IEJvb2xlYW4sXG4gICAgaGlkZVRpdGxlOiBCb29sZWFuLFxuICAgIHNlYXJjaFN0YXR1czogT2JqZWN0LFxuICB9LFxuICBjb21wb25lbnRzOiB7XG4gICAgSW50bE1lc3NhZ2VGb3JtYXQsXG4gICAgU2VhcmNoU2hvd09uTWFwLFxuICAgIFNlYXJjaFN1bW1hcnksXG4gICAgU2VhcmNoRmlsdGVycyxcbiAgICBTZWFyY2hGaWx0ZXJFeGFjdE1hdGNoZXMsXG4gICAgU2VhcmNoSWNvbixcbiAgICBDbG9zZVN2ZyxcbiAgICBTZWFyY2hEb3RTdmcsXG4gIH0sXG4gIGJlZm9yZU1vdW50KCkge30sXG4gIG1vdW50ZWQoKSB7XG4gICAgLy8gVXNlIEludGVyc2VjdGlvbiBPYnNlcnZlciB0byBkZXRlY3Qgd2hlbiB0aGUgdG9wIGJ1dHRvbiBnb2VzIG91dCBvZiB2aWV3cG9ydFxuICAgIGlmIChcIkludGVyc2VjdGlvbk9ic2VydmVyXCIgaW4gd2luZG93KSB7XG4gICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgKGVudHJpZXMpID0+IHtcbiAgICAgICAgICAvLyBVcGRhdGUgdmlzaWJpbGl0eSBzdGF0ZSBiYXNlZCBvbiBpbnRlcnNlY3Rpb25cbiAgICAgICAgICB0aGlzLnRvcEJ1dHRvblZpc2libGUgPSBlbnRyaWVzWzBdLmlzSW50ZXJzZWN0aW5nO1xuICAgICAgICAgIHRoaXMuZm9vdGVyVmlzaWJsZSA9IGVudHJpZXNbMF0uaXNJbnRlcnNlY3Rpbmc7XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0aHJlc2hvbGQ6IDAsIC8vIFRyaWdnZXIgYXMgc29vbiBhcyBhbnkgcGFydCBiZWNvbWVzIHZpc2libGUvaW52aXNpYmxlXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIC8vIFN0YXJ0IG9ic2VydmluZyB0aGUgdG9wIGJ1dHRvblxuICAgICAgY29uc3QgdG9wQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJzaG93TW9iaWxlRmlsdGVyc1RvcFwiKTtcbiAgICAgIGNvbnN0IGZvb3RlckJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiZm9vdGVyXCIpWzBdO1xuICAgICAgaWYgKHRvcEJ1dHRvbikge1xuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRvcEJ1dHRvbik7XG4gICAgICB9XG4gICAgICBpZiAoZm9vdGVyQnV0dG9uKSB7XG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZm9vdGVyQnV0dG9uKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHdpdGhvdXQgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgc3VwcG9ydFxuICAgICAgLy8gS2VlcCB0aGUgYnV0dG9uIGFsd2F5cyB2aXNpYmxlIGFzIGEgc2FmZSBkZWZhdWx0XG4gICAgICB0aGlzLnRvcEJ1dHRvblZpc2libGUgPSB0cnVlO1xuICAgICAgdGhpcy5mb290ZXJWaXNpYmxlID0gdHJ1ZTtcbiAgICB9XG4gIH0sXG5cbiAgZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHJhbnM6IFRyYW5zbGF0b3IsXG4gICAgICBzZWFyY2hEYXRhOiBTZWFyY2hEYXRhLFxuICAgICAgdG9wQnV0dG9uVmlzaWJsZTogdHJ1ZSxcbiAgICAgIGZvb3RlclZpc2libGU6IHRydWUsXG4gICAgfTtcbiAgfSxcblxuICBjb21wdXRlZDoge1xuICAgIHNlbGVjdGVkQ291bnRyeSgpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuc2VhcmNoRGF0YS5yZWZpbmVyU2V0dGluZ3M/LmNvdW50cmllcz8uZmlsdGVyKFxuICAgICAgICAgIChpdGVtKSA9PiBpdGVtLmNvZGUgPT09IHRoaXMuc2VhcmNoRGF0YS5jb3VudHJ5XG4gICAgICAgIClbMF0/LmNvdW50cnkgPz8gdGhpcy50cmFucyhcInNlYXJjaC5kZXN0aW5hdGlvbkRyb3Bkb3duLmRlZmF1bHRcIilcbiAgICAgICk7XG4gICAgfSxcbiAgICBzZWxlY3RlZFJlZ2lvbigpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuc2VhcmNoRGF0YS5yZWZpbmVyU2V0dGluZ3M/LnJlZ2lvbnM/LmZpbHRlcihcbiAgICAgICAgICAoaXRlbSkgPT4gaXRlbS5yZWdpb24gPT09IHRoaXMuc2VhcmNoRGF0YS5yZWdpb25cbiAgICAgICAgKVswXT8ucmVnaW9uID8/IHRoaXMudHJhbnMoXCJzZWFyY2gucmVnaW9uRHJvcGRvd24uZGVmYXVsdFwiKVxuICAgICAgKTtcbiAgICB9LFxuICAgIGRhdGUoKSB7XG4gICAgICBjb25zdCBsb2NhbGVGb3JtYXQgPSBsb2NhbGUucmVwbGFjZSgvXmVuJC8sIFwiZW4tR0JcIik7XG5cbiAgICAgIC8vIENyZWF0ZSBmb3JtYXR0ZXJzIG9uY2UgYW5kIHJldXNlXG4gICAgICBjb25zdCBsb25nRm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlRm9ybWF0LCB7XG4gICAgICAgIGRheTogXCJudW1lcmljXCIsXG4gICAgICAgIG1vbnRoOiBcImxvbmdcIixcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2hvcnRGb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGVGb3JtYXQsIHtcbiAgICAgICAgZGF5OiBcIm51bWVyaWNcIixcbiAgICAgICAgbW9udGg6IFwic2hvcnRcIixcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBbZGF0ZTEsIGRhdGUyXSA9IHRoaXMuc2VhcmNoRGF0YS5kYXRlO1xuXG4gICAgICBsZXQgZGF0ZVBhcnQxID0gbG9uZ0Zvcm1hdHRlci5mb3JtYXQoZGF0ZTEpO1xuICAgICAgbGV0IGRhdGVQYXJ0MXNob3J0ID0gc2hvcnRGb3JtYXR0ZXIuZm9ybWF0KGRhdGUxKTtcbiAgICAgIGxldCBkYXRlUGFydDIgPSBsb25nRm9ybWF0dGVyLmZvcm1hdChkYXRlMik7XG4gICAgICBsZXQgZGF0ZVBhcnQyc2hvcnQgPSBzaG9ydEZvcm1hdHRlci5mb3JtYXQoZGF0ZTIpO1xuXG4gICAgICBpZiAoZGF0ZTEgJiYgZGF0ZTEuZ2V0TW9udGgoKSA9PT0gZGF0ZTIuZ2V0TW9udGgoKSkge1xuICAgICAgICBkYXRlUGFydDEgPSBkYXRlMS5nZXREYXRlKCk7IC8vIERpc3BsYXkgb25seSB0aGUgZGF5IGlmIGluIHRoZSBzYW1lIG1vbnRoXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRlUGFydDEgPSBkYXRlUGFydDFzaG9ydDtcbiAgICAgICAgZGF0ZVBhcnQyID0gZGF0ZVBhcnQyc2hvcnQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBgJHtkYXRlUGFydDF9IC0gJHtkYXRlUGFydDJ9YDtcbiAgICB9LFxuICB9LFxuXG4gIG1ldGhvZHM6IHt9LFxufTtcbjwvc2NyaXB0PlxuXG48dGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbGctM1wiPlxuICAgIDxkaXYgY2xhc3M9XCJtYi0yIG1iLWxnLTRcIj5cbiAgICAgIDxoMSBjbGFzcz1cImFsdCB0ZXh0LWNlbnRlciBtYi0zXCIgdi1pZj1cIiFoaWRlVGl0bGVcIj5cbiAgICAgICAge3sgdHJhbnMoXCJzZWFyY2guYm9vay50aXRsZVwiKSB9fVxuICAgICAgPC9oMT5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtc3VtbWFyeVwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJzaG93LW1vYmlsZS1waWNrZXIgYm9va2luZy13aWRnZXQtZGF0ZS1waWNrZXIgZnctbm9ybWFsIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHRleHQtc3RhcnQgYnRuIGJ0bi1vdXRsaW5lLWRhcmsgdy0xMDAgc2hhZG93LW5vbmUgbm8tc3ZnLWFuaW1hdGlvbiBtYi0zIHAtMlwiXG4gICAgICAgICAgZGF0YS1icy10b2dnbGU9XCJvZmZjYW52YXNcIlxuICAgICAgICAgIGhyZWY9XCIjbW9iaWxlRmlsdGVyc1wiXG4gICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgYXJpYS1jb250cm9scz1cIm1vYmlsZUZpbHRlcnNcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJib29raW5nLXdpZGdldC1kYXRlLXJhbmdlIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJib29raW5nLXdpZGdldC1kYXRlLWNhbGVuZGFyXCI+XG4gICAgICAgICAgICAgIDxTZWFyY2hJY29uIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBib29raW5nLXdpZGdldC1kYXRlLXJhbmdlIGZ3LW1lZGl1bVwiXG4gICAgICAgICAgICAgICAgdi1pZj1cInNlYXJjaERhdGEuY291bnRyeVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBzZWxlY3RlZENvdW50cnkgfX1cbiAgICAgICAgICAgICAgICA8U2VhcmNoRG90U3ZnIHYtaWY9XCJzZWxlY3RlZFJlZ2lvblwiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm9va2luZy13aWRnZXQtZGF0ZS1yYW5nZSBmdy1tZWRpdW1cIlxuICAgICAgICAgICAgICAgICAgdi1pZj1cInNlbGVjdGVkUmVnaW9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBzZWxlY3RlZFJlZ2lvbiB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJib29raW5nLXdpZGdldC1kYXRlLXJhbmdlIGZ3LW1lZGl1bVwiXG4gICAgICAgICAgICAgICAgdi1lbHNlPVwic2VhcmNoRGF0YS5jb3VudHJ5XCJcbiAgICAgICAgICAgICAgICA+e3sgdHJhbnMoXCJzZWFyY2guZGVzdGluYXRpb25Ecm9wZG93bi5kZWZhdWx0XCIpIH19PC9zcGFuXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIlxuICAgICAgICAgICAgICAgIHYtaWY9XCJzZWFyY2hEYXRhLmRhdGVbMF0gJiYgc2VhcmNoRGF0YS5kYXRlWzFdXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGRhdGUgfX08L3NwYW4+IDxTZWFyY2hEb3RTdmcgLz5cbiAgICAgICAgICAgICAgICA8c3Bhbj57e1xuICAgICAgICAgICAgICAgICAgdHJhbnMoXCJzZWFyY2gucmVzdWx0Lm51bVBlcnNvbnNcIiwge1xuICAgICAgICAgICAgICAgICAgICBudW1iZXI6XG4gICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRGF0YS5hZHVsdHMgK1xuICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaERhdGEuY2hpbGRyZW4gK1xuICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaERhdGEuYmFiaWVzLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiB2LWVsc2UgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgdHJhbnMoXCJib29raW5nX3dpZGdldC5hcnJpdmFsX2RlcGFydHVyZVwiKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8U2VhcmNoRG90U3ZnIC8+XG4gICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgIHRyYW5zKFwic2VhcmNoLnJlc3VsdC5udW1QZXJzb25zXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgbnVtYmVyOlxuICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaERhdGEuYWR1bHRzICtcbiAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hEYXRhLmNoaWxkcmVuICtcbiAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hEYXRhLmJhYmllcyxcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vYmlsZS16b2VrLWJvZWstc2lkZWJhci13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTNcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1kYXJrIHctNTAgcC0yXCJcbiAgICAgICAgICAgIEBjbGljaz1cIiRlbWl0KCd0b2dnbGUtdmlldycpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICBzaG93TWFwVmlld1xuICAgICAgICAgICAgICAgID8gdHJhbnMoXCJzZWFyY2guYm9vay5zaG93Lmxpc3QubW9iaWxlXCIpXG4gICAgICAgICAgICAgICAgOiB0cmFucyhcInNlYXJjaC5ib29rLnNob3cubWFwLm1vYmlsZVwiKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTlcIlxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTkgMThcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIHYtaWY9XCIhc2hvd01hcFZpZXdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNMTYuNTE4OSAzLjI3MjM1QzE2LjQxNzkgMy4xOTM1MyAxNi4zMDAyIDMuMTM4NzcgMTYuMTc0OCAzLjExMjIxQzE2LjA0OTUgMy4wODU2NSAxNS45MTk3IDMuMDg4IDE1Ljc5NTQgMy4xMTkwN0wxMS41OTg0IDQuMTY4MTNMNy4zNzk2OSAyLjA1ODc1QzcuMTk5NDkgMS45Njg1OSA2Ljk5Mjk4IDEuOTQ1OSA2Ljc5NzUgMS45OTQ3N0wyLjI5NzUgMy4xMTk3N0MyLjExNDY5IDMuMTY0OTYgMS45NTIyNSAzLjI3MDAyIDEuODM2MDUgMy40MTgyQzEuNzE5ODQgMy41NjYzOSAxLjY1NjU1IDMuNzQ5MTkgMS42NTYyNSAzLjkzNzVWMTQuMDYyNUMxLjY1NjI3IDE0LjE5MDcgMS42ODU1MSAxNC4zMTcyIDEuNzQxNzQgMTQuNDMyNUMxLjc5Nzk3IDE0LjU0NzcgMS44Nzk3MiAxNC42NDg2IDEuOTgwNzggMTQuNzI3NUMyLjA4MTg0IDE0LjgwNjMgMi4xOTk1NSAxNC44NjEyIDIuMzI0OTcgMTQuODg3OEMyLjQ1MDQgMTQuOTE0NCAyLjU4MDIzIDE0LjkxMiAyLjcwNDYxIDE0Ljg4MDlMNi45MDE1NiAxMy44MzE5TDExLjEyMDMgMTUuOTQxM0MxMS4zMDA1IDE2LjAzMTQgMTEuNTA3IDE2LjA1NDEgMTEuNzAyNSAxNi4wMDUyTDE2LjIwMjUgMTQuODgwMkMxNi4zODUzIDE0LjgzNSAxNi41NDc3IDE0LjczIDE2LjY2NCAxNC41ODE4QzE2Ljc4MDIgMTQuNDMzNiAxNi44NDM0IDE0LjI1MDggMTYuODQzOCAxNC4wNjI1VjMuOTM3NUMxNi44NDM3IDMuODA5MjMgMTYuODE0NSAzLjY4MjY2IDE2Ljc1ODIgMy41Njc0QzE2LjcwMTkgMy40NTIxNCAxNi42MjAxIDMuMzUxMjMgMTYuNTE4OSAzLjI3MjM1Wk03Ljg0Mzc1IDQuMTc3OTdMMTAuNjU2MiA1LjU4NDIyVjEzLjgyMkw3Ljg0Mzc1IDEyLjQxNThWNC4xNzc5N1pNMy4zNDM3NSA0LjU5OTg1TDYuMTU2MjUgMy44OTY3MlYxMi4yNzg3TDMuMzQzNzUgMTIuOTgxOFY0LjU5OTg1Wk0xNS4xNTYyIDEzLjQwMzdMMTIuMzQzOCAxNC4xMDY4VjUuNzIxMzNMMTUuMTU2MiA1LjAxODIxVjEzLjQwMzdaXCJcbiAgICAgICAgICAgICAgICBmaWxsPVwiIzJGMkYyRlwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTlcIlxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTkgMThcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIHYtaWY9XCJzaG93TWFwVmlld1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZD1cIk02LjA5Mzc1IDQuNUM2LjA5Mzc1IDQuMjc2MjIgNi4xODI2NSA0LjA2MTYxIDYuMzQwODggMy45MDMzOEM2LjQ5OTExIDMuNzQ1MTQgNi43MTM3MiAzLjY1NjI1IDYuOTM3NSAzLjY1NjI1SDE1LjkzNzVDMTYuMTYxMyAzLjY1NjI1IDE2LjM3NTkgMy43NDUxNCAxNi41MzQxIDMuOTAzMzhDMTYuNjkyNCA0LjA2MTYxIDE2Ljc4MTIgNC4yNzYyMiAxNi43ODEyIDQuNUMxNi43ODEyIDQuNzIzNzggMTYuNjkyNCA0LjkzODM5IDE2LjUzNDEgNS4wOTY2MkMxNi4zNzU5IDUuMjU0ODYgMTYuMTYxMyA1LjM0Mzc1IDE1LjkzNzUgNS4zNDM3NUg2LjkzNzVDNi43MTM3MiA1LjM0Mzc1IDYuNDk5MTEgNS4yNTQ4NiA2LjM0MDg4IDUuMDk2NjJDNi4xODI2NSA0LjkzODM5IDYuMDkzNzUgNC43MjM3OCA2LjA5Mzc1IDQuNVpNMTUuOTM3NSA4LjE1NjI1SDYuOTM3NUM2LjcxMzcyIDguMTU2MjUgNi40OTkxMSA4LjI0NTE0IDYuMzQwODggOC40MDMzOEM2LjE4MjY1IDguNTYxNjEgNi4wOTM3NSA4Ljc3NjIyIDYuMDkzNzUgOUM2LjA5Mzc1IDkuMjIzNzggNi4xODI2NSA5LjQzODM5IDYuMzQwODggOS41OTY2MkM2LjQ5OTExIDkuNzU0ODUgNi43MTM3MiA5Ljg0Mzc1IDYuOTM3NSA5Ljg0Mzc1SDE1LjkzNzVDMTYuMTYxMyA5Ljg0Mzc1IDE2LjM3NTkgOS43NTQ4NSAxNi41MzQxIDkuNTk2NjJDMTYuNjkyNCA5LjQzODM5IDE2Ljc4MTIgOS4yMjM3OCAxNi43ODEyIDlDMTYuNzgxMiA4Ljc3NjIyIDE2LjY5MjQgOC41NjE2MSAxNi41MzQxIDguNDAzMzhDMTYuMzc1OSA4LjI0NTE0IDE2LjE2MTMgOC4xNTYyNSAxNS45Mzc1IDguMTU2MjVaTTE1LjkzNzUgMTIuNjU2Mkg2LjkzNzVDNi43MTM3MiAxMi42NTYyIDYuNDk5MTEgMTIuNzQ1MSA2LjM0MDg4IDEyLjkwMzRDNi4xODI2NSAxMy4wNjE2IDYuMDkzNzUgMTMuMjc2MiA2LjA5Mzc1IDEzLjVDNi4wOTM3NSAxMy43MjM4IDYuMTgyNjUgMTMuOTM4NCA2LjM0MDg4IDE0LjA5NjZDNi40OTkxMSAxNC4yNTQ5IDYuNzEzNzIgMTQuMzQzOCA2LjkzNzUgMTQuMzQzOEgxNS45Mzc1QzE2LjE2MTMgMTQuMzQzOCAxNi4zNzU5IDE0LjI1NDkgMTYuNTM0MSAxNC4wOTY2QzE2LjY5MjQgMTMuOTM4NCAxNi43ODEyIDEzLjcyMzggMTYuNzgxMiAxMy41QzE2Ljc4MTIgMTMuMjc2MiAxNi42OTI0IDEzLjA2MTYgMTYuNTM0MSAxMi45MDM0QzE2LjM3NTkgMTIuNzQ1MSAxNi4xNjEzIDEyLjY1NjIgMTUuOTM3NSAxMi42NTYyWk0zLjg0Mzc1IDcuODc1QzMuNjIxMjUgNy44NzUgMy40MDM3NCA3Ljk0MDk4IDMuMjE4NzMgOC4wNjQ2QzMuMDMzNzMgOC4xODgyMSAyLjg4OTUzIDguMzYzOTEgMi44MDQzOSA4LjU2OTQ4QzIuNzE5MjQgOC43NzUwNSAyLjY5Njk2IDkuMDAxMjUgMi43NDAzNyA5LjIxOTQ4QzIuNzgzNzggOS40Mzc3MSAyLjg5MDkyIDkuNjM4MTYgMy4wNDgyNiA5Ljc5NTVDMy4yMDU1OSA5Ljk1MjgzIDMuNDA2MDUgMTAuMDYgMy42MjQyNyAxMC4xMDM0QzMuODQyNSAxMC4xNDY4IDQuMDY4NyAxMC4xMjQ1IDQuMjc0MjcgMTAuMDM5NEM0LjQ3OTg0IDkuOTU0MjIgNC42NTU1NCA5LjgxMDAyIDQuNzc5MTUgOS42MjUwMkM0LjkwMjc3IDkuNDQwMDEgNC45Njg3NSA5LjIyMjUgNC45Njg3NSA5QzQuOTY4NzUgOC43MDE2MyA0Ljg1MDIyIDguNDE1NDggNC42MzkyNSA4LjIwNDVDNC40MjgyNyA3Ljk5MzUzIDQuMTQyMTIgNy44NzUgMy44NDM3NSA3Ljg3NVpNMy44NDM3NSAzLjM3NUMzLjYyMTI1IDMuMzc1IDMuNDAzNzQgMy40NDA5OCAzLjIxODczIDMuNTY0NkMzLjAzMzczIDMuNjg4MjEgMi44ODk1MyAzLjg2MzkxIDIuODA0MzkgNC4wNjk0OEMyLjcxOTI0IDQuMjc1MDUgMi42OTY5NiA0LjUwMTI1IDIuNzQwMzcgNC43MTk0OEMyLjc4Mzc4IDQuOTM3NzEgMi44OTA5MiA1LjEzODE2IDMuMDQ4MjYgNS4yOTU0OUMzLjIwNTU5IDUuNDUyODMgMy40MDYwNSA1LjU1OTk4IDMuNjI0MjcgNS42MDMzOEMzLjg0MjUgNS42NDY3OSA0LjA2ODcgNS42MjQ1MSA0LjI3NDI3IDUuNTM5MzZDNC40Nzk4NCA1LjQ1NDIyIDQuNjU1NTQgNS4zMTAwMiA0Ljc3OTE1IDUuMTI1MDJDNC45MDI3NyA0Ljk0MDAxIDQuOTY4NzUgNC43MjI1IDQuOTY4NzUgNC41QzQuOTY4NzUgNC4yMDE2MyA0Ljg1MDIyIDMuOTE1NDggNC42MzkyNSAzLjcwNDVDNC40MjgyNyAzLjQ5MzUzIDQuMTQyMTIgMy4zNzUgMy44NDM3NSAzLjM3NVpNMy44NDM3NSAxMi4zNzVDMy42MjEyNSAxMi4zNzUgMy40MDM3NCAxMi40NDEgMy4yMTg3MyAxMi41NjQ2QzMuMDMzNzMgMTIuNjg4MiAyLjg4OTUzIDEyLjg2MzkgMi44MDQzOSAxMy4wNjk1QzIuNzE5MjQgMTMuMjc1IDIuNjk2OTYgMTMuNTAxMiAyLjc0MDM3IDEzLjcxOTVDMi43ODM3OCAxMy45Mzc3IDIuODkwOTIgMTQuMTM4MiAzLjA0ODI2IDE0LjI5NTVDMy4yMDU1OSAxNC40NTI4IDMuNDA2MDUgMTQuNTYgMy42MjQyNyAxNC42MDM0QzMuODQyNSAxNC42NDY4IDQuMDY4NyAxNC42MjQ1IDQuMjc0MjcgMTQuNTM5NEM0LjQ3OTg0IDE0LjQ1NDIgNC42NTU1NCAxNC4zMSA0Ljc3OTE1IDE0LjEyNUM0LjkwMjc3IDEzLjk0IDQuOTY4NzUgMTMuNzIyNSA0Ljk2ODc1IDEzLjVDNC45Njg3NSAxMy4yMDE2IDQuODUwMjIgMTIuOTE1NSA0LjYzOTI1IDEyLjcwNDVDNC40MjgyNyAxMi40OTM1IDQuMTQyMTIgMTIuMzc1IDMuODQzNzUgMTIuMzc1WlwiXG4gICAgICAgICAgICAgICAgZmlsbD1cIiMyRjJGMkZcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSB3LTUwIHNob3ctbW9iaWxlLWZpbHRlcnMgcC0yXCJcbiAgICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPVwib2ZmY2FudmFzXCJcbiAgICAgICAgICAgIGhyZWY9XCIjbW9iaWxlRmlsdGVyc1wiXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJtb2JpbGVGaWx0ZXJzXCJcbiAgICAgICAgICAgIGlkPVwic2hvd01vYmlsZUZpbHRlcnNUb3BcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHRyYW5zKFwic2VhcmNoLmJvb2suZmlsdGVycy5maWx0ZXJcIikgfX1cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTlcIlxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTkgMThcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZD1cIk0zLjA2MjUgNi40Njg3N0g1LjE3NjA5QzUuMzUwNjEgNi45NjIyMyA1LjY3MzggNy4zODk0NSA2LjEwMTE4IDcuNjkxNjJDNi41Mjg1NSA3Ljk5Mzc5IDcuMDM5MDkgOC4xNTYwNSA3LjU2MjUgOC4xNTYwNUM4LjA4NTkxIDguMTU2MDUgOC41OTY0NSA3Ljk5Mzc5IDkuMDIzODIgNy42OTE2MkM5LjQ1MTIgNy4zODk0NSA5Ljc3NDM5IDYuOTYyMjMgOS45NDg5MSA2LjQ2ODc3SDE1LjQzNzVDMTUuNjYxMyA2LjQ2ODc3IDE1Ljg3NTkgNi4zNzk4OCAxNi4wMzQxIDYuMjIxNjRDMTYuMTkyNCA2LjA2MzQxIDE2LjI4MTIgNS44NDg4IDE2LjI4MTIgNS42MjUwMkMxNi4yODEyIDUuNDAxMjQgMTYuMTkyNCA1LjE4NjYzIDE2LjAzNDEgNS4wMjg0QzE1Ljg3NTkgNC44NzAxNyAxNS42NjEzIDQuNzgxMjcgMTUuNDM3NSA0Ljc4MTI3SDkuOTQ4OTFDOS43NzQzOSA0LjI4NzgxIDkuNDUxMiAzLjg2MDU5IDkuMDIzODIgMy41NTg0MkM4LjU5NjQ1IDMuMjU2MjUgOC4wODU5MSAzLjA5Mzk5IDcuNTYyNSAzLjA5Mzk5QzcuMDM5MDkgMy4wOTM5OSA2LjUyODU1IDMuMjU2MjUgNi4xMDExOCAzLjU1ODQyQzUuNjczOCAzLjg2MDU5IDUuMzUwNjEgNC4yODc4MSA1LjE3NjA5IDQuNzgxMjdIMy4wNjI1QzIuODM4NzIgNC43ODEyNyAyLjYyNDExIDQuODcwMTcgMi40NjU4OCA1LjAyODRDMi4zMDc2NCA1LjE4NjYzIDIuMjE4NzUgNS40MDEyNCAyLjIxODc1IDUuNjI1MDJDMi4yMTg3NSA1Ljg0ODggMi4zMDc2NCA2LjA2MzQxIDIuNDY1ODggNi4yMjE2NEMyLjYyNDExIDYuMzc5ODggMi44Mzg3MiA2LjQ2ODc3IDMuMDYyNSA2LjQ2ODc3Wk03LjU2MjUgNC43ODEyN0M3LjcyOTM4IDQuNzgxMjcgNy44OTI1MSA0LjgzMDc2IDguMDMxMjYgNC45MjM0N0M4LjE3MDAyIDUuMDE2MTggOC4yNzgxNiA1LjE0Nzk2IDguMzQyMDIgNS4zMDIxM0M4LjQwNTg4IDUuNDU2MzEgOC40MjI1OSA1LjYyNTk2IDguMzkwMDQgNS43ODk2M0M4LjM1NzQ4IDUuOTUzMyA4LjI3NzEyIDYuMTAzNjQgOC4xNTkxMiA2LjIyMTY0QzguMDQxMTIgNi4zMzk2NCA3Ljg5MDc4IDYuNDIgNy43MjcxMSA2LjQ1MjU2QzcuNTYzNDQgNi40ODUxMSA3LjM5Mzc5IDYuNDY4NDEgNy4yMzk2MSA2LjQwNDU0QzcuMDg1NDQgNi4zNDA2OCA2Ljk1MzY2IDYuMjMyNTQgNi44NjA5NSA2LjA5Mzc4QzYuNzY4MjMgNS45NTUwMyA2LjcxODc1IDUuNzkxOSA2LjcxODc1IDUuNjI1MDJDNi43MTg3NSA1LjQwMTI0IDYuODA3NjQgNS4xODY2MyA2Ljk2NTg4IDUuMDI4NEM3LjEyNDExIDQuODcwMTcgNy4zMzg3MiA0Ljc4MTI3IDcuNTYyNSA0Ljc4MTI3Wk0xNS40Mzc1IDExLjUzMTNIMTQuNDQ4OUMxNC4yNzQ0IDExLjAzNzggMTMuOTUxMiAxMC42MTA2IDEzLjUyMzggMTAuMzA4NEMxMy4wOTY0IDEwLjAwNjIgMTIuNTg1OSA5Ljg0Mzk5IDEyLjA2MjUgOS44NDM5OUMxMS41MzkxIDkuODQzOTkgMTEuMDI4NiAxMC4wMDYyIDEwLjYwMTIgMTAuMzA4NEMxMC4xNzM4IDEwLjYxMDYgOS44NTA2MSAxMS4wMzc4IDkuNjc2MDkgMTEuNTMxM0gzLjA2MjVDMi44Mzg3MiAxMS41MzEzIDIuNjI0MTEgMTEuNjIwMiAyLjQ2NTg4IDExLjc3ODRDMi4zMDc2NCAxMS45MzY2IDIuMjE4NzUgMTIuMTUxMiAyLjIxODc1IDEyLjM3NUMyLjIxODc1IDEyLjU5ODggMi4zMDc2NCAxMi44MTM0IDIuNDY1ODggMTIuOTcxNkMyLjYyNDExIDEzLjEyOTkgMi44Mzg3MiAxMy4yMTg4IDMuMDYyNSAxMy4yMTg4SDkuNjc2MDlDOS44NTA2MSAxMy43MTIyIDEwLjE3MzggMTQuMTM5NSAxMC42MDEyIDE0LjQ0MTZDMTEuMDI4NiAxNC43NDM4IDExLjUzOTEgMTQuOTA2IDEyLjA2MjUgMTQuOTA2QzEyLjU4NTkgMTQuOTA2IDEzLjA5NjQgMTQuNzQzOCAxMy41MjM4IDE0LjQ0MTZDMTMuOTUxMiAxNC4xMzk1IDE0LjI3NDQgMTMuNzEyMiAxNC40NDg5IDEzLjIxODhIMTUuNDM3NUMxNS42NjEzIDEzLjIxODggMTUuODc1OSAxMy4xMjk5IDE2LjAzNDEgMTIuOTcxNkMxNi4xOTI0IDEyLjgxMzQgMTYuMjgxMiAxMi41OTg4IDE2LjI4MTIgMTIuMzc1QzE2LjI4MTIgMTIuMTUxMiAxNi4xOTI0IDExLjkzNjYgMTYuMDM0MSAxMS43Nzg0QzE1Ljg3NTkgMTEuNjIwMiAxNS42NjEzIDExLjUzMTMgMTUuNDM3NSAxMS41MzEzWk0xMi4wNjI1IDEzLjIxODhDMTEuODk1NiAxMy4yMTg4IDExLjczMjUgMTMuMTY5MyAxMS41OTM3IDEzLjA3NjZDMTEuNDU1IDEyLjk4MzkgMTEuMzQ2OCAxMi44NTIxIDExLjI4MyAxMi42OTc5QzExLjIxOTEgMTIuNTQzNyAxMS4yMDI0IDEyLjM3NDEgMTEuMjM1IDEyLjIxMDRDMTEuMjY3NSAxMi4wNDY3IDExLjM0NzkgMTEuODk2NCAxMS40NjU5IDExLjc3ODRDMTEuNTgzOSAxMS42NjA0IDExLjczNDIgMTEuNTggMTEuODk3OSAxMS41NDc1QzEyLjA2MTYgMTEuNTE0OSAxMi4yMzEyIDExLjUzMTYgMTIuMzg1NCAxMS41OTU1QzEyLjUzOTYgMTEuNjU5NCAxMi42NzEzIDExLjc2NzUgMTIuNzY0MSAxMS45MDYzQzEyLjg1NjggMTIuMDQ1IDEyLjkwNjIgMTIuMjA4MSAxMi45MDYyIDEyLjM3NUMxMi45MDYyIDEyLjU5ODggMTIuODE3NCAxMi44MTM0IDEyLjY1OTEgMTIuOTcxNkMxMi41MDA5IDEzLjEyOTkgMTIuMjg2MyAxMy4yMTg4IDEyLjA2MjUgMTMuMjE4OFpcIlxuICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx0cmFuc2l0aW9uIG5hbWU9XCJzbGlkZS1mYWRlXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmaXhlZC1ib3R0b20gZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgbWItM1wiXG4gICAgICAgICAgICB2LWlmPVwiIXRvcEJ1dHRvblZpc2libGUgfHwgIWZvb3RlclZpc2libGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSB3LTUwIHNob3ctbW9iaWxlLWZpbHRlcnMgcC0yXCJcbiAgICAgICAgICAgICAgZGF0YS1icy10b2dnbGU9XCJvZmZjYW52YXNcIlxuICAgICAgICAgICAgICBocmVmPVwiI21vYmlsZUZpbHRlcnNcIlxuICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgYXJpYS1jb250cm9scz1cIm1vYmlsZUZpbHRlcnNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyB0cmFucyhcInNlYXJjaC5ib29rLmZpbHRlcnMuZmlsdGVyXCIpIH19XG4gICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjE5XCJcbiAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiXG4gICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxOSAxOFwiXG4gICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgIGQ9XCJNMy4wNjI1IDYuNDY4NzdINS4xNzYwOUM1LjM1MDYxIDYuOTYyMjMgNS42NzM4IDcuMzg5NDUgNi4xMDExOCA3LjY5MTYyQzYuNTI4NTUgNy45OTM3OSA3LjAzOTA5IDguMTU2MDUgNy41NjI1IDguMTU2MDVDOC4wODU5MSA4LjE1NjA1IDguNTk2NDUgNy45OTM3OSA5LjAyMzgyIDcuNjkxNjJDOS40NTEyIDcuMzg5NDUgOS43NzQzOSA2Ljk2MjIzIDkuOTQ4OTEgNi40Njg3N0gxNS40Mzc1QzE1LjY2MTMgNi40Njg3NyAxNS44NzU5IDYuMzc5ODggMTYuMDM0MSA2LjIyMTY0QzE2LjE5MjQgNi4wNjM0MSAxNi4yODEyIDUuODQ4OCAxNi4yODEyIDUuNjI1MDJDMTYuMjgxMiA1LjQwMTI0IDE2LjE5MjQgNS4xODY2MyAxNi4wMzQxIDUuMDI4NEMxNS44NzU5IDQuODcwMTcgMTUuNjYxMyA0Ljc4MTI3IDE1LjQzNzUgNC43ODEyN0g5Ljk0ODkxQzkuNzc0MzkgNC4yODc4MSA5LjQ1MTIgMy44NjA1OSA5LjAyMzgyIDMuNTU4NDJDOC41OTY0NSAzLjI1NjI1IDguMDg1OTEgMy4wOTM5OSA3LjU2MjUgMy4wOTM5OUM3LjAzOTA5IDMuMDkzOTkgNi41Mjg1NSAzLjI1NjI1IDYuMTAxMTggMy41NTg0MkM1LjY3MzggMy44NjA1OSA1LjM1MDYxIDQuMjg3ODEgNS4xNzYwOSA0Ljc4MTI3SDMuMDYyNUMyLjgzODcyIDQuNzgxMjcgMi42MjQxMSA0Ljg3MDE3IDIuNDY1ODggNS4wMjg0QzIuMzA3NjQgNS4xODY2MyAyLjIxODc1IDUuNDAxMjQgMi4yMTg3NSA1LjYyNTAyQzIuMjE4NzUgNS44NDg4IDIuMzA3NjQgNi4wNjM0MSAyLjQ2NTg4IDYuMjIxNjRDMi42MjQxMSA2LjM3OTg4IDIuODM4NzIgNi40Njg3NyAzLjA2MjUgNi40Njg3N1pNNy41NjI1IDQuNzgxMjdDNy43MjkzOCA0Ljc4MTI3IDcuODkyNTEgNC44MzA3NiA4LjAzMTI2IDQuOTIzNDdDOC4xNzAwMiA1LjAxNjE4IDguMjc4MTYgNS4xNDc5NiA4LjM0MjAyIDUuMzAyMTNDOC40MDU4OCA1LjQ1NjMxIDguNDIyNTkgNS42MjU5NiA4LjM5MDA0IDUuNzg5NjNDOC4zNTc0OCA1Ljk1MzMgOC4yNzcxMiA2LjEwMzY0IDguMTU5MTIgNi4yMjE2NEM4LjA0MTEyIDYuMzM5NjQgNy44OTA3OCA2LjQyIDcuNzI3MTEgNi40NTI1NkM3LjU2MzQ0IDYuNDg1MTEgNy4zOTM3OSA2LjQ2ODQxIDcuMjM5NjEgNi40MDQ1NEM3LjA4NTQ0IDYuMzQwNjggNi45NTM2NiA2LjIzMjU0IDYuODYwOTUgNi4wOTM3OEM2Ljc2ODIzIDUuOTU1MDMgNi43MTg3NSA1Ljc5MTkgNi43MTg3NSA1LjYyNTAyQzYuNzE4NzUgNS40MDEyNCA2LjgwNzY0IDUuMTg2NjMgNi45NjU4OCA1LjAyODRDNy4xMjQxMSA0Ljg3MDE3IDcuMzM4NzIgNC43ODEyNyA3LjU2MjUgNC43ODEyN1pNMTUuNDM3NSAxMS41MzEzSDE0LjQ0ODlDMTQuMjc0NCAxMS4wMzc4IDEzLjk1MTIgMTAuNjEwNiAxMy41MjM4IDEwLjMwODRDMTMuMDk2NCAxMC4wMDYyIDEyLjU4NTkgOS44NDM5OSAxMi4wNjI1IDkuODQzOTlDMTEuNTM5MSA5Ljg0Mzk5IDExLjAyODYgMTAuMDA2MiAxMC42MDEyIDEwLjMwODRDMTAuMTczOCAxMC42MTA2IDkuODUwNjEgMTEuMDM3OCA5LjY3NjA5IDExLjUzMTNIMy4wNjI1QzIuODM4NzIgMTEuNTMxMyAyLjYyNDExIDExLjYyMDIgMi40NjU4OCAxMS43Nzg0QzIuMzA3NjQgMTEuOTM2NiAyLjIxODc1IDEyLjE1MTIgMi4yMTg3NSAxMi4zNzVDMi4yMTg3NSAxMi41OTg4IDIuMzA3NjQgMTIuODEzNCAyLjQ2NTg4IDEyLjk3MTZDMi42MjQxMSAxMy4xMjk5IDIuODM4NzIgMTMuMjE4OCAzLjA2MjUgMTMuMjE4OEg5LjY3NjA5QzkuODUwNjEgMTMuNzEyMiAxMC4xNzM4IDE0LjEzOTUgMTAuNjAxMiAxNC40NDE2QzExLjAyODYgMTQuNzQzOCAxMS41MzkxIDE0LjkwNiAxMi4wNjI1IDE0LjkwNkMxMi41ODU5IDE0LjkwNiAxMy4wOTY0IDE0Ljc0MzggMTMuNTIzOCAxNC40NDE2QzEzLjk1MTIgMTQuMTM5NSAxNC4yNzQ0IDEzLjcxMjIgMTQuNDQ4OSAxMy4yMTg4SDE1LjQzNzVDMTUuNjYxMyAxMy4yMTg4IDE1Ljg3NTkgMTMuMTI5OSAxNi4wMzQxIDEyLjk3MTZDMTYuMTkyNCAxMi44MTM0IDE2LjI4MTIgMTIuNTk4OCAxNi4yODEyIDEyLjM3NUMxNi4yODEyIDEyLjE1MTIgMTYuMTkyNCAxMS45MzY2IDE2LjAzNDEgMTEuNzc4NEMxNS44NzU5IDExLjYyMDIgMTUuNjYxMyAxMS41MzEzIDE1LjQzNzUgMTEuNTMxM1pNMTIuMDYyNSAxMy4yMTg4QzExLjg5NTYgMTMuMjE4OCAxMS43MzI1IDEzLjE2OTMgMTEuNTkzNyAxMy4wNzY2QzExLjQ1NSAxMi45ODM5IDExLjM0NjggMTIuODUyMSAxMS4yODMgMTIuNjk3OUMxMS4yMTkxIDEyLjU0MzcgMTEuMjAyNCAxMi4zNzQxIDExLjIzNSAxMi4yMTA0QzExLjI2NzUgMTIuMDQ2NyAxMS4zNDc5IDExLjg5NjQgMTEuNDY1OSAxMS43Nzg0QzExLjU4MzkgMTEuNjYwNCAxMS43MzQyIDExLjU4IDExLjg5NzkgMTEuNTQ3NUMxMi4wNjE2IDExLjUxNDkgMTIuMjMxMiAxMS41MzE2IDEyLjM4NTQgMTEuNTk1NUMxMi41Mzk2IDExLjY1OTQgMTIuNjcxMyAxMS43Njc1IDEyLjc2NDEgMTEuOTA2M0MxMi44NTY4IDEyLjA0NSAxMi45MDYyIDEyLjIwODEgMTIuOTA2MiAxMi4zNzVDMTIuOTA2MiAxMi41OTg4IDEyLjgxNzQgMTIuODEzNCAxMi42NTkxIDEyLjk3MTZDMTIuNTAwOSAxMy4xMjk5IDEyLjI4NjMgMTMuMjE4OCAxMi4wNjI1IDEzLjIxODhaXCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90cmFuc2l0aW9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwib2ZmY2FudmFzIG1vYmlsZS1maWx0ZXJzIG9mZmNhbnZhcy1zdGFydFwiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICBpZD1cIm1vYmlsZUZpbHRlcnNcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJtb2JpbGVGaWx0ZXJzTGFiZWxcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwib2ZmY2FudmFzLWhlYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgICA8YSBocmVmPVwiP2ZpbHRlcnM9cmVzZXRcIiBjbGFzcz1cImxpbmstZGFyayBkZWxldGUtZmlsdGVyc1wiPnt7XG4gICAgICAgICAgICB0cmFucyhcInNlYXJjaC5ib29rLmZpbHRlcnMuZGVsZXRlXCIpXG4gICAgICAgICAgfX08L2E+XG4gICAgICAgICAgPGg1IGNsYXNzPVwib2ZmY2FudmFzLXRpdGxlXCIgaWQ9XCJtb2JpbGVGaWx0ZXJzTGFiZWxcIj5cbiAgICAgICAgICAgIHt7IHRyYW5zKFwic2VhcmNoLmJvb2suZmlsdGVycy5maWx0ZXJcIikgfX1cbiAgICAgICAgICA8L2g1PlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtZGFyayBidG4tY2lyY2xlXCJcbiAgICAgICAgICAgIGRhdGEtYnMtZGlzbWlzcz1cIm9mZmNhbnZhc1wiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxDbG9zZVN2ZyBjb2xvcj1cIiMyRjJGMkZcIiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm9mZmNhbnZhcy1ib2R5IHpvZWstYm9lay1zaWRlYmFyXCI+XG4gICAgICAgICAgPGRpdiBpZD1cIm9mZmNhbnZhc0JvZHlcIj48L2Rpdj5cbiAgICAgICAgICA8U2VhcmNoU3VtbWFyeSBpZD1cInNlYXJjaERhdGFQaWNrZXJcIj48L1NlYXJjaFN1bW1hcnk+XG4gICAgICAgICAgPFNlYXJjaEZpbHRlckV4YWN0TWF0Y2hlc1xuICAgICAgICAgICAgdi1pZj1cInNob3dNYXBWaWV3XCJcbiAgICAgICAgICAgIDpzaG93TWFwVmlldz1cInNob3dNYXBWaWV3XCJcbiAgICAgICAgICAgIEB0b2dnbGUtZXhhY3QtbWF0Y2hlcz1cIiRlbWl0KCd0b2dnbGUtZXhhY3QtbWF0Y2hlcycpXCJcbiAgICAgICAgICA+PC9TZWFyY2hGaWx0ZXJFeGFjdE1hdGNoZXM+XG4gICAgICAgICAgPFNlYXJjaEZpbHRlcnNcbiAgICAgICAgICAgIGlkPVwic2VhcmNoUmVmaW5lcnNNb2JpbGVcIlxuICAgICAgICAgICAgOmlzQnVzeT1cInNlYXJjaFN0YXR1cy5idXN5XCJcbiAgICAgICAgICA+PC9TZWFyY2hGaWx0ZXJzPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwic3RpY2t5LWJvdHRvbSBidG4gYnRuLXNlY29uZGFyeSB3LTUwIHAtMiBteC1hdXRvXCJcbiAgICAgICAgICAgIGRhdGEtYnMtZGlzbWlzcz1cIm9mZmNhbnZhc1wiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIlxuICAgICAgICAgICAgdi1pZj1cInNlYXJjaFJlc3VsdHMuY2FtcGluZ3MubGVuZ3RoID4gMFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgdHJhbnMoXCJzZWFyY2gucmVzdWx0cy5jYW1waW5nXCIsIHtcbiAgICAgICAgICAgICAgICBudW1iZXI6IHNlYXJjaFJlc3VsdHMuY2FtcGluZ3MubGVuZ3RoLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3RlbXBsYXRlPlxuPHN0eWxlIHNjb3BlZD5cbi8qIFRyYW5zaXRpb25zIGZvciB0aGUgYm90dG9tIGZpbHRlciBidXR0b24gKi9cbi5zbGlkZS1mYWRlLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cblxuLnNsaWRlLWZhZGUtbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDg1LCAwLjY4LCAwLjUzKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cblxuLnNsaWRlLWZhZGUtZW50ZXItZnJvbSxcbi5zbGlkZS1mYWRlLWxlYXZlLXRvIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2xpZGUtZmFkZS1lbnRlci10byxcbi5zbGlkZS1mYWRlLWxlYXZlLWZyb20ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIEZpeGVzIGZvciBpT1MgU2FmYXJpICovXG5Ac3VwcG9ydHMgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkge1xuICAuc2xpZGUtZmFkZS1lbnRlci1hY3RpdmUsXG4gIC5zbGlkZS1mYWRlLWxlYXZlLWFjdGl2ZSB7XG4gICAgLyogVXNlIG1vcmUgY29tcGF0aWJsZSB0cmFuc2l0aW9ucyBmb3IgaU9TIFNhZmFyaSAqL1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgfVxufVxuPC9zdHlsZT5cbjxzdHlsZT48L3N0eWxlPlxuIiwiXG4ucHJpY2UtZ3JpZC13cmFwcGVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1yb3ctZ2FwOiAxcmVtO1xuICAucHJpY2UtZ3JpZC1oZWFkZXIsXG4gIC5wcmljZS1ncmlkLXByaWNlcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1keW5hbWljLWNvbGxzKSwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxLCAxZnIpO1xuICAgIGdyaWQtY29sdW1uLWdhcDogMC41cmVtO1xuICAgIC5ncmlkLWNvbCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgJi5wcmljZSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMuNzVyZW07XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIuNXJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgICAgICB9XG4gICAgICAgICYuaGFzLXByaWNlIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgIHMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZDgzMzUwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnByaWNlLXNlbGVjdGVkLFxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzQxYThkNyAwJSwgIzJiODZiMiAxMDAlKTtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMmI4NmIyO1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICBzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmhhcy1uby1wcmljZSB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubmlnaHRzIHtcbiAgICAgICAgbWluLWhlaWdodDogMy43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxzY3JpcHQ+XG5pbXBvcnQgSW50bE1lc3NhZ2VGb3JtYXQgZnJvbSBcImludGwtbWVzc2FnZWZvcm1hdFwiO1xuaW1wb3J0IFNlYXJjaERvdEdyZXlTdmcgZnJvbSBcIi4vU2VhcmNoRG90R3JleVN2Zy52dWVcIjtcbmltcG9ydCBTZWFyY2hEYXRhIGZyb20gXCIuL1NlYXJjaERhdGEuanNcIjtcbmltcG9ydCBUcmFuc2xhdG9yIGZyb20gXCIuL1RyYW5zbGF0b3IuanNcIjtcbmltcG9ydCBDYW1waW5nU2VhcmNoUmVzdWx0cyBmcm9tIFwiLi9DYW1waW5nU2VhcmNoUmVzdWx0cy5qc1wiO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBTZWFyY2hEb3RHcmV5U3ZnLFxuICB9LFxuICBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICBsb2NhbGU6IGxvY2FsZSxcbiAgICAgIGRyb3Bkb3duT3BlbjogZmFsc2UsXG4gICAgICBpc0Rlc2t0b3A6IGZhbHNlLFxuICAgICAgc2VhcmNoRGF0YTogU2VhcmNoRGF0YSxcbiAgICAgIHNlYXJjaFJlc3VsdHM6IENhbXBpbmdTZWFyY2hSZXN1bHRzLnNlYXJjaFJlc3VsdHMsXG4gICAgICB0cmFuczogVHJhbnNsYXRvcixcbiAgICB9O1xuICB9LFxuICBtZXRob2RzOiB7XG4gICAgZm9ybWF0dGVkU3RhcnREYXRlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0RGF0ZSh0aGlzLnNlYXJjaFJlc3VsdHMuYXJyaXZhbERhdGUsIFwic3RhcnRcIik7XG4gICAgfSxcbiAgICBmb3JtYXR0ZWRFbmREYXRlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0RGF0ZSh0aGlzLnNlYXJjaFJlc3VsdHMuZGVwYXJ0dXJlRGF0ZSwgXCJlbmRcIik7XG4gICAgfSxcbiAgICBmb3JtYXREYXRlKGRhdGUsIHR5cGUpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIGRheTogXCJudW1lcmljXCIsXG4gICAgICAgIG1vbnRoOiBcInNob3J0XCIsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoXG4gICAgICAgIGxvY2FsZS5yZXBsYWNlKC9eZW4kLywgXCJlbi1HQlwiKSxcbiAgICAgICAgb3B0aW9uc1xuICAgICAgKS5mb3JtYXQoZGF0ZSk7XG5cbiAgICAgIC8vIENhcGl0YWxpemUgdGhlIGZpcnN0IGxldHRlciBvZiB0aGUgZm9ybWF0dGVkIGRhdGVcbiAgICAgIHJldHVybiBmb3JtYXR0ZWREYXRlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgZm9ybWF0dGVkRGF0ZS5zbGljZSgxKTtcbiAgICB9LFxuICAgIHNhbWVNb250aCgpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuc2VhcmNoRGF0YS5kYXRlWzBdLmdldE1vbnRoKCkgPT09XG4gICAgICAgIHRoaXMuc2VhcmNoRGF0YS5kYXRlWzFdLmdldE1vbnRoKClcbiAgICAgICk7XG4gICAgfSxcbiAgICAvLyBwcmljZShwcmljZSkge1xuICAgIC8vICAgcmV0dXJuIFwi4oKsIFwiICsgTWF0aC5yb3VuZChwcmljZSk7XG4gICAgLy8gfSxcbiAgICBwcmljZShwcmljZSkge1xuICAgICAgaWYgKHByaWNlID09PSBudWxsKSByZXR1cm4gbnVsbDtcblxuICAgICAgY29uc3QgcHJpY2VGb3JtYXQgPSBuZXcgSW50bE1lc3NhZ2VGb3JtYXQoXG4gICAgICAgIFwie3ByaWNlLCBudW1iZXIsIDo6Y3VycmVuY3kvRVVSfVwiLFxuICAgICAgICB0aGlzLmxvY2FsZSAvLyBEeW5hbWljYWxseSB1c2luZyB0aGUgcGFzc2VkIGxvY2FsZVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHByaWNlRm9ybWF0LmZvcm1hdCh7IHByaWNlIH0pO1xuICAgIH0sXG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgZGF0ZURpZmYoKSB7XG4gICAgICBpZiAoIXRoaXMuc2VhcmNoUmVzdWx0cy5hcnJpdmFsRGF0ZSB8fCAhdGhpcy5zZWFyY2hEYXRhLmFycml2YWxEYXRlKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuXG4gICAgICBsZXQgZGlmZiA9IG5ldyBEYXRlKHRoaXMuc2VhcmNoRGF0YS5hcnJpdmFsRGF0ZSkuZGlmZihcbiAgICAgICAgbmV3IERhdGUodGhpcy5zZWFyY2hSZXN1bHRzLmFycml2YWxEYXRlKVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGRpZmY7XG4gICAgfSxcbiAgICBsb3NEaWZmKCkge1xuICAgICAgaWYgKCF0aGlzLnNlYXJjaFJlc3VsdHMubG9zIHx8ICF0aGlzLnNlYXJjaERhdGEubG9zKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5zZWFyY2hSZXN1bHRzLmxvcyAtIHRoaXMuc2VhcmNoRGF0YS5sb3M7XG4gICAgfSxcbiAgICBtZXNzYWdlVGV4dCgpIHtcbiAgICAgIGxldCBtZXNzYWdlID0gXCJcIjtcbiAgICAgIGlmICh0aGlzLmRhdGVEaWZmID4gMCkge1xuICAgICAgICBtZXNzYWdlID0gdGhpcy50cmFucyhcImNhbXBpbmcuZGF0ZS5waWNrZXIucmVzdWx0LmxhdGVyXCIsIHtcbiAgICAgICAgICBkYXlzOiBNYXRoLmFicyh0aGlzLmRhdGVEaWZmKSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5kYXRlRGlmZiA8IDApIHtcbiAgICAgICAgbWVzc2FnZSA9IHRoaXMudHJhbnMoXCJjYW1waW5nLmRhdGUucGlja2VyLnJlc3VsdC5lYXJsaWVyXCIsIHtcbiAgICAgICAgICBkYXlzOiBNYXRoLmFicyh0aGlzLmRhdGVEaWZmKSxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtZXNzYWdlICYmIHRoaXMubG9zRGlmZiA+IDApIHtcbiAgICAgICAgbWVzc2FnZSArPVxuICAgICAgICAgIFwiIFwiICtcbiAgICAgICAgICB0aGlzLnRyYW5zKFwiY2FtcGluZy5kYXRlLnBpY2tlci5yZXN1bHQuYW5kbG9uZ2VyXCIsIHtcbiAgICAgICAgICAgIGRheXM6IE1hdGguYWJzKHRoaXMubG9zRGlmZiksXG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAobWVzc2FnZSAmJiB0aGlzLmxvc0RpZmYgPCAwKSB7XG4gICAgICAgIG1lc3NhZ2UgKz1cbiAgICAgICAgICBcIiBcIiArXG4gICAgICAgICAgdGhpcy50cmFucyhcImNhbXBpbmcuZGF0ZS5waWNrZXIucmVzdWx0LmFuZHNob3J0ZXJcIiwge1xuICAgICAgICAgICAgZGF5czogTWF0aC5hYnModGhpcy5sb3NEaWZmKSxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFtZXNzYWdlICYmIHRoaXMubG9zRGlmZiA+IDApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnMoXCJjYW1waW5nLmRhdGUucGlja2VyLnJlc3VsdC5sb25nZXJcIiwge1xuICAgICAgICAgIGRheXM6IE1hdGguYWJzKHRoaXMubG9zRGlmZiksXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKCFtZXNzYWdlICYmIHRoaXMubG9zRGlmZiA8IDApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnMoXCJjYW1waW5nLmRhdGUucGlja2VyLnJlc3VsdC5zaG9ydGVyXCIsIHtcbiAgICAgICAgICBkYXlzOiBNYXRoLmFicyh0aGlzLmxvc0RpZmYpLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgIH0sXG4gIH0sXG59O1xuPC9zY3JpcHQ+XG5cbjx0ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImNhcmQtbWVzc2FnZVwiIHYtaWY9XCJtZXNzYWdlVGV4dFwiPlxuICAgIDxzdmdcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICBoZWlnaHQ9XCIxOFwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTguNTkzNzUgMUM3LjA5MTg1IDEgNS42MjM2OCAxLjQ0NTM3IDQuMzc0ODkgMi4yNzk3OEMzLjEyNjExIDMuMTE0MTkgMi4xNTI4IDQuMzAwMTcgMS41NzgwNCA1LjY4Nzc1QzEuMDAzMjkgNy4wNzUzMiAwLjg1MjkwOSA4LjYwMjE3IDEuMTQ1OTIgMTAuMDc1MkMxLjQzODkyIDExLjU0ODMgMi4xNjIxNiAxMi45MDEzIDMuMjI0MTYgMTMuOTYzM0M0LjI4NjE3IDE1LjAyNTMgNS42MzkyNCAxNS43NDg2IDcuMTEyMjkgMTYuMDQxNkM4LjU4NTMzIDE2LjMzNDYgMTAuMTEyMiAxNi4xODQyIDExLjQ5OTggMTUuNjA5NUMxMi44ODczIDE1LjAzNDcgMTQuMDczMyAxNC4wNjE0IDE0LjkwNzcgMTIuODEyNkMxNS43NDIxIDExLjU2MzggMTYuMTg3NSAxMC4wOTU3IDE2LjE4NzUgOC41OTM3NUMxNi4xODUzIDYuNTgwNDUgMTUuMzg0NSA0LjY1MDI1IDEzLjk2MDkgMy4yMjY2MkMxMi41MzczIDEuODAzIDEwLjYwNzEgMS4wMDIyMyA4LjU5Mzc1IDFaTTguNTkzNzUgMTQuNUM3LjQyNTYxIDE0LjUgNi4yODM2OSAxNC4xNTM2IDUuMzEyNDIgMTMuNTA0NkM0LjM0MTE0IDEyLjg1NTYgMy41ODQxMiAxMS45MzMyIDMuMTM3MDkgMTAuODU0QzIuNjkwMDYgOS43NzQ3NSAyLjU3MzEgOC41ODcyIDIuODAwOTkgNy40NDE1QzMuMDI4ODggNi4yOTU4IDMuNTkxNCA1LjI0MzQgNC40MTc0IDQuNDE3NEM1LjI0MzQxIDMuNTkxNCA2LjI5NTggMy4wMjg4OCA3LjQ0MTUgMi44MDA5OUM4LjU4NzIgMi41NzMwOSA5Ljc3NDc1IDIuNjkwMDYgMTAuODU0IDMuMTM3MDlDMTEuOTMzMiAzLjU4NDEyIDEyLjg1NTYgNC4zNDExNCAxMy41MDQ2IDUuMzEyNDFDMTQuMTUzNiA2LjI4MzY5IDE0LjUgNy40MjU2IDE0LjUgOC41OTM3NUMxNC40OTgzIDEwLjE1OTcgMTMuODc1NSAxMS42NjEgMTIuNzY4MyAxMi43NjgyQzExLjY2MSAxMy44NzU1IDEwLjE1OTcgMTQuNDk4MyA4LjU5Mzc1IDE0LjVaTTcuNzUgOC44NzVWNS4yMTg3NUM3Ljc1IDQuOTk0OTcgNy44Mzg5IDQuNzgwMzYgNy45OTcxMyA0LjYyMjEzQzguMTU1MzcgNC40NjM4OSA4LjM2OTk4IDQuMzc1IDguNTkzNzUgNC4zNzVDOC44MTc1MyA0LjM3NSA5LjAzMjE0IDQuNDYzODkgOS4xOTAzNyA0LjYyMjEzQzkuMzQ4NjEgNC43ODAzNiA5LjQzNzUgNC45OTQ5NyA5LjQzNzUgNS4yMTg3NVY4Ljg3NUM5LjQzNzUgOS4wOTg3OCA5LjM0ODYxIDkuMzEzMzkgOS4xOTAzNyA5LjQ3MTYyQzkuMDMyMTQgOS42Mjk4NiA4LjgxNzUzIDkuNzE4NzUgOC41OTM3NSA5LjcxODc1QzguMzY5OTggOS43MTg3NSA4LjE1NTM3IDkuNjI5ODYgNy45OTcxMyA5LjQ3MTYyQzcuODM4OSA5LjMxMzM5IDcuNzUgOS4wOTg3OCA3Ljc1IDguODc1Wk05LjcxODc1IDExLjY4NzVDOS43MTg3NSAxMS45MSA5LjY1Mjc3IDEyLjEyNzUgOS41MjkxNiAxMi4zMTI1QzkuNDA1NTQgMTIuNDk3NSA5LjIyOTg0IDEyLjY0MTcgOS4wMjQyNyAxMi43MjY5QzguODE4NzEgMTIuODEyIDguNTkyNTEgMTIuODM0MyA4LjM3NDI4IDEyLjc5MDlDOC4xNTYwNSAxMi43NDc1IDcuOTU1NTkgMTIuNjQwMyA3Ljc5ODI2IDEyLjQ4M0M3LjY0MDkyIDEyLjMyNTcgNy41MzM3OCAxMi4xMjUyIDcuNDkwMzcgMTEuOTA3QzcuNDQ2OTYgMTEuNjg4NyA3LjQ2OTI0IDExLjQ2MjUgNy41NTQzOSAxMS4yNTdDNy42Mzk1NCAxMS4wNTE0IDcuNzgzNzMgMTAuODc1NyA3Ljk2ODc0IDEwLjc1MjFDOC4xNTM3NCAxMC42Mjg1IDguMzcxMjUgMTAuNTYyNSA4LjU5Mzc1IDEwLjU2MjVDOC44OTIxMiAxMC41NjI1IDkuMTc4MjcgMTAuNjgxIDkuMzg5MjUgMTAuODkyQzkuNjAwMjMgMTEuMTAzIDkuNzE4NzUgMTEuMzg5MSA5LjcxODc1IDExLjY4NzVaXCJcbiAgICAgICAgZmlsbD1cIiNFQjg3MkJcIlxuICAgICAgPjwvcGF0aD5cbiAgICA8L3N2Zz5cbiAgICB7eyBtZXNzYWdlVGV4dCB9fVxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiYm9va2luZy13aWRnZXQtc3VtbWFyeS1kYXRlIGZsZXgtY29sdW1uXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJib29raW5nLXdpZGdldC1zdW1tYXJ5LWRhdGFcIlxuICAgICAgdi1pZj1cInNlYXJjaERhdGEuZGF0ZVswXSAmJiBzZWFyY2hEYXRhLmRhdGVbMV0gJiYgc2VhcmNoUmVzdWx0cy5wcmljZVwiXG4gICAgPlxuICAgICAgPHNwYW4gdi1pZj1cInNhbWVNb250aCgpXCI+XG4gICAgICAgIHt7IG5ldyBEYXRlKHNlYXJjaFJlc3VsdHMuYXJyaXZhbERhdGUpLmdldERhdGUoKSB9fSAtXG4gICAgICAgIHt7IGZvcm1hdHRlZEVuZERhdGUoKSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gdi1lbHNlPlxuICAgICAgICB7eyBmb3JtYXR0ZWRTdGFydERhdGUoKSB9fSAtIHt7IGZvcm1hdHRlZEVuZERhdGUoKSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4+XG4gICAgICAgIDxTZWFyY2hEb3RHcmV5U3ZnIC8+XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3Bhbj57e1xuICAgICAgICB0cmFucyhcInNlYXJjaC5ndWVzdHBpY2tlci5udW1iZXJvZmd1ZXN0c1wiLCB7XG4gICAgICAgICAgZ3Vlc3RzOiBzZWFyY2hEYXRhLmJhYmllcyArIHNlYXJjaERhdGEuY2hpbGRyZW4gKyBzZWFyY2hEYXRhLmFkdWx0cyxcbiAgICAgICAgfSlcbiAgICAgIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYWxsLXByaWNlcyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGFsaWduLWl0ZW1zLXhsLWVuZCBjb2x1bW4tZ2FwLTJcIlxuICAgID5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiYm9va2luZy13aWRnZXQtZGF0ZS1zdW1tYXJ5LXByaWNlIGQtZmxleCBhbGlnbi1zZWxmLWNlbnRlclwiXG4gICAgICAgIHYtaWY9XCJcbiAgICAgICAgICBzZWFyY2hSZXN1bHRzLm9yaWdpbmFsUHJpY2UgJiZcbiAgICAgICAgICBzZWFyY2hSZXN1bHRzLm9yaWdpbmFsUHJpY2UgIT0gc2VhcmNoUmVzdWx0cy5wcmljZVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LW1lZGl1bSB0ZXh0LW5vd3JhcCBkaXNjb3VudC1wcmljZVwiPnt7XG4gICAgICAgICAgcHJpY2Uoc2VhcmNoUmVzdWx0cy5vcmlnaW5hbFByaWNlKVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiYm9va2luZy13aWRnZXQtZGF0ZS1zdW1tYXJ5LXByaWNlIGQtZmxleCBhbGlnbi1zZWxmLWNlbnRlclwiXG4gICAgICAgIHYtaWY9XCJzZWFyY2hSZXN1bHRzLnByaWNlXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkIHRleHQtbm93cmFwXCI+e3tcbiAgICAgICAgICBwcmljZShzZWFyY2hSZXN1bHRzLnByaWNlV2l0aE9wdGlvbnMpXG4gICAgICAgIH19PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG48c3R5bGU+XG4uY2FyZC1tZXNzYWdlIHtcbiAgY29sb3I6ICNlYjg3MmI7XG59XG48L3N0eWxlPlxuIiwiPHNjcmlwdD5cbmltcG9ydCBcIi4vRGF0ZS5qc1wiO1xuaW1wb3J0IFNlYXJjaERhdGVQaWNrZXIgZnJvbSBcIi4vU2VhcmNoRGF0ZVBpY2tlci52dWVcIjtcbmltcG9ydCBTZWFyY2hHdWVzdHNQaWNrZXIgZnJvbSBcIi4vU2VhcmNoR3Vlc3RzUGlja2VyLnZ1ZVwiO1xuaW1wb3J0IEJvb2tpbmdXaWRnZXRDYW5jZWxsYXRpb24gZnJvbSBcIi4vQm9va2luZ1dpZGdldENhbmNlbGxhdGlvbi52dWVcIjtcbmltcG9ydCBCb29raW5nV2lkZ2VkU3VtbWFyeU1vYmlsZSBmcm9tIFwiLi9Cb29raW5nV2lkZ2VkU3VtbWFyeU1vYmlsZS52dWVcIjtcbmltcG9ydCBUcmFuc2xhdG9yIGZyb20gXCIuL1RyYW5zbGF0b3IuanNcIjtcbmltcG9ydCBDYW1waW5nU2VhcmNoUmVzdWx0cyBmcm9tIFwiLi9DYW1waW5nU2VhcmNoUmVzdWx0cy5qc1wiO1xuaW1wb3J0IFNlYXJjaERhdGEgZnJvbSBcIi4vU2VhcmNoRGF0YS5qc1wiO1xuaW1wb3J0IENoZWNrb3V0RGF0YSBmcm9tIFwiLi9DaGVja291dERhdGEuanNcIjtcbmltcG9ydCBTZWFyY2hEb3RHcmV5U3ZnIGZyb20gXCIuL1NlYXJjaERvdEdyZXlTdmcudnVlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgY29tcG9uZW50czoge1xuICAgIFNlYXJjaERhdGVQaWNrZXIsXG4gICAgU2VhcmNoR3Vlc3RzUGlja2VyLFxuICAgIEJvb2tpbmdXaWRnZXRDYW5jZWxsYXRpb24sXG4gICAgQm9va2luZ1dpZGdlZFN1bW1hcnlNb2JpbGUsXG4gICAgU2VhcmNoRG90R3JleVN2ZyxcbiAgfSxcbiAgYmVmb3JlTW91bnQoKSB7XG4gICAgLy9jb25zb2xlLmxvZyhcImFjY28gb2JqZWN0OlwiLCB0aGlzLnNlYXJjaFJlc3VsdHMpO1xuICB9LFxuICBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICBzZWFyY2hEYXRhOiBTZWFyY2hEYXRhLFxuICAgICAgc2VhcmNoUmVzdWx0czogQ2FtcGluZ1NlYXJjaFJlc3VsdHMuc2VhcmNoUmVzdWx0cyxcbiAgICAgIGxvY2FsZTogbG9jYWxlLnJlcGxhY2UoL15lbiQvLCBcImVuLUdCXCIpLFxuICAgICAgdHJhbnM6IFRyYW5zbGF0b3IsXG4gICAgICBjaGVja291dFVybDogd2luZG93LmNoZWNrb3V0VXJsLFxuICAgICAgaXNEZXNrdG9wOiBmYWxzZSxcbiAgICAgIGlzRm9vdGVyVmlzaWJsZTogZmFsc2UsXG4gICAgICBpc1ByaWNlTWF0cml4VmlzaWJsZTogZmFsc2UsXG4gICAgICBpc0NhbXBpbmdSZXN1bHRWaXNpYmxlOiBmYWxzZSxcbiAgICAgIGlzQmVsb3dQcmljZU1hdHJpeDogZmFsc2UsXG4gICAgICBpc0JlbG93Q2FtcGluZ1Jlc3VsdDogZmFsc2UsXG4gICAgfTtcbiAgfSxcbiAgY3JlYXRlZCgpIHtcbiAgICAvLyBDaGVjayBvbiBjb21wb25lbnQgY3JlYXRpb24gaWYgaXQncyBhIGRlc2t0b3Agc2NyZWVuXG4gICAgdGhpcy5pc0Rlc2t0b3AgPSB3aW5kb3cubWF0Y2hNZWRpYShcIihtaW4td2lkdGg6IDk5MnB4KVwiKS5tYXRjaGVzO1xuXG4gICAgLy8gTGlzdGVuIGZvciBzY3JlZW4gc2l6ZSBjaGFuZ2VzXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5jaGVja0lzRGVza3RvcCk7XG5cbiAgICAvLyBTZXQgdXAgaW50ZXJzZWN0aW9uIG9ic2VydmVyIGZvciBwcmljZSBtYXRyaXhcbiAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7XG4gICAgICBjb25zdCBwcmljZU1hdHJpeCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjcHJpY2VNYXRyaXhXcmFwcGVyXCIpO1xuICAgICAgaWYgKHByaWNlTWF0cml4KSB7XG4gICAgICAgIGxldCBjdXJyZW50T2JzZXJ2ZXIgPSBudWxsO1xuXG4gICAgICAgIGNvbnN0IGNyZWF0ZU9ic2VydmVyID0gKHRocmVzaG9sZCkgPT4ge1xuICAgICAgICAgIGlmIChjdXJyZW50T2JzZXJ2ZXIpIHtcbiAgICAgICAgICAgIGN1cnJlbnRPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY3VycmVudE9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxuICAgICAgICAgICAgKGVudHJpZXMpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5pc1ByaWNlTWF0cml4VmlzaWJsZSA9IGVudHJpZXNbMF0uaXNJbnRlcnNlY3Rpbmc7XG5cbiAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgd2UncmUgYmVsb3cgdGhlIHByaWNlIG1hdHJpeFxuICAgICAgICAgICAgICBjb25zdCBtYXRyaXhSZWN0ID0gcHJpY2VNYXRyaXguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgICAgICAgY29uc3Qgd2FzQmVsb3dNYXRyaXggPSB0aGlzLmlzQmVsb3dQcmljZU1hdHJpeDtcbiAgICAgICAgICAgICAgdGhpcy5pc0JlbG93UHJpY2VNYXRyaXggPSBtYXRyaXhSZWN0LmJvdHRvbSA8IHdpbmRvd0hlaWdodDtcblxuICAgICAgICAgICAgICAvLyBJZiBwb3NpdGlvbiBjaGFuZ2VkLCB1cGRhdGUgdGhlIG9ic2VydmVyIHdpdGggbmV3IHRocmVzaG9sZFxuICAgICAgICAgICAgICBpZiAod2FzQmVsb3dNYXRyaXggIT09IHRoaXMuaXNCZWxvd1ByaWNlTWF0cml4KSB7XG4gICAgICAgICAgICAgICAgY3JlYXRlT2JzZXJ2ZXIodGhpcy5pc0JlbG93UHJpY2VNYXRyaXggPyAwLjggOiAwLjE1KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgdGhyZXNob2xkOiBbdGhyZXNob2xkXSB9XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGN1cnJlbnRPYnNlcnZlci5vYnNlcnZlKHByaWNlTWF0cml4KTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBJbml0aWFsIG9ic2VydmVyIHNldHVwXG4gICAgICAgIGNyZWF0ZU9ic2VydmVyKDAuMTUpO1xuXG4gICAgICAgIC8vIEFsc28gY2hlY2sgb24gc2Nyb2xsXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAgIFwic2Nyb2xsXCIsXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF0cml4UmVjdCA9IHByaWNlTWF0cml4LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgICAgICAgY29uc3Qgd2FzQmVsb3dNYXRyaXggPSB0aGlzLmlzQmVsb3dQcmljZU1hdHJpeDtcbiAgICAgICAgICAgIHRoaXMuaXNCZWxvd1ByaWNlTWF0cml4ID0gbWF0cml4UmVjdC5ib3R0b20gPCB3aW5kb3dIZWlnaHQ7XG5cbiAgICAgICAgICAgIC8vIElmIHBvc2l0aW9uIGNoYW5nZWQsIHVwZGF0ZSB0aGUgb2JzZXJ2ZXIgd2l0aCBuZXcgdGhyZXNob2xkXG4gICAgICAgICAgICBpZiAod2FzQmVsb3dNYXRyaXggIT09IHRoaXMuaXNCZWxvd1ByaWNlTWF0cml4KSB7XG4gICAgICAgICAgICAgIGNyZWF0ZU9ic2VydmVyKHRoaXMuaXNCZWxvd1ByaWNlTWF0cml4ID8gMC44IDogMC4xNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IHBhc3NpdmU6IHRydWUgfVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjYW1waW5nUGlja2VyUmVzdWx0cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgIFwiI0NhbXBpbmdEYXRlUGlja2VyUmVzdWx0XCJcbiAgICAgICk7XG4gICAgICBpZiAoY2FtcGluZ1BpY2tlclJlc3VsdHMpIHtcbiAgICAgICAgbGV0IGN1cnJlbnRPYnNlcnZlciA9IG51bGw7XG5cbiAgICAgICAgY29uc3QgY3JlYXRlT2JzZXJ2ZXIgPSAodGhyZXNob2xkKSA9PiB7XG4gICAgICAgICAgaWYgKGN1cnJlbnRPYnNlcnZlcikge1xuICAgICAgICAgICAgY3VycmVudE9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjdXJyZW50T2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAgICAgICAoZW50cmllcykgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmlzQ2FtcGluZ1Jlc3VsdFZpc2libGUgPSBlbnRyaWVzWzBdLmlzSW50ZXJzZWN0aW5nO1xuXG4gICAgICAgICAgICAgIC8vIENoZWNrIGlmIHdlJ3JlIGJlbG93IHRoZSBwcmljZSBtYXRyaXhcbiAgICAgICAgICAgICAgY29uc3QgbWF0cml4UmVjdCA9IGNhbXBpbmdQaWNrZXJSZXN1bHRzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgICAgICAgICAgIGNvbnN0IHdhc0JlbG93TWF0cml4ID0gdGhpcy5pc0JlbG93Q2FtcGluZ1Jlc3VsdDtcbiAgICAgICAgICAgICAgdGhpcy5pc0JlbG93Q2FtcGluZ1Jlc3VsdCA9IG1hdHJpeFJlY3QuYm90dG9tIDwgd2luZG93SGVpZ2h0O1xuXG4gICAgICAgICAgICAgIC8vIElmIHBvc2l0aW9uIGNoYW5nZWQsIHVwZGF0ZSB0aGUgb2JzZXJ2ZXIgd2l0aCBuZXcgdGhyZXNob2xkXG4gICAgICAgICAgICAgIGlmICh3YXNCZWxvd01hdHJpeCAhPT0gdGhpcy5pc0JlbG93Q2FtcGluZ1Jlc3VsdCkge1xuICAgICAgICAgICAgICAgIGNyZWF0ZU9ic2VydmVyKHRoaXMuaXNCZWxvd0NhbXBpbmdSZXN1bHQgPyAwLjggOiAwLjE1KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgdGhyZXNob2xkOiBbdGhyZXNob2xkXSB9XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGN1cnJlbnRPYnNlcnZlci5vYnNlcnZlKGNhbXBpbmdQaWNrZXJSZXN1bHRzKTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBJbml0aWFsIG9ic2VydmVyIHNldHVwXG4gICAgICAgIGNyZWF0ZU9ic2VydmVyKDAuMTUpO1xuXG4gICAgICAgIC8vIEFsc28gY2hlY2sgb24gc2Nyb2xsXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAgIFwic2Nyb2xsXCIsXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF0cml4UmVjdCA9IGNhbXBpbmdQaWNrZXJSZXN1bHRzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgICAgICAgY29uc3Qgd2FzQmVsb3dNYXRyaXggPSB0aGlzLmlzQmVsb3dDYW1waW5nUmVzdWx0O1xuICAgICAgICAgICAgdGhpcy5pc0JlbG93Q2FtcGluZ1Jlc3VsdCA9IG1hdHJpeFJlY3QuYm90dG9tIDwgd2luZG93SGVpZ2h0O1xuXG4gICAgICAgICAgICAvLyBJZiBwb3NpdGlvbiBjaGFuZ2VkLCB1cGRhdGUgdGhlIG9ic2VydmVyIHdpdGggbmV3IHRocmVzaG9sZFxuICAgICAgICAgICAgaWYgKHdhc0JlbG93TWF0cml4ICE9PSB0aGlzLmlzQmVsb3dDYW1waW5nUmVzdWx0KSB7XG4gICAgICAgICAgICAgIGNyZWF0ZU9ic2VydmVyKHRoaXMuaXNCZWxvd0NhbXBpbmdSZXN1bHQgPyAwLjggOiAwLjE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgcGFzc2l2ZTogdHJ1ZSB9XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNldCB1cCBpbnRlcnNlY3Rpb24gb2JzZXJ2ZXIgZm9yIGZvb3RlclxuICAgICAgY29uc3QgZm9vdGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcImZvb3RlclwiKTtcbiAgICAgIGlmIChmb290ZXIpIHtcbiAgICAgICAgY29uc3QgZm9vdGVyT2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAgICAgKGVudHJpZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNGb290ZXJWaXNpYmxlID0gZW50cmllc1swXS5pc0ludGVyc2VjdGluZztcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgdGhyZXNob2xkOiAwLjEgfVxuICAgICAgICApO1xuICAgICAgICBmb290ZXJPYnNlcnZlci5vYnNlcnZlKGZvb3Rlcik7XG4gICAgICB9XG4gICAgfSk7XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgdG90YWxHdWVzdHMoKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLnNlYXJjaERhdGEuYWR1bHRzICtcbiAgICAgICAgdGhpcy5zZWFyY2hEYXRhLmNoaWxkcmVuICtcbiAgICAgICAgdGhpcy5zZWFyY2hEYXRhLmJhYmllc1xuICAgICAgKTtcbiAgICB9LFxuICB9LFxuICBtZXRob2RzOiB7XG4gICAgY2hlY2tJc0Rlc2t0b3AoKSB7XG4gICAgICB0aGlzLmlzRGVza3RvcCA9IHdpbmRvdy5tYXRjaE1lZGlhKFwiKG1pbi13aWR0aDogOTkxcHgpXCIpLm1hdGNoZXM7XG4gICAgfSxcbiAgICBhc3luYyBvcHRpb24oKSB7XG4gICAgICBpZiAoIXRoaXMuc2VhcmNoRGF0YS5sb3MgJiYgIXRoaXMuc2VhcmNoRGF0YS5hcnJpdmFsRGF0ZSkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICBcIiN2aWxsYXRlbnRfY2FtcGluZ19kYXRlX3BpY2tlclwiXG4gICAgICAgICk7XG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldyh7XG4gICAgICAgICAgICBiZWhhdmlvcjogXCJzbW9vdGhcIixcbiAgICAgICAgICAgIGJsb2NrOiBcInN0YXJ0XCIsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5zZWFyY2hEYXRhLmNhbXBpbmdJZCkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNDYW1waW5nRGF0ZVBpY2tlclJlc3VsdFwiKTtcbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHtcbiAgICAgICAgICAgIGJlaGF2aW9yOiBcInNtb290aFwiLFxuICAgICAgICAgICAgYmxvY2s6IFwic3RhcnRcIixcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IENoZWNrb3V0RGF0YS5pbml0KFxuICAgICAgICBcIm9wdGlvblwiLFxuICAgICAgICB0aGlzLnNlYXJjaERhdGEuYWNjb21tb2RhdGlvbklkLFxuICAgICAgICB0aGlzLnNlYXJjaFJlc3VsdHMuYXJyaXZhbERhdGUsXG4gICAgICAgIHRoaXMuc2VhcmNoUmVzdWx0cy5kZXBhcnR1cmVEYXRlLFxuICAgICAgICB0aGlzLnNlYXJjaFJlc3VsdHMubG9zLFxuICAgICAgICB0aGlzLnNlYXJjaFJlc3VsdHMub3JpZ2luYWxQcmljZSxcbiAgICAgICAgdGhpcy5zZWFyY2hSZXN1bHRzLnByaWNlLFxuICAgICAgICB0aGlzLnNlYXJjaFJlc3VsdHMucmVudFByaWNlLFxuICAgICAgICB0aGlzLnNlYXJjaFJlc3VsdHMub3JpZ2luYWxSZW50UHJpY2UsXG4gICAgICAgIHRoaXMuc2VhcmNoRGF0YS5jYW5jZWxsYXRpb25QYWNrYWdlXG4gICAgICApO1xuXG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHRoaXMuY2hlY2tvdXRVcmw7XG4gICAgfSxcbiAgICBhc3luYyBib29rKCkge1xuICAgICAgaWYgKCF0aGlzLnNlYXJjaERhdGEubG9zICYmICF0aGlzLnNlYXJjaERhdGEuYXJyaXZhbERhdGUpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgXCIjdmlsbGF0ZW50X2NhbXBpbmdfZGF0ZV9waWNrZXJcIlxuICAgICAgICApO1xuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgICAgICAgICBibG9jazogXCJzdGFydFwiLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuc2VhcmNoRGF0YS5jYW1waW5nSWQpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjQ2FtcGluZ0RhdGVQaWNrZXJSZXN1bHRcIik7XG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldyh7XG4gICAgICAgICAgICBiZWhhdmlvcjogXCJzbW9vdGhcIixcbiAgICAgICAgICAgIGJsb2NrOiBcInN0YXJ0XCIsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBDaGVja291dERhdGEuaW5pdChcbiAgICAgICAgXCJib29raW5nXCIsXG4gICAgICAgIHRoaXMuc2VhcmNoRGF0YS5hY2NvbW1vZGF0aW9uSWQsXG4gICAgICAgIHRoaXMuc2VhcmNoUmVzdWx0cy5hcnJpdmFsRGF0ZSxcbiAgICAgICAgdGhpcy5zZWFyY2hSZXN1bHRzLmRlcGFydHVyZURhdGUsXG4gICAgICAgIHRoaXMuc2VhcmNoUmVzdWx0cy5sb3MsXG4gICAgICAgIHRoaXMuc2VhcmNoUmVzdWx0cy5vcmlnaW5hbFByaWNlLFxuICAgICAgICB0aGlzLnNlYXJjaFJlc3VsdHMucHJpY2UsXG4gICAgICAgIHRoaXMuc2VhcmNoUmVzdWx0cy5yZW50UHJpY2UsXG4gICAgICAgIHRoaXMuc2VhcmNoUmVzdWx0cy5vcmlnaW5hbFJlbnRQcmljZSxcbiAgICAgICAgdGhpcy5zZWFyY2hEYXRhLmNhbmNlbGxhdGlvblBhY2thZ2VcbiAgICAgICk7XG5cbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5jaGVja291dFVybDtcbiAgICB9LFxuICAgIGZvcm1hdHRlZFN0YXJ0RGF0ZSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1hdERhdGUodGhpcy5zZWFyY2hEYXRhLmRhdGVbMF0pO1xuICAgIH0sXG4gICAgZm9ybWF0dGVkRW5kRGF0ZSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1hdERhdGUodGhpcy5zZWFyY2hEYXRhLmRhdGVbMV0pO1xuICAgIH0sXG4gICAgZm9ybWF0dGVkRGF0ZVNhbWVNb250aCgpIHtcbiAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHRoaXMuc2VhcmNoRGF0YS5kYXRlWzBdKTtcbiAgICAgIGNvbnN0IGVuZERhdGUgPSBuZXcgRGF0ZSh0aGlzLnNlYXJjaERhdGEuZGF0ZVsxXSk7XG4gICAgICBjb25zdCBzdGFydERheSA9IHN0YXJ0RGF0ZS50b0xvY2FsZURhdGVTdHJpbmcobG9jYWxlLCB7XG4gICAgICAgIHdlZWtkYXk6IFwic2hvcnRcIixcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZW5kRGF5ID0gZW5kRGF0ZS50b0xvY2FsZURhdGVTdHJpbmcobG9jYWxlLCB7IHdlZWtkYXk6IFwic2hvcnRcIiB9KTtcbiAgICAgIGNvbnN0IHN0YXJ0TW9udGggPSBzdGFydERhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKGxvY2FsZSwge1xuICAgICAgICBtb250aDogXCJzaG9ydFwiLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBlbmRNb250aCA9IGVuZERhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKGxvY2FsZSwge1xuICAgICAgICBtb250aDogXCJzaG9ydFwiLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gYCR7XG4gICAgICAgIHN0YXJ0RGF5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgc3RhcnREYXkuc2xpY2UoMSlcbiAgICAgIH0gJHtzdGFydERhdGUuZ2V0RGF0ZSgpfSAke3N0YXJ0TW9udGh9IC0gJHtcbiAgICAgICAgZW5kRGF5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgZW5kRGF5LnNsaWNlKDEpXG4gICAgICB9ICR7ZW5kRGF0ZS5nZXREYXRlKCl9ICR7ZW5kTW9udGh9YDtcbiAgICB9LFxuICAgIGZvcm1hdERhdGUoZGF0ZSkge1xuICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvY2FsZSwge1xuICAgICAgICB3ZWVrZGF5OiBcInNob3J0XCIsXG4gICAgICAgIGRheTogXCJudW1lcmljXCIsXG4gICAgICAgIG1vbnRoOiBcInNob3J0XCIsXG4gICAgICB9KS5mb3JtYXQoZGF0ZSk7XG4gICAgICAvLyBDYXBpdGFsaXplIHRoZSBmaXJzdCBsZXR0ZXIgb2YgdGhlIGZvcm1hdHRlZCBkYXRlXG4gICAgICByZXR1cm4gZm9ybWF0dGVkRGF0ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGZvcm1hdHRlZERhdGUuc2xpY2UoMSk7XG4gICAgfSxcbiAgICBzYW1lTW9udGgoKSB7XG4gICAgICBjb25zdCBzdGFydE1vbnRoID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLCB7XG4gICAgICAgIG1vbnRoOiBcInNob3J0XCIsXG4gICAgICB9KS5mb3JtYXQodGhpcy5zZWFyY2hSZXN1bHRzLmFycml2YWxEYXRlKTtcblxuICAgICAgY29uc3QgZW5kTW9udGggPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGUsIHtcbiAgICAgICAgbW9udGg6IFwic2hvcnRcIixcbiAgICAgIH0pLmZvcm1hdCh0aGlzLnNlYXJjaFJlc3VsdHMuZGVwYXJ0dXJlRGF0ZSk7XG5cbiAgICAgIHJldHVybiBzdGFydE1vbnRoID09PSBlbmRNb250aDtcbiAgICB9LFxuICB9LFxuICBiZWZvcmVEZXN0cm95KCkge1xuICAgIC8vIENsZWFuIHVwIGV2ZW50IGxpc3RlbmVyc1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuY2hlY2tJc0Rlc2t0b3ApO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHRoaXMuY2hlY2tQcmljZU1hdHJpeFBvc2l0aW9uKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLmNoZWNrQ2FtcGluZ1Jlc3VsdFBvc2l0aW9uKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLmNoZWNrRm9vdGVyUG9zaXRpb24pO1xuXG4gICAgLy8gQ2xlYW4gdXAgb2JzZXJ2ZXIgaWYgaXQgZXhpc3RzXG4gICAgaWYgKHRoaXMuX3ByaWNlTWF0cml4T2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMuX3ByaWNlTWF0cml4T2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fY2FtcGluZ1Jlc3VsdE9ic2VydmVyKSB7XG4gICAgICB0aGlzLl9jYW1waW5nUmVzdWx0T2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fZm9vdGVyT2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMuX2Zvb3Rlck9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gIH0sXG59O1xuPC9zY3JpcHQ+XG5cbjx0ZW1wbGF0ZT5cbiAgPGRpdlxuICAgIHYtaWY9XCIhaXNEZXNrdG9wXCJcbiAgICBjbGFzcz1cImZpeGVkLWJvdHRvbSB3LTEwMCByb3VuZGVkLXN0YXJ0LTIgbW9iaWxlLWJvb2tpbmctd2lkZ2V0XCJcbiAgPlxuICAgIDx0cmFuc2l0aW9uIG5hbWU9XCJzbGlkZVwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm1vYmlsZS1hdmFpbGFiaWxpdHktaGVhZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgICAgICAgdi1pZj1cIlxuICAgICAgICAgICFzZWFyY2hEYXRhLmNhbXBpbmdJZCAmJiAhaXNQcmljZU1hdHJpeFZpc2libGUgJiYgIWlzRm9vdGVyVmlzaWJsZVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLWF2YWlsYWJpbGl0eS1idXR0b24gcm91bmRlZC10b3BcIj5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgaHJlZj1cIiNwcmljZU1hdHJpeE1vYmlsZVwiXG4gICAgICAgICAgICBjbGFzcz1cImJvb2tpbmctd2lkZ2V0LXJlc2VydmF0aW9uIGxpbmstbGlnaHQgZnctbm9ybWFsIGxpbmstb2Zmc2V0LTIgbGluay11bmRlcmxpbmUtb3BhY2l0eS0yNSBsaW5rLXVuZGVybGluZS1vcGFjaXR5LTEwMC1ob3ZlciBuby1zdmctYW5pbWF0aW9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyB0cmFucyhcImJvb2tpbmdfd2lkZ2V0LnNob3cuYXZhaWxhYmlsaXR5XCIpIH19XG4gICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTggMThcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNMTUuMjIyIDcuMzQ2OTVMOS41OTY5NSAxMi45NzJDOS41MTg1NyAxMy4wNTA2IDkuNDI1NDIgMTMuMTEzIDkuMzIyODYgMTMuMTU1NkM5LjIyMDMgMTMuMTk4MiA5LjExMDM1IDEzLjIyMDEgOC45OTkzIDEzLjIyMDFDOC44ODgyNSAxMy4yMjAxIDguNzc4MjkgMTMuMTk4MiA4LjY3NTczIDEzLjE1NTZDOC41NzMxNyAxMy4xMTMgOC40ODAwMyAxMy4wNTA2IDguNDAxNjQgMTIuOTcyTDIuNzc2NjQgNy4zNDY5NUMyLjYxODEzIDcuMTg4NDUgMi41MjkwOCA2Ljk3MzQ2IDIuNTI5MDggNi43NDkzQzIuNTI5MDggNi41MjUxMyAyLjYxODEzIDYuMzEwMTUgMi43NzY2NCA2LjE1MTY0QzIuOTM1MTUgNS45OTMxMyAzLjE1MDEzIDUuOTA0MDggMy4zNzQzIDUuOTA0MDhDMy41OTg0NiA1LjkwNDA4IDMuODEzNDQgNS45OTMxMyAzLjk3MTk1IDYuMTUxNjRMOSAxMS4xNzk3TDE0LjAyOCA2LjE1MDk0QzE0LjE4NjYgNS45OTI0MyAxNC40MDE1IDUuOTAzMzggMTQuNjI1NyA1LjkwMzM4QzE0Ljg0OTkgNS45MDMzOCAxNS4wNjQ4IDUuOTkyNDMgMTUuMjIzNCA2LjE1MDk0QzE1LjM4MTkgNi4zMDk0NSAxNS40NzA5IDYuNTI0NDMgMTUuNDcwOSA2Ljc0ODZDMTUuNDcwOSA2Ljk3Mjc2IDE1LjM4MTkgNy4xODc3NCAxNS4yMjM0IDcuMzQ2MjVMMTUuMjIyIDcuMzQ2OTVaXCJcbiAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIlxuICAgICAgICAgICAgICAgIDpjbGFzcz1cInsgJ2Fycm93LXVwJzogaXNCZWxvd1ByaWNlTWF0cml4IH1cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvdHJhbnNpdGlvbj5cbiAgICA8dHJhbnNpdGlvbiBuYW1lPVwic2xpZGVcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJtb2JpbGUtc3VtbWFyeSByb3VuZGVkLXRvcCBzaGFkb3cgcGItM1wiXG4gICAgICAgIHYtaWY9XCJcbiAgICAgICAgICAoc2VhcmNoUmVzdWx0cy5wcmljZSAmJlxuICAgICAgICAgICAgc2VhcmNoRGF0YS5sb3MgJiZcbiAgICAgICAgICAgIHNlYXJjaERhdGEuYXJyaXZhbERhdGUgJiZcbiAgICAgICAgICAgICFpc0Zvb3RlclZpc2libGUpIHx8XG4gICAgICAgICAgKHNlYXJjaERhdGEuY2FtcGluZ0lkICYmICFpc0NhbXBpbmdSZXN1bHRWaXNpYmxlICYmICFpc0Zvb3RlclZpc2libGUpXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtc3VtbWFyeS1sZWZ0XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1vYmlsZS1zdW1tYXJ5LXByaWNlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9va2luZy13aWRnZXQtc3VtbWFyeSBhbGlnbi1pdGVtcy1zdGFydFwiPlxuICAgICAgICAgICAgICA8Qm9va2luZ1dpZGdlZFN1bW1hcnlNb2JpbGVcbiAgICAgICAgICAgICAgICB2LWlmPVwic2VhcmNoUmVzdWx0cy5wcmljZSAmJiBzZWFyY2hEYXRhLmFjY29tbW9kYXRpb25JZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibW9iaWxlLXN1bW1hcnktZGF0YSBmbGV4LWNvbHVtbiBnYXAtMCBhbGlnbi1pdGVtcy1zdGFydFwiXG4gICAgICAgICAgICB2LWlmPVwiIXNlYXJjaFJlc3VsdHMucHJpY2UgJiYgIXNlYXJjaERhdGEuYWNjb21tb2RhdGlvbklkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwibW9iaWxlLXN1bW1hcnktZGF0ZSBmdy1ib2xkXCJcbiAgICAgICAgICAgICAgdi1pZj1cInNlYXJjaERhdGEubG9zICYmIHNlYXJjaERhdGEuYXJyaXZhbERhdGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiB2LWlmPVwic2FtZU1vbnRoKClcIj5cbiAgICAgICAgICAgICAgICB7eyBmb3JtYXR0ZWREYXRlU2FtZU1vbnRoKCkgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiB2LWVsc2U+XG4gICAgICAgICAgICAgICAge3sgZm9ybWF0dGVkU3RhcnREYXRlKCkgfX0gLVxuICAgICAgICAgICAgICAgIHt7IGZvcm1hdHRlZEVuZERhdGUoKSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgdi1lbHNlIGNsYXNzPVwibW9iaWxlLXN1bW1hcnktZGF0ZSB3YXJuaW5nLXRleHQtbWVzc2FnZVwiPlxuICAgICAgICAgICAgICB7eyB0cmFucyhcInNlYXJjaC5yZXN1bHQud2FybmluZy5ub0RhdGVQaWNrZWRcIikgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vYmlsZS1zdW1tYXJ5LXBlcnNcIiB2LWlmPVwidG90YWxHdWVzdHMgPiAwXCI+XG4gICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgdHJhbnMoXCJzZWFyY2guZ3Vlc3RwaWNrZXIubnVtUGVyc29uc1wiLCB7IG51bWJlcjogdG90YWxHdWVzdHMgfSlcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1lbmRcIj5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgQGNsaWNrLnByZXZlbnQ9XCJib29rKClcIlxuICAgICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgICAgY2xhc3M9XCJib29raW5nLXdpZGdldC1yZXNlcnZhdGlvbiBidG4gYnRuLXNlY29uZGFyeSBweS0yIHB4LTMgdy0xMDBcIlxuICAgICAgICAgICAgdi1pZj1cInNlYXJjaFJlc3VsdHMucHJpY2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHRyYW5zKFwiYm9va2luZ193aWRnZXQuYm9va19ub3dcIikgfX1cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTlcIlxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiXG4gICAgICAgICAgICAgIHZpZXdib3g9XCIwIDAgMTkgMThcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZD1cIk0xNi4yODQ1IDkuNTk2ODlMMTEuMjIyIDE0LjY1OTRDMTEuMDYzNCAxNC44MTc5IDEwLjg0ODUgMTQuOTA3IDEwLjYyNDMgMTQuOTA3QzEwLjQwMDEgMTQuOTA3IDEwLjE4NTEgMTQuODE3OSAxMC4wMjY2IDE0LjY1OTRDOS44NjgxMyAxNC41MDA5IDkuNzc5MDggMTQuMjg1OSA5Ljc3OTA4IDE0LjA2MTdDOS43NzkwOCAxMy44Mzc2IDkuODY4MTMgMTMuNjIyNiAxMC4wMjY2IDEzLjQ2NDFMMTMuNjQ4NCA5Ljg0MzY5SDMuMzEyNUMzLjA4ODcyIDkuODQzNjkgMi44NzQxMSA5Ljc1NDggMi43MTU4OCA5LjU5NjU2QzIuNTU3NjQgOS40MzgzMyAyLjQ2ODc1IDkuMjIzNzIgMi40Njg3NSA4Ljk5OTk0QzIuNDY4NzUgOC43NzYxNiAyLjU1NzY0IDguNTYxNTUgMi43MTU4OCA4LjQwMzMyQzIuODc0MTEgOC4yNDUwOSAzLjA4ODcyIDguMTU2MTkgMy4zMTI1IDguMTU2MTlIMTMuNjQ4NEwxMC4wMjggNC41MzM2OUM5Ljg2OTU0IDQuMzc1MTggOS43ODA0OSA0LjE2MDIgOS43ODA0OSAzLjkzNjAzQzkuNzgwNDkgMy43MTE4NyA5Ljg2OTU0IDMuNDk2ODkgMTAuMDI4IDMuMzM4MzhDMTAuMTg2NiAzLjE3OTg3IDEwLjQwMTUgMy4wOTA4MiAxMC42MjU3IDMuMDkwODJDMTAuODQ5OSAzLjA5MDgyIDExLjA2NDkgMy4xNzk4NyAxMS4yMjM0IDMuMzM4MzhMMTYuMjg1OSA4LjQwMDg4QzE2LjM2NDUgOC40NzkzNyAxNi40MjY5IDguNTcyNjMgMTYuNDY5NSA4LjY3NTMxQzE2LjUxMiA4Ljc3Nzk4IDE2LjUzMzggOC44ODgwNCAxNi41MzM3IDguOTk5MThDMTYuNTMzNSA5LjExMDMxIDE2LjUxMTUgOS4yMjAzMiAxNi40Njg3IDkuMzIyOUMxNi40MjU5IDkuNDI1NDcgMTYuMzYzMyA5LjUxODU5IDE2LjI4NDUgOS41OTY4OVpcIlxuICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIEBjbGljay5wcmV2ZW50PVwiYm9vaygpXCJcbiAgICAgICAgICAgIGhyZWY9XCIjXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYm9va2luZy13aWRnZXQtcmVzZXJ2YXRpb24gYnRuIGJ0bi1zZWNvbmRhcnkgcHktMiBweC0zIHctMTAwXCJcbiAgICAgICAgICAgIHYtaWY9XCJzZWFyY2hEYXRhLmNhbXBpbmdJZFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgc2VhcmNoRGF0YS5sb3MgJiYgc2VhcmNoRGF0YS5hcnJpdmFsRGF0ZVxuICAgICAgICAgICAgICAgID8gdHJhbnMoXCJib29raW5nX3dpZGdldC5ib29rX25vd192aWxsYXRlbnRfbW9iaWxlXCIpXG4gICAgICAgICAgICAgICAgOiB0cmFucyhcImJvb2tpbmdfd2lkZ2V0LmJvb2tfbm93X3ZpbGxhdGVudF9tb2JpbGVfbm9fZGF0ZVwiKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTlcIlxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiXG4gICAgICAgICAgICAgIHZpZXdib3g9XCIwIDAgMTkgMThcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZD1cIk0xNS4yMjIgNy4zNDY5NUw5LjU5Njk1IDEyLjk3MkM5LjUxODU3IDEzLjA1MDYgOS40MjU0MiAxMy4xMTMgOS4zMjI4NiAxMy4xNTU2QzkuMjIwMyAxMy4xOTgyIDkuMTEwMzUgMTMuMjIwMSA4Ljk5OTMgMTMuMjIwMUM4Ljg4ODI1IDEzLjIyMDEgOC43NzgyOSAxMy4xOTgyIDguNjc1NzMgMTMuMTU1NkM4LjU3MzE3IDEzLjExMyA4LjQ4MDAzIDEzLjA1MDYgOC40MDE2NCAxMi45NzJMMi43NzY2NCA3LjM0Njk1QzIuNjE4MTMgNy4xODg0NSAyLjUyOTA4IDYuOTczNDYgMi41MjkwOCA2Ljc0OTNDMi41MjkwOCA2LjUyNTEzIDIuNjE4MTMgNi4zMTAxNSAyLjc3NjY0IDYuMTUxNjRDMi45MzUxNSA1Ljk5MzEzIDMuMTUwMTMgNS45MDQwOCAzLjM3NDMgNS45MDQwOEMzLjU5ODQ2IDUuOTA0MDggMy44MTM0NCA1Ljk5MzEzIDMuOTcxOTUgNi4xNTE2NEw5IDExLjE3OTdMMTQuMDI4IDYuMTUwOTRDMTQuMTg2NiA1Ljk5MjQzIDE0LjQwMTUgNS45MDMzOCAxNC42MjU3IDUuOTAzMzhDMTQuODQ5OSA1LjkwMzM4IDE1LjA2NDggNS45OTI0MyAxNS4yMjM0IDYuMTUwOTRDMTUuMzgxOSA2LjMwOTQ1IDE1LjQ3MDkgNi41MjQ0MyAxNS40NzA5IDYuNzQ4NkMxNS40NzA5IDYuOTcyNzYgMTUuMzgxOSA3LjE4Nzc0IDE1LjIyMzQgNy4zNDYyNUwxNS4yMjIgNy4zNDY5NVpcIlxuICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgICAgOmNsYXNzPVwieyAnYXJyb3ctdXAnOiBpc0JlbG93Q2FtcGluZ1Jlc3VsdCB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgQGNsaWNrLnByZXZlbnQuc3RvcD1cIm9wdGlvbigpXCJcbiAgICAgICAgICAgIGhyZWY9XCIjXCJcbiAgICAgICAgICAgIGNsYXNzPVwibGluay1zZWNvbmRhcnkgbGluay1vZmZzZXQtMiBsaW5rLXVuZGVybGluZS1vcGFjaXR5LTEwMC1ob3ZlciBtdC0yXCJcbiAgICAgICAgICAgIDp0aXRsZT1cInRyYW5zKCdib29raW5nX3dpZGdldC5ib29rX25vd19vcHRpb25fbW9iaWxlJylcIlxuICAgICAgICAgICAgdi1pZj1cIlxuICAgICAgICAgICAgICBzZWFyY2hEYXRhLmxvcyAmJlxuICAgICAgICAgICAgICBzZWFyY2hEYXRhLmFycml2YWxEYXRlICYmXG4gICAgICAgICAgICAgIHNlYXJjaERhdGEuYWNjb21tb2RhdGlvbklkICYmXG4gICAgICAgICAgICAgIHNlYXJjaERhdGEub3B0aW9uRW5hYmxlZFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyB0cmFucyhcImJvb2tpbmdfd2lkZ2V0LmJvb2tfbm93X29wdGlvbl9tb2JpbGVcIikgfX1cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTlcIlxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTkgMThcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZD1cIk0xNi42MTk0IDkuNTk2ODlMMTEuNTU2OSAxNC42NTk0QzExLjM5ODQgMTQuODE3OSAxMS4xODM0IDE0LjkwNyAxMC45NTkzIDE0LjkwN0MxMC43MzUxIDE0LjkwNyAxMC41MjAxIDE0LjgxNzkgMTAuMzYxNiAxNC42NTk0QzEwLjIwMzEgMTQuNTAwOSAxMC4xMTQgMTQuMjg1OSAxMC4xMTQgMTQuMDYxN0MxMC4xMTQgMTMuODM3NiAxMC4yMDMxIDEzLjYyMjYgMTAuMzYxNiAxMy40NjQxTDEzLjk4MzQgOS44NDM2OUgzLjY0NzQ2QzMuNDIzNjggOS44NDM2OSAzLjIwOTA3IDkuNzU0OCAzLjA1MDg0IDkuNTk2NTZDMi44OTI2MSA5LjQzODMzIDIuODAzNzEgOS4yMjM3MiAyLjgwMzcxIDguOTk5OTRDMi44MDM3MSA4Ljc3NjE2IDIuODkyNjEgOC41NjE1NSAzLjA1MDg0IDguNDAzMzJDMy4yMDkwNyA4LjI0NTA5IDMuNDIzNjggOC4xNTYxOSAzLjY0NzQ2IDguMTU2MTlIMTMuOTgzNEwxMC4zNjMgNC41MzM2OUMxMC4yMDQ1IDQuMzc1MTggMTAuMTE1NSA0LjE2MDIgMTAuMTE1NSAzLjkzNjAzQzEwLjExNTUgMy43MTE4NyAxMC4yMDQ1IDMuNDk2ODkgMTAuMzYzIDMuMzM4MzhDMTAuNTIxNSAzLjE3OTg3IDEwLjczNjUgMy4wOTA4MiAxMC45NjA3IDMuMDkwODJDMTEuMTg0OCAzLjA5MDgyIDExLjM5OTggMy4xNzk4NyAxMS41NTgzIDMuMzM4MzhMMTYuNjIwOCA4LjQwMDg4QzE2LjY5OTUgOC40NzkzNyAxNi43NjE5IDguNTcyNjMgMTYuODA0NCA4LjY3NTMxQzE2Ljg0NjkgOC43Nzc5OCAxNi44Njg4IDguODg4MDQgMTYuODY4NiA4Ljk5OTE4QzE2Ljg2ODUgOS4xMTAzMSAxNi44NDY0IDkuMjIwMzIgMTYuODAzNyA5LjMyMjlDMTYuNzYwOSA5LjQyNTQ3IDE2LjY5ODMgOS41MTg1OSAxNi42MTk0IDkuNTk2ODlaXCJcbiAgICAgICAgICAgICAgICBmaWxsPVwidXJsKCNvcHRpb25fbGluZWFyX2dyYWQpXCJcbiAgICAgICAgICAgICAgPjwvcGF0aD5cbiAgICAgICAgICAgICAgPGRlZnM+XG4gICAgICAgICAgICAgICAgPGxpbmVhckdyYWRpZW50XG4gICAgICAgICAgICAgICAgICBpZD1cIm9wdGlvbl9saW5lYXJfZ3JhZFwiXG4gICAgICAgICAgICAgICAgICB4MT1cIjIuODAzNzFcIlxuICAgICAgICAgICAgICAgICAgeTE9XCI4Ljk5ODg5XCJcbiAgICAgICAgICAgICAgICAgIHgyPVwiMTYuODY4NlwiXG4gICAgICAgICAgICAgICAgICB5Mj1cIjguOTk4ODlcIlxuICAgICAgICAgICAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPVwiIzQxQThEN1wiPjwvc3RvcD5cbiAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzJCODZCMlwiPjwvc3RvcD5cbiAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxuICAgICAgICAgICAgICA8L2RlZnM+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC90cmFuc2l0aW9uPlxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzdHlsZSBzY29wZWQ+XG4uYXJyb3ctdXAge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi5tb2JpbGUtYm9va2luZy13aWRnZXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tb2JpbGUtc3VtbWFyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbi5tb2JpbGUtYXZhaWxhYmlsaXR5LWhlYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvdHRvbTogMTAwJTtcbiAgei1pbmRleDogMTtcbn1cblxuLnNsaWRlLWVudGVyLWFjdGl2ZSxcbi5zbGlkZS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xufVxuXG4uc2xpZGUtZW50ZXItZnJvbSxcbi5zbGlkZS1sZWF2ZS10byB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNsaWRlLWVudGVyLXRvLFxuLnNsaWRlLWxlYXZlLWZyb20ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIG9wYWNpdHk6IDE7XG59XG48L3N0eWxlPlxuIiwiPHNjcmlwdD5cbmltcG9ydCBJbnRsTWVzc2FnZUZvcm1hdCBmcm9tIFwiaW50bC1tZXNzYWdlZm9ybWF0XCI7XG5pbXBvcnQgVHJhbnNsYXRvciBmcm9tIFwiLi4vVHJhbnNsYXRvci5qc1wiO1xuaW1wb3J0IENoZWNrb3V0VXBkYXRlc1N1bW1hcnkgZnJvbSBcIi4vQ2hlY2tvdXRVcGRhdGVzU3VtbWFyeS52dWVcIjtcbmltcG9ydCBDYWxlbmRhclN2ZyBmcm9tIFwiLi4vc3Zncy9jYWxlbmRhclN2Zy52dWVcIjtcbmltcG9ydCBNYXJrZXJTdmcgZnJvbSBcIi4uL3N2Z3MvbWFya2VyU3ZnLnZ1ZVwiO1xuaW1wb3J0IFBlcnNvbnNTdmcgZnJvbSBcIi4uL3N2Z3MvcGVyc29uc1N2Zy52dWVcIjtcbmltcG9ydCBTdGFyU3ZnIGZyb20gXCIuLi9zdmdzL3N0YXIudnVlXCI7XG5pbXBvcnQgQ2hlY2tvdXRPcHRpb25XYXJuaW5nIGZyb20gXCIuL0NoZWNrb3V0T3B0aW9uV2FybmluZy52dWVcIjtcbmltcG9ydCBDaGVja291dERhdGEgZnJvbSBcIi4uL0NoZWNrb3V0RGF0YS5qc1wiO1xuaW1wb3J0ICogYXMgYm9vdHN0cmFwIGZyb20gXCJib290c3RyYXBcIjtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBjb21wb25lbnRzOiB7XG4gICAgU3RhclN2ZyxcbiAgICBNYXJrZXJTdmcsXG4gICAgQ2FsZW5kYXJTdmcsXG4gICAgUGVyc29uc1N2ZyxcbiAgICBDaGVja291dFVwZGF0ZXNTdW1tYXJ5LFxuICAgIENoZWNrb3V0T3B0aW9uV2FybmluZyxcbiAgfSxcbiAgZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY2hlY2tvdXREYXRhOiBDaGVja291dERhdGEuZGF0YSxcbiAgICAgIHRyYW5zOiBUcmFuc2xhdG9yLFxuICAgICAgbG9jYWxlOiBsb2NhbGUsXG4gICAgICBhbmltYXRpb25DbGFzczogXCJcIixcbiAgICB9O1xuICB9LFxuICB3YXRjaDoge1xuICAgIHRyYW5zKCkge1xuICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4ge1xuICAgICAgICBjb25zdCB0b29sdGlwVHJpZ2dlckxpc3QgPSB0aGlzLiRlbC5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgICdbZGF0YS1icy10b2dnbGU9XCJ0b29sdGlwXCJdJ1xuICAgICAgICApO1xuXG4gICAgICAgIHRvb2x0aXBUcmlnZ2VyTGlzdC5mb3JFYWNoKCh0b29sdGlwVHJpZ2dlckVsKSA9PiB7XG4gICAgICAgICAgbmV3IGJvb3RzdHJhcC5Ub29sdGlwKHRvb2x0aXBUcmlnZ2VyRWwsIHtcbiAgICAgICAgICAgIHRyaWdnZXI6IFwiaG92ZXJcIixcbiAgICAgICAgICAgIHBsYWNlbWVudDogXCJ0b3BcIiwgLy8gT3B0aW9uYWw6IGFkanVzdCBiYXNlZCBvbiB5b3VyIHJlcXVpcmVtZW50c1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgXCJjaGVja291dERhdGEudG90YWxcIihuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgaWYgKG5ld1ZhbCAhPT0gb2xkVmFsKSB7XG4gICAgICAgIHRoaXMudHJpZ2dlckFuaW1hdGlvbigpO1xuICAgICAgfVxuICAgIH0sXG4gICAgdG90YWxBZHVsdHMobmV3VmFsLCBvbGRWYWwpIHtcbiAgICAgIGlmIChuZXdWYWwgIT09IG9sZFZhbCkge1xuICAgICAgICB0aGlzLnRyaWdnZXJBbmltYXRpb24oKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHRvdGFsQ2hpbGRzKG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICBpZiAobmV3VmFsICE9PSBvbGRWYWwpIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyQW5pbWF0aW9uKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICB0b3RhbEJhYmllcyhuZXdWYWwsIG9sZFZhbCkge1xuICAgICAgaWYgKG5ld1ZhbCAhPT0gb2xkVmFsKSB7XG4gICAgICAgIHRoaXMudHJpZ2dlckFuaW1hdGlvbigpO1xuICAgICAgfVxuICAgIH0sXG4gICAgdG90YWxQZXRzKG5ld1ZhbCwgb2xkVmFsKSB7XG4gICAgICBpZiAobmV3VmFsICE9PSBvbGRWYWwpIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyQW5pbWF0aW9uKCk7XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICB2b3VjaGVyc0Ftb3VudCgpIHtcbiAgICAgIGxldCBhbW91bnQgPSB0aGlzLmNoZWNrb3V0RGF0YS52b3VjaGVyVG90YWwgKiAtMTtcblxuICAgICAgaWYgKGFtb3VudCA+IHRoaXMuY2hlY2tvdXREYXRhLnRvdGFsICsgdGhpcy5jaGVja291dERhdGEuZGlzY291bnRUb3RhbCkge1xuICAgICAgICBhbW91bnQgPSB0aGlzLmNoZWNrb3V0RGF0YS50b3RhbCArIHRoaXMuY2hlY2tvdXREYXRhLmRpc2NvdW50VG90YWw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhbW91bnQgKiAtMTtcbiAgICB9LFxuICAgIHJvdW5kZWRTY29yZSgpIHtcbiAgICAgIGNvbnN0IHJhdGluZyA9IHBhcnNlRmxvYXQoXG4gICAgICAgIHRoaXMuY2hlY2tvdXREYXRhLmFjY29tbW9kYXRpb24/LnJldmlld1Njb3JlPy5zY29yZVxuICAgICAgKTtcbiAgICAgIGNvbnN0IHJvdW5kZWQgPSBNYXRoLnJvdW5kKHJhdGluZyAqIDEwKSAvIDEwO1xuICAgICAgcmV0dXJuIHJvdW5kZWQgJSAxID09PSAwXG4gICAgICAgID8gTWF0aC5yb3VuZChyb3VuZGVkKS50b1N0cmluZygpXG4gICAgICAgIDogcm91bmRlZC50b0ZpeGVkKDEpO1xuICAgIH0sXG4gICAgcGF5YWJsZUFtb3VudCgpIHtcbiAgICAgIGxldCBhbW91bnQgPVxuICAgICAgICB0aGlzLmNoZWNrb3V0RGF0YS50b3RhbCArXG4gICAgICAgIHRoaXMuY2hlY2tvdXREYXRhLmRpc2NvdW50VG90YWwgK1xuICAgICAgICB0aGlzLmNoZWNrb3V0RGF0YS52b3VjaGVyVG90YWw7XG5cbiAgICAgIGlmIChhbW91bnQgPCAwKSB7XG4gICAgICAgIGFtb3VudCA9IDA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhbW91bnQ7XG4gICAgfSxcbiAgICB0b3RhbEFkdWx0cygpIHtcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrb3V0RGF0YS5hZHVsdHM7XG4gICAgfSxcbiAgICB0b3RhbENoaWxkcygpIHtcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrb3V0RGF0YS5jaGlsZHJlbjtcbiAgICB9LFxuICAgIHRvdGFsQmFiaWVzKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY2hlY2tvdXREYXRhLmJhYmllcztcbiAgICB9LFxuICAgIHRvdGFsUGV0cygpIHtcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrb3V0RGF0YS5wZXRzO1xuICAgIH0sXG4gICAgZm9ybWF0dGVkSW52b2ljZURldGFpbHMoKSB7XG4gICAgICAvLyBEeW5hbWljYWxseSBhY2Nlc3MgdGhlIGludm9pY2VEZXRhaWxzIGJhc2VkIG9uIHRoZSBsb2NhbGVcbiAgICAgIGNvbnN0IGRldGFpbHMgPVxuICAgICAgICB0aGlzLmNoZWNrb3V0RGF0YS5hY2NvbW1vZGF0aW9uPy5pbnZvaWNlRGV0YWlsc1t0aGlzLmxvY2FsZV07XG5cbiAgICAgIGlmICghZGV0YWlscykgcmV0dXJuIFwiXCI7XG5cbiAgICAgIC8vIFNwbGl0IHRoZSBzdHJpbmcgYXQgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgXFxyXFxuXG4gICAgICBjb25zdCBwYXJ0cyA9IGRldGFpbHMuc3BsaXQoL1xcclxcbiguKikvcyk7XG4gICAgICByZXR1cm4gcGFydHM7XG4gICAgfSxcbiAgICBjb3VudHJ5TmFtZSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrb3V0RGF0YS5hY2NvbW1vZGF0aW9uPy5jYW1waW5nRGF0YVt0aGlzLmxvY2FsZV0uY291bnRyeTtcbiAgICB9LFxuICB9LFxuICBtZXRob2RzOiB7XG4gICAgZm9ybWF0dGVkU3RhcnREYXRlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0RGF0ZSh0aGlzLmNoZWNrb3V0RGF0YS5hcnJpdmFsRGF0ZSwgXCJzdGFydFwiKTtcbiAgICB9LFxuICAgIGZvcm1hdHRlZEVuZERhdGUoKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXREYXRlKHRoaXMuY2hlY2tvdXREYXRhLmRlcGFydHVyZURhdGUsIFwiZW5kXCIpO1xuICAgIH0sXG4gICAgZm9ybWF0RGF0ZShkYXRlLCB0eXBlKSB7XG4gICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICB3ZWVrZGF5OiBcInNob3J0XCIsXG4gICAgICAgIGRheTogXCJudW1lcmljXCIsXG4gICAgICAgIG1vbnRoOiBcInNob3J0XCIsXG4gICAgICB9O1xuICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFxuICAgICAgICBsb2NhbGUucmVwbGFjZSgvXmVuJC8sIFwiZW4tR0JcIiksXG4gICAgICAgIG9wdGlvbnNcbiAgICAgICkuZm9ybWF0KGRhdGUpO1xuXG4gICAgICAvLyBDYXBpdGFsaXplIHRoZSBmaXJzdCBsZXR0ZXIgb2YgdGhlIGZvcm1hdHRlZCBkYXRlXG4gICAgICByZXR1cm4gZm9ybWF0dGVkRGF0ZS5jaGFyQXQoMCkgKyBmb3JtYXR0ZWREYXRlLnNsaWNlKDEpO1xuICAgIH0sXG4gICAgc2FtZU1vbnRoKCkge1xuICAgICAgY29uc3Qgc3RhcnRNb250aCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFxuICAgICAgICBsb2NhbGUucmVwbGFjZSgvXmVuJC8sIFwiZW4tR0JcIiksXG4gICAgICAgIHtcbiAgICAgICAgICBtb250aDogXCJzaG9ydFwiLFxuICAgICAgICB9XG4gICAgICApLmZvcm1hdCh0aGlzLmNoZWNrb3V0RGF0YS5hcnJpdmFsRGF0ZSk7XG5cbiAgICAgIGNvbnN0IGVuZE1vbnRoID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoXG4gICAgICAgIGxvY2FsZS5yZXBsYWNlKC9eZW4kLywgXCJlbi1HQlwiKSxcbiAgICAgICAge1xuICAgICAgICAgIG1vbnRoOiBcInNob3J0XCIsXG4gICAgICAgIH1cbiAgICAgICkuZm9ybWF0KHRoaXMuY2hlY2tvdXREYXRhLmRlcGFydHVyZURhdGUpO1xuXG4gICAgICByZXR1cm4gc3RhcnRNb250aCA9PT0gZW5kTW9udGg7XG4gICAgfSxcbiAgICB0cmlnZ2VyQW5pbWF0aW9uKCkge1xuICAgICAgdGhpcy5hbmltYXRpb25DbGFzcyA9IFwidXBkYXRlQ2FydC1hbmltYXRpb25cIjtcbiAgICAgIC8vIFJlbW92ZSB0aGUgY2xhc3MgYWZ0ZXIgdGhlIGFuaW1hdGlvbiBmaW5pc2hlc1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuYW5pbWF0aW9uQ2xhc3MgPSBcIlwiO1xuICAgICAgfSwgNTAwKTsgLy8gTWF0Y2ggdGhlIGR1cmF0aW9uIG9mIHRoZSBhbmltYXRpb25cbiAgICB9LFxuICB9LFxufTtcbjwvc2NyaXB0PlxuPHRlbXBsYXRlPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjaGVja291dC1zdW1tYXJ5IHJvdW5kZWQgc2hhZG93IHN0aWNreS1zY3JvbGxlciBjaGVja291dC1zY3JvbGxlclwiXG4gICAgOmNsYXNzPVwiYW5pbWF0aW9uQ2xhc3NcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWFjY29tbW9kYXRpb25cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1hY2NvbW1vZGF0aW9uLWRldGFpbHMtaW1hZ2UgcGxhY2Vob2xkZXItZ2xvd1wiPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgOnNyYz1cImNoZWNrb3V0RGF0YS5hY2NvbW1vZGF0aW9uPy5pbWFnZXNbMF0uaW1hZ2UucG9sYXJvaWRcIlxuICAgICAgICAgIGNsYXNzPVwicm91bmRlZFwiXG4gICAgICAgICAgc3R5bGU9XCJtYXgtd2lkdGg6IDEwMHB4XCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNoZWNrb3V0LWFjY29tbW9kYXRpb24tZGV0YWlscyBkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24tY2VudGVyLWNlbnRlclwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1hY2NvbW1vZGF0aW9uLXJldmlld1wiIHYtaWY9XCJyb3VuZGVkU2NvcmUgPiAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJldmlldy1zdW1tYXJ5LXJhdGluZyBkLWlubGluZS1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyYXRpbmctbnVtYmVyIG1lLTFcIj5cbiAgICAgICAgICAgICAge3sgcm91bmRlZFNjb3JlIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8U3RhclN2ZyA6cmF0aW5nPVwicm91bmRlZFNjb3JlXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1hY2NvbW1vZGF0aW9uLXRpdGxlXCI+XG4gICAgICAgICAge3sgY2hlY2tvdXREYXRhLmFjY29tbW9kYXRpb24/Lm5hbWVbdGhpcy5sb2NhbGVdIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWFjY29tbW9kYXRpb24tYm9va2luZ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWFjY29tbW9kYXRpb24tYm9va2luZy1wbGFjZVwiPlxuICAgICAgICA8TWFya2VyU3ZnIC8+XG4gICAgICAgIHt7IGNvdW50cnlOYW1lIH19LFxuICAgICAgICB7eyBjaGVja291dERhdGEuYWNjb21tb2RhdGlvbj8ucmVnaW9uW3RoaXMubG9jYWxlXSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLWRhdGVcIj5cbiAgICAgICAgPENhbGVuZGFyU3ZnIC8+XG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgIHt7IGZvcm1hdHRlZFN0YXJ0RGF0ZSgpIH19XG4gICAgICAgICAge3sgY2hlY2tvdXREYXRhLmFjY29tbW9kYXRpb24/LmNoZWNraW5UaW1lc0ZvcldlZWtbMF0gfX0gLVxuICAgICAgICAgIHt7IGZvcm1hdHRlZEVuZERhdGUoKSB9fVxuICAgICAgICAgIHt7IGNoZWNrb3V0RGF0YS5hY2NvbW1vZGF0aW9uPy5jaGVja291dFRpbWVzRm9yV2Vla1swXSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmctcGVyc29uc1wiPlxuICAgICAgICA8UGVyc29uc1N2ZyAvPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxzcGFuIHYtaWY9XCJjaGVja291dERhdGEuYWR1bHRzID4gMFwiPnt7XG4gICAgICAgICAgICB0cmFucyhcImNoZWNrb3V0LmFkdWx0cy5udW1iZXJvZmd1ZXN0c1wiLCB7XG4gICAgICAgICAgICAgIGd1ZXN0czogY2hlY2tvdXREYXRhLmFkdWx0cyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gdi1pZj1cImNoZWNrb3V0RGF0YS5jaGlsZHJlbiA+IDBcIj5cbiAgICAgICAgICAgIDx0ZW1wbGF0ZSB2LWlmPVwiY2hlY2tvdXREYXRhLmFkdWx0cyA+IDBcIj4sIDwvdGVtcGxhdGU+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICB0cmFucyhcImNoZWNrb3V0LmNoaWxkcy5udW1iZXJvZmd1ZXN0c1wiLCB7XG4gICAgICAgICAgICAgICAgZ3Vlc3RzOiBjaGVja291dERhdGEuY2hpbGRyZW4sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiB2LWlmPVwiY2hlY2tvdXREYXRhLmJhYmllcyA+IDBcIj5cbiAgICAgICAgICAgIDx0ZW1wbGF0ZVxuICAgICAgICAgICAgICB2LWlmPVwiY2hlY2tvdXREYXRhLmFkdWx0cyA+IDAgfHwgY2hlY2tvdXREYXRhLmNoaWxkcmVuID4gMFwiXG4gICAgICAgICAgICAgID4sXG4gICAgICAgICAgICA8L3RlbXBsYXRlPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgdHJhbnMoXCJjaGVja291dC5iYWJpZXMubnVtYmVyb2ZndWVzdHNcIiwge1xuICAgICAgICAgICAgICAgIGd1ZXN0czogY2hlY2tvdXREYXRhLmJhYmllcyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIHYtaWY9XCJjaGVja291dERhdGEucGV0cyA+IDBcIj5cbiAgICAgICAgICAgIDx0ZW1wbGF0ZVxuICAgICAgICAgICAgICB2LWlmPVwiXG4gICAgICAgICAgICAgICAgY2hlY2tvdXREYXRhLmFkdWx0cyA+IDAgfHxcbiAgICAgICAgICAgICAgICBjaGVja291dERhdGEuY2hpbGRyZW4gPiAwIHx8XG4gICAgICAgICAgICAgICAgY2hlY2tvdXREYXRhLmJhYmllcyA+IDBcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPixcbiAgICAgICAgICAgIDwvdGVtcGxhdGU+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICB0cmFucyhcImNoZWNrb3V0LnBldHMubnVtYmVyb2ZndWVzdHNcIiwge1xuICAgICAgICAgICAgICAgIGd1ZXN0czogY2hlY2tvdXREYXRhLnBldHMsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNoZWNrb3V0LWFjY29tbW9kYXRpb24tYm9va2luZy10b3RhbC1yZW50XCJcbiAgICAgICAgdi1pZj1cIiFjaGVja291dERhdGEuZGlzY291bnRQZXJjZW50YWdlXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWFjY29tbW9kYXRpb24tYm9va2luZy10b3RhbC1yZW50LXRpdGxlXCI+XG4gICAgICAgICAge3sgdHJhbnMoXCJjaGVja291dC50b3RhbFwiKSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLXRvdGFsLXJlbnQtcHJpY2UgdGV4dC1ub3dyYXAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBjb2x1bW4tZ2FwLTJcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNcbiAgICAgICAgICAgIGNsYXNzPVwiZGlzY291bnQtcHJpY2VcIlxuICAgICAgICAgICAgdi1pZj1cIlxuICAgICAgICAgICAgICBjaGVja291dERhdGEub3JpZ2luYWxQcmljZSA+IDAgJiZcbiAgICAgICAgICAgICAgY2hlY2tvdXREYXRhLm9yaWdpbmFsUHJpY2UgIT0gY2hlY2tvdXREYXRhLnByaWNlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NhbGUucmVwbGFjZSgvZW4vLCBcImVuLUdCXCIpLCB7XG4gICAgICAgICAgICAgICAgc3R5bGU6IFwiY3VycmVuY3lcIixcbiAgICAgICAgICAgICAgICBjdXJyZW5jeTogXCJFVVJcIixcbiAgICAgICAgICAgICAgfSkuZm9ybWF0KFxuICAgICAgICAgICAgICAgIGNoZWNrb3V0RGF0YS5vcmlnaW5hbFByaWNlICtcbiAgICAgICAgICAgICAgICAgIGNoZWNrb3V0RGF0YS5vcmlnaW5hbFJlbnRQcmljZSAqXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrb3V0RGF0YS5jYW5jZWxsYXRpb25QYWNrYWdlXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPC9zPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlLnJlcGxhY2UoL2VuLywgXCJlbi1HQlwiKSwge1xuICAgICAgICAgICAgICBzdHlsZTogXCJjdXJyZW5jeVwiLFxuICAgICAgICAgICAgICBjdXJyZW5jeTogXCJFVVJcIixcbiAgICAgICAgICAgIH0pLmZvcm1hdChcbiAgICAgICAgICAgICAgY2hlY2tvdXREYXRhLnByaWNlICtcbiAgICAgICAgICAgICAgICBjaGVja291dERhdGEucmVudFByaWNlICogY2hlY2tvdXREYXRhLmNhbmNlbGxhdGlvblBhY2thZ2VcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLXRvdGFsLXJlbnRcIlxuICAgICAgICB2LWlmPVwiY2hlY2tvdXREYXRhLmRpc2NvdW50UGVyY2VudGFnZVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmctdG90YWwtcmVudC10aXRsZVwiPlxuICAgICAgICAgIHt7IHRyYW5zKFwiY2hlY2tvdXQudG90YWxcIikgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImNoZWNrb3V0LWFjY29tbW9kYXRpb24tYm9va2luZy10b3RhbC1yZW50LXByaWNlIHRleHQtbm93cmFwIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgY29sdW1uLWdhcC0yXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlLnJlcGxhY2UoL2VuLywgXCJlbi1HQlwiKSwge1xuICAgICAgICAgICAgICBzdHlsZTogXCJjdXJyZW5jeVwiLFxuICAgICAgICAgICAgICBjdXJyZW5jeTogXCJFVVJcIixcbiAgICAgICAgICAgIH0pLmZvcm1hdChcbiAgICAgICAgICAgICAgY2hlY2tvdXREYXRhLm9yaWdpbmFsUHJpY2UgK1xuICAgICAgICAgICAgICAgIChjaGVja291dERhdGEub3JpZ2luYWxSZW50UHJpY2UgKyBjaGVja291dERhdGEuZGlzY291bnRUb3RhbCkgKlxuICAgICAgICAgICAgICAgICAgY2hlY2tvdXREYXRhLmNhbmNlbGxhdGlvblBhY2thZ2VcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLXRvdGFsLXJlbnRcIlxuICAgICAgICB2LWZvcj1cImNvc3QgaW4gY2hlY2tvdXREYXRhLmNvc3RzLmZpbHRlcigoY29zdCkgPT4gY29zdC5hbW91bnQgPiAwKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmctdG90YWwtc2VydmljZWNvc3RzLXRpdGxlXCI+XG4gICAgICAgICAge3sgY29zdC50aXRsZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLXRvdGFsLXNlcnZpY2Vjb3N0cy1wcmljZSB0ZXh0LW5vd3JhcFwiXG4gICAgICAgID5cbiAgICAgICAgICB7e1xuICAgICAgICAgICAgbmV3IEludGwuTnVtYmVyRm9ybWF0KGxvY2FsZS5yZXBsYWNlKC9lbi8sIFwiZW4tR0JcIiksIHtcbiAgICAgICAgICAgICAgc3R5bGU6IFwiY3VycmVuY3lcIixcbiAgICAgICAgICAgICAgY3VycmVuY3k6IFwiRVVSXCIsXG4gICAgICAgICAgICB9KS5mb3JtYXQoY29zdC5hbW91bnQpXG4gICAgICAgICAgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLWRpdmlkZXIgdy0xMDBcIlxuICAgICAgdi1pZj1cImNoZWNrb3V0RGF0YS5kaXNjb3VudHMgJiYgY2hlY2tvdXREYXRhLmRpc2NvdW50cy5sZW5ndGhcIlxuICAgID48L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nXCJcbiAgICAgIHYtaWY9XCJjaGVja291dERhdGEuZGlzY291bnRzICYmIGNoZWNrb3V0RGF0YS5kaXNjb3VudHMubGVuZ3RoXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLWNvdXBvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLWNvdXBvbi10aXRsZSBmdy1ib2xkXCI+XG4gICAgICAgICAge3sgdHJhbnMoXCJjaGVja291dC5kaXNjb3VudHNcIikgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJjaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmctdG90YWwtcmVudFwiXG4gICAgICAgIHYtZm9yPVwiY291cG9uIGluIGNoZWNrb3V0RGF0YS5kaXNjb3VudHNcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLXRvdGFsLXJlbnQtdGl0bGVcIj5cbiAgICAgICAgICB7eyBjb3Vwb24uY29kZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLXRvdGFsLXJlbnQtcHJpY2UgdGV4dC1ub3dyYXAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBjb2x1bW4tZ2FwLTJcIlxuICAgICAgICA+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgIG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NhbGUucmVwbGFjZSgvZW4vLCBcImVuLUdCXCIpLCB7XG4gICAgICAgICAgICAgIHN0eWxlOiBcImN1cnJlbmN5XCIsXG4gICAgICAgICAgICAgIGN1cnJlbmN5OiBcIkVVUlwiLFxuICAgICAgICAgICAgfSkuZm9ybWF0KHBhcnNlRmxvYXQoY291cG9uLmFtb3VudCkpXG4gICAgICAgICAgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmctZGl2aWRlciB3LTEwMFwiPjwvZGl2PlxuICAgIDxDaGVja291dFVwZGF0ZXNTdW1tYXJ5IC8+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLXRvdGFsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLXRvdGFsIGZ3LWJvbGRcIj5cbiAgICAgICAge3sgdHJhbnMoXCJjaGVja291dC50b3RhbF90cmF2ZWxfcHJpY2VcIikgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWFjY29tbW9kYXRpb24tYm9va2luZy10b3RhbC1wcmljZSB0ZXh0LW5vd3JhcFwiPlxuICAgICAgICB7e1xuICAgICAgICAgIG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NhbGUucmVwbGFjZSgvZW4vLCBcImVuLUdCXCIpLCB7XG4gICAgICAgICAgICBzdHlsZTogXCJjdXJyZW5jeVwiLFxuICAgICAgICAgICAgY3VycmVuY3k6IFwiRVVSXCIsXG4gICAgICAgICAgfSkuZm9ybWF0KGNoZWNrb3V0RGF0YS50b3RhbCArIGNoZWNrb3V0RGF0YS5kaXNjb3VudFRvdGFsKVxuICAgICAgICB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImNoZWNrb3V0LWFjY29tbW9kYXRpb24tYm9va2luZ1wiXG4gICAgICB2LWlmPVwiY2hlY2tvdXREYXRhLnZvdWNoZXJUb3RhbFwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWFjY29tbW9kYXRpb24tYm9va2luZy10b3RhbC1yZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmctdG90YWwtcmVudC10aXRsZVwiPlxuICAgICAgICAgIHt7IHRyYW5zKFwiY2hlY2tvdXQudm91Y2hlcnRvdGFsXCIpIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJjaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmctdG90YWwtcmVudC1wcmljZSB0ZXh0LW5vd3JhcCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGNvbHVtbi1nYXAtMlwiXG4gICAgICAgID5cbiAgICAgICAgICB7e1xuICAgICAgICAgICAgbmV3IEludGwuTnVtYmVyRm9ybWF0KGxvY2FsZS5yZXBsYWNlKC9lbi8sIFwiZW4tR0JcIiksIHtcbiAgICAgICAgICAgICAgc3R5bGU6IFwiY3VycmVuY3lcIixcbiAgICAgICAgICAgICAgY3VycmVuY3k6IFwiRVVSXCIsXG4gICAgICAgICAgICB9KS5mb3JtYXQodm91Y2hlcnNBbW91bnQpXG4gICAgICAgICAgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLWRpdmlkZXIgdy0xMDBcIlxuICAgICAgdi1pZj1cImNoZWNrb3V0RGF0YS52b3VjaGVyVG90YWxcIlxuICAgID48L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLXRvdGFsXCJcbiAgICAgIHYtaWY9XCJjaGVja291dERhdGEudm91Y2hlclRvdGFsXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtYWNjb21tb2RhdGlvbi1ib29raW5nLXRvdGFsIGZ3LWJvbGRcIj5cbiAgICAgICAge3sgdHJhbnMoXCJjaGVja291dC50b3RhbHRvcGF5XCIpIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1hY2NvbW1vZGF0aW9uLWJvb2tpbmctdG90YWwtcHJpY2UgdGV4dC1ub3dyYXBcIj5cbiAgICAgICAge3tcbiAgICAgICAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlLnJlcGxhY2UoL2VuLywgXCJlbi1HQlwiKSwge1xuICAgICAgICAgICAgc3R5bGU6IFwiY3VycmVuY3lcIixcbiAgICAgICAgICAgIGN1cnJlbmN5OiBcIkVVUlwiLFxuICAgICAgICAgIH0pLmZvcm1hdChwYXlhYmxlQW1vdW50KVxuICAgICAgICB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImNoZWNrb3V0LWFjY29tbW9kYXRpb24tYm9va2luZy1pbnZvaWNlLWV4dHJhc1wiXG4gICAgICB2LWlmPVwiZm9ybWF0dGVkSW52b2ljZURldGFpbHNcIlxuICAgID5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxzdHJvbmc+e3sgZm9ybWF0dGVkSW52b2ljZURldGFpbHNbMF0gfX08L3N0cm9uZz5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBkYXRhLWJzLXRvZ2dsZT1cInRvb2x0aXBcIlxuICAgICAgICAgIDpkYXRhLWJzLXRpdGxlPVwidHJhbnMoJ2NoZWNrb3V0LmV4dHJhX2Nvc3QuaW5mbycpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgd2lkdGg9XCIxOFwiXG4gICAgICAgICAgICBoZWlnaHQ9XCIxOFwiXG4gICAgICAgICAgICB2aWV3Ym94PVwiMCAwIDE4IDE4XCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBkPVwiTTcuNTkzNzUgNS45MDYyNUM3LjU5Mzc1IDUuNjgzNzUgNy42NTk3MyA1LjQ2NjI0IDcuNzgzMzUgNS4yODEyM0M3LjkwNjk3IDUuMDk2MjMgOC4wODI2NyA0Ljk1MjAzIDguMjg4MjMgNC44NjY4OUM4LjQ5MzggNC43ODE3NCA4LjcyIDQuNzU5NDYgOC45MzgyMyA0LjgwMjg3QzkuMTU2NDYgNC44NDYyNyA5LjM1NjkxIDQuOTUzNDIgOS41MTQyNSA1LjExMDc1QzkuNjcxNTggNS4yNjgwOSA5Ljc3ODczIDUuNDY4NTQgOS44MjIxNCA1LjY4Njc3QzkuODY1NTUgNS45MDUgOS44NDMyNyA2LjEzMTIgOS43NTgxMiA2LjMzNjc3QzkuNjcyOTcgNi41NDIzNCA5LjUyODc4IDYuNzE4MDQgOS4zNDM3NyA2Ljg0MTY1QzkuMTU4NzYgNi45NjUyNyA4Ljk0MTI2IDcuMDMxMjUgOC43MTg3NSA3LjAzMTI1QzguNDIwMzggNy4wMzEyNSA4LjEzNDI0IDYuOTEyNzIgNy45MjMyNiA2LjcwMTc1QzcuNzEyMjggNi40OTA3NyA3LjU5Mzc1IDYuMjA0NjIgNy41OTM3NSA1LjkwNjI1Wk0xNi41OTM4IDlDMTYuNTkzOCAxMC41MDE5IDE2LjE0ODQgMTEuOTcwMSAxNS4zMTQgMTMuMjE4OUMxNC40Nzk2IDE0LjQ2NzYgMTMuMjkzNiAxNS40NDEgMTEuOTA2IDE2LjAxNTdDMTAuNTE4NCAxNi41OTA1IDguOTkxNTggMTYuNzQwOCA3LjUxODU0IDE2LjQ0NzhDNi4wNDU0OSAxNi4xNTQ4IDQuNjkyNDIgMTUuNDMxNiAzLjYzMDQxIDE0LjM2OTZDMi41Njg0MSAxMy4zMDc2IDEuODQ1MTcgMTEuOTU0NSAxLjU1MjE3IDEwLjQ4MTVDMS4yNTkxNiA5LjAwODQyIDEuNDA5NTQgNy40ODE1NyAxLjk4NDI5IDYuMDk0QzIuNTU5MDUgNC43MDY0MiAzLjUzMjM2IDMuNTIwNDQgNC43ODExNCAyLjY4NjAzQzYuMDI5OTMgMS44NTE2MiA3LjQ5ODEgMS40MDYyNSA5IDEuNDA2MjVDMTEuMDEzMyAxLjQwODQ4IDEyLjk0MzUgMi4yMDkyNSAxNC4zNjcxIDMuNjMyODdDMTUuNzkwNyA1LjA1NjUgMTYuNTkxNSA2Ljk4NjcgMTYuNTkzOCA5Wk0xNC45MDYzIDlDMTQuOTA2MyA3LjgzMTg1IDE0LjU1OTkgNi42ODk5NCAxMy45MTA5IDUuNzE4NjZDMTMuMjYxOSA0Ljc0NzM5IDEyLjMzOTUgMy45OTAzNyAxMS4yNjAyIDMuNTQzMzRDMTAuMTgxIDMuMDk2MzEgOC45OTM0NSAyLjk3OTM0IDcuODQ3NzUgMy4yMDcyNEM2LjcwMjA1IDMuNDM1MTMgNS42NDk2NiAzLjk5NzY1IDQuODIzNjUgNC44MjM2NUMzLjk5NzY1IDUuNjQ5NjUgMy40MzUxMyA2LjcwMjA1IDMuMjA3MjQgNy44NDc3NUMyLjk3OTM1IDguOTkzNDUgMy4wOTYzMSAxMC4xODEgMy41NDMzNCAxMS4yNjAyQzMuOTkwMzcgMTIuMzM5NCA0Ljc0NzM5IDEzLjI2MTkgNS43MTg2NyAxMy45MTA5QzYuNjg5OTQgMTQuNTU5OSA3LjgzMTg2IDE0LjkwNjIgOSAxNC45MDYyQzEwLjU2NTkgMTQuOTA0NiAxMi4wNjcyIDE0LjI4MTggMTMuMTc0NSAxMy4xNzQ1QzE0LjI4MTggMTIuMDY3MiAxNC45MDQ2IDEwLjU2NTkgMTQuOTA2MyA5Wk05Ljg0Mzc1IDExLjU3OTFWOS4yODEyNUM5Ljg0Mzc1IDguOTA4MjkgOS42OTU1OSA4LjU1MDYgOS40MzE4NyA4LjI4Njg4QzkuMTY4MTUgOC4wMjMxNiA4LjgxMDQ2IDcuODc1IDguNDM3NSA3Ljg3NUM4LjIzODI0IDcuODc0NyA4LjA0NTMxIDcuOTQ0OTQgNy44OTI4NyA4LjA3MzI2QzcuNzQwNDMgOC4yMDE1OCA3LjYzODMzIDguMzc5NzIgNy42MDQ2NCA4LjU3NjExQzcuNTcwOTUgOC43NzI1IDcuNjA3ODYgOC45NzQ0NyA3LjcwODgyIDkuMTQ2MjZDNy44MDk3OCA5LjMxODA1IDcuOTY4MjggOS40NDg1NyA4LjE1NjI1IDkuNTE0NjlWMTEuODEyNUM4LjE1NjI1IDEyLjE4NTUgOC4zMDQ0MSAxMi41NDMxIDguNTY4MTMgMTIuODA2OUM4LjgzMTg2IDEzLjA3MDYgOS4xODk1NCAxMy4yMTg4IDkuNTYyNSAxMy4yMTg4QzkuNzYxNzYgMTMuMjE5IDkuOTU0NyAxMy4xNDg4IDEwLjEwNzEgMTMuMDIwNUMxMC4yNTk2IDEyLjg5MjIgMTAuMzYxNyAxMi43MTQgMTAuMzk1NCAxMi41MTc2QzEwLjQyOTEgMTIuMzIxMyAxMC4zOTIxIDEyLjExOTMgMTAuMjkxMiAxMS45NDc1QzEwLjE5MDIgMTEuNzc1NyAxMC4wMzE3IDExLjY0NTIgOS44NDM3NSAxMS41NzkxWlwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjQjk3NzI3XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGJyIC8+XG4gICAgICAgIDxwXG4gICAgICAgICAgdi1odG1sPVwiXG4gICAgICAgICAgICBmb3JtYXR0ZWRJbnZvaWNlRGV0YWlsc1sxXVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXFxyXFxuL2csICc8YnIgLz4nKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXFx0L2csICcmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsnKVxuICAgICAgICAgIFwiXG4gICAgICAgID48L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c3R5bGUgc2NvcGVkPlxuLnVwZGF0ZUNhcnQtYW5pbWF0aW9uIHtcbiAgYW5pbWF0aW9uOiB1cGRhdGVDYXJ0IDc1MG1zIGVhc2U7XG59XG5cbkBrZXlmcmFtZXMgdXBkYXRlQ2FydCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyNSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuPC9zdHlsZT5cbiIsIlxuLm1vYmlsZS1jaGVja291dC1zdW1tYXJ5LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogMDsgLyogU3RhcnQgd2l0aCBoaWRkZW4gc3RhdGUgKi9cbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjRzIGVhc2UtaW4tb3V0OyAvKiBTbW9vdGggdHJhbnNpdGlvbiAqL1xufVxuXG4vKiBUcmFuc2l0aW9uIGFjdGl2ZSBzdGF0ZXMgZm9yIGVudGVyaW5nIGFuZCBsZWF2aW5nICovXG4uc2xpZGUtdXAtZW50ZXItYWN0aXZlLFxuLnNsaWRlLXVwLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC40cyBlYXNlLWluLW91dDtcbn1cblxuLnNsaWRlLXVwLWVudGVyIHtcbiAgbWF4LWhlaWdodDogMDsgLyogU3RhcnQgd2l0aCBoaWRkZW4gKi9cbn1cblxuLnNsaWRlLXVwLWVudGVyLXRvIHtcbiAgbWF4LWhlaWdodDogNjV2aDsgLyogRXhwYW5kcyB0byA3NSUgb2YgdGhlIHNjcmVlbiBoZWlnaHQgKi9cbn1cblxuLnNsaWRlLXVwLWxlYXZlLXRvIHtcbiAgbWF4LWhlaWdodDogMDsgLyogQ29sbGFwc2UgYmFjayB0byBoaWRkZW4gKi9cbn1cblxuLmNoZWNrb3V0LXZpc2libGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4jb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IC8qIFNlbWktdHJhbnNwYXJlbnQgZGFyayBvdmVybGF5ICovXG4gIHotaW5kZXg6IDk5OTsgLyogRW5zdXJlIGl0IHNpdHMgYWJvdmUgY29udGVudCBidXQgYmVsb3cgdGhlIHBvcHVwICovXG4gIG9wYWNpdHk6IDA7IC8qIEluaXRpYWxseSBpbnZpc2libGUgKi9cbiAgdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBQcmV2ZW50IGl0IGZyb20gYmxvY2tpbmcgY2xpY2tzIHdoZW4gaGlkZGVuICovXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZSwgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMzAwbXM7IC8qIERlbGF5IHZpc2liaWxpdHkgY2hhbmdlIHRvIG1hdGNoIG9wYWNpdHkgZmFkZSAqL1xufVxuXG4jb3ZlcmxheS52aXNpYmxlIHtcbiAgb3BhY2l0eTogMTsgLyogRnVsbHkgdmlzaWJsZSAqL1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyAvKiBNYWtlIGl0IHZpc2libGUgaW1tZWRpYXRlbHkgKi9cbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlLCB2aXNpYmlsaXR5IDBzOyAvKiBWaXNpYmlsaXR5IGltbWVkaWF0ZWx5LCBvcGFjaXR5IHRyYW5zaXRpb24gKi9cbn1cbiIsIjxzY3JpcHQ+XG5pbXBvcnQgSW50bE1lc3NhZ2VGb3JtYXQgZnJvbSBcImludGwtbWVzc2FnZWZvcm1hdFwiO1xuaW1wb3J0IFNlYXJjaFBsdXNTdmcgZnJvbSBcIi4uL1NlYXJjaFBsdXNTdmcudnVlXCI7XG5pbXBvcnQgU2VhcmNoTWludXNTdmcgZnJvbSBcIi4uL1NlYXJjaE1pbnVzU3ZnLnZ1ZVwiO1xuaW1wb3J0IENoZWNrU3ZnIGZyb20gXCIuLi9zdmdzL2NoZWNrU3ZnLnZ1ZVwiO1xuaW1wb3J0IFRyYXNoU3ZnIGZyb20gXCIuLi9zdmdzL3RyYXNoU3ZnLnZ1ZVwiO1xuaW1wb3J0IFRyYW5zbGF0b3IgZnJvbSBcIi4uL1RyYW5zbGF0b3IuanNcIjtcbmltcG9ydCBJbmZvUG9wIGZyb20gXCIuLi9pbmZvUG9wLnZ1ZVwiO1xuaW1wb3J0IENoZWNrb3V0RGF0YSBmcm9tIFwiLi4vQ2hlY2tvdXREYXRhLmpzXCI7XG5pbXBvcnQgKiBhcyBib290c3RyYXAgZnJvbSBcImJvb3RzdHJhcFwiO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGNvbXBvbmVudHM6IHtcbiAgICBTZWFyY2hQbHVzU3ZnLFxuICAgIFNlYXJjaE1pbnVzU3ZnLFxuICAgIENoZWNrU3ZnLFxuICAgIFRyYXNoU3ZnLFxuICAgIEluZm9Qb3AsXG4gIH0sXG4gIG1vdW50ZWQoKSB7fSxcbiAgZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYWNjb21tb2RhdGlvbjogdmlsbGF0ZW50Q2hlY2tvdXRBY2NvbW1vZGF0aW9uLFxuICAgICAgdHJhbnM6IFRyYW5zbGF0b3IsXG4gICAgICBjaGVja291dERhdGE6IENoZWNrb3V0RGF0YS5kYXRhLFxuICAgICAgbG9jYWxlOiBsb2NhbGUsXG5cbiAgICAgIGNoZWNrb3V0OiB7XG4gICAgICAgIGJlZHNoZWV0czogMCxcbiAgICAgICAgYmFieXBhY2thZ2U6IGZhbHNlLFxuICAgICAgICBwcmVmZXJlbmNlQm9va2luZzogZmFsc2UsXG4gICAgICAgIHByZWZlcmVuY2VCb29raW5nRGVzY3JpcHRpb246IFwiXCIsIC8vIE5ldyBwcm9wZXJ0eVxuICAgICAgICB3YWl0QXBwUGFja2FnZTogMCxcbiAgICAgICAgUmVxdWlyZWRBaXJjb1BhY2thZ2U6IGZhbHNlLFxuICAgICAgICBSZXF1aXJlZFNlcnZpY2Vjb3N0UGFja2FnZTogZmFsc2UsXG4gICAgICAgIFJlcXVpcmVkQmVkc2hlZXRzOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIGluY3JlbWVudCh0eXBlKSB7XG4gICAgICB0aGlzLmNoZWNrb3V0W3R5cGVdKys7XG4gICAgfSxcbiAgICBkZWNyZW1lbnQodHlwZSkge1xuICAgICAgaWYgKHRoaXMuY2hlY2tvdXRbdHlwZV0gPiAwKSB7XG4gICAgICAgIHRoaXMuY2hlY2tvdXRbdHlwZV0tLTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGFkanVzdEhlaWdodCgpIHtcbiAgICAgIGxldCB0ZXh0YXJlYSA9IHRoaXMuJHJlZnMucHJlZmVyZW5jZVRleHRhcmVhO1xuICAgICAgaWYgKCF0ZXh0YXJlYSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghQXJyYXkuaXNBcnJheSh0ZXh0YXJlYSkpIHtcbiAgICAgICAgdGV4dGFyZWEgPSBbdGV4dGFyZWFdO1xuICAgICAgfVxuXG4gICAgICB0ZXh0YXJlYS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGl0ZW0uc3R5bGUuaGVpZ2h0ID0gXCJhdXRvXCI7IC8vIFJlc2V0IGhlaWdodCBiZWZvcmUgY2FsY3VsYXRpbmcgbmV3IGhlaWdodFxuICAgICAgICBpdGVtLnN0eWxlLmhlaWdodCA9IGAke2l0ZW0uc2Nyb2xsSGVpZ2h0fXB4YDsgLy8gU2V0IG5ldyBoZWlnaHQgYmFzZWQgb24gY29udGVudFxuXG4gICAgICAgIC8vIEFkanVzdCBib3JkZXItcmFkaXVzIGJhc2VkIG9uIGhlaWdodFxuICAgICAgICBjb25zdCBuZXdIZWlnaHQgPSBpdGVtLnNjcm9sbEhlaWdodDtcbiAgICAgICAgaWYgKG5ld0hlaWdodCA+IDYwKSB7XG4gICAgICAgICAgaXRlbS5zdHlsZS5ib3JkZXJSYWRpdXMgPSBcIjFyZW1cIjsgLy8gU21hbGxlciBib3JkZXItcmFkaXVzIGZvciB0YWxsZXIgdGV4dGFyZWFcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtLnN0eWxlLmJvcmRlclJhZGl1cyA9IFwiMi41cmVtXCI7IC8vIExhcmdlciBib3JkZXItcmFkaXVzIGZvciBzaG9ydGVyIHRleHRhcmVhXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sXG4gIH0sXG4gIHdhdGNoOiB7XG4gICAgdHJhbnMoKSB7XG4gICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBUcmlnZ2VyTGlzdCA9IHRoaXMuJGVsLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICAgJ1tkYXRhLWJzLXRvZ2dsZT1cInBvcG92ZXJcIl0nXG4gICAgICAgICk7XG5cbiAgICAgICAgdG9vbHRpcFRyaWdnZXJMaXN0LmZvckVhY2goKHRvb2x0aXBUcmlnZ2VyRWwpID0+IHtcbiAgICAgICAgICBuZXcgYm9vdHN0cmFwLlBvcG92ZXIodG9vbHRpcFRyaWdnZXJFbCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgfSxcbn07XG48L3NjcmlwdD5cblxuPHRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiYm9va2luZy13aWRnZXQtcGVyc29uLXBpY2tlciBndWVzdC1waWNrZXIgYWxpZ24tc2VsZi1zdHJldGNoXCI+XG4gICAgPGRpdiBjbGFzcz1cImd1ZXN0UGlja2VyRHJvcGRvd25cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYWNrYWdlLWFtb3VudC1waWNrZXJcIj5cbiAgICAgICAgPCEtLSBCZWRzaGVldHMgLS0+XG4gICAgICAgIDxkaXYgdi1mb3I9XCIoZXh0cmEsIGluZGV4KSBpbiBjaGVja291dERhdGEuZXh0cmFzXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJwYWNrYWdlLXByZWZlcmVuY2VCb29raW5nIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWNrYWdlLXR5cGVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhY2thZ2UtbmFtZVwiPlxuICAgICAgICAgICAgICAgIHt7IGV4dHJhLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgPEluZm9Qb3BcbiAgICAgICAgICAgICAgICAgIDp0aXRsZT1cImV4dHJhLnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgIDp0ZXh0PVwiZXh0cmEuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgY29sb3I9XCIjZDk4YzJmXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhY2thZ2UtZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgdHJhbnMoXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhLnNvdXJjZS5leHRyYVR5cGUgPT09IFwiYmVkX2xpbmVuXCJcbiAgICAgICAgICAgICAgICAgICAgICA/IFwiY2hlY2tvdXQuZXh0cmEuZGVzY3JpcHRpb24ucGVyX3BlcnNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgOiBcImNoZWNrb3V0LmV4dHJhLmRlc2NyaXB0aW9uLlwiICsgZXh0cmEuY2FsY3VsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IG5ldyBJbnRsLk51bWJlckZvcm1hdChcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZS5yZXBsYWNlKC9lbi8sIFwiZW4tR0JcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICB7IHN0eWxlOiBcImN1cnJlbmN5XCIsIGN1cnJlbmN5OiBcIkVVUlwiIH1cbiAgICAgICAgICAgICAgICAgICAgICApLmZvcm1hdChleHRyYS5wcmljZSksXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwib24tb2ZmLWd1ZXN0LXdyYXBwZXJcIlxuICAgICAgICAgICAgICB2LWlmPVwiZXh0cmEuY2FsY3VsYXRpb24gPT09ICdmaXhlZCdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWNoZWNrXCJcbiAgICAgICAgICAgICAgICA6aWQ9XCInc2VsZWN0YWJsZV8nICsgaW5kZXhcIlxuICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJleHRyYS5zb3VyY2UucXVhbnRpdHlTZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPFRyYXNoU3ZnXG4gICAgICAgICAgICAgICAgdi1pZj1cImV4dHJhLnNvdXJjZS5xdWFudGl0eVNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBAY2xpY2s9XCJleHRyYS5zb3VyY2UucXVhbnRpdHlTZWxlY3RlZCA9IDBcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidHJhc2gtaG92ZXIgbWUtM1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIHYtaWY9XCIhZXh0cmEuc291cmNlLnF1YW50aXR5U2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnlcIlxuICAgICAgICAgICAgICAgIDpmb3I9XCInc2VsZWN0YWJsZV8nICsgaW5kZXhcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdHJhbnMoXCJjaGVja291dC5hZGRfcGFja2FnZVwiKSB9fSA8U2VhcmNoUGx1c1N2ZyAvPlxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICB2LWVsc2VcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgOmZvcj1cIidzZWxlY3RhYmxlXycgKyBpbmRleFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0cmFucyhcImNoZWNrb3V0LmFkZGVkX3BhY2thZ2VcIikgfX0gPENoZWNrU3ZnIC8+XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInBsdXMtbWluLWd1ZXN0LXdyYXBwZXJcIlxuICAgICAgICAgICAgICB2LWlmPVwiZXh0cmEuY2FsY3VsYXRpb24gIT09ICdmaXhlZCdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgQGNsaWNrLnByZXZlbnQ9XCJcbiAgICAgICAgICAgICAgICAgIGV4dHJhLnNvdXJjZS5xdWFudGl0eVNlbGVjdGVkID1cbiAgICAgICAgICAgICAgICAgICAgKGV4dHJhLnNvdXJjZS5xdWFudGl0eVNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICAgICAgPyBleHRyYS5zb3VyY2UucXVhbnRpdHlTZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgIDogMCkgLSAxXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBsdXMtbWluLWd1ZXN0XCJcbiAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCIhZXh0cmEuc291cmNlLnF1YW50aXR5U2VsZWN0ZWRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNlYXJjaE1pbnVzU3ZnIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImd1ZXN0LWFtb3VudFwiPnt7XG4gICAgICAgICAgICAgICAgZXh0cmEuc291cmNlLnF1YW50aXR5U2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAgID8gZXh0cmEuc291cmNlLnF1YW50aXR5U2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAgIDogMFxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIEBjbGljay5wcmV2ZW50PVwiXG4gICAgICAgICAgICAgICAgICBleHRyYS5zb3VyY2UucXVhbnRpdHlTZWxlY3RlZCA9XG4gICAgICAgICAgICAgICAgICAgIChleHRyYS5zb3VyY2UucXVhbnRpdHlTZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgID8gZXh0cmEuc291cmNlLnF1YW50aXR5U2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgICA6IDApICsgMVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwbHVzLW1pbi1ndWVzdFwiXG4gICAgICAgICAgICAgICAgOmRpc2FibGVkPVwiXG4gICAgICAgICAgICAgICAgICBleHRyYS5zb3VyY2UucXVhbnRpdHlTZWxlY3RlZCA+PVxuICAgICAgICAgICAgICAgICAgKGV4dHJhLm1heGltdW1RdWFudGl0eSA/IGV4dHJhLm1heGltdW1RdWFudGl0eSA6IDYpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTZWFyY2hQbHVzU3ZnIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHRyYW5zaXRpb24gbmFtZT1cInNsaWRlLWZhZGVcIj5cbiAgICAgICAgICAgIDwhLS0gVGV4dGFyZWEgZm9yIHByZWZlcmVuY2UgZGVzY3JpcHRpb24gLS0+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHYtaWY9XCJleHRyYS5zb3VyY2UucXVhbnRpdHlTZWxlY3RlZCAmJiBleHRyYS5ndWVzdEFuc3dlclJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtYi00IGd1ZXN0LXF1ZXN0aW9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgdi1tb2RlbD1cImV4dHJhLnNvdXJjZS5ndWVzdEFuc3dlclwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbmVlZHMtdmFsaWRhdGlvblwiXG4gICAgICAgICAgICAgICAgaWQ9XCJwcmVmZXJlbmNlQm9va2luZ0Rlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICByb3dzPVwiMVwiXG4gICAgICAgICAgICAgICAgOnBsYWNlaG9sZGVyPVwiZXh0cmEucXVlc3Rpb25Gb3JHdWVzdFwiXG4gICAgICAgICAgICAgICAgQGlucHV0PVwiYWRqdXN0SGVpZ2h0XCJcbiAgICAgICAgICAgICAgICByZWY9XCJwcmVmZXJlbmNlVGV4dGFyZWFcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC90cmFuc2l0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzdHlsZSBzY29wZWQ+XG4uZ3Vlc3QtcXVlc3Rpb24ge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuLypcbiAgRW50ZXIgYW5kIGxlYXZlIGFuaW1hdGlvbnMgY2FuIHVzZSBkaWZmZXJlbnRcbiAgZHVyYXRpb25zIGFuZCB0aW1pbmcgZnVuY3Rpb25zLlxuKi9cbi5zbGlkZS1mYWRlLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xufVxuXG4uc2xpZGUtZmFkZS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMSwgMC41LCAwLjgsIDEpO1xufVxuXG4uc2xpZGUtZmFkZS1lbnRlci1mcm9tLFxuLnNsaWRlLWZhZGUtbGVhdmUtdG8ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZXkoLTIwcHgpO1xuICBvcGFjaXR5OiAwO1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8qIEhpZGUgdGhlIHNjcm9sbGJhciAqL1xuICByZXNpemU6IG5vbmU7IC8qIERpc2FibGUgbWFudWFsIHJlc2l6aW5nICovXG59XG48L3N0eWxlPlxuIiwiPHNjcmlwdD5cbmltcG9ydCBJbnRsTWVzc2FnZUZvcm1hdCBmcm9tIFwiaW50bC1tZXNzYWdlZm9ybWF0XCI7XG5pbXBvcnQgY291bnRyaWVzIGZyb20gXCJpMThuLWlzby1jb3VudHJpZXNcIjtcbmltcG9ydCBcImkxOG4taXNvLWNvdW50cmllcy9sYW5ncy9lbi5qc29uXCI7XG5pbXBvcnQgXCJpMThuLWlzby1jb3VudHJpZXMvbGFuZ3MvbmwuanNvblwiO1xuaW1wb3J0IFwiaTE4bi1pc28tY291bnRyaWVzL2xhbmdzL2RlLmpzb25cIjtcblxuaW1wb3J0IFRyYW5zbGF0b3IgZnJvbSBcIi4uL1RyYW5zbGF0b3IuanNcIjtcbmltcG9ydCB7IExvYWRlciB9IGZyb20gXCJAZ29vZ2xlbWFwcy9qcy1hcGktbG9hZGVyXCI7XG5pbXBvcnQgVnVlRGF0ZVBpY2tlciBmcm9tIFwiQHZ1ZXBpYy92dWUtZGF0ZXBpY2tlclwiO1xuaW1wb3J0IFwiQHZ1ZXBpYy92dWUtZGF0ZXBpY2tlci9kaXN0L21haW4uY3NzXCI7XG5pbXBvcnQgQ2hlY2tvdXREYXRhIGZyb20gXCIuLi9DaGVja291dERhdGEuanNcIjtcbmltcG9ydCBTZWFyY2hEYXRhIGZyb20gXCIuLi9TZWFyY2hEYXRhLmpzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgY29tcG9uZW50czoge1xuICAgIFZ1ZURhdGVQaWNrZXIsXG4gIH0sXG4gIGluamVjdDogW1wiZm9ybVN0YXRlXCJdLFxuICBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0cmFuczogVHJhbnNsYXRvcixcbiAgICAgIGxvY2FsZTogbG9jYWxlLFxuICAgICAgZ29vZ2xlQXBpS2V5OiBcIkFJemFTeUE0OE53ZzVyVXRkb1oyam9VRmNfOWlST1JyVEtkM3VIc1wiLFxuICAgICAgYXV0b2NvbXBsZXRlOiBudWxsLCAvLyBHb29nbGUgUGxhY2VzIGF1dG9jb21wbGV0ZSBpbnN0YW5jZVxuICAgICAgaXNWYWxpZEFkZHJlc3M6IHRydWUsIC8vIEFkZHJlc3MgdmFsaWRpdHkgc3RhdGVcbiAgICAgIHNob3dNaXNzaW5nTnVtYmVyRXJyb3I6IGZhbHNlLCAvLyBJbmRpY2F0ZXMgaWYgdGhlIHN0cmVldCBudW1iZXIgaXMgbWlzc2luZ1xuICAgICAgZW1haWxUb3VjaGVkOiBmYWxzZSxcbiAgICAgIGNoZWNrb3V0RGF0YTogQ2hlY2tvdXREYXRhLmRhdGEsXG4gICAgICBzZWFyY2hEYXRhOiBTZWFyY2hEYXRhLFxuICAgIH07XG4gIH0sXG4gIG1vdW50ZWQoKSB7XG4gICAgdGhpcy5mb3JtU3RhdGUuY2hlY2tWYWxpZGl0eSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IGlucHV0cyA9IHRoaXMuJHJlZnMuY2hlY2tvdXREYXRhRm9ybS5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICBcImlucHV0LCBzZWxlY3QsIHRleHRhcmVhXCJcbiAgICAgICk7XG4gICAgICBBcnJheS5mcm9tKGlucHV0cykuZm9yRWFjaCgoaW5wdXQpID0+IHtcbiAgICAgICAgaWYgKGlucHV0LmNoZWNrVmFsaWRpdHkoKSkge1xuICAgICAgICAgIGlucHV0LmNsYXNzTGlzdC5yZW1vdmUoXCJpcy1pbnZhbGlkXCIpO1xuICAgICAgICAgIGlucHV0LmNsYXNzTGlzdC5hZGQoXCJpcy12YWxpZFwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpbnB1dC5jbGFzc0xpc3QucmVtb3ZlKFwiaXMtdmFsaWRcIik7XG4gICAgICAgICAgaW5wdXQuY2xhc3NMaXN0LmFkZChcImlzLWludmFsaWRcIik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gdGhpcy4kcmVmcy5jaGVja291dERhdGFGb3JtLmNoZWNrVmFsaWRpdHkoKTtcbiAgICB9O1xuXG4gICAgLy8gQ3VzdG9tIEJvb3RzdHJhcCBmb3JtIHZhbGlkYXRpb24gbG9naWNcbiAgICAvLyBFeGFtcGxlIHN0YXJ0ZXIgSmF2YVNjcmlwdCBmb3IgZGlzYWJsaW5nIGZvcm0gc3VibWlzc2lvbnMgaWYgdGhlcmUgYXJlIGludmFsaWQgZmllbGRzXG4gICAgKCgpID0+IHtcbiAgICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgICAvLyBGZXRjaCBhbGwgdGhlIGZvcm1zIHdlIHdhbnQgdG8gYXBwbHkgY3VzdG9tIEJvb3RzdHJhcCB2YWxpZGF0aW9uIHN0eWxlcyB0b1xuICAgICAgY29uc3QgZm9ybXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiLm5lZWRzLXZhbGlkYXRpb25cIik7XG5cbiAgICAgIC8vIExvb3Agb3ZlciB0aGVtIGFuZCBwcmV2ZW50IHN1Ym1pc3Npb25cbiAgICAgIEFycmF5LmZyb20oZm9ybXMpLmZvckVhY2goKGZvcm0pID0+IHtcbiAgICAgICAgLy8gUHJldmVudCBmb3JtIHN1Ym1pc3Npb24gb24gRW50ZXIga2V5XG4gICAgICAgIGZvcm0uYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gXCJFbnRlclwiICYmIGV2ZW50LnRhcmdldC50YWdOYW1lICE9PSBcIlRFWFRBUkVBXCIpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBBcHBseSByZWFsLXRpbWUgdmFsaWRhdGlvblxuICAgICAgICBjb25zdCBpbnB1dHMgPSBmb3JtLnF1ZXJ5U2VsZWN0b3JBbGwoXCJpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYVwiKTtcbiAgICAgICAgQXJyYXkuZnJvbShpbnB1dHMpLmZvckVhY2goKGlucHV0KSA9PiB7XG4gICAgICAgICAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcihcImlucHV0XCIsICgpID0+IHtcbiAgICAgICAgICAgIGlmIChpbnB1dC5jaGVja1ZhbGlkaXR5KCkpIHtcbiAgICAgICAgICAgICAgaW5wdXQuY2xhc3NMaXN0LnJlbW92ZShcImlzLWludmFsaWRcIik7XG4gICAgICAgICAgICAgIGlucHV0LmNsYXNzTGlzdC5hZGQoXCJpcy12YWxpZFwiKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGlucHV0LmNsYXNzTGlzdC5yZW1vdmUoXCJpcy12YWxpZFwiKTtcbiAgICAgICAgICAgICAgaW5wdXQuY2xhc3NMaXN0LmFkZChcImlzLWludmFsaWRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICAvLyBUcmlnZ2VyIGNoYW5nZSB2YWxpZGF0aW9uIGZvciBzZWxlY3QgZWxlbWVudHNcbiAgICAgICAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsICgpID0+IHtcbiAgICAgICAgICAgIGlmIChpbnB1dC5jaGVja1ZhbGlkaXR5KCkpIHtcbiAgICAgICAgICAgICAgaW5wdXQuY2xhc3NMaXN0LnJlbW92ZShcImlzLWludmFsaWRcIik7XG4gICAgICAgICAgICAgIGlucHV0LmNsYXNzTGlzdC5hZGQoXCJpcy12YWxpZFwiKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGlucHV0LmNsYXNzTGlzdC5yZW1vdmUoXCJpcy12YWxpZFwiKTtcbiAgICAgICAgICAgICAgaW5wdXQuY2xhc3NMaXN0LmFkZChcImlzLWludmFsaWRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZvcm0uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICBcInN1Ym1pdFwiLFxuICAgICAgICAgIChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFmb3JtLmNoZWNrVmFsaWRpdHkoKSkge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9ybS5jbGFzc0xpc3QuYWRkKFwid2FzLXZhbGlkYXRlZFwiKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9KSgpO1xuXG4gICAgdGhpcy5pbml0aWFsaXplQXV0b2NvbXBsZXRlKCk7XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgdHJhbnNsYXRlZENvdW50cmllcygpIHtcbiAgICAgIGNvdW50cmllcy5yZWdpc3RlckxvY2FsZShcbiAgICAgICAgcmVxdWlyZShgaTE4bi1pc28tY291bnRyaWVzL2xhbmdzLyR7dGhpcy5sb2NhbGV9Lmpzb25gKVxuICAgICAgKTtcbiAgICAgIHJldHVybiBjb3VudHJpZXMuZ2V0TmFtZXModGhpcy5sb2NhbGUpO1xuICAgIH0sXG4gICAgaXNWYWxpZEVtYWlsKCkge1xuICAgICAgY29uc3QgZW1haWxQYXR0ZXJuID0gL15bXlxcc0BdK0BbXlxcc0BdK1xcLlteXFxzQF0rJC87XG4gICAgICByZXR1cm4gZW1haWxQYXR0ZXJuLnRlc3QodGhpcy5jaGVja291dERhdGEuY3VzdG9tZXJEYXRhLmVtYWlsKTtcbiAgICB9LFxuICAgIHRyYWZmaWNTb3VyY2VzKCkge1xuICAgICAgY29uc3QgY2hhbm5lbCA9IHRoaXMuY2hlY2tvdXREYXRhPy5hY2NvbW1vZGF0aW9uPy5jaGFubmVsID8/IG51bGw7XG5cbiAgICAgIGlmICghdGhpcy5zZWFyY2hEYXRhLnJlZmluZXJTZXR0aW5ncz8udHJhZmZpY1NvdXJjZXMpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpdGVtcyA9XG4gICAgICAgIHRoaXMuc2VhcmNoRGF0YS5yZWZpbmVyU2V0dGluZ3M/LnRyYWZmaWNTb3VyY2VzW2NoYW5uZWxdID8/IHt9O1xuICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH0sXG4gIH0sXG4gIG1ldGhvZHM6IHtcbiAgICBjZW50ZXJJbnB1dE9uRm9jdXMoZXZlbnQpIHtcbiAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8PSA5OTEpIHtcbiAgICAgICAgLy8gTW9iaWxlIGRldmljZXMgb25seVxuICAgICAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldDtcbiAgICAgICAgY29uc3QgcmVjdCA9IGlucHV0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBzdGlja3lGb290ZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI21vYmlsZVN1bW1hcnlUb2dnbGVyXCIpO1xuICAgICAgICBjb25zdCBmb290ZXJIZWlnaHQgPSBzdGlja3lGb290ZXIgPyBzdGlja3lGb290ZXIub2Zmc2V0SGVpZ2h0IDogMDtcblxuICAgICAgICAvLyBBZGQgYSBzbWFsbCBkZWxheSB0byBhbGxvdyBrZXlib2FyZCB0byBmdWxseSBvcGVuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIC8vIEdldCB2aWV3cG9ydCBoZWlnaHQgYWNjb3VudGluZyBmb3Iga2V5Ym9hcmQgdXNpbmcgdmlzdWFsVmlld3BvcnQgQVBJXG4gICAgICAgICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSB3aW5kb3cudmlzdWFsVmlld3BvcnRcbiAgICAgICAgICAgID8gd2luZG93LnZpc3VhbFZpZXdwb3J0LmhlaWdodFxuICAgICAgICAgICAgOiB3aW5kb3cuaW5uZXJIZWlnaHQ7XG5cbiAgICAgICAgICAvLyBBZGp1c3QgdGhlIHRhcmdldCBwb3NpdGlvbiBhY2NvdW50aW5nIGZvciBrZXlib2FyZCBhbmQgc3RpY2t5IGZvb3RlclxuICAgICAgICAgIGNvbnN0IHRhcmdldFkgPVxuICAgICAgICAgICAgcmVjdC50b3AgK1xuICAgICAgICAgICAgd2luZG93LnBhZ2VZT2Zmc2V0IC1cbiAgICAgICAgICAgIHZpZXdwb3J0SGVpZ2h0IC8gMiArXG4gICAgICAgICAgICByZWN0LmhlaWdodCAvIDIgK1xuICAgICAgICAgICAgZm9vdGVySGVpZ2h0IC8gMjtcblxuICAgICAgICAgIC8vIFVzZSBzY3JvbGxUbyB3aXRoIGZhbGxiYWNrIGZvciBpT1MgU2FmYXJpXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgIHRvcDogdGFyZ2V0WSxcbiAgICAgICAgICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBzbW9vdGggc2Nyb2xsaW5nXG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgdGFyZ2V0WSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCAzMDApOyAvLyAzMDBtcyBkZWxheSB0byBhY2NvdW50IGZvciBrZXlib2FyZCBhbmltYXRpb25cbiAgICAgIH1cbiAgICB9LFxuICAgIGluaXRpYWxpemVBdXRvY29tcGxldGUoKSB7XG4gICAgICBpZiAoIXRoaXMuYXV0b2NvbXBsZXRlKSB7XG4gICAgICAgIGNvbnN0IGxvYWRlciA9IG5ldyBMb2FkZXIoe1xuICAgICAgICAgIGFwaUtleTogdGhpcy5nb29nbGVBcGlLZXksIC8vIFJlcGxhY2Ugd2l0aCB5b3VyIGFjdHVhbCBBUEkga2V5XG4gICAgICAgICAgbGlicmFyaWVzOiBbXCJwbGFjZXNcIl0sIC8vIExvYWQgdGhlIFBsYWNlcyBsaWJyYXJ5XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxvYWRlci5sb2FkKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLiRyZWZzLmFkZHJlc3NGaWVsZDtcbiAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZSA9IG5ldyBnb29nbGUubWFwcy5wbGFjZXMuQXV0b2NvbXBsZXRlKGlucHV0LCB7XG4gICAgICAgICAgICBmaWVsZHM6IFtcImFkZHJlc3NfY29tcG9uZW50c1wiLCBcImZvcm1hdHRlZF9hZGRyZXNzXCJdLFxuICAgICAgICAgICAgdHlwZXM6IFtcImFkZHJlc3NcIl0sXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5hdXRvY29tcGxldGUuYWRkTGlzdGVuZXIoXCJwbGFjZV9jaGFuZ2VkXCIsIHRoaXMuZmlsbEluQWRkcmVzcyk7XG5cbiAgICAgICAgICAvLyBBZGRpdGlvbmFsIGxpc3RlbmVyIGZvciBpbnB1dCBmaWVsZCBmb2N1c1xuICAgICAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoXCJmb2N1c1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBpbnB1dC52YWx1ZS50cmltKCk7XG4gICAgICAgICAgICBpZiAoY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgIHRoaXMuZmlsbEluQWRkcmVzcygpOyAvLyBDbGVhbnVwIHdoZW4gdXNlciBmb2N1c2VzIGFnYWluXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgZmlsbEluQWRkcmVzcygpIHtcbiAgICAgIGNvbnN0IHBsYWNlID0gdGhpcy5hdXRvY29tcGxldGUuZ2V0UGxhY2UoKTtcbiAgICAgIGxldCBjaXR5ID0gXCJcIjtcbiAgICAgIGxldCB6aXBjb2RlID0gXCJcIjtcbiAgICAgIGxldCBjb3VudHJ5ID0gXCJcIjtcbiAgICAgIGxldCBjb3VudHJ5TG9uZyA9IFwiXCI7XG4gICAgICBsZXQgc3RyZWV0TnVtYmVyID0gXCJcIjtcbiAgICAgIGxldCBzdHJlZXROYW1lID0gXCJcIjtcblxuICAgICAgLy8gQ2hlY2sgaWYgcGxhY2UgYW5kIGFkZHJlc3NfY29tcG9uZW50cyBleGlzdFxuICAgICAgaWYgKHBsYWNlICYmIEFycmF5LmlzQXJyYXkocGxhY2UuYWRkcmVzc19jb21wb25lbnRzKSkge1xuICAgICAgICAvLyBFeHRyYWN0IGFkZHJlc3MgY29tcG9uZW50cyAoY2l0eSwgemlwY29kZSwgY291bnRyeSwgc3RyZWV0X251bWJlciwgcm91dGUpXG4gICAgICAgIGZvciAoY29uc3QgY29tcG9uZW50IG9mIHBsYWNlLmFkZHJlc3NfY29tcG9uZW50cykge1xuICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSBjb21wb25lbnQudHlwZXNbMF07XG5cbiAgICAgICAgICBpZiAoY29tcG9uZW50VHlwZSA9PT0gXCJsb2NhbGl0eVwiKSB7XG4gICAgICAgICAgICBjaXR5ID0gY29tcG9uZW50LmxvbmdfbmFtZTtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tvdXREYXRhLmN1c3RvbWVyRGF0YS5jaXR5ID0gY2l0eTsgLy8gU2V0IHRoZSBjaXR5XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGNvbXBvbmVudFR5cGUgPT09IFwicG9zdGFsX2NvZGVcIikge1xuICAgICAgICAgICAgemlwY29kZSA9IGNvbXBvbmVudC5sb25nX25hbWU7XG4gICAgICAgICAgICB0aGlzLmNoZWNrb3V0RGF0YS5jdXN0b21lckRhdGEucG9zdGFsQ29kZSA9IHppcGNvZGU7IC8vIFNldCB0aGUgcG9zdGFsIGNvZGVcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY29tcG9uZW50VHlwZSA9PT0gXCJjb3VudHJ5XCIpIHtcbiAgICAgICAgICAgIGNvdW50cnkgPSBjb21wb25lbnQuc2hvcnRfbmFtZTtcbiAgICAgICAgICAgIGNvdW50cnlMb25nID0gY29tcG9uZW50LmxvbmdfbmFtZTtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tvdXREYXRhLmN1c3RvbWVyRGF0YS5jb3VudHJ5ID0gY291bnRyeTsgLy8gU2V0IHRoZSBjb3VudHJ5XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGNvbXBvbmVudFR5cGUgPT09IFwic3RyZWV0X251bWJlclwiKSB7XG4gICAgICAgICAgICBzdHJlZXROdW1iZXIgPSBjb21wb25lbnQubG9uZ19uYW1lOyAvLyBIb3VzZSBudW1iZXJcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY29tcG9uZW50VHlwZSA9PT0gXCJyb3V0ZVwiKSB7XG4gICAgICAgICAgICBzdHJlZXROYW1lID0gY29tcG9uZW50LmxvbmdfbmFtZTsgLy8gU3RyZWV0IG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZWJ1aWxkIHRoZSBhZGRyZXNzIGZyb20gb25seSB0aGUgc3RyZWV0IG5hbWUgYW5kIG51bWJlclxuICAgICAgICBpZiAoc3RyZWV0TmFtZSAmJiBzdHJlZXROdW1iZXIpIHtcbiAgICAgICAgICB0aGlzLmNoZWNrb3V0RGF0YS5jdXN0b21lckRhdGEuYWRkcmVzcyA9IGAke3N0cmVldE5hbWV9ICR7c3RyZWV0TnVtYmVyfWA7IC8vIENvcnJlY3RseSByZXBsYWNlIHRoZSBhZGRyZXNzIGZpZWxkIHdpdGggdGhlIGZ1bGwgc3RyZWV0IG5hbWUgYW5kIG51bWJlclxuICAgICAgICB9IGVsc2UgaWYgKHN0cmVldE5hbWUpIHtcbiAgICAgICAgICB0aGlzLmNoZWNrb3V0RGF0YS5jdXN0b21lckRhdGEuYWRkcmVzcyA9IHN0cmVldE5hbWU7IC8vIElmIG5vIHN0cmVldCBudW1iZXIsIGp1c3Qga2VlcCB0aGUgc3RyZWV0IG5hbWVcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFByZXZlbnQgY2l0eSwgY291bnRyeSwgYW5kIHBvc3RhbCBjb2RlIGZyb20gYmVpbmcgYWRkZWQgdG8gdGhlIGFkZHJlc3MgZmllbGRcbiAgICAgICAgaWYgKHRoaXMuY2hlY2tvdXREYXRhLmN1c3RvbWVyRGF0YS5hZGRyZXNzKSB7XG4gICAgICAgICAgLy8gR29vZ2xlIG1pZ2h0IGFwcGVuZCB0aGVzZSBhdXRvbWF0aWNhbGx5LCBzbyB3ZSByZWJ1aWxkIHRoZSBhZGRyZXNzIG1hbnVhbGx5IGZyb20gY29tcG9uZW50c1xuICAgICAgICAgIC8vIFJlc2V0IHRoZSBhZGRyZXNzIGZpZWxkIHRvIG9ubHkgc2hvdyBzdHJlZXQgbmFtZSBhbmQgbnVtYmVyXG4gICAgICAgICAgdGhpcy5jaGVja291dERhdGEuY3VzdG9tZXJEYXRhLmFkZHJlc3MgPVxuICAgICAgICAgICAgdGhpcy5jaGVja291dERhdGEuY3VzdG9tZXJEYXRhLmFkZHJlc3NcbiAgICAgICAgICAgICAgLnJlcGxhY2UoY2l0eSwgXCJcIilcbiAgICAgICAgICAgICAgLnJlcGxhY2UoemlwY29kZSwgXCJcIilcbiAgICAgICAgICAgICAgLnJlcGxhY2UoY291bnRyeSwgXCJcIilcbiAgICAgICAgICAgICAgLnRyaW0oKTtcblxuICAgICAgICAgIC8vIENsZWFuIHVwIGFueSB0cmFpbGluZyBjb21tYXMgb3IgZXh0cmEgc3BhY2VzXG4gICAgICAgICAgdGhpcy5jaGVja291dERhdGEuY3VzdG9tZXJEYXRhLmFkZHJlc3MgPVxuICAgICAgICAgICAgdGhpcy5jaGVja291dERhdGEuY3VzdG9tZXJEYXRhLmFkZHJlc3NcbiAgICAgICAgICAgICAgLnJlcGxhY2UoLyxcXHMqLC9nLCBcIixcIilcbiAgICAgICAgICAgICAgLnJlcGxhY2UoLyxcXHMqJC8sIFwiXCIpXG4gICAgICAgICAgICAgIC50cmltKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVmFsaWRhdGUgaWYgc3RyZWV0IG51bWJlciBpcyBtaXNzaW5nXG4gICAgICB0aGlzLnNob3dNaXNzaW5nTnVtYmVyRXJyb3IgPSAhc3RyZWV0TnVtYmVyO1xuICAgICAgdGhpcy5pc1ZhbGlkQWRkcmVzcyA9ICEhc3RyZWV0TnVtYmVyO1xuICAgIH0sXG4gICAgaGFuZGxlQWRkcmVzc0lucHV0KCkge1xuICAgICAgbGV0IGlucHV0QWRkcmVzcyA9IHRoaXMuY2hlY2tvdXREYXRhLmN1c3RvbWVyRGF0YS5hZGRyZXNzO1xuXG4gICAgICAvLyBNYW51YWxseSBjaGVjayBpZiB0aGUgdXNlciBoYXMgZW50ZXJlZCBhIHN0cmVldCBudW1iZXJcbiAgICAgIGNvbnN0IHN0cmVldE51bWJlckluSW5wdXQgPSBpbnB1dEFkZHJlc3MubWF0Y2goL1xcZCsvKTtcbiAgICAgIGlmIChzdHJlZXROdW1iZXJJbklucHV0KSB7XG4gICAgICAgIHRoaXMuc3RyZWV0TnVtYmVyID0gc3RyZWV0TnVtYmVySW5JbnB1dFswXTsgLy8gRXh0cmFjdCB0aGUgbnVtYmVyIGZyb20gdGhlIGFkZHJlc3NcbiAgICAgICAgdGhpcy5pc1ZhbGlkQWRkcmVzcyA9IHRydWU7XG4gICAgICAgIHRoaXMuc2hvd01pc3NpbmdOdW1iZXJFcnJvciA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zaG93TWlzc2luZ051bWJlckVycm9yID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pc1ZhbGlkQWRkcmVzcyA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBBbHdheXMgcmVtb3ZlIGNpdHksIGNvdW50cnksIGFuZCBwb3N0YWwgY29kZSBmcm9tIHRoZSBhZGRyZXNzIGlucHV0IGZpZWxkXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuY2hlY2tvdXREYXRhLmN1c3RvbWVyRGF0YS5jaXR5ICYmXG4gICAgICAgIGlucHV0QWRkcmVzcy5pbmNsdWRlcyh0aGlzLmNoZWNrb3V0RGF0YS5jdXN0b21lckRhdGEuY2l0eSlcbiAgICAgICkge1xuICAgICAgICBpbnB1dEFkZHJlc3MgPSBpbnB1dEFkZHJlc3NcbiAgICAgICAgICAucmVwbGFjZSh0aGlzLmNoZWNrb3V0RGF0YS5jdXN0b21lckRhdGEuY2l0eSwgXCJcIilcbiAgICAgICAgICAudHJpbSgpO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmNoZWNrb3V0RGF0YS5jdXN0b21lckRhdGEucG9zdGFsQ29kZSAmJlxuICAgICAgICBpbnB1dEFkZHJlc3MuaW5jbHVkZXModGhpcy5jaGVja291dERhdGEuY3VzdG9tZXJEYXRhLnBvc3RhbENvZGUpXG4gICAgICApIHtcbiAgICAgICAgaW5wdXRBZGRyZXNzID0gaW5wdXRBZGRyZXNzXG4gICAgICAgICAgLnJlcGxhY2UodGhpcy5jaGVja291dERhdGEuY3VzdG9tZXJEYXRhLnBvc3RhbENvZGUsIFwiXCIpXG4gICAgICAgICAgLnRyaW0oKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5jaGVja291dERhdGEuY3VzdG9tZXJEYXRhLmNvdW50cnkgJiZcbiAgICAgICAgaW5wdXRBZGRyZXNzLmluY2x1ZGVzKHRoaXMuY2hlY2tvdXREYXRhLmN1c3RvbWVyRGF0YS5jb3VudHJ5KVxuICAgICAgKSB7XG4gICAgICAgIGlucHV0QWRkcmVzcyA9IGlucHV0QWRkcmVzc1xuICAgICAgICAgIC5yZXBsYWNlKHRoaXMuY2hlY2tvdXREYXRhLmN1c3RvbWVyRGF0YS5jb3VudHJ5LCBcIlwiKVxuICAgICAgICAgIC50cmltKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIENsZWFuIHVwIGFueSB0cmFpbGluZyBjb21tYXMgb3IgZXh0cmEgc3BhY2VzXG4gICAgICBpbnB1dEFkZHJlc3MgPSBpbnB1dEFkZHJlc3NcbiAgICAgICAgLnJlcGxhY2UoLyxcXHMqLC9nLCBcIixcIilcbiAgICAgICAgLnJlcGxhY2UoLyxcXHMqJC8sIFwiXCIpXG4gICAgICAgIC50cmltKCk7XG5cbiAgICAgIC8vIFVwZGF0ZSB0aGUgYWRkcmVzcyBtb2RlbCB3aXRoIHRoZSBjbGVhbmVkLXVwIHZlcnNpb25cbiAgICAgIHRoaXMuY2hlY2tvdXREYXRhLmN1c3RvbWVyRGF0YS5hZGRyZXNzID0gaW5wdXRBZGRyZXNzO1xuICAgIH0sXG4gICAgbG93ZXJjYXNlRmllbGQoZmllbGRLZXkpIHtcbiAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy50cmFucyhmaWVsZEtleSk7IC8vIGFzc3VtaW5nIHlvdSdyZSB1c2luZyB0aGUgJHQgZm9yIHRyYW5zbGF0aW9uXG4gICAgICByZXR1cm4gZmllbGQgPyBmaWVsZC50b0xvd2VyQ2FzZSgpIDogXCJcIjtcbiAgICB9LFxuICAgIHNldExhbmd1YWdlKGxhbmcpIHtcbiAgICAgIHRoaXMubGFuZ3VhZ2UgPSBsYW5nO1xuICAgIH0sXG4gICAgYWRqdXN0SGVpZ2h0KCkge1xuICAgICAgY29uc3QgdGV4dGFyZWEgPSB0aGlzLiRyZWZzLm5vdGVzVGV4dGFyZWE7XG4gICAgICB0ZXh0YXJlYS5zdHlsZS5oZWlnaHQgPSBcImF1dG9cIjsgLy8gUmVzZXQgaGVpZ2h0IGJlZm9yZSBjYWxjdWxhdGluZyBuZXcgaGVpZ2h0XG4gICAgICB0ZXh0YXJlYS5zdHlsZS5oZWlnaHQgPSBgJHt0ZXh0YXJlYS5zY3JvbGxIZWlnaHR9cHhgOyAvLyBTZXQgbmV3IGhlaWdodCBiYXNlZCBvbiBjb250ZW50XG5cbiAgICAgIC8vIEFkanVzdCBib3JkZXItcmFkaXVzIGJhc2VkIG9uIGhlaWdodFxuICAgICAgY29uc3QgbmV3SGVpZ2h0ID0gdGV4dGFyZWEuc2Nyb2xsSGVpZ2h0O1xuICAgICAgaWYgKG5ld0hlaWdodCA+IDYwKSB7XG4gICAgICAgIHRleHRhcmVhLnN0eWxlLmJvcmRlclJhZGl1cyA9IFwiMXJlbVwiOyAvLyBTbWFsbGVyIGJvcmRlci1yYWRpdXMgZm9yIHRhbGxlciB0ZXh0YXJlYVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGV4dGFyZWEuc3R5bGUuYm9yZGVyUmFkaXVzID0gXCIyLjVyZW1cIjsgLy8gTGFyZ2VyIGJvcmRlci1yYWRpdXMgZm9yIHNob3J0ZXIgdGV4dGFyZWFcbiAgICAgIH1cbiAgICB9LFxuICB9LFxufTtcbjwvc2NyaXB0PlxuPHRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1mb3JtXCI+XG4gICAgPGZvcm0gY2xhc3M9XCJuZWVkcy12YWxpZGF0aW9uXCIgcmVmPVwiY2hlY2tvdXREYXRhRm9ybVwiIG5vdmFsaWRhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtY29udGVudCBwYXJ0XzIgcm93IGctM1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTYgZm9ybS1mbG9hdGluZ1wiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgQGZvY3VzPVwiY2VudGVySW5wdXRPbkZvY3VzXCJcbiAgICAgICAgICAgIGlkPVwiZmlyc3ROYW1lXCJcbiAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICB2LW1vZGVsPVwiY2hlY2tvdXREYXRhLmN1c3RvbWVyRGF0YS5maXJzdE5hbWVcIlxuICAgICAgICAgICAgOnBsYWNlaG9sZGVyPVwidHJhbnMoJ2NoZWNrb3V0LmRhdGEuZmlyc3RuYW1lJylcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cImZpcnN0TmFtZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxuICAgICAgICAgICAge3sgdHJhbnMoXCJjaGVja291dC5kYXRhLmZpcnN0bmFtZVwiKSB9fVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIHRyYW5zKFwiY2hlY2tvdXQudmFsaWRhdGUuZXJyb3JcIiwge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBsb3dlcmNhc2VGaWVsZChcImNoZWNrb3V0LmRhdGEuZmlyc3RuYW1lXCIpLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNiBmb3JtLWZsb2F0aW5nXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBAZm9jdXM9XCJjZW50ZXJJbnB1dE9uRm9jdXNcIlxuICAgICAgICAgICAgaWQ9XCJsYXN0TmFtZVwiXG4gICAgICAgICAgICB2LW1vZGVsPVwiY2hlY2tvdXREYXRhLmN1c3RvbWVyRGF0YS5sYXN0TmFtZVwiXG4gICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgOnBsYWNlaG9sZGVyPVwidHJhbnMoJ2NoZWNrb3V0LmRhdGEubGFzdG5hbWUnKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwibGFzdE5hbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5cbiAgICAgICAgICAgIHt7IHRyYW5zKFwiY2hlY2tvdXQuZGF0YS5sYXN0bmFtZVwiKSB9fVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIHRyYW5zKFwiY2hlY2tvdXQudmFsaWRhdGUuZXJyb3JcIiwge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBsb3dlcmNhc2VGaWVsZChcImNoZWNrb3V0LmRhdGEubGFzdG5hbWVcIiksXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZsb2F0aW5nXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cImRhdGVcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIEBmb2N1cz1cImNlbnRlcklucHV0T25Gb2N1c1wiXG4gICAgICAgICAgICAgIGlkPVwiYmlydGhkYXlcIlxuICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICB2LW1vZGVsPVwiY2hlY2tvdXREYXRhLmN1c3RvbWVyRGF0YS5iaXJ0aERhdGVcIlxuICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9XCJ0cmFucygnY2hlY2tvdXQuZGF0YS5iaXJ0aGRheScpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiYmlydGhkYXlcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5cbiAgICAgICAgICAgICAge3sgdHJhbnMoXCJjaGVja291dC5kYXRhLmJpcnRoZGF5XCIpIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIj5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICB0cmFucyhcImNoZWNrb3V0LnZhbGlkYXRlLmVycm9yXCIsIHtcbiAgICAgICAgICAgICAgICAgIGZpZWxkOiBsb3dlcmNhc2VGaWVsZChcImNoZWNrb3V0LmRhdGEuYmlydGhkYXlcIiksXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtOCBmb3JtLWZsb2F0aW5nXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBAZm9jdXM9XCJjZW50ZXJJbnB1dE9uRm9jdXNcIlxuICAgICAgICAgICAgaWQ9XCJhZGRyZXNzXCJcbiAgICAgICAgICAgIHJlZj1cImFkZHJlc3NGaWVsZFwiXG4gICAgICAgICAgICB2LW1vZGVsPVwiY2hlY2tvdXREYXRhLmN1c3RvbWVyRGF0YS5hZGRyZXNzXCJcbiAgICAgICAgICAgIEBibHVyPVwiaGFuZGxlQWRkcmVzc0lucHV0XCJcbiAgICAgICAgICAgIDpjbGFzcz1cInsgJ2lzLWludmFsaWQnOiAhaXNWYWxpZEFkZHJlc3MgfVwiXG4gICAgICAgICAgICA6cGxhY2Vob2xkZXI9XCJ0cmFucygnY2hlY2tvdXQuZGF0YS5hZGRyZXNzLnBsYWNlaG9sZGVyJylcIlxuICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJhZGRyZXNzXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XG4gICAgICAgICAgICB7eyB0cmFucyhcImNoZWNrb3V0LmRhdGEuYWRkcmVzc1wiKSB9fVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPGRpdiB2LWlmPVwic2hvd01pc3NpbmdOdW1iZXJFcnJvclwiIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiPlxuICAgICAgICAgICAge3sgdHJhbnMoXCJjaGVja291dC52YWxpZGF0ZS5taXNzaW5nX3N0cmVldF9udW1iZXJcIikgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiIHYtZWxzZT5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIHRyYW5zKFwiY2hlY2tvdXQudmFsaWRhdGUuZXJyb3JcIiwge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBsb3dlcmNhc2VGaWVsZChcImNoZWNrb3V0LmRhdGEuYWRkcmVzc1wiKSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTUgY29sLW1kLTQgZm9ybS1mbG9hdGluZ1wiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgQGZvY3VzPVwiY2VudGVySW5wdXRPbkZvY3VzXCJcbiAgICAgICAgICAgIGlkPVwiemlwY29kZVwiXG4gICAgICAgICAgICB2LW1vZGVsPVwiY2hlY2tvdXREYXRhLmN1c3RvbWVyRGF0YS5wb3N0YWxDb2RlXCJcbiAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1cInRyYW5zKCdjaGVja291dC5kYXRhLmFkZHJlc3MuemlwY29kZS5wbGFjZWhvbGRlcicpXCJcbiAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiemlwY29kZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxuICAgICAgICAgICAge3sgdHJhbnMoXCJjaGVja291dC5kYXRhLmFkZHJlc3MuemlwY29kZVwiKSB9fVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIHRyYW5zKFwiY2hlY2tvdXQudmFsaWRhdGUuZXJyb3JcIiwge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBsb3dlcmNhc2VGaWVsZChcImNoZWNrb3V0LmRhdGEuYWRkcmVzcy56aXBjb2RlXCIpLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNyBjb2wtbWQtNiBmb3JtLWZsb2F0aW5nXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBAZm9jdXM9XCJjZW50ZXJJbnB1dE9uRm9jdXNcIlxuICAgICAgICAgICAgaWQ9XCJjaXR5XCJcbiAgICAgICAgICAgIHYtbW9kZWw9XCJjaGVja291dERhdGEuY3VzdG9tZXJEYXRhLmNpdHlcIlxuICAgICAgICAgICAgOnBsYWNlaG9sZGVyPVwidHJhbnMoJ2NoZWNrb3V0LmRhdGEuYWRkcmVzcy5jaXR5LnBsYWNlaG9sZGVyJylcIlxuICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJjaXR5XCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XG4gICAgICAgICAgICB7eyB0cmFucyhcImNoZWNrb3V0LmRhdGEuYWRkcmVzcy5jaXR5XCIpIH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgdHJhbnMoXCJjaGVja291dC52YWxpZGF0ZS5lcnJvclwiLCB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IGxvd2VyY2FzZUZpZWxkKFwiY2hlY2tvdXQuZGF0YS5hZGRyZXNzLmNpdHkucGxhY2Vob2xkZXJcIiksXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtNiBmb3JtLWZsb2F0aW5nXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZmxvYXRpbmdcIj5cbiAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgdi1tb2RlbD1cImNoZWNrb3V0RGF0YS5jdXN0b21lckRhdGEuY291bnRyeVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1zZWxlY3RcIlxuICAgICAgICAgICAgICBAZm9jdXM9XCJjZW50ZXJJbnB1dE9uRm9jdXNcIlxuICAgICAgICAgICAgICBpZD1cImNvdW50cnlcIlxuICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8b3B0aW9uXG4gICAgICAgICAgICAgICAgdi1mb3I9XCIoY291bnRyeU5hbWUsIGNvZGUpIGluIHRyYW5zbGF0ZWRDb3VudHJpZXNcIlxuICAgICAgICAgICAgICAgIDprZXk9XCJjb2RlXCJcbiAgICAgICAgICAgICAgICA6dmFsdWU9XCJjb2RlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGNvdW50cnlOYW1lIH19XG4gICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiY291bnRyeVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxuICAgICAgICAgICAgICB7eyB0cmFucyhcImNoZWNrb3V0LmRhdGEuYWRkcmVzcy5jb3VudHJ5XCIpIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIj5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICB0cmFucyhcImNoZWNrb3V0LnZhbGlkYXRlLmVycm9yLnNlbGVjdFwiLCB7XG4gICAgICAgICAgICAgICAgICBmaWVsZDogbG93ZXJjYXNlRmllbGQoXCJjaGVja291dC5kYXRhLmFkZHJlc3MuY291bnRyeVwiKSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtY29udGVudCBwYXJ0XzIgbXQtNVwiPlxuICAgICAgICA8aDQgY2xhc3M9XCJmdy1ib2xkXCI+XG4gICAgICAgICAge3sgdHJhbnMoXCJjaGVja291dC5kYXRhLmNvbnRlbnQucGFydDIudGl0bGVcIikgfX1cbiAgICAgICAgPC9oND5cbiAgICAgICAgPHAgdi1pZj1cInRyYW5zKCdjaGVja291dC5kYXRhLmNvbnRlbnQucGFydDIudGV4dCcpXCI+XG4gICAgICAgICAge3sgdHJhbnMoXCJjaGVja291dC5kYXRhLmNvbnRlbnQucGFydDIudGV4dFwiKSB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZy0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGZvcm0tZmxvYXRpbmdcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIEBmb2N1cz1cImNlbnRlcklucHV0T25Gb2N1c1wiXG4gICAgICAgICAgICAgIGlkPVwiZW1haWxBZGRyZXNzXCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cImNoZWNrb3V0RGF0YS5jdXN0b21lckRhdGEuZW1haWxcIlxuICAgICAgICAgICAgICA6Y2xhc3M9XCJ7ICdpcy1pbnZhbGlkJzogIWlzVmFsaWRFbWFpbCAmJiBlbWFpbFRvdWNoZWQgfVwiXG4gICAgICAgICAgICAgIEBibHVyPVwiZW1haWxUb3VjaGVkID0gdHJ1ZVwiXG4gICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1cInRyYW5zKCdjaGVja291dC5kYXRhLmVtYWlsQWRkcmVzcycpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW1haWxBZGRyZXNzXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XG4gICAgICAgICAgICAgIHt7IHRyYW5zKFwiY2hlY2tvdXQuZGF0YS5lbWFpbEFkZHJlc3NcIikgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IHYtaWY9XCJlbWFpbFRvdWNoZWQgJiYgIWVtYWlsXCIgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCI+XG4gICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgdHJhbnMoXCJjaGVja291dC52YWxpZGF0ZS5lcnJvclwiLCB7XG4gICAgICAgICAgICAgICAgICBmaWVsZDogbG93ZXJjYXNlRmllbGQoXCJjaGVja291dC5kYXRhLmVtYWlsQWRkcmVzc1wiKSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHYtZWxzZS1pZj1cImVtYWlsVG91Y2hlZCAmJiAhaXNWYWxpZEVtYWlsXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgdHJhbnMoXCJjaGVja291dC52YWxpZGF0aW9uLmludmFsaWRFbWFpbFwiKSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IHYtZWxzZS1pZj1cIiFlbWFpbFRvdWNoZWRcIiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIj5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICB0cmFucyhcImNoZWNrb3V0LnZhbGlkYXRlLmVycm9yXCIsIHtcbiAgICAgICAgICAgICAgICAgIGZpZWxkOiBsb3dlcmNhc2VGaWVsZChcImNoZWNrb3V0LmRhdGEuZW1haWxBZGRyZXNzXCIpLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgZm9ybS1mbG9hdGluZ1wiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZWxcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIEBmb2N1cz1cImNlbnRlcklucHV0T25Gb2N1c1wiXG4gICAgICAgICAgICAgIGlkPVwicGhvbmVcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiY2hlY2tvdXREYXRhLmN1c3RvbWVyRGF0YS5waG9uZU51bWJlclwiXG4gICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1cInRyYW5zKCdjaGVja291dC5kYXRhLnBob25lJylcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwaG9uZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxuICAgICAgICAgICAgICB7eyB0cmFucyhcImNoZWNrb3V0LmRhdGEucGhvbmVcIikgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiPlxuICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgIHRyYW5zKFwiY2hlY2tvdXQudmFsaWRhdGUuZXJyb3JcIiwge1xuICAgICAgICAgICAgICAgICAgZmllbGQ6IGxvd2VyY2FzZUZpZWxkKFwiY2hlY2tvdXQuZGF0YS5waG9uZVwiKSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtY29udGVudCBwYXJ0XzMgbXQtNSBtYi0zXCI+XG4gICAgICAgIDxoNCBjbGFzcz1cImZ3LWJvbGRcIj5cbiAgICAgICAgICB7eyB0cmFucyhcImNoZWNrb3V0LmRhdGEuY29udGVudC5wYXJ0My50aXRsZVwiKSB9fVxuICAgICAgICA8L2g0PlxuICAgICAgICA8cCB2LWlmPVwidHJhbnMoJ2NoZWNrb3V0LmRhdGEuY29udGVudC5wYXJ0My50ZXh0JylcIj5cbiAgICAgICAgICB7eyB0cmFucyhcImNoZWNrb3V0LmRhdGEuY29udGVudC5wYXJ0My50ZXh0XCIpIH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1mbG9hdGluZ1wiPlxuICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgQGZvY3VzPVwiY2VudGVySW5wdXRPbkZvY3VzXCJcbiAgICAgICAgICAgICAgICBpZD1cInRyYWZmaWNTb3VyY2VcIlxuICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJjaGVja291dERhdGEuY3VzdG9tZXJEYXRhLnRyYWZmaWNTb3VyY2VcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIGRpc2FibGVkIHNlbGVjdGVkPlxuICAgICAgICAgICAgICAgICAge3sgdHJhbnMoXCJjaGVja291dC5kYXRhLnRyYWZmaWNTb3VyY2UucGxhY2Vob2xkZXJcIikgfX1cbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uIDp2YWx1ZT1cInNvdXJjZS5pZFwiIHYtZm9yPVwic291cmNlIGluIHRyYWZmaWNTb3VyY2VzXCI+XG4gICAgICAgICAgICAgICAgICB7eyB0cmFucyhzb3VyY2UubmFtZSkgfX1cbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ0cmFmZmljU291cmNlXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3tcbiAgICAgICAgICAgICAgICB0cmFucyhcImNoZWNrb3V0LmRhdGEudHJhZmZpY1NvdXJjZVwiKVxuICAgICAgICAgICAgICB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJub3Rlc1wiIGNsYXNzPVwiZm9ybS1sYWJlbCB2aXN1YWxseS1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICB7eyB0cmFucyhcImNoZWNrb3V0LmRhdGEubm90ZXNcIikgfX1cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIEBmb2N1cz1cImNlbnRlcklucHV0T25Gb2N1c1wiXG4gICAgICAgICAgICAgICAgaWQ9XCJub3Rlc1wiXG4gICAgICAgICAgICAgICAgdi1tb2RlbD1cImNoZWNrb3V0RGF0YS5jdXN0b21lckRhdGEucmVtYXJrc1wiXG4gICAgICAgICAgICAgICAgcm93cz1cIjFcIlxuICAgICAgICAgICAgICAgIEBpbnB1dD1cImFkanVzdEhlaWdodFwiXG4gICAgICAgICAgICAgICAgcmVmPVwibm90ZXNUZXh0YXJlYVwiXG4gICAgICAgICAgICAgICAgOnBsYWNlaG9sZGVyPVwidHJhbnMoJ2NoZWNrb3V0LmRhdGEubm90ZXMucGxhY2Vob2xkZXInKVwiXG4gICAgICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzdHlsZSBzY29wZWQ+XG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8qIEhpZGUgdGhlIHNjcm9sbGJhciAqL1xuICByZXNpemU6IG5vbmU7IC8qIERpc2FibGUgbWFudWFsIHJlc2l6aW5nICovXG59XG48L3N0eWxlPlxuIiwiPHRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbG9hZGVyLW92ZXJsYXlcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbG9hZGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImxvYWRpbmctdGV4dFwiPlxuICAgICAgICA8cD57eyB0cmFucyhcImNoZWNrb3V0LmxvYWRlci50ZXh0LjFcIikgfX08L3A+XG4gICAgICAgIDxwPnt7IHRyYW5zKFwiY2hlY2tvdXQubG9hZGVyLnRleHQuMlwiKSB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgVHJhbnNsYXRvciBmcm9tIFwiLi8uLi9UcmFuc2xhdG9yLmpzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbmFtZTogXCJDaGVja291dExvYWRlclwiLFxuICBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0cmFuczogVHJhbnNsYXRvcixcbiAgICAgIGxvY2FsZTogbG9jYWxlLFxuICAgIH07XG4gIH0sXG4gIG1vdW50ZWQoKSB7XG4gICAgLy9kb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gXCJoaWRkZW5cIjtcbiAgfSxcbiAgYmVmb3JlRGVzdHJveSgpIHtcbiAgICAvL2RvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSBcIlwiO1xuICB9LFxufTtcbjwvc2NyaXB0PlxuXG48c3R5bGUgc2NvcGVkPlxuLmNoZWNrb3V0LWxvYWRlci1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHotaW5kZXg6IDk5OTk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jaGVja291dC1sb2FkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zcGlubmVyIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgYm9yZGVyOiAzcHggc29saWQgI2YzZjNmMztcbiAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICNkOThjMmY7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5sb2FkaW5nLXRleHQge1xuICBjb2xvcjogI2Q5OGMyZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAzcmVtO1xufVxucCB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbjwvc3R5bGU+XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/