/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/app.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*!
 * Bootstrap  v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root,
[data-bs-theme=light] {
  --bs-blue: #0280f5;
  --bs-indigo: #24447f;
  --bs-purple: #ab47bc;
  --bs-pink: #f06292;
  --bs-red: #e45240;
  --bs-orange: #fa9f1b;
  --bs-yellow: #ffe405;
  --bs-green: #57a805;
  --bs-teal: #26a69a;
  --bs-cyan: #0db7f0;
  --bs-black: #1a1d21;
  --bs-white: #fff;
  --bs-gray: #cbd0d8;
  --bs-gray-dark: #92969c;
  --bs-gray-100: #f9fafc;
  --bs-gray-200: #f3f5f9;
  --bs-gray-300: #edf1f6;
  --bs-gray-400: #e7ecf3;
  --bs-gray-500: #e1e7f0;
  --bs-gray-600: #cbd0d8;
  --bs-gray-700: #b6bbc2;
  --bs-gray-800: #92969c;
  --bs-gray-900: #717478;
  --bs-primary: #24447f;
  --bs-secondary: #b6bbc2;
  --bs-success: #57a805;
  --bs-info: #0db7f0;
  --bs-warning: #fa9f1b;
  --bs-danger: #e45240;
  --bs-light: #e1e7f0;
  --bs-dark: #202427;
  --bs-primary-rgb: 36, 68, 127;
  --bs-secondary-rgb: 182, 187, 194;
  --bs-success-rgb: 87, 168, 5;
  --bs-info-rgb: 13, 183, 240;
  --bs-warning-rgb: 250, 159, 27;
  --bs-danger-rgb: 228, 82, 64;
  --bs-light-rgb: 225, 231, 240;
  --bs-dark-rgb: 32, 36, 39;
  --bs-primary-text-emphasis: #0e1b33;
  --bs-secondary-text-emphasis: #494b4e;
  --bs-success-text-emphasis: #234302;
  --bs-info-text-emphasis: #054960;
  --bs-warning-text-emphasis: #64400b;
  --bs-danger-text-emphasis: #5b211a;
  --bs-light-text-emphasis: #5a5c60;
  --bs-dark-text-emphasis: #0d0e10;
  --bs-primary-bg-subtle: #d3dae5;
  --bs-secondary-bg-subtle: #f0f1f3;
  --bs-success-bg-subtle: #ddeecd;
  --bs-info-bg-subtle: #cff1fc;
  --bs-warning-bg-subtle: #feecd1;
  --bs-danger-bg-subtle: #fadcd9;
  --bs-light-bg-subtle: #fcfdfe;
  --bs-dark-bg-subtle: #909293;
  --bs-primary-border-subtle: #a7b4cc;
  --bs-secondary-border-subtle: #e2e4e7;
  --bs-success-border-subtle: #bcdc9b;
  --bs-info-border-subtle: #9ee2f9;
  --bs-warning-border-subtle: #fdd9a4;
  --bs-danger-border-subtle: #f4bab3;
  --bs-light-border-subtle: #e3e8f1;
  --bs-dark-border-subtle: #6e7173;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 26, 29, 33;
  --bs-font-sans-serif: "Poppins", "Open Sans", 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.35), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 0.75rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #75868f;
  --bs-body-color-rgb: 117, 134, 143;
  --bs-body-bg: #edf1f6;
  --bs-body-bg-rgb: 237, 241, 246;
  --bs-emphasis-color: #1a1d21;
  --bs-emphasis-color-rgb: 26, 29, 33;
  --bs-secondary-color: rgba(117, 134, 143, 0.75);
  --bs-secondary-color-rgb: 117, 134, 143;
  --bs-secondary-bg: #e1e5ea;
  --bs-secondary-bg-rgb: 225, 229, 234;
  --bs-tertiary-color: rgba(117, 134, 143, 0.5);
  --bs-tertiary-color-rgb: 117, 134, 143;
  --bs-tertiary-bg: #d5d9dd;
  --bs-tertiary-bg-rgb: 213, 217, 221;
  --bs-heading-color: #202427;
  --bs-link-color: #0280f5;
  --bs-link-color-rgb: 2, 128, 245;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #41a0f8;
  --bs-link-hover-color-rgb: 65, 160, 248;
  --bs-code-color: #f06292;
  --bs-highlight-color: #75868f;
  --bs-highlight-bg: lemonchiffon;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: rgba(26, 29, 33, 0.1);
  --bs-border-color-translucent: rgba(26, 29, 33, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.75rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 1rem 1rem -0.75rem rgba(var(--bs-box-shadow-color), var(--bs-box-shadow-alpha));
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(var(--bs-box-shadow-color), var(--bs-box-shadow-alpha-sm));
  --bs-box-shadow-lg: 0 0.1rem 0.25rem rgba(var(--bs-box-shadow-color), calc(var(--bs-box-shadow-alpha-lg) / 1.5)), 0 0.125rem 2rem rgba(var(--bs-box-shadow-color), var(--bs-box-shadow-alpha-lg));
  --bs-box-shadow-inset: inset 0 1px 2px rgba(var(--bs-box-shadow-color), var(--bs-box-shadow-alpha-inset));
  --bs-focus-ring-width: 0.2rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), 0.25);
  --bs-form-valid-color: #57a805;
  --bs-form-valid-border-color: #57a805;
  --bs-form-invalid-color: #e45240;
  --bs-form-invalid-border-color: #e45240;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #a6abb2;
  --bs-body-color-rgb: 166, 171, 178;
  --bs-body-bg: #23292f;
  --bs-body-bg-rgb: 35, 41, 47;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(166, 171, 178, 0.75);
  --bs-secondary-color-rgb: 166, 171, 178;
  --bs-secondary-bg: #2e3439;
  --bs-secondary-bg-rgb: 46, 52, 57;
  --bs-tertiary-color: rgba(166, 171, 178, 0.5);
  --bs-tertiary-color-rgb: 166, 171, 178;
  --bs-tertiary-bg: #3d4348;
  --bs-tertiary-bg-rgb: 61, 67, 72;
  --bs-primary-text-emphasis: #a5b2cb;
  --bs-secondary-text-emphasis: #e1e3e6;
  --bs-success-text-emphasis: #badb99;
  --bs-info-text-emphasis: #9ce1f9;
  --bs-warning-text-emphasis: #fdd8a2;
  --bs-danger-text-emphasis: #f4b8b1;
  --bs-light-text-emphasis: #f3f5f9;
  --bs-dark-text-emphasis: #a4a5a6;
  --bs-primary-bg-subtle: #172c53;
  --bs-secondary-bg-subtle: #525457;
  --bs-success-bg-subtle: #274c02;
  --bs-info-bg-subtle: #06526c;
  --bs-warning-bg-subtle: #71480c;
  --bs-danger-bg-subtle: #67251d;
  --bs-light-bg-subtle: #65686c;
  --bs-dark-bg-subtle: #0e1012;
  --bs-primary-border-subtle: #1d3666;
  --bs-secondary-border-subtle: #6d7074;
  --bs-success-border-subtle: #346503;
  --bs-info-border-subtle: #086e90;
  --bs-warning-border-subtle: #965f10;
  --bs-danger-border-subtle: #893126;
  --bs-light-border-subtle: #878b90;
  --bs-dark-border-subtle: #131617;
  --bs-heading-color: #fff;
  --bs-link-color: #0280f5;
  --bs-link-hover-color: #41a0f8;
  --bs-link-color-rgb: 2, 128, 245;
  --bs-link-hover-color-rgb: 65, 160, 248;
  --bs-code-color: #f27aa2;
  --bs-highlight-color: #a6abb2;
  --bs-highlight-bg: #665b02;
  --bs-border-color: #4f5154;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: #9acb69;
  --bs-form-valid-border-color: #9acb69;
  --bs-form-invalid-color: #ef978c;
  --bs-form-invalid-border-color: #ef978c;
}

:root {
  --bs-component-bg: #fff;
  --bs-component-bg-rgb: 255, 255, 255;
  --bs-component-color: #414547;
  --bs-component-color-rgb: 65, 69, 71;
  --bs-component-hover-bg: #d5d9dd;
  --bs-component-hover-bg-rgb: 213, 217, 221;
  --bs-component-hover-color: #1a1d21;
  --bs-component-hover-color-rgb: 26, 29, 33;
  --bs-component-alt-bg: rgba(147, 147, 147, 0.5);
  --bs-component-alt-active-bg: rgba(27, 29, 33, 0.5);
  --bs-form-disabled-opacity: 0.5;
  --bs-box-shadow-color: 27, 23, 65;
  --bs-box-shadow-alpha: 0.25;
  --bs-box-shadow-alpha-xs: 0.075;
  --bs-box-shadow-alpha-sm: 0.125;
  --bs-box-shadow-alpha-lg: 0.25;
  --bs-box-shadow-alpha-inset: 0.1;
  --bs-primary-color: #fff;
  --bs-primary-color-rgb: 255, 255, 255;
  --bs-primary-border: #456092;
}
:root .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1));
}
:root .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(91, 115, 159, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(91, 115, 159, var(--bs-link-underline-opacity, 1));
}

/* Dark Mode */
/* ---------------------------------------------- */
[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-component-bg: #293038;
  --bs-component-bg-rgb: 41, 48, 56;
  --bs-component-color: #bfc4cc;
  --bs-component-color-rgb: 191, 196, 204;
  --bs-component-hover-bg: #3d4348;
  --bs-component-hover-bg-rgb: 61, 67, 72;
  --bs-component-hover-color: #fff;
  --bs-component-hover-color-rgb: 255, 255, 255;
  --bs-form-disabled-opacity: 0.3;
  --bs-box-shadow-color: 0, 0, 0;
  --bs-box-shadow-alpha: 0.25;
  --bs-box-shadow-alpha-xs: 0.175;
  --bs-box-shadow-alpha-sm: 0.225;
  --bs-box-shadow-alpha-lg: 0.4;
  --bs-box-shadow-alpha-inset: 0.5;
}
[data-bs-theme=dark] .text-primary {
  color: rgba(102, 124, 165, var(--bs-text-opacity, 1)) !important;
}
[data-bs-theme=dark] .link-primary {
  --bs-link-primary-color: rgba(102, 124, 165, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(102, 124, 165, var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(135, 152, 185, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(135, 152, 185, var(--bs-link-underline-opacity, 1));
}
[data-bs-theme=dark] .btn-outline-primary {
  --bs-btn-color: #3c6dc8;
  --bs-btn-border-color: #3c6dc8;
}
[data-bs-theme=dark] .btn-outline-secondary {
  --bs-btn-border-color: #64676b;
}
[data-bs-theme=dark] .btn-outline-light {
  --bs-btn-border-color: #4f5154;
}
[data-bs-theme=dark] .dropdown-menu {
  --bs-dropdown-bg: #2d343c;
}

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

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

body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(26, 29, 33, 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: "Ubuntu";
  font-weight: 500;
  line-height: 1.2;
  color: var(--bs-heading-color);
}

h1, .h1 {
  font-size: calc(1.3125rem + 0.75vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 1.875rem;
  }
}

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

h3, .h3 {
  font-size: calc(1.25625rem + 0.075vw);
}
@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.3125rem;
  }
}

h4, .h4 {
  font-size: 1.125rem;
}

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

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

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

abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
  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: 1em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

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

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 1em;
  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.75rem;
  padding-bottom: 0.75rem;
  color: var(--bs-secondary-color);
  text-align: left;
}

th {
  font-weight: 600;
  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;
}

/* -- REBOOT -- */
/* ---------------------------------------------- */
a:where(.h1, .h2, .h3, .h4, .h5, .h6):hover {
  color: var(--bs-link-hover-color);
}

hr {
  border-color: var(--bs-border-color);
  opacity: 1;
}

a:hover:not(.btn):not(.btn-link) {
  text-decoration-thickness: 2px !important;
}

strong {
  color: var(--bs-emphasis-color);
}

::selection {
  color: var(--bs-primary-text-emphasis);
  background-color: var(--bs-primary-bg-subtle);
}

.highlight {
  margin-bottom: 2rem;
}
.highlight pre {
  padding: 1rem;
  border-radius: var(--bs-border-radius);
  margin-bottom: 0;
}

.lead {
  font-size: 0.9375rem;
  font-weight: 400;
}

.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: 0.9375rem;
}
.blockquote > :last-child {
  margin-bottom: 0;
}

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

/* -- TYPOGRAPHY -- */
/* --------------------------------------------------------------------------------- */
/* Blockquote */
/* ---------------------------------------------- */
.blockquote {
  color: var(--bs-emphasis-color);
}
.blockquote .quote:before, .blockquote .quote:after {
  display: inline-block;
  content: "“";
  font-size: 350%;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  height: 0.25em;
  line-height: 1ex;
  vertical-align: middle;
  margin-inline-end: 2%;
  opacity: 0.55;
}
.blockquote .quote:after {
  content: "”";
  line-height: 1.7ex;
  margin-inline: 2% 0;
}

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

/* -- IMAGES -- */
/* --------------------------------------------------------------------------------- */
.img-xs {
  width: 1.75rem;
  height: 1.75rem;
}

.img-sm {
  width: 2.25rem;
  height: 2.25rem;
}

.img-md {
  width: 4rem;
  height: 4rem;
}

.img-lg {
  width: 6rem;
  height: 6rem;
}

.img-xl {
  width: 8rem;
  height: 8rem;
}

.img-xxl {
  width: 16rem;
  height: 16rem;
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 1rem;
  --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: 1rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0%;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0%;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-emphasis-color);
  --bs-table-bg: transparent;
  --bs-table-border-color: rgba(var(--bs-emphasis-color-rgb), 0.07);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-emphasis-color);
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.035);
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: rgba(var(--bs-primary-rgb), 0.2);
  --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.75rem 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.5rem 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: #1a1d21;
  --bs-table-bg: #d3dae5;
  --bs-table-border-color: #c6cdd7;
  --bs-table-striped-bg: #cdd3de;
  --bs-table-striped-color: #1a1d21;
  --bs-table-active-bg: #aeb4be;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #c5ccd6;
  --bs-table-hover-color: #1a1d21;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-secondary {
  --bs-table-color: #1a1d21;
  --bs-table-bg: #f0f1f3;
  --bs-table-border-color: #e1e2e4;
  --bs-table-striped-bg: #e9eaec;
  --bs-table-striped-color: #1a1d21;
  --bs-table-active-bg: #c5c7c9;
  --bs-table-active-color: #1a1d21;
  --bs-table-hover-bg: #e0e1e3;
  --bs-table-hover-color: #1a1d21;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-success {
  --bs-table-color: #1a1d21;
  --bs-table-bg: #ddeecd;
  --bs-table-border-color: #cfdfc1;
  --bs-table-striped-bg: #d6e7c7;
  --bs-table-striped-color: #1a1d21;
  --bs-table-active-bg: #b6c4ab;
  --bs-table-active-color: #1a1d21;
  --bs-table-hover-bg: #cedec0;
  --bs-table-hover-color: #1a1d21;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-info {
  --bs-table-color: #1a1d21;
  --bs-table-bg: #cff1fc;
  --bs-table-border-color: #c2e2ed;
  --bs-table-striped-bg: #c9eaf4;
  --bs-table-striped-color: #1a1d21;
  --bs-table-active-bg: #abc7d0;
  --bs-table-active-color: #1a1d21;
  --bs-table-hover-bg: #c1e1ec;
  --bs-table-hover-color: #1a1d21;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-warning {
  --bs-table-color: #1a1d21;
  --bs-table-bg: #feecd1;
  --bs-table-border-color: #eedec5;
  --bs-table-striped-bg: #f6e5cb;
  --bs-table-striped-color: #1a1d21;
  --bs-table-active-bg: #d0c3ae;
  --bs-table-active-color: #1a1d21;
  --bs-table-hover-bg: #eddcc4;
  --bs-table-hover-color: #1a1d21;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-danger {
  --bs-table-color: #1a1d21;
  --bs-table-bg: #fadcd9;
  --bs-table-border-color: #eacfcc;
  --bs-table-striped-bg: #f2d5d3;
  --bs-table-striped-color: #1a1d21;
  --bs-table-active-bg: #cdb6b4;
  --bs-table-active-color: #1a1d21;
  --bs-table-hover-bg: #e9cecb;
  --bs-table-hover-color: #1a1d21;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-light {
  --bs-table-color: #1a1d21;
  --bs-table-bg: #e1e7f0;
  --bs-table-border-color: #d3d9e2;
  --bs-table-striped-bg: #dae0e9;
  --bs-table-striped-color: #1a1d21;
  --bs-table-active-bg: #b9bfc7;
  --bs-table-active-color: #1a1d21;
  --bs-table-hover-bg: #d2d8e0;
  --bs-table-hover-color: #1a1d21;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-dark {
  --bs-table-color: #fff;
  --bs-table-bg: #202427;
  --bs-table-border-color: #303336;
  --bs-table-striped-bg: #282c2f;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #4d5052;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #313437;
  --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;
  }
}
/* -- TABLES -- */
/* --------------------------------------------------------------------------------- */
.table:not(.table-borderless):not(.table-bordered) > :not(:last-child) > :last-child > * {
  border-bottom-width: 2px;
}

.table-primary {
  --bs-table-bg: var(--bs-primary-bg-subtle);
}

.table-bordered {
  --bs-table-bordered-color: rgba(var(--bs-emphasis-color-rgb), 0.17);
  border-color: var(--bs-table-bordered-color);
}

.table-layout-fixed {
  table-layout: fixed;
}

.table-spaced {
  --bs-table-spaced-spacing: 0.35rem;
  --bs-table-spaced-color: var(--bs-emphasis-color);
  --bs-table-spaced-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
  --bs-table-spaced-border-radius: var(--bs-border-radius);
  border-collapse: separate;
  border-spacing: 0 var(--bs-table-spaced-spacing);
  overflow: visible;
}
.table-spaced td, .table-spaced th {
  background-color: var(--bs-table-spaced-bg);
  color: var(--bs-table-spaced-color);
  border: 0;
}
.table-spaced td:first-child, .table-spaced th:first-child {
  border-top-left-radius: var(--bs-table-spaced-border-radius);
  border-bottom-left-radius: var(--bs-table-spaced-border-radius);
}
.table-spaced td:last-child, .table-spaced th:last-child {
  border-top-right-radius: var(--bs-table-spaced-border-radius);
  border-bottom-right-radius: var(--bs-table-spaced-border-radius);
}
.table-spaced.bg-transparent {
  --bs-table-spaced-bg: transparent !important;
}
.table-spaced.table-dark {
  --bs-table-spaced-bg: #202427;
  --bs-table-spaced-color: #fff;
}

/* -- TOOLBARS -- */
/* --------------------------------------------------------------------------------- */
.toolbar-start {
  margin-bottom: 0.75rem;
}

.toolbar-end {
  align-items: center;
  display: inline-flex;
  flex-direction: row;
}
.toolbar-end > :not(:first-child) {
  margin-left: 0.625rem;
}

@media (min-width: 768px) {
  .toolbar {
    align-items: center;
    display: flex;
  }
  .toolbar-start {
    flex: 1 1 0;
    margin-bottom: 0;
  }
}
.form-label {
  margin-bottom: 0.5rem;
  color: var(--bs-emphasis-color);
}

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

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

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

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

.form-control {
  display: block;
  width: 100%;
  padding: 0.55rem 1rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-emphasis-color);
  appearance: none;
  background-color: var(--bs-component-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  box-shadow: inset 0 0 0 transparent;
  transition: border-color 0.35s ease-in-out, box-shadow 0.35s 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-emphasis-color);
  background-color: var(--bs-component-bg);
  border-color: var(--bs-primary);
  outline: 0;
  box-shadow: inset 0 0 0 transparent, 0 0 0.75rem 0 rgba(0, 0, 0, 0.15);
}
.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: rgba(var(--bs-emphasis-color-rgb), 0.075);
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.55rem 1rem;
  margin: -0.55rem -1rem;
  margin-inline-end: 1rem;
  color: var(--bs-emphasis-color);
  background-color: rgba(var(--bs-tertiary-bg-rgb), 0.35);
  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.25s ease-in-out, background-color 0.25s ease-in-out, border-color 0.25s ease-in-out, box-shadow 0.25s ease-in-out, transform 0.025s 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: 0.55rem 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.9rem + calc(var(--bs-border-width) * 2));
  padding: 0.45rem 0.95rem;
  font-size: 0.65625rem;
  border-radius: var(--bs-border-radius-sm);
}
.form-control-sm::file-selector-button {
  padding: 0.45rem 0.95rem;
  margin: -0.45rem -0.95rem;
  margin-inline-end: 0.95rem;
}

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

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

.form-control-color {
  width: 3rem;
  height: calc(1.5em + 1.1rem + calc(var(--bs-border-width) * 2));
  padding: 0.55rem;
}
.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.9rem + calc(var(--bs-border-width) * 2));
}
.form-control-color.form-control-lg {
  height: calc(1.5em + 1.5rem + 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%2392969c%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.55rem 3rem 0.55rem 1rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-emphasis-color);
  appearance: none;
  background-color: var(--bs-component-bg);
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 16px 12px;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  box-shadow: inset 0 0 0 transparent;
  transition: border-color 0.35s ease-in-out, box-shadow 0.35s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: var(--bs-primary);
  outline: 0;
  box-shadow: inset 0 0 0 transparent, 0 0 0.75rem 0 rgba(0, 0, 0, 0.15);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 1rem;
  background-image: none;
}
.form-select:disabled {
  background-color: rgba(var(--bs-emphasis-color-rgb), 0.075);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--bs-emphasis-color);
}

.form-select-sm {
  padding-top: 0.45rem;
  padding-bottom: 0.45rem;
  padding-left: 0.95rem;
  font-size: 0.65625rem;
  border-radius: var(--bs-border-radius-sm);
}

.form-select-lg {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 1.2rem;
  font-size: 0.9375rem;
  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%23a6abb2%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.125rem;
  padding-left: 1.75em;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.75em;
}

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

.form-check-input {
  --bs-form-check-bg: var(--bs-component-bg);
  flex-shrink: 0;
  width: 1.25em;
  height: 1.25em;
  margin-top: 0.125em;
  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);
  print-color-adjust: exact;
  transition: box-shadow 0.35s;
}
@media (prefers-reduced-motion: reduce) {
  .form-check-input {
    transition: none;
  }
}
.form-check-input[type=checkbox] {
  border-radius: 0.325em;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: var(--bs-primary);
  outline: 0;
  box-shadow: 0 0 0.25rem 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}
.form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  --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=%27var%28--bs-primary-color%29%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e");
}
.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.5;
}

.form-switch {
  padding-left: 1.35em;
}
.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=%27%23fff%27/%3e%3c/svg%3e");
  width: 2.5em;
  margin-left: -1.35em;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2.5em;
  transition: background-color 0.25s ease-in-out, background-position 0.25s 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%23fff%27/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23fff%27/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-right: 1.35em;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
  margin-right: -1.35em;
  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.45;
}

[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.25rem;
  padding: 0;
  appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 2px var(--bs-component-bg), 0 0 1rem var(--bs-primary);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 2px var(--bs-component-bg), 0 0 1rem var(--bs-primary);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 0.85rem;
  height: 0.85rem;
  margin-top: -0.3rem;
  appearance: none;
  background-color: var(--bs-primary);
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0 0 3px var(--bs-component-bg), 0 0 0.75rem var(--bs-primary);
  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 {
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: var(--bs-form-range-thumb-active-bg);
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.25rem;
  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: 0.85rem;
  height: 0.85rem;
  appearance: none;
  background-color: var(--bs-primary);
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0 0 3px var(--bs-component-bg), 0 0 0.75rem var(--bs-primary);
  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 {
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: var(--bs-form-range-thumb-active-bg);
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.25rem;
  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 1rem;
  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 1rem;
}
.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.5rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-component-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: rgba(var(--bs-body-color-rgb), 0.65);
}
.form-floating > :disabled ~ label::after,
.form-floating > .form-control:disabled ~ label::after {
  background-color: rgba(var(--bs-emphasis-color-rgb), 0.075);
}

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

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.55rem 1rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-emphasis-color);
  text-align: center;
  white-space: nowrap;
  background-color: rgba(var(--bs-tertiary-bg-rgb), 0.1);
  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.75rem 1.2rem;
  font-size: 0.9375rem;
  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.45rem 0.95rem;
  font-size: 0.65625rem;
  border-radius: var(--bs-border-radius-sm);
}

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

.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.5rem 0.75rem;
  margin-top: 0.1rem;
  font-size: 0.65625rem;
  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 + 1.1rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%2357a805%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.275rem) center;
  background-size: calc(0.75em + 0.55rem) calc(0.75em + 0.55rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: inset 0 0 0 transparent, 0 0 0.25rem 0.2rem rgba(var(--bs-success-rgb), 0.25);
}

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

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

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

.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.25rem 0.2rem 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.5rem 0.75rem;
  margin-top: 0.1rem;
  font-size: 0.65625rem;
  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 + 1.1rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23e45240%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23e45240%27 stroke=%27none%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.275rem) center;
  background-size: calc(0.75em + 0.55rem) calc(0.75em + 0.55rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: inset 0 0 0 transparent, 0 0 0.25rem 0.2rem rgba(var(--bs-danger-rgb), 0.25);
}

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

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

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

.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.25rem 0.2rem 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;
}

/* -- FORMS -- */
/* --------------------------------------------------------------------------------- */
.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 {
  background-color: transparent;
}

.form-control:disabled, .form-control-plaintext:disabled, .form-select:disabled {
  opacity: var(--bs-form-disabled-opacity);
}

.form-check-input:not(:checked):not(:indeterminate):disabled {
  background-color: rgba(var(--bs-emphasis-color-rgb), 0.075);
}

.form-switch {
  align-items: center;
  display: flex;
  margin: 0;
}
.form-switch .form-check-input {
  margin-top: 0;
  height: 1.35em;
}
.form-switch .form-check-input:hover, .form-switch .form-check-input + .form-check-label:hover {
  cursor: pointer;
}
.form-switch .form-check-input:not(:checked) {
  background-color: var(--bs-tertiary-color);
  border-color: var(--bs-tertiary-color);
}

.form-range {
  --bs-form-range-thumb-active-bg: #1f3a6c;
}

.range-bubble {
  background: var(--bs-primary);
  border-radius: var(--bs-border-radius);
  color: var(--bs-primary-color);
  left: 50%;
  padding: 0.5rem 0.75rem;
  position: absolute;
  transform: translateX(-50%) translateY(calc(-100% - 10px));
}
.range-bubble::after {
  content: "";
  position: absolute;
  inset: auto auto -4px 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 5px 5px 0 5px;
  border-color: var(--bs-primary) transparent transparent transparent;
}

.form-check.form-check-alt .form-check-input {
  background-color: var(--bs-component-alt-bg);
  border-color: var(--bs-component-alt-bg);
}
.form-check.form-check-alt .form-check-input:checked {
  background-color: var(--bs-component-alt-active-bg);
  border-color: var(--bs-component-alt-active-bg);
}

.input-group > .input-group-text:first-child {
  border-right-width: 0;
}
.input-group > .input-group-text:last-child {
  border-left-width: 0;
}
.input-group > .input-group-text:not(:first-child):not(:last-child) {
  border-left-width: 0;
  border-right-width: 0;
}
.input-group > .input-group-text:first-child + .input-group-text {
  border-left-width: var(--bs-border-width);
}
.input-group > .input-group-text + .input-group-text:last-child {
  border-left-width: var(--bs-border-width);
}

.btn {
  --bs-btn-padding-x: 1rem;
  --bs-btn-padding-y: 0.55rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 0.75rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.5;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(26, 29, 33, 0.075);
  --bs-btn-disabled-opacity: 0.45;
  --bs-btn-focus-box-shadow: 0 0 0 0.2rem 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;
  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);
  box-shadow: var(--bs-btn-box-shadow);
  transition: color 0.25s ease-in-out, background-color 0.25s ease-in-out, border-color 0.25s ease-in-out, box-shadow 0.25s ease-in-out, transform 0.025s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}
.btn-check + .btn:hover {
  color: var(--bs-btn-color);
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-border-color);
}
.btn:focus-visible {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-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);
  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, .nav-tabs .nav-item > .btn.nav-link:disabled, fieldset:disabled .btn {
  color: var(--bs-btn-disabled-color);
  pointer-events: none;
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  opacity: var(--bs-btn-disabled-opacity);
  box-shadow: none;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #24447f;
  --bs-btn-border-color: #24447f;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #1f3a6c;
  --bs-btn-hover-border-color: #1d3666;
  --bs-btn-focus-shadow-rgb: 69, 96, 146;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #193059;
  --bs-btn-active-border-color: #1b335f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #24447f;
  --bs-btn-disabled-border-color: #24447f;
}

.btn-secondary {
  --bs-btn-color: #1a1d21;
  --bs-btn-bg: #b6bbc2;
  --bs-btn-border-color: #b6bbc2;
  --bs-btn-hover-color: #1a1d21;
  --bs-btn-hover-bg: #c1c5cb;
  --bs-btn-hover-border-color: #bdc2c8;
  --bs-btn-focus-shadow-rgb: 159, 163, 170;
  --bs-btn-active-color: #1a1d21;
  --bs-btn-active-bg: #c5c9ce;
  --bs-btn-active-border-color: #bdc2c8;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #1a1d21;
  --bs-btn-disabled-bg: #b6bbc2;
  --bs-btn-disabled-border-color: #b6bbc2;
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #57a805;
  --bs-btn-border-color: #57a805;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #4a8f04;
  --bs-btn-hover-border-color: #468604;
  --bs-btn-focus-shadow-rgb: 112, 181, 43;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #3d7604;
  --bs-btn-active-border-color: #417e04;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #57a805;
  --bs-btn-disabled-border-color: #57a805;
}

.btn-info {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0db7f0;
  --bs-btn-border-color: #0db7f0;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0b9ccc;
  --bs-btn-hover-border-color: #0a92c0;
  --bs-btn-focus-shadow-rgb: 49, 194, 242;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0980a8;
  --bs-btn-active-border-color: #0a89b4;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0db7f0;
  --bs-btn-disabled-border-color: #0db7f0;
}

.btn-warning {
  --bs-btn-color: #fff;
  --bs-btn-bg: #fa9f1b;
  --bs-btn-border-color: #fa9f1b;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #d58717;
  --bs-btn-hover-border-color: #c87f16;
  --bs-btn-focus-shadow-rgb: 251, 173, 61;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #af6f13;
  --bs-btn-active-border-color: #bc7714;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #fa9f1b;
  --bs-btn-disabled-border-color: #fa9f1b;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #e45240;
  --bs-btn-border-color: #e45240;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #c24636;
  --bs-btn-hover-border-color: #b64233;
  --bs-btn-focus-shadow-rgb: 232, 108, 93;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #a0392d;
  --bs-btn-active-border-color: #ab3e30;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #e45240;
  --bs-btn-disabled-border-color: #e45240;
}

.btn-light {
  --bs-btn-color: #1a1d21;
  --bs-btn-bg: #e1e7f0;
  --bs-btn-border-color: #e1e7f0;
  --bs-btn-hover-color: #1a1d21;
  --bs-btn-hover-bg: #bfc4cc;
  --bs-btn-hover-border-color: #b4b9c0;
  --bs-btn-focus-shadow-rgb: 195, 201, 209;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #9ea2a8;
  --bs-btn-active-border-color: #a9adb4;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #1a1d21;
  --bs-btn-disabled-bg: #e1e7f0;
  --bs-btn-disabled-border-color: #e1e7f0;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #202427;
  --bs-btn-border-color: #202427;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #414547;
  --bs-btn-hover-border-color: #363a3d;
  --bs-btn-focus-shadow-rgb: 65, 69, 71;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4d5052;
  --bs-btn-active-border-color: #363a3d;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #202427;
  --bs-btn-disabled-border-color: #202427;
}

.btn-outline-primary {
  --bs-btn-color: #24447f;
  --bs-btn-border-color: #24447f;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #24447f;
  --bs-btn-hover-border-color: #24447f;
  --bs-btn-focus-shadow-rgb: 36, 68, 127;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #24447f;
  --bs-btn-active-border-color: #24447f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #24447f;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #24447f;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: #b6bbc2;
  --bs-btn-border-color: #b6bbc2;
  --bs-btn-hover-color: #1a1d21;
  --bs-btn-hover-bg: #b6bbc2;
  --bs-btn-hover-border-color: #b6bbc2;
  --bs-btn-focus-shadow-rgb: 182, 187, 194;
  --bs-btn-active-color: #1a1d21;
  --bs-btn-active-bg: #b6bbc2;
  --bs-btn-active-border-color: #b6bbc2;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #b6bbc2;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #b6bbc2;
  --bs-gradient: none;
}

.btn-outline-success {
  --bs-btn-color: #57a805;
  --bs-btn-border-color: #57a805;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #57a805;
  --bs-btn-hover-border-color: #57a805;
  --bs-btn-focus-shadow-rgb: 87, 168, 5;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #57a805;
  --bs-btn-active-border-color: #57a805;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #57a805;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #57a805;
  --bs-gradient: none;
}

.btn-outline-info {
  --bs-btn-color: #0db7f0;
  --bs-btn-border-color: #0db7f0;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0db7f0;
  --bs-btn-hover-border-color: #0db7f0;
  --bs-btn-focus-shadow-rgb: 13, 183, 240;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0db7f0;
  --bs-btn-active-border-color: #0db7f0;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #0db7f0;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0db7f0;
  --bs-gradient: none;
}

.btn-outline-warning {
  --bs-btn-color: #fa9f1b;
  --bs-btn-border-color: #fa9f1b;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #fa9f1b;
  --bs-btn-hover-border-color: #fa9f1b;
  --bs-btn-focus-shadow-rgb: 250, 159, 27;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #fa9f1b;
  --bs-btn-active-border-color: #fa9f1b;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #fa9f1b;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #fa9f1b;
  --bs-gradient: none;
}

.btn-outline-danger {
  --bs-btn-color: #e45240;
  --bs-btn-border-color: #e45240;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #e45240;
  --bs-btn-hover-border-color: #e45240;
  --bs-btn-focus-shadow-rgb: 228, 82, 64;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #e45240;
  --bs-btn-active-border-color: #e45240;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #e45240;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #e45240;
  --bs-gradient: none;
}

.btn-outline-light {
  --bs-btn-color: #e1e7f0;
  --bs-btn-border-color: #e1e7f0;
  --bs-btn-hover-color: #1a1d21;
  --bs-btn-hover-bg: #e1e7f0;
  --bs-btn-hover-border-color: #e1e7f0;
  --bs-btn-focus-shadow-rgb: 225, 231, 240;
  --bs-btn-active-color: #1a1d21;
  --bs-btn-active-bg: #e1e7f0;
  --bs-btn-active-border-color: #e1e7f0;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #e1e7f0;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #e1e7f0;
  --bs-gradient: none;
}

.btn-outline-dark {
  --bs-btn-color: #202427;
  --bs-btn-border-color: #202427;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #202427;
  --bs-btn-hover-border-color: #202427;
  --bs-btn-focus-shadow-rgb: 32, 36, 39;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #202427;
  --bs-btn-active-border-color: #202427;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(26, 29, 33, 0.125);
  --bs-btn-disabled-color: #202427;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #202427;
  --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: #cbd0d8;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 40, 147, 247;
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}

.btn-lg, .btn-group-lg > .btn {
  --bs-btn-padding-y: 0.75rem;
  --bs-btn-padding-x: 1.2rem;
  --bs-btn-font-size: 0.9375rem;
  --bs-btn-border-radius: var(--bs-border-radius-lg);
}

.btn-sm, .btn-group-sm > .btn {
  --bs-btn-padding-y: 0.45rem;
  --bs-btn-padding-x: 0.95rem;
  --bs-btn-font-size: 0.65625rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
}

/* -- BUTTONS -- */
/* --------------------------------------------------------------------------------- */
.btn {
  box-shadow: none;
}

.btn-primary {
  box-shadow: 0 0 0 var(--bs-primary-rgb), 0 0 0 rgba(26, 29, 33, 0.25);
}
.btn-primary:hover {
  box-shadow: 0 0.1rem 0.5rem rgba(var(--bs-primary-rgb), 0.5), 0 0.25rem 1rem rgba(var(--bs-primary-rgb), 0.5);
}
.btn-primary:active {
  box-shadow: 0 0 0.5rem rgba(var(--bs-primary-rgb), 1), 0 0 0.75rem rgba(26, 29, 33, 0.2) !important;
}
.btn-primary:focus, .btn-primary:active:focus {
  box-shadow: 0 0 0 1px rgba(var(--bs-primary-rgb), 1), 0 0 0.7rem 0.25rem rgba(var(--bs-primary-rgb), 0.4) !important;
}

.btn-outline-primary:focus {
  box-shadow: 0 0 0 0.1rem rgba(var(--bs-primary-rgb), 0.5);
}

.btn-secondary {
  box-shadow: 0 0 0 #b6bbc2, 0 0 0 rgba(26, 29, 33, 0.25);
}
.btn-secondary:hover {
  box-shadow: 0 0.1rem 0.5rem rgba(182, 187, 194, 0.5), 0 0.25rem 1rem rgba(182, 187, 194, 0.5);
}
.btn-secondary:active {
  box-shadow: 0 0 0.5rem #b6bbc2, 0 0 0.75rem rgba(26, 29, 33, 0.2) !important;
}
.btn-secondary:focus, .btn-secondary:active:focus {
  box-shadow: 0 0 0 1px #b6bbc2, 0 0 0.7rem 0.25rem rgba(182, 187, 194, 0.4) !important;
}

.btn-outline-secondary:focus {
  box-shadow: 0 0 0 0.1rem rgba(182, 187, 194, 0.5);
}

.btn-success {
  box-shadow: 0 0 0 #57a805, 0 0 0 rgba(26, 29, 33, 0.25);
}
.btn-success:hover {
  box-shadow: 0 0.1rem 0.5rem rgba(87, 168, 5, 0.5), 0 0.25rem 1rem rgba(87, 168, 5, 0.5);
}
.btn-success:active {
  box-shadow: 0 0 0.5rem #57a805, 0 0 0.75rem rgba(26, 29, 33, 0.2) !important;
}
.btn-success:focus, .btn-success:active:focus {
  box-shadow: 0 0 0 1px #57a805, 0 0 0.7rem 0.25rem rgba(87, 168, 5, 0.4) !important;
}

.btn-outline-success:focus {
  box-shadow: 0 0 0 0.1rem rgba(87, 168, 5, 0.5);
}

.btn-info {
  box-shadow: 0 0 0 #0db7f0, 0 0 0 rgba(26, 29, 33, 0.25);
}
.btn-info:hover {
  box-shadow: 0 0.1rem 0.5rem rgba(13, 183, 240, 0.5), 0 0.25rem 1rem rgba(13, 183, 240, 0.5);
}
.btn-info:active {
  box-shadow: 0 0 0.5rem #0db7f0, 0 0 0.75rem rgba(26, 29, 33, 0.2) !important;
}
.btn-info:focus, .btn-info:active:focus {
  box-shadow: 0 0 0 1px #0db7f0, 0 0 0.7rem 0.25rem rgba(13, 183, 240, 0.4) !important;
}

.btn-outline-info:focus {
  box-shadow: 0 0 0 0.1rem rgba(13, 183, 240, 0.5);
}

.btn-warning {
  box-shadow: 0 0 0 #fa9f1b, 0 0 0 rgba(26, 29, 33, 0.25);
}
.btn-warning:hover {
  box-shadow: 0 0.1rem 0.5rem rgba(250, 159, 27, 0.5), 0 0.25rem 1rem rgba(250, 159, 27, 0.5);
}
.btn-warning:active {
  box-shadow: 0 0 0.5rem #fa9f1b, 0 0 0.75rem rgba(26, 29, 33, 0.2) !important;
}
.btn-warning:focus, .btn-warning:active:focus {
  box-shadow: 0 0 0 1px #fa9f1b, 0 0 0.7rem 0.25rem rgba(250, 159, 27, 0.4) !important;
}

.btn-outline-warning:focus {
  box-shadow: 0 0 0 0.1rem rgba(250, 159, 27, 0.5);
}

.btn-danger {
  box-shadow: 0 0 0 #e45240, 0 0 0 rgba(26, 29, 33, 0.25);
}
.btn-danger:hover {
  box-shadow: 0 0.1rem 0.5rem rgba(228, 82, 64, 0.5), 0 0.25rem 1rem rgba(228, 82, 64, 0.5);
}
.btn-danger:active {
  box-shadow: 0 0 0.5rem #e45240, 0 0 0.75rem rgba(26, 29, 33, 0.2) !important;
}
.btn-danger:focus, .btn-danger:active:focus {
  box-shadow: 0 0 0 1px #e45240, 0 0 0.7rem 0.25rem rgba(228, 82, 64, 0.4) !important;
}

.btn-outline-danger:focus {
  box-shadow: 0 0 0 0.1rem rgba(228, 82, 64, 0.5);
}

.btn-light {
  box-shadow: 0 0 0 #e1e7f0, 0 0 0 rgba(26, 29, 33, 0.25);
}
.btn-light:hover {
  box-shadow: 0 0.1rem 0.5rem rgba(225, 231, 240, 0.5), 0 0.25rem 1rem rgba(225, 231, 240, 0.5);
}
.btn-light:active {
  box-shadow: 0 0 0.5rem #e1e7f0, 0 0 0.75rem rgba(26, 29, 33, 0.2) !important;
}
.btn-light:focus, .btn-light:active:focus {
  box-shadow: 0 0 0 1px #e1e7f0, 0 0 0.7rem 0.25rem rgba(225, 231, 240, 0.4) !important;
}

.btn-outline-light:focus {
  box-shadow: 0 0 0 0.1rem rgba(225, 231, 240, 0.5);
}

.btn-dark {
  box-shadow: 0 0 0 #202427, 0 0 0 rgba(26, 29, 33, 0.25);
}
.btn-dark:hover {
  box-shadow: 0 0.1rem 0.5rem rgba(32, 36, 39, 0.5), 0 0.25rem 1rem rgba(32, 36, 39, 0.5);
}
.btn-dark:active {
  box-shadow: 0 0 0.5rem #202427, 0 0 0.75rem rgba(26, 29, 33, 0.2) !important;
}
.btn-dark:focus, .btn-dark:active:focus {
  box-shadow: 0 0 0 1px #202427, 0 0 0.7rem 0.25rem rgba(32, 36, 39, 0.4) !important;
}

.btn-outline-dark:focus {
  box-shadow: 0 0 0 0.1rem rgba(32, 36, 39, 0.5);
}

.btn-primary {
  --bs-btn-color: var(--bs-primary-color);
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: var(--bs-primary-color);
  --bs-btn-hover-bg: var(--bs-btn-primary-hover-bg);
  --bs-btn-hover-border-color: var(--bs-btn-primary-hover-bg);
  --bs-btn-active-color: var(--bs-primary-color);
  --bs-btn-active-bg: var(--bs-btn-primary-active-bg);
  --bs-btn-active-border-color: var(--bs-btn-primary-active-bg);
  --bs-btn-disabled-color: var(--bs-primary-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-bg);
  --bs-btn-primary-hover-bg: #1f3a6c;
  --bs-btn-primary-active-bg: #193059;
}

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: var(--bs-primary-color);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-active-color: var(--bs-primary-color);
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
  --bs-btn-disabled-color: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
}

.btn.bg-transparent:hover, .btn.bg-transparent:active, .btn.bg-transparent:focus {
  --bs-btn-hover-color: var(--bs-body-color);
  --bs-btn-active-color: var(--bs-body-color);
}

.btn-xs {
  --bs-btn-padding-y: 0.15rem;
  --bs-btn-padding-x: 0.35rem;
  --bs-btn-font-size: 0.65625rem;
  --bs-btn-border-radius: 0.25rem;
}

.btn i, .btn .icon {
  user-select: none;
  pointer-events: none;
}

.btn[aria-pressed=true] .icon-active {
  display: unset;
}
.btn[aria-pressed=true] .icon-inactive {
  display: none;
}
.btn[aria-pressed=false] .icon-active {
  display: none;
}
.btn[aria-pressed=false] .icon-inactive {
  display: unset;
}

.btn-outline-secondary {
  --bs-btn-color: var( --bs-light-text-emphasis);
}

.btn-outline-light, .btn-outline-light:disabled, .btn-outline-light.disabled, .nav-tabs .nav-item > .btn-outline-light.nav-link:disabled {
  color: var(--bs-light-text-emphasis);
  border-color: var(--bs-btn-border-color);
}

.btn-outline-dark, .btn-outline-dark:disabled, .btn-outline-dark.disabled, .nav-tabs .nav-item > .btn-outline-dark.nav-link:disabled {
  color: var(--bs-dark-text-emphasis);
}

.btn-icon {
  align-items: center;
  box-sizing: content-box;
  display: inline-flex;
  height: calc(var(--bs-btn-padding-y) * 2 + var(--bs-btn-line-height) * 1em);
  justify-content: center;
  padding: 0;
  width: calc(var(--bs-btn-padding-y) * 2 + var(--bs-btn-line-height) * 1em);
}
.btn-icon.dropdown-toggle-split {
  padding: 0;
}

.btn-link {
  transition-duration: 0s;
}

.btn.bg-transparent:not(.shadow-none):hover {
  box-shadow: none;
}
.btn.bg-transparent:not(.shadow-none):active {
  box-shadow: 0 0 0.75rem rgba(26, 29, 33, 0.2) !important;
}
.btn.bg-transparent:not(.shadow-none):focus {
  box-shadow: 0 0 0.7rem rgba(26, 29, 33, 0.2) !important;
}

.btn-link {
  transition-property: color, background-color;
  box-shadow: none;
  border-radius: 0;
  color: var(--bs-link-hover-color);
  text-decoration: none !important;
}
.btn-link.text-decoration-underline {
  text-decoration: underline dotted !important;
  text-underline-offset: 3px;
}
.btn-link:where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6) {
  color: var(--bs-emphasis-color);
}
.btn-link:focus {
  box-shadow: 0 1px 0 0 !important;
}
.btn-link:hover, .btn-link:active {
  box-shadow: 0 2px 0 0 !important;
}
.btn-link[class*=text-]:not([class*=text-decoration-]):not([class*=text-truncate]):hover, .btn-link[class*=text-]:not([class*=text-decoration-]):not([class*=text-truncate]):active, .btn-link[class*=text-]:not([class*=text-decoration-]):not([class*=text-truncate]):focus {
  color: var(--bs-primary);
}

.btn-hover:not(:hover):not(:focus):not(:active):not(.active) {
  background-color: transparent !important;
  border-color: transparent !important;
}
.btn-hover:not(:hover):not(:focus):not(:active):not(.active):not(.text-inherit):not([class*=bg-]) {
  color: var(--bs-headings-color);
}
.btn-hover:not(:hover):not(:focus):not(:active):not(.active).text-inherit, .btn-hover:not(:hover):not(:focus):not(:active):not(.active)[class*=bg-] {
  color: inherit !important;
}

.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.5rem;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 0.75rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-component-bg);
  --bs-dropdown-border-color: transparent;
  --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);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: var(--bs-box-shadow-lg);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: var(--bs-link-hover-color);
  --bs-dropdown-link-hover-bg: rgba(var(--bs-body-bg-rgb), 0.75);
  --bs-dropdown-link-active-color: var(--bs-primary-color);
  --bs-dropdown-link-active-bg: var(--bs-primary);
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 0.5rem;
  --bs-dropdown-item-padding-y: 0.4rem;
  --bs-dropdown-header-color: #cbd0d8;
  --bs-dropdown-header-padding-x: 0.5rem;
  --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);
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .nav-tabs .nav-item > .dropdown-item.nav-link:disabled, .dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

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

.dropdown-header {
  display: block;
  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: 0.65625rem;
  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: #edf1f6;
  --bs-dropdown-bg: #202427;
  --bs-dropdown-border-color: transparent;
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #edf1f6;
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-divider-bg: var(--bs-border-color);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: var(--bs-primary-color);
  --bs-dropdown-link-active-bg: var(--bs-primary);
  --bs-dropdown-link-disabled-color: #e1e7f0;
  --bs-dropdown-header-color: #e1e7f0;
}

/* -- DROPDOWN -- */
/* --------------------------------------------------------------------------------- */
.dropdown-menu {
  display: block;
  margin-bottom: 2rem;
  margin-top: 2rem;
  opacity: 0;
  pointer-events: none;
  top: 0;
  touch-action: none;
  transition-timing-function: ease;
  transition: visibility 0.35s, margin 0.35s ease-in-out, opacity 0.35s, transform 0s linear 0.35s;
  transform: scale(0);
  visibility: hidden;
}
.dropdown-menu.show {
  box-shadow: var(--bs-box-shadow-lg);
  margin: 0 !important;
  opacity: 1;
  pointer-events: visible;
  touch-action: auto;
  transition-timing-function: ease;
  transition: visibility 0.35s, margin 0.35s ease-in-out, opacity 0.35s, transform 0s;
  visibility: visible;
}
.dropdown-menu .dropdown-item-text, .dropdown-menu .dropdown-item {
  margin-bottom: 0.15rem;
}
.dropdown-menu[data-popper-placement*=top-] {
  top: auto !important;
}
.dropend > .dropdown-menu, .dropstart > .dropdown-menu {
  margin-bottom: 0;
  margin-left: -2rem;
  margin-right: -2rem;
  margin-top: 0;
}

.dropdown-menu .dropdown-divider {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  background-color: transparent;
}

.dropdown-block-header {
  margin: -0.5rem -0.5rem;
  border-start-start-radius: var(--bs-border-radius);
  border-start-end-radius: var(--bs-border-radius);
}

.mega-dropdown {
  max-width: 100vw;
  width: max-content;
}

@media (min-width: 992px) {
  .mega-dropdown {
    max-width: 75vw;
  }
}
.dropdown-item {
  border-radius: min(var(--bs-border-radius) / 2, 0.45rem);
}

.dropdown-menu[data-bs-popper], .mst {
  top: 100% !important;
}

.mot {
  top: auto !important;
  bottom: 0 !important;
}

.mol {
  left: auto !important;
  right: 0 !important;
}

.dropdown-menu-end {
  left: auto !important;
  right: 0 !important;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    left: 0 !important;
    right: auto !important;
  }
  .dropdown-menu-sm-end {
    left: auto !important;
    right: 0 !important;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    left: 0 !important;
    right: auto !important;
  }
  .dropdown-menu-md-end {
    left: auto !important;
    right: 0 !important;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    left: 0 !important;
    right: auto !important;
  }
  .dropdown-menu-lg-end {
    left: auto !important;
    right: 0 !important;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    left: 0 !important;
    right: auto !important;
  }
  .dropdown-menu-xl-end {
    left: auto !important;
    right: 0 !important;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    left: 0 !important;
    right: auto !important;
  }
  .dropdown-menu-xxl-end {
    left: auto !important;
    right: 0 !important;
  }
}
.navbar-slidedown .dropdown-menu, .navbar-nav .dropdown-menu {
  margin: 0;
  max-height: 0;
  opacity: 1;
  overflow: hidden;
  padding: 0;
  transition: max-height 1s;
  visibility: visible;
}
.navbar-slidedown .dropdown-menu.show, .navbar-nav .dropdown-menu.show {
  max-height: 500px;
}
.navbar-slidedown .dropdown-menu > *, .navbar-nav .dropdown-menu > * {
  margin: 0.5rem 0.5rem;
}

@media (min-width: 576px) {
  .navbar-expand-sm .dropdown-menu {
    margin-bottom: 2rem;
    margin-top: 2rem;
    max-height: none;
    opacity: 0;
    visibility: hidden;
    padding: 0.5rem 0.5rem;
    transition-timing-function: ease;
    transition: visibility 0.35s, margin 0.35s ease-in-out, opacity 0.35s, transform 0s linear 0.35s;
  }
  .navbar-expand-sm .dropdown-menu.show {
    margin: 0 !important;
    opacity: 1;
    visibility: visible;
  }
  .navbar-expand-sm .dropdown-menu > * {
    margin: 0;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md .dropdown-menu {
    margin-bottom: 2rem;
    margin-top: 2rem;
    max-height: none;
    opacity: 0;
    visibility: hidden;
    padding: 0.5rem 0.5rem;
    transition-timing-function: ease;
    transition: visibility 0.35s, margin 0.35s ease-in-out, opacity 0.35s, transform 0s linear 0.35s;
  }
  .navbar-expand-md .dropdown-menu.show {
    margin: 0 !important;
    opacity: 1;
    visibility: visible;
  }
  .navbar-expand-md .dropdown-menu > * {
    margin: 0;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg .dropdown-menu {
    margin-bottom: 2rem;
    margin-top: 2rem;
    max-height: none;
    opacity: 0;
    visibility: hidden;
    padding: 0.5rem 0.5rem;
    transition-timing-function: ease;
    transition: visibility 0.35s, margin 0.35s ease-in-out, opacity 0.35s, transform 0s linear 0.35s;
  }
  .navbar-expand-lg .dropdown-menu.show {
    margin: 0 !important;
    opacity: 1;
    visibility: visible;
  }
  .navbar-expand-lg .dropdown-menu > * {
    margin: 0;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl .dropdown-menu {
    margin-bottom: 2rem;
    margin-top: 2rem;
    max-height: none;
    opacity: 0;
    visibility: hidden;
    padding: 0.5rem 0.5rem;
    transition-timing-function: ease;
    transition: visibility 0.35s, margin 0.35s ease-in-out, opacity 0.35s, transform 0s linear 0.35s;
  }
  .navbar-expand-xl .dropdown-menu.show {
    margin: 0 !important;
    opacity: 1;
    visibility: visible;
  }
  .navbar-expand-xl .dropdown-menu > * {
    margin: 0;
  }
}
@media (min-width: 1400px) {
  .navbar-expand-xxl .dropdown-menu {
    margin-bottom: 2rem;
    margin-top: 2rem;
    max-height: none;
    opacity: 0;
    visibility: hidden;
    padding: 0.5rem 0.5rem;
    transition-timing-function: ease;
    transition: visibility 0.35s, margin 0.35s ease-in-out, opacity 0.35s, transform 0s linear 0.35s;
  }
  .navbar-expand-xxl .dropdown-menu.show {
    margin: 0 !important;
    opacity: 1;
    visibility: visible;
  }
  .navbar-expand-xxl .dropdown-menu > * {
    margin: 0;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

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

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

.dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}
.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.7125rem;
  padding-left: 0.7125rem;
}

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

.btn-group.show .dropdown-toggle {
  box-shadow: inset 0 3px 5px rgba(26, 29, 33, 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: 1.25rem;
  --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: rgba(var(--bs-secondary-color-rgb), 0.5);
  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.25rem 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}
.nav-link.disabled, .nav-tabs .nav-item > .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: transparent;
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-component-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color-translucent);
  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: var(--bs-primary-color);
  --bs-nav-pills-link-active-bg: var(--bs-primary);
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}

.nav-underline {
  --bs-nav-underline-gap: 0.0625rem;
  --bs-nav-underline-border-width: 0.1875rem;
  --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;
}

/* -- NAVS -- */
/* --------------------------------------------------------------------------------- */
.nav.flex-column {
  flex-wrap: nowrap;
}
.nav:not(.nav-pills) .nav-link.active {
  font-weight: 700;
}
.nav:not(.nav-pills) .nav-link i, .nav:not(.nav-pills) .nav-link .nav-icon {
  opacity: 0.5;
}

.nav-tabs .nav-link {
  align-items: center;
  background-color: rgba(var(--bs-emphasis-color-rgb), 0.05);
  border-bottom: 0;
  color: var(--bs-body-color);
  display: flex;
  margin-right: 1px;
  min-height: 2.5rem;
}
.nav-tabs .nav-link.disabled, .nav-tabs .nav-item > .nav-link:disabled, .nav-tabs .nav-link:disabled {
  background-color: rgba(var(--bs-emphasis-color-rgb), 0.05);
  opacity: 0.5;
}
.nav-tabs .nav-link:hover:not(.disabled):not(.active) {
  background-color: rgba(var(--bs-emphasis-color-rgb), 0.075);
}
.nav-tabs .dropdown-menu {
  border-top-left-radius: var(--bs-border-radius);
  border-top-right-radius: var(--bs-border-radius);
  margin-top: 2rem;
}

.nav-pills .nav-link {
  color: var(--bs-body-color);
}
.nav-pills .nav-link.disabled, .nav-pills .nav-tabs .nav-item > .nav-link:disabled, .nav-tabs .nav-pills .nav-item > .nav-link:disabled, .nav-pills .nav-link:disabled {
  opacity: 0.5;
}
.nav-pills .nav-link:hover:not(.disabled):not(.active) {
  color: var(--bs-heading-color);
}

.tab-base .nav-tabs, .tab-base .nav-tabs .nav-link {
  border: 0;
}
.tab-base .tab-content {
  background-color: var(--bs-component-bg);
  border-top-right-radius: var(--bs-border-radius);
  border-bottom-left-radius: var(--bs-border-radius);
  border-bottom-right-radius: var(--bs-border-radius);
  padding: 1.25rem;
}
.tab-base .nav-underline {
  background-color: var(--bs-component-bg);
  border-top-left-radius: var(--bs-border-radius);
  border-top-right-radius: var(--bs-border-radius);
  padding-top: 0.5rem;
}
.tab-base .nav-underline ~ .tab-content {
  border-top-right-radius: 0;
}
.tab-base .nav-tabs.justify-content-end ~ .tab-content {
  border-top-left-radius: var(--bs-border-radius);
  border-top-right-radius: 0;
}
.tab-base.tab-vertical {
  align-items: flex-start;
  display: flex;
}
.tab-base.tab-vertical .nav-item, .tab-base.tab-vertical .nav-link {
  width: 100%;
}
.tab-base.tab-vertical .nav-tabs .nav-link {
  border-bottom-left-radius: var(--bs-border-radius);
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
  margin-bottom: 2px;
}
.tab-base.tab-vertical .nav-pills ~ .tab-content {
  border-radius: var(--bs-border-radius);
}

.nav-component .nav-link:not(.active):not(:focus):not(:hover):not(:active) {
  color: inherit;
}

.navbar {
  --bs-navbar-padding-x: 0;
  --bs-navbar-padding-y: 0.5rem;
  --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);
  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
  --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-padding-y: 0.546875rem;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 0.9375rem;
  --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-nav-link-padding-x: 0.5rem;
  --bs-navbar-toggler-padding-y: 0.25rem;
  --bs-navbar-toggler-padding-x: 0.75rem;
  --bs-navbar-toggler-font-size: 0.9375rem;
  --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%28117, 134, 143, 0.75%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
  --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
  --bs-navbar-toggler-border-radius: var(--bs-border-radius);
  --bs-navbar-toggler-focus-width: 0.2rem;
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  padding-top: var(--bs-navbar-brand-padding-y);
  padding-bottom: var(--bs-navbar-brand-padding-y);
  margin-right: var(--bs-navbar-brand-margin-end);
  font-size: var(--bs-navbar-brand-font-size);
  color: var(--bs-navbar-brand-color);
  text-decoration: none;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  color: var(--bs-navbar-brand-hover-color);
}

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

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

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

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

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

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

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
  .navbar-expand-sm .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    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: 1.25rem;
  --bs-card-spacer-x: 1.25rem;
  --bs-card-title-spacer-y: 0.75rem;
  --bs-card-title-color: var(--bs-heading-color);
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: var(--bs-border-color);
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: var(--bs-box-shadow);
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-card-cap-padding-y: 0.9375rem;
  --bs-card-cap-padding-x: 1.25rem;
  --bs-card-cap-bg: rgba(var(--bs-component-bg-rgb), 0.03);
  --bs-card-cap-color: var(--bs-heading-color);
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-component-bg);
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 0.5rem;
  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;
  }
}

/* -- CARDS -- */
/* --------------------------------------------------------------------------------- */
.card {
  box-shadow: var(--bs-box-shadow);
}
.card:not([class*=border-]) {
  border: 0;
}
.card-header {
  min-height: 3.3rem;
}

.card[class*=bg-] .card-header {
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: var(--bs-border-width) solid var(--bs-border-color);
}
.card[class*=bg-] :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6) {
  color: inherit;
}

.card-header-tabs {
  margin-top: -1px;
}

.card .toolbar-end .nav-pills {
  transform: translateY(25%);
  margin-top: calc(var(--bs-card-cap-padding-y) * -1);
}

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

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

/* -- BREADCRUMBS -- */
/* --------------------------------------------------------------------------------- */
.breadcrumb-item > a {
  font-weight: 400;
  text-decoration: none;
}
.breadcrumb-item > a:hover {
  text-decoration: none;
  text-decoration: none;
  box-shadow: 0 2px;
}

.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-component-bg);
  --bs-accordion-transition: color 0.25s ease-in-out, background-color 0.25s ease-in-out, border-color 0.25s ease-in-out, box-shadow 0.25s ease-in-out, transform 0.025s ease-in-out, border-radius 0.35s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: 0;
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: var(--bs-border-radius);
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 0.75rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%2375868f%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-icon-width: 0.75rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%230e1b33%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-focus-box-shadow: none;
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 0.75rem;
  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg: rgba(var(--bs-body-color-rgb), 0.075);
}

.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: 0.75rem;
  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%23a5b2cb%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%23a5b2cb%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: 0.75rem;
  --bs-pagination-color: var(--bs-emphasis-color);
  --bs-pagination-bg: transparent;
  --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-primary-color);
  --bs-pagination-hover-bg: #203d72;
  --bs-pagination-hover-border-color: var(--bs-primary);
  --bs-pagination-focus-color: var(--bs-primary-color);
  --bs-pagination-focus-bg: var(--bs-primary);
  --bs-pagination-focus-box-shadow: 0 0 0 1px rgba(var(--bs-component-bg-rgb), 0.5), 0 0 0.35rem 0.2rem rgba(var(--bs-primary-rgb), 0.4);
  --bs-pagination-active-color: var(--bs-primary-color);
  --bs-pagination-active-bg: var(--bs-primary);
  --bs-pagination-active-border-color: var(--bs-primary);
  --bs-pagination-disabled-color: var(--bs-secondary-color);
  --bs-pagination-disabled-bg: transparent;
  --bs-pagination-disabled-border-color: var(--bs-border-color);
  display: flex;
  padding-left: 0;
  list-style: none;
}

.page-link {
  position: relative;
  display: block;
  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
  font-size: var(--bs-pagination-font-size);
  color: var(--bs-pagination-color);
  text-decoration: none;
  background-color: var(--bs-pagination-bg);
  border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .page-link {
    transition: none;
  }
}
.page-link:hover {
  z-index: 2;
  color: var(--bs-pagination-hover-color);
  background-color: var(--bs-pagination-hover-bg);
  border-color: var(--bs-pagination-hover-border-color);
}
.page-link:focus {
  z-index: 3;
  color: var(--bs-pagination-focus-color);
  background-color: var(--bs-pagination-focus-bg);
  outline: 0;
  box-shadow: var(--bs-pagination-focus-box-shadow);
}
.page-link.active, .active > .page-link {
  z-index: 3;
  color: var(--bs-pagination-active-color);
  background-color: var(--bs-pagination-active-bg);
  border-color: var(--bs-pagination-active-border-color);
}
.page-link.disabled, .nav-tabs .nav-item > .page-link.nav-link:disabled, .disabled > .page-link, .nav-tabs .nav-item > .nav-link: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: 0.9375rem;
  --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.65625rem;
  --bs-pagination-border-radius: var(--bs-border-radius-sm);
}

/* -- PAGINATION -- */
/* --------------------------------------------------------------------------------- */
.page-link {
  position: relative;
  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;
  z-index: 1;
}
.page-link:hover {
  background-color: var(--bs-pagination-hover-bg);
  border-color: var(--bs-primary);
  box-shadow: 0 0.1rem 0.5rem rgba(var(--bs-primary-rgb), 0.5), 0 0.25rem 1rem rgba(26, 29, 33, 0.2);
  color: var(--bs-pagination-hover-color);
  z-index: 5;
}

.page-link:focus {
  background-color: var(--bs-pagination-focus-bg);
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 1px rgba(var(--bs-component-bg-rgb), 0.5), 0 0 0.35rem 0.2rem rgba(var(--bs-primary-rgb), 0.4) !important;
  color: var(--bs-pagination-focus-color);
  z-index: 5;
}

.page-link:active, .active > .page-link {
  background-color: var(--bs-pagination-active-bg);
  border-color: var(--bs-primary);
  box-shadow: 0 0 0.5rem rgba(var(--bs-primary-rgb), 0.5), 0 0 0.25rem rgba(26, 29, 33, 0.05) !important;
  color: var(--bs-pagination-active-color);
  z-index: 5;
}

.disabled > .page-link, .nav-tabs .nav-item > .nav-link:disabled > .page-link {
  opacity: 0.5;
}

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

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

/* -- BADGES -- */
/* ---------------------------------------------- */
.badge-super {
  position: absolute !important;
  inset: 0.15rem auto auto 100% !important;
  transform: translate(max(-0.625rem, -50%), -50%);
  z-index: 1;
}

.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: 0 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);
}

/* -- ALERTS -- */
/* --------------------------------------------------------------------------------- */
.alert-callout {
  --bs-alert-callout-border-width: 0.25rem;
  --bs-alert-callout-border-radius: 0;
  border-radius: var(--bs-alert-callout-border-radius);
  border-left: var(--bs-alert-callout-border-width) solid var(--bs-alert-callout-border-color, var(--bs-gray-300));
}

.alert-primary.alert-callout {
  --bs-alert-callout-border-color: var(--bs-primary-border-subtle);
}

.alert-secondary.alert-callout {
  --bs-alert-callout-border-color: var(--bs-secondary-border-subtle);
}

.alert-success.alert-callout {
  --bs-alert-callout-border-color: var(--bs-success-border-subtle);
}

.alert-info.alert-callout {
  --bs-alert-callout-border-color: var(--bs-info-border-subtle);
}

.alert-warning.alert-callout {
  --bs-alert-callout-border-color: var(--bs-warning-border-subtle);
}

.alert-danger.alert-callout {
  --bs-alert-callout-border-color: var(--bs-danger-border-subtle);
}

.alert-light.alert-callout {
  --bs-alert-callout-border-color: var(--bs-light-border-subtle);
}

.alert-dark.alert-callout {
  --bs-alert-callout-border-color: var(--bs-dark-border-subtle);
}

.alert-link {
  border-bottom: 1px dotted;
  text-decoration: none;
}
.alert-link:hover {
  box-shadow: 0 2px;
}
.alert-link:focus {
  box-shadow: 0 1px;
}

[data-bs-theme=dark] .alert-link:hover {
  color: var(--bs-alert-link-hover-color);
}
[data-bs-theme=dark] .alert .btn-close {
  filter: none;
}
[data-bs-theme=dark] .alert-primary {
  --bs-alert-bg: #4d74bd;
  --bs-alert-color: #b2bed2;
  --bs-alert-link-color: #bdc7d9;
}
[data-bs-theme=dark] .alert-secondary {
  --bs-alert-bg: #c9c9c9;
  --bs-alert-color: #404144;
  --bs-alert-link-color: #37383a;
}
[data-bs-theme=dark] .alert-success {
  --bs-alert-bg: #76d615;
  --bs-alert-color: #1e3b02;
  --bs-alert-link-color: #1a3202;
}
[data-bs-theme=dark] .alert-info {
  --bs-alert-bg: #23a5d0;
  --bs-alert-color: #054054;
  --bs-alert-link-color: #043748;
}
[data-bs-theme=dark] .alert-warning {
  --bs-alert-bg: #c68c3b;
  --bs-alert-color: #583809;
  --bs-alert-link-color: #4b3008;
}
[data-bs-theme=dark] .alert-danger {
  --bs-alert-bg: #ac7f7a;
  --bs-alert-color: #501d16;
  --bs-alert-link-color: #441913;
}
[data-bs-theme=dark] .alert-light {
  --bs-alert-bg: #d6d6d6;
  --bs-alert-color: #4f5154;
  --bs-alert-link-color: #444548;
}
[data-bs-theme=dark] .alert-dark {
  --bs-alert-bg: #3a3d40;
  --bs-alert-color: #b1b2b3;
  --bs-alert-link-color: #bcbdbe;
}

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

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

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

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

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

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

/* -- PROGRESS -- */
/* --------------------------------------------------------------------------------- */
.progress-bar:last-child {
  border-top-right-radius: var(--bs-border-radius);
  border-bottom-right-radius: var(--bs-border-radius);
}

.progress-xs {
  height: 0.0625rem;
}

.progress-sm {
  height: 0.125rem;
}

.progress-md {
  height: 0.25rem;
}

.progress-lg {
  height: 1rem;
}

.progress-xl {
  height: 1.25rem;
}

.list-group {
  --bs-list-group-color: var(--bs-body-color);
  --bs-list-group-bg: transparent;
  --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-link-hover-color);
  --bs-list-group-action-hover-bg: rgba(var(--bs-body-bg-rgb), 0.5);
  --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: rgba(var(--bs-secondary-color-rgb), 0.5);
  --bs-list-group-disabled-bg: transparent;
  --bs-list-group-active-color: var(--bs-primary-color);
  --bs-list-group-active-bg: var(--bs-primary);
  --bs-list-group-active-border-color: var(--bs-primary);
  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, .nav-tabs .nav-item > .list-group-item.nav-link: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);
}

/* -- LIST GROUP -- */
/* --------------------------------------------------------------------------------- */
.list-group-item.active {
  font-weight: bold;
}
.list-group-item.active :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6) {
  color: inherit;
}
.list-group-item.active :where(p, span, small, .small, div) {
  font-weight: normal;
}

.list-group-borderless > .list-group-item {
  border: 0;
}
.list-group-borderless > .list-group-item-action {
  border-radius: var(--bs-border-radius);
}

.btn-close {
  --bs-btn-close-color: #1a1d21;
  --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%231a1d21%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.95;
  --bs-btn-close-focus-shadow: 0 0 0.25rem 0.2rem rgba(var(--bs-primary-rgb), 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: 0.75em;
  height: 0.75em;
  padding: 0.75em 0.75em;
  color: var(--bs-btn-close-color);
  background: transparent var(--bs-btn-close-bg) center/0.75em auto no-repeat;
  border: 0;
  border-radius: 0.375rem;
  opacity: var(--bs-btn-close-opacity);
}
.btn-close:hover {
  color: var(--bs-btn-close-color);
  text-decoration: none;
  opacity: var(--bs-btn-close-hover-opacity);
}
.btn-close:focus {
  outline: 0;
  box-shadow: var(--bs-btn-close-focus-shadow);
  opacity: var(--bs-btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled, .nav-tabs .nav-item > .btn-close.nav-link:disabled {
  pointer-events: none;
  user-select: none;
  opacity: var(--bs-btn-close-disabled-opacity);
}

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

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

.toast {
  --bs-toast-zindex: 1090;
  --bs-toast-padding-x: 0.75rem;
  --bs-toast-padding-y: 0.5rem;
  --bs-toast-spacing: 1rem;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: 0.875rem;
  --bs-toast-color: ;
  --bs-toast-bg: var(--bs-component-bg);
  --bs-toast-border-width: var(--bs-border-width);
  --bs-toast-border-color: transparent;
  --bs-toast-border-radius: var(--bs-border-radius);
  --bs-toast-box-shadow: var(--bs-box-shadow-lg);
  --bs-toast-header-color: var(--bs-heading-color);
  --bs-toast-header-bg: var(--bs-component-bg);
  --bs-toast-header-border-color: var(--bs-border-color);
  width: var(--bs-toast-max-width);
  max-width: 100%;
  font-size: var(--bs-toast-font-size);
  color: var(--bs-toast-color);
  pointer-events: auto;
  background-color: var(--bs-toast-bg);
  background-clip: padding-box;
  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
  box-shadow: var(--bs-toast-box-shadow);
  border-radius: var(--bs-toast-border-radius);
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}

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

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

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

.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 1rem;
  --bs-modal-margin: 0.5rem;
  --bs-modal-color: ;
  --bs-modal-bg: var(--bs-component-bg);
  --bs-modal-border-color: transparent;
  --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: #1a1d21;
  --bs-backdrop-opacity: 0.75;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--bs-backdrop-bg);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--bs-backdrop-opacity);
}

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

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

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

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

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

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

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

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

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

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

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

.popover {
  --bs-popover-zindex: 1070;
  --bs-popover-max-width: 276px;
  --bs-popover-font-size: 0.65625rem;
  --bs-popover-bg: var(--bs-component-bg);
  --bs-popover-border-width: var(--bs-border-width);
  --bs-popover-border-color: var(--bs-component-bg);
  --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-lg);
  --bs-popover-header-padding-x: 1rem;
  --bs-popover-header-padding-y: 0.5rem;
  --bs-popover-header-font-size: 0.75rem;
  --bs-popover-header-color: var(--bs-heading-color);
  --bs-popover-header-bg: rgba(26, 29, 33, 0.03);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: 1rem;
  --bs-popover-body-color: var(--bs-body-color);
  --bs-popover-arrow-width: 1rem;
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-border: var(--bs-popover-border-color);
  z-index: var(--bs-popover-zindex);
  display: block;
  max-width: var(--bs-popover-max-width);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-popover-font-size);
  word-wrap: break-word;
  background-color: var(--bs-popover-bg);
  background-clip: padding-box;
  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-radius: var(--bs-popover-border-radius);
  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);
}

.carousel {
  position: relative;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    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: #1a1d21;
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.75;
}

.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 {
  mask-image: linear-gradient(130deg, #1a1d21 55%, rgba(0, 0, 0, 0.8) 75%, #1a1d21 95%);
  mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}

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

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

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

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

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

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

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

.text-bg-light {
  color: #1a1d21 !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(27, 51, 95, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(27, 51, 95, 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(200, 204, 209, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(200, 204, 209, 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(65, 126, 4, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(65, 126, 4, 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(10, 137, 180, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(10, 137, 180, 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(188, 119, 20, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(188, 119, 20, 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(171, 62, 48, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(171, 62, 48, 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(233, 237, 244, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(233, 237, 244, 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(24, 27, 29, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(24, 27, 29, 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;
}

/* -- COLORS -- */
/* --------------------------------------------------------------------------------- */
.text-bg-primary {
  color: var(--bs-primary-color) !important;
}

.bg-blue-100 {
  --bs-bg-opacity: 1;
  background-color: rgba(204, 230, 253, var(--bs-bg-opacity)) !important;
}

.text-blue-100 {
  --bs-text-opacity: 1;
  color: rgba(204, 230, 253, var(--bs-text-opacity)) !important;
}

.bg-blue-200 {
  --bs-bg-opacity: 1;
  background-color: rgba(154, 204, 251, var(--bs-bg-opacity)) !important;
}

.text-blue-200 {
  --bs-text-opacity: 1;
  color: rgba(154, 204, 251, var(--bs-text-opacity)) !important;
}

.bg-blue-300 {
  --bs-bg-opacity: 1;
  background-color: rgba(103, 179, 249, var(--bs-bg-opacity)) !important;
}

.text-blue-300 {
  --bs-text-opacity: 1;
  color: rgba(103, 179, 249, var(--bs-text-opacity)) !important;
}

.bg-blue-400 {
  --bs-bg-opacity: 1;
  background-color: rgba(53, 153, 247, var(--bs-bg-opacity)) !important;
}

.text-blue-400 {
  --bs-text-opacity: 1;
  color: rgba(53, 153, 247, var(--bs-text-opacity)) !important;
}

.bg-blue-500, .bg-blue {
  --bs-bg-opacity: 1;
  background-color: rgba(2, 128, 245, var(--bs-bg-opacity)) !important;
}

.text-blue-500, .text-blue {
  --bs-text-opacity: 1;
  color: rgba(2, 128, 245, var(--bs-text-opacity)) !important;
}

.bg-blue-600 {
  --bs-bg-opacity: 1;
  background-color: rgba(2, 102, 196, var(--bs-bg-opacity)) !important;
}

.text-blue-600 {
  --bs-text-opacity: 1;
  color: rgba(2, 102, 196, var(--bs-text-opacity)) !important;
}

.bg-blue-700 {
  --bs-bg-opacity: 1;
  background-color: rgba(1, 77, 147, var(--bs-bg-opacity)) !important;
}

.text-blue-700 {
  --bs-text-opacity: 1;
  color: rgba(1, 77, 147, var(--bs-text-opacity)) !important;
}

.bg-blue-800 {
  --bs-bg-opacity: 1;
  background-color: rgba(1, 51, 98, var(--bs-bg-opacity)) !important;
}

.text-blue-800 {
  --bs-text-opacity: 1;
  color: rgba(1, 51, 98, var(--bs-text-opacity)) !important;
}

.bg-blue-900 {
  --bs-bg-opacity: 1;
  background-color: rgba(0, 26, 49, var(--bs-bg-opacity)) !important;
}

.text-blue-900 {
  --bs-text-opacity: 1;
  color: rgba(0, 26, 49, var(--bs-text-opacity)) !important;
}

.bg-indigo-100 {
  --bs-bg-opacity: 1;
  background-color: rgba(211, 218, 229, var(--bs-bg-opacity)) !important;
}

.text-indigo-100 {
  --bs-text-opacity: 1;
  color: rgba(211, 218, 229, var(--bs-text-opacity)) !important;
}

.bg-indigo-200 {
  --bs-bg-opacity: 1;
  background-color: rgba(167, 180, 204, var(--bs-bg-opacity)) !important;
}

.text-indigo-200 {
  --bs-text-opacity: 1;
  color: rgba(167, 180, 204, var(--bs-text-opacity)) !important;
}

.bg-indigo-300 {
  --bs-bg-opacity: 1;
  background-color: rgba(124, 143, 178, var(--bs-bg-opacity)) !important;
}

.text-indigo-300 {
  --bs-text-opacity: 1;
  color: rgba(124, 143, 178, var(--bs-text-opacity)) !important;
}

.bg-indigo-400 {
  --bs-bg-opacity: 1;
  background-color: rgba(80, 105, 153, var(--bs-bg-opacity)) !important;
}

.text-indigo-400 {
  --bs-text-opacity: 1;
  color: rgba(80, 105, 153, var(--bs-text-opacity)) !important;
}

.bg-indigo-500, .bg-indigo {
  --bs-bg-opacity: 1;
  background-color: rgba(36, 68, 127, var(--bs-bg-opacity)) !important;
}

.text-indigo-500, .text-indigo {
  --bs-text-opacity: 1;
  color: rgba(36, 68, 127, var(--bs-text-opacity)) !important;
}

.bg-indigo-600 {
  --bs-bg-opacity: 1;
  background-color: rgba(29, 54, 102, var(--bs-bg-opacity)) !important;
}

.text-indigo-600 {
  --bs-text-opacity: 1;
  color: rgba(29, 54, 102, var(--bs-text-opacity)) !important;
}

.bg-indigo-700 {
  --bs-bg-opacity: 1;
  background-color: rgba(22, 41, 76, var(--bs-bg-opacity)) !important;
}

.text-indigo-700 {
  --bs-text-opacity: 1;
  color: rgba(22, 41, 76, var(--bs-text-opacity)) !important;
}

.bg-indigo-800 {
  --bs-bg-opacity: 1;
  background-color: rgba(14, 27, 51, var(--bs-bg-opacity)) !important;
}

.text-indigo-800 {
  --bs-text-opacity: 1;
  color: rgba(14, 27, 51, var(--bs-text-opacity)) !important;
}

.bg-indigo-900 {
  --bs-bg-opacity: 1;
  background-color: rgba(7, 14, 25, var(--bs-bg-opacity)) !important;
}

.text-indigo-900 {
  --bs-text-opacity: 1;
  color: rgba(7, 14, 25, var(--bs-text-opacity)) !important;
}

.bg-purple-100 {
  --bs-bg-opacity: 1;
  background-color: rgba(238, 218, 242, var(--bs-bg-opacity)) !important;
}

.text-purple-100 {
  --bs-text-opacity: 1;
  color: rgba(238, 218, 242, var(--bs-text-opacity)) !important;
}

.bg-purple-200 {
  --bs-bg-opacity: 1;
  background-color: rgba(221, 181, 228, var(--bs-bg-opacity)) !important;
}

.text-purple-200 {
  --bs-text-opacity: 1;
  color: rgba(221, 181, 228, var(--bs-text-opacity)) !important;
}

.bg-purple-300 {
  --bs-bg-opacity: 1;
  background-color: rgba(205, 145, 215, var(--bs-bg-opacity)) !important;
}

.text-purple-300 {
  --bs-text-opacity: 1;
  color: rgba(205, 145, 215, var(--bs-text-opacity)) !important;
}

.bg-purple-400 {
  --bs-bg-opacity: 1;
  background-color: rgba(188, 108, 201, var(--bs-bg-opacity)) !important;
}

.text-purple-400 {
  --bs-text-opacity: 1;
  color: rgba(188, 108, 201, var(--bs-text-opacity)) !important;
}

.bg-purple-500, .bg-purple {
  --bs-bg-opacity: 1;
  background-color: rgba(171, 71, 188, var(--bs-bg-opacity)) !important;
}

.text-purple-500, .text-purple {
  --bs-text-opacity: 1;
  color: rgba(171, 71, 188, var(--bs-text-opacity)) !important;
}

.bg-purple-600 {
  --bs-bg-opacity: 1;
  background-color: rgba(137, 57, 150, var(--bs-bg-opacity)) !important;
}

.text-purple-600 {
  --bs-text-opacity: 1;
  color: rgba(137, 57, 150, var(--bs-text-opacity)) !important;
}

.bg-purple-700 {
  --bs-bg-opacity: 1;
  background-color: rgba(103, 43, 113, var(--bs-bg-opacity)) !important;
}

.text-purple-700 {
  --bs-text-opacity: 1;
  color: rgba(103, 43, 113, var(--bs-text-opacity)) !important;
}

.bg-purple-800 {
  --bs-bg-opacity: 1;
  background-color: rgba(68, 28, 75, var(--bs-bg-opacity)) !important;
}

.text-purple-800 {
  --bs-text-opacity: 1;
  color: rgba(68, 28, 75, var(--bs-text-opacity)) !important;
}

.bg-purple-900 {
  --bs-bg-opacity: 1;
  background-color: rgba(34, 14, 38, var(--bs-bg-opacity)) !important;
}

.text-purple-900 {
  --bs-text-opacity: 1;
  color: rgba(34, 14, 38, var(--bs-text-opacity)) !important;
}

.bg-pink-100 {
  --bs-bg-opacity: 1;
  background-color: rgba(252, 224, 233, var(--bs-bg-opacity)) !important;
}

.text-pink-100 {
  --bs-text-opacity: 1;
  color: rgba(252, 224, 233, var(--bs-text-opacity)) !important;
}

.bg-pink-200 {
  --bs-bg-opacity: 1;
  background-color: rgba(249, 192, 211, var(--bs-bg-opacity)) !important;
}

.text-pink-200 {
  --bs-text-opacity: 1;
  color: rgba(249, 192, 211, var(--bs-text-opacity)) !important;
}

.bg-pink-300 {
  --bs-bg-opacity: 1;
  background-color: rgba(246, 161, 190, var(--bs-bg-opacity)) !important;
}

.text-pink-300 {
  --bs-text-opacity: 1;
  color: rgba(246, 161, 190, var(--bs-text-opacity)) !important;
}

.bg-pink-400 {
  --bs-bg-opacity: 1;
  background-color: rgba(243, 129, 168, var(--bs-bg-opacity)) !important;
}

.text-pink-400 {
  --bs-text-opacity: 1;
  color: rgba(243, 129, 168, var(--bs-text-opacity)) !important;
}

.bg-pink-500, .bg-pink {
  --bs-bg-opacity: 1;
  background-color: rgba(240, 98, 146, var(--bs-bg-opacity)) !important;
}

.text-pink-500, .text-pink {
  --bs-text-opacity: 1;
  color: rgba(240, 98, 146, var(--bs-text-opacity)) !important;
}

.bg-pink-600 {
  --bs-bg-opacity: 1;
  background-color: rgba(192, 78, 117, var(--bs-bg-opacity)) !important;
}

.text-pink-600 {
  --bs-text-opacity: 1;
  color: rgba(192, 78, 117, var(--bs-text-opacity)) !important;
}

.bg-pink-700 {
  --bs-bg-opacity: 1;
  background-color: rgba(144, 59, 88, var(--bs-bg-opacity)) !important;
}

.text-pink-700 {
  --bs-text-opacity: 1;
  color: rgba(144, 59, 88, var(--bs-text-opacity)) !important;
}

.bg-pink-800 {
  --bs-bg-opacity: 1;
  background-color: rgba(96, 39, 58, var(--bs-bg-opacity)) !important;
}

.text-pink-800 {
  --bs-text-opacity: 1;
  color: rgba(96, 39, 58, var(--bs-text-opacity)) !important;
}

.bg-pink-900 {
  --bs-bg-opacity: 1;
  background-color: rgba(48, 20, 29, var(--bs-bg-opacity)) !important;
}

.text-pink-900 {
  --bs-text-opacity: 1;
  color: rgba(48, 20, 29, var(--bs-text-opacity)) !important;
}

.bg-red-100 {
  --bs-bg-opacity: 1;
  background-color: rgba(250, 220, 217, var(--bs-bg-opacity)) !important;
}

.text-red-100 {
  --bs-text-opacity: 1;
  color: rgba(250, 220, 217, var(--bs-text-opacity)) !important;
}

.bg-red-200 {
  --bs-bg-opacity: 1;
  background-color: rgba(244, 186, 179, var(--bs-bg-opacity)) !important;
}

.text-red-200 {
  --bs-text-opacity: 1;
  color: rgba(244, 186, 179, var(--bs-text-opacity)) !important;
}

.bg-red-300 {
  --bs-bg-opacity: 1;
  background-color: rgba(239, 151, 140, var(--bs-bg-opacity)) !important;
}

.text-red-300 {
  --bs-text-opacity: 1;
  color: rgba(239, 151, 140, var(--bs-text-opacity)) !important;
}

.bg-red-400 {
  --bs-bg-opacity: 1;
  background-color: rgba(233, 117, 102, var(--bs-bg-opacity)) !important;
}

.text-red-400 {
  --bs-text-opacity: 1;
  color: rgba(233, 117, 102, var(--bs-text-opacity)) !important;
}

.bg-red-500, .bg-red {
  --bs-bg-opacity: 1;
  background-color: rgba(228, 82, 64, var(--bs-bg-opacity)) !important;
}

.text-red-500, .text-red {
  --bs-text-opacity: 1;
  color: rgba(228, 82, 64, var(--bs-text-opacity)) !important;
}

.bg-red-600 {
  --bs-bg-opacity: 1;
  background-color: rgba(182, 66, 51, var(--bs-bg-opacity)) !important;
}

.text-red-600 {
  --bs-text-opacity: 1;
  color: rgba(182, 66, 51, var(--bs-text-opacity)) !important;
}

.bg-red-700 {
  --bs-bg-opacity: 1;
  background-color: rgba(137, 49, 38, var(--bs-bg-opacity)) !important;
}

.text-red-700 {
  --bs-text-opacity: 1;
  color: rgba(137, 49, 38, var(--bs-text-opacity)) !important;
}

.bg-red-800 {
  --bs-bg-opacity: 1;
  background-color: rgba(91, 33, 26, var(--bs-bg-opacity)) !important;
}

.text-red-800 {
  --bs-text-opacity: 1;
  color: rgba(91, 33, 26, var(--bs-text-opacity)) !important;
}

.bg-red-900 {
  --bs-bg-opacity: 1;
  background-color: rgba(46, 16, 13, var(--bs-bg-opacity)) !important;
}

.text-red-900 {
  --bs-text-opacity: 1;
  color: rgba(46, 16, 13, var(--bs-text-opacity)) !important;
}

.bg-orange-100 {
  --bs-bg-opacity: 1;
  background-color: rgba(254, 236, 209, var(--bs-bg-opacity)) !important;
}

.text-orange-100 {
  --bs-text-opacity: 1;
  color: rgba(254, 236, 209, var(--bs-text-opacity)) !important;
}

.bg-orange-200 {
  --bs-bg-opacity: 1;
  background-color: rgba(253, 217, 164, var(--bs-bg-opacity)) !important;
}

.text-orange-200 {
  --bs-text-opacity: 1;
  color: rgba(253, 217, 164, var(--bs-text-opacity)) !important;
}

.bg-orange-300 {
  --bs-bg-opacity: 1;
  background-color: rgba(252, 197, 118, var(--bs-bg-opacity)) !important;
}

.text-orange-300 {
  --bs-text-opacity: 1;
  color: rgba(252, 197, 118, var(--bs-text-opacity)) !important;
}

.bg-orange-400 {
  --bs-bg-opacity: 1;
  background-color: rgba(251, 178, 73, var(--bs-bg-opacity)) !important;
}

.text-orange-400 {
  --bs-text-opacity: 1;
  color: rgba(251, 178, 73, var(--bs-text-opacity)) !important;
}

.bg-orange-500, .bg-orange {
  --bs-bg-opacity: 1;
  background-color: rgba(250, 159, 27, var(--bs-bg-opacity)) !important;
}

.text-orange-500, .text-orange {
  --bs-text-opacity: 1;
  color: rgba(250, 159, 27, var(--bs-text-opacity)) !important;
}

.bg-orange-600 {
  --bs-bg-opacity: 1;
  background-color: rgba(200, 127, 22, var(--bs-bg-opacity)) !important;
}

.text-orange-600 {
  --bs-text-opacity: 1;
  color: rgba(200, 127, 22, var(--bs-text-opacity)) !important;
}

.bg-orange-700 {
  --bs-bg-opacity: 1;
  background-color: rgba(150, 95, 16, var(--bs-bg-opacity)) !important;
}

.text-orange-700 {
  --bs-text-opacity: 1;
  color: rgba(150, 95, 16, var(--bs-text-opacity)) !important;
}

.bg-orange-800 {
  --bs-bg-opacity: 1;
  background-color: rgba(100, 64, 11, var(--bs-bg-opacity)) !important;
}

.text-orange-800 {
  --bs-text-opacity: 1;
  color: rgba(100, 64, 11, var(--bs-text-opacity)) !important;
}

.bg-orange-900 {
  --bs-bg-opacity: 1;
  background-color: rgba(50, 32, 5, var(--bs-bg-opacity)) !important;
}

.text-orange-900 {
  --bs-text-opacity: 1;
  color: rgba(50, 32, 5, var(--bs-text-opacity)) !important;
}

.bg-yellow-100 {
  --bs-bg-opacity: 1;
  background-color: rgba(255, 250, 205, var(--bs-bg-opacity)) !important;
}

.text-yellow-100 {
  --bs-text-opacity: 1;
  color: rgba(255, 250, 205, var(--bs-text-opacity)) !important;
}

.bg-yellow-200 {
  --bs-bg-opacity: 1;
  background-color: rgba(255, 244, 155, var(--bs-bg-opacity)) !important;
}

.text-yellow-200 {
  --bs-text-opacity: 1;
  color: rgba(255, 244, 155, var(--bs-text-opacity)) !important;
}

.bg-yellow-300 {
  --bs-bg-opacity: 1;
  background-color: rgba(255, 239, 105, var(--bs-bg-opacity)) !important;
}

.text-yellow-300 {
  --bs-text-opacity: 1;
  color: rgba(255, 239, 105, var(--bs-text-opacity)) !important;
}

.bg-yellow-400 {
  --bs-bg-opacity: 1;
  background-color: rgba(255, 233, 55, var(--bs-bg-opacity)) !important;
}

.text-yellow-400 {
  --bs-text-opacity: 1;
  color: rgba(255, 233, 55, var(--bs-text-opacity)) !important;
}

.bg-yellow-500, .bg-yellow {
  --bs-bg-opacity: 1;
  background-color: rgba(255, 228, 5, var(--bs-bg-opacity)) !important;
}

.text-yellow-500, .text-yellow {
  --bs-text-opacity: 1;
  color: rgba(255, 228, 5, var(--bs-text-opacity)) !important;
}

.bg-yellow-600 {
  --bs-bg-opacity: 1;
  background-color: rgba(204, 182, 4, var(--bs-bg-opacity)) !important;
}

.text-yellow-600 {
  --bs-text-opacity: 1;
  color: rgba(204, 182, 4, var(--bs-text-opacity)) !important;
}

.bg-yellow-700 {
  --bs-bg-opacity: 1;
  background-color: rgba(153, 137, 3, var(--bs-bg-opacity)) !important;
}

.text-yellow-700 {
  --bs-text-opacity: 1;
  color: rgba(153, 137, 3, var(--bs-text-opacity)) !important;
}

.bg-yellow-800 {
  --bs-bg-opacity: 1;
  background-color: rgba(102, 91, 2, var(--bs-bg-opacity)) !important;
}

.text-yellow-800 {
  --bs-text-opacity: 1;
  color: rgba(102, 91, 2, var(--bs-text-opacity)) !important;
}

.bg-yellow-900 {
  --bs-bg-opacity: 1;
  background-color: rgba(51, 46, 1, var(--bs-bg-opacity)) !important;
}

.text-yellow-900 {
  --bs-text-opacity: 1;
  color: rgba(51, 46, 1, var(--bs-text-opacity)) !important;
}

.bg-green-100 {
  --bs-bg-opacity: 1;
  background-color: rgba(221, 238, 205, var(--bs-bg-opacity)) !important;
}

.text-green-100 {
  --bs-text-opacity: 1;
  color: rgba(221, 238, 205, var(--bs-text-opacity)) !important;
}

.bg-green-200 {
  --bs-bg-opacity: 1;
  background-color: rgba(188, 220, 155, var(--bs-bg-opacity)) !important;
}

.text-green-200 {
  --bs-text-opacity: 1;
  color: rgba(188, 220, 155, var(--bs-text-opacity)) !important;
}

.bg-green-300 {
  --bs-bg-opacity: 1;
  background-color: rgba(154, 203, 105, var(--bs-bg-opacity)) !important;
}

.text-green-300 {
  --bs-text-opacity: 1;
  color: rgba(154, 203, 105, var(--bs-text-opacity)) !important;
}

.bg-green-400 {
  --bs-bg-opacity: 1;
  background-color: rgba(121, 185, 55, var(--bs-bg-opacity)) !important;
}

.text-green-400 {
  --bs-text-opacity: 1;
  color: rgba(121, 185, 55, var(--bs-text-opacity)) !important;
}

.bg-green-500, .bg-green {
  --bs-bg-opacity: 1;
  background-color: rgba(87, 168, 5, var(--bs-bg-opacity)) !important;
}

.text-green-500, .text-green {
  --bs-text-opacity: 1;
  color: rgba(87, 168, 5, var(--bs-text-opacity)) !important;
}

.bg-green-600 {
  --bs-bg-opacity: 1;
  background-color: rgba(70, 134, 4, var(--bs-bg-opacity)) !important;
}

.text-green-600 {
  --bs-text-opacity: 1;
  color: rgba(70, 134, 4, var(--bs-text-opacity)) !important;
}

.bg-green-700 {
  --bs-bg-opacity: 1;
  background-color: rgba(52, 101, 3, var(--bs-bg-opacity)) !important;
}

.text-green-700 {
  --bs-text-opacity: 1;
  color: rgba(52, 101, 3, var(--bs-text-opacity)) !important;
}

.bg-green-800 {
  --bs-bg-opacity: 1;
  background-color: rgba(35, 67, 2, var(--bs-bg-opacity)) !important;
}

.text-green-800 {
  --bs-text-opacity: 1;
  color: rgba(35, 67, 2, var(--bs-text-opacity)) !important;
}

.bg-green-900 {
  --bs-bg-opacity: 1;
  background-color: rgba(17, 34, 1, var(--bs-bg-opacity)) !important;
}

.text-green-900 {
  --bs-text-opacity: 1;
  color: rgba(17, 34, 1, var(--bs-text-opacity)) !important;
}

.bg-teal-100 {
  --bs-bg-opacity: 1;
  background-color: rgba(212, 237, 235, var(--bs-bg-opacity)) !important;
}

.text-teal-100 {
  --bs-text-opacity: 1;
  color: rgba(212, 237, 235, var(--bs-text-opacity)) !important;
}

.bg-teal-200 {
  --bs-bg-opacity: 1;
  background-color: rgba(168, 219, 215, var(--bs-bg-opacity)) !important;
}

.text-teal-200 {
  --bs-text-opacity: 1;
  color: rgba(168, 219, 215, var(--bs-text-opacity)) !important;
}

.bg-teal-300 {
  --bs-bg-opacity: 1;
  background-color: rgba(125, 202, 194, var(--bs-bg-opacity)) !important;
}

.text-teal-300 {
  --bs-text-opacity: 1;
  color: rgba(125, 202, 194, var(--bs-text-opacity)) !important;
}

.bg-teal-400 {
  --bs-bg-opacity: 1;
  background-color: rgba(81, 184, 174, var(--bs-bg-opacity)) !important;
}

.text-teal-400 {
  --bs-text-opacity: 1;
  color: rgba(81, 184, 174, var(--bs-text-opacity)) !important;
}

.bg-teal-500, .bg-teal {
  --bs-bg-opacity: 1;
  background-color: rgba(38, 166, 154, var(--bs-bg-opacity)) !important;
}

.text-teal-500, .text-teal {
  --bs-text-opacity: 1;
  color: rgba(38, 166, 154, var(--bs-text-opacity)) !important;
}

.bg-teal-600 {
  --bs-bg-opacity: 1;
  background-color: rgba(30, 133, 123, var(--bs-bg-opacity)) !important;
}

.text-teal-600 {
  --bs-text-opacity: 1;
  color: rgba(30, 133, 123, var(--bs-text-opacity)) !important;
}

.bg-teal-700 {
  --bs-bg-opacity: 1;
  background-color: rgba(23, 100, 92, var(--bs-bg-opacity)) !important;
}

.text-teal-700 {
  --bs-text-opacity: 1;
  color: rgba(23, 100, 92, var(--bs-text-opacity)) !important;
}

.bg-teal-800 {
  --bs-bg-opacity: 1;
  background-color: rgba(15, 66, 62, var(--bs-bg-opacity)) !important;
}

.text-teal-800 {
  --bs-text-opacity: 1;
  color: rgba(15, 66, 62, var(--bs-text-opacity)) !important;
}

.bg-teal-900 {
  --bs-bg-opacity: 1;
  background-color: rgba(8, 33, 31, var(--bs-bg-opacity)) !important;
}

.text-teal-900 {
  --bs-text-opacity: 1;
  color: rgba(8, 33, 31, var(--bs-text-opacity)) !important;
}

.bg-cyan-100 {
  --bs-bg-opacity: 1;
  background-color: rgba(207, 241, 252, var(--bs-bg-opacity)) !important;
}

.text-cyan-100 {
  --bs-text-opacity: 1;
  color: rgba(207, 241, 252, var(--bs-text-opacity)) !important;
}

.bg-cyan-200 {
  --bs-bg-opacity: 1;
  background-color: rgba(158, 226, 249, var(--bs-bg-opacity)) !important;
}

.text-cyan-200 {
  --bs-text-opacity: 1;
  color: rgba(158, 226, 249, var(--bs-text-opacity)) !important;
}

.bg-cyan-300 {
  --bs-bg-opacity: 1;
  background-color: rgba(110, 212, 246, var(--bs-bg-opacity)) !important;
}

.text-cyan-300 {
  --bs-text-opacity: 1;
  color: rgba(110, 212, 246, var(--bs-text-opacity)) !important;
}

.bg-cyan-400 {
  --bs-bg-opacity: 1;
  background-color: rgba(61, 197, 243, var(--bs-bg-opacity)) !important;
}

.text-cyan-400 {
  --bs-text-opacity: 1;
  color: rgba(61, 197, 243, var(--bs-text-opacity)) !important;
}

.bg-cyan-500, .bg-cyan {
  --bs-bg-opacity: 1;
  background-color: rgba(13, 183, 240, var(--bs-bg-opacity)) !important;
}

.text-cyan-500, .text-cyan {
  --bs-text-opacity: 1;
  color: rgba(13, 183, 240, var(--bs-text-opacity)) !important;
}

.bg-cyan-600 {
  --bs-bg-opacity: 1;
  background-color: rgba(10, 146, 192, var(--bs-bg-opacity)) !important;
}

.text-cyan-600 {
  --bs-text-opacity: 1;
  color: rgba(10, 146, 192, var(--bs-text-opacity)) !important;
}

.bg-cyan-700 {
  --bs-bg-opacity: 1;
  background-color: rgba(8, 110, 144, var(--bs-bg-opacity)) !important;
}

.text-cyan-700 {
  --bs-text-opacity: 1;
  color: rgba(8, 110, 144, var(--bs-text-opacity)) !important;
}

.bg-cyan-800 {
  --bs-bg-opacity: 1;
  background-color: rgba(5, 73, 96, var(--bs-bg-opacity)) !important;
}

.text-cyan-800 {
  --bs-text-opacity: 1;
  color: rgba(5, 73, 96, var(--bs-text-opacity)) !important;
}

.bg-cyan-900 {
  --bs-bg-opacity: 1;
  background-color: rgba(3, 37, 48, var(--bs-bg-opacity)) !important;
}

.text-cyan-900 {
  --bs-text-opacity: 1;
  color: rgba(3, 37, 48, var(--bs-text-opacity)) !important;
}

.bg-gray-100 {
  --bs-bg-opacity: 1;
  background-color: rgba(249, 250, 252, var(--bs-bg-opacity)) !important;
}

.text-gray-100 {
  --bs-text-opacity: 1;
  color: rgba(249, 250, 252, var(--bs-text-opacity)) !important;
}

.bg-gray-200 {
  --bs-bg-opacity: 1;
  background-color: rgba(243, 245, 249, var(--bs-bg-opacity)) !important;
}

.text-gray-200 {
  --bs-text-opacity: 1;
  color: rgba(243, 245, 249, var(--bs-text-opacity)) !important;
}

.bg-gray-300 {
  --bs-bg-opacity: 1;
  background-color: rgba(237, 241, 246, var(--bs-bg-opacity)) !important;
}

.text-gray-300 {
  --bs-text-opacity: 1;
  color: rgba(237, 241, 246, var(--bs-text-opacity)) !important;
}

.bg-gray-400 {
  --bs-bg-opacity: 1;
  background-color: rgba(231, 236, 243, var(--bs-bg-opacity)) !important;
}

.text-gray-400 {
  --bs-text-opacity: 1;
  color: rgba(231, 236, 243, var(--bs-text-opacity)) !important;
}

.bg-gray-500, .bg-gray {
  --bs-bg-opacity: 1;
  background-color: rgba(225, 231, 240, var(--bs-bg-opacity)) !important;
}

.text-gray-500, .text-gray {
  --bs-text-opacity: 1;
  color: rgba(225, 231, 240, var(--bs-text-opacity)) !important;
}

.bg-gray-600 {
  --bs-bg-opacity: 1;
  background-color: rgba(203, 208, 216, var(--bs-bg-opacity)) !important;
}

.text-gray-600 {
  --bs-text-opacity: 1;
  color: rgba(203, 208, 216, var(--bs-text-opacity)) !important;
}

.bg-gray-700 {
  --bs-bg-opacity: 1;
  background-color: rgba(182, 187, 194, var(--bs-bg-opacity)) !important;
}

.text-gray-700 {
  --bs-text-opacity: 1;
  color: rgba(182, 187, 194, var(--bs-text-opacity)) !important;
}

.bg-gray-800 {
  --bs-bg-opacity: 1;
  background-color: rgba(146, 150, 156, var(--bs-bg-opacity)) !important;
}

.text-gray-800 {
  --bs-text-opacity: 1;
  color: rgba(146, 150, 156, var(--bs-text-opacity)) !important;
}

.bg-gray-900 {
  --bs-bg-opacity: 1;
  background-color: rgba(113, 116, 120, var(--bs-bg-opacity)) !important;
}

.text-gray-900 {
  --bs-text-opacity: 1;
  color: rgba(113, 116, 120, var(--bs-text-opacity)) !important;
}

/* -- COLORED LINKS -- */
/* --------------------------------------------------------------------------------- */
.link-primary {
  color: var(--bs-link-primary-color) !important;
  text-decoration-color: var(--bs-link-primary-underline-color) !important;
}
.link-primary:hover, .link-primary:focus {
  color: var(--bs-link-primary-hover-color) !important;
  text-decoration-color: var(--bs-link-primary-underline-hover-color) !important;
}

.link-secondary:hover, .link-secondary:focus {
  color: RGBA(200, 204, 209, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(200, 204, 209, var(--bs-link-underline-opacity, 1)) !important;
}

.link-success:hover, .link-success:focus {
  color: RGBA(129, 190, 68, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(129, 190, 68, var(--bs-link-underline-opacity, 1)) !important;
}

.link-info:hover, .link-info:focus {
  color: RGBA(74, 201, 244, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(74, 201, 244, var(--bs-link-underline-opacity, 1)) !important;
}

.link-warning:hover, .link-warning:focus {
  color: RGBA(251, 183, 84, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(251, 183, 84, var(--bs-link-underline-opacity, 1)) !important;
}

.link-danger:hover, .link-danger:focus {
  color: RGBA(235, 125, 112, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(235, 125, 112, var(--bs-link-underline-opacity, 1)) !important;
}

.link-light:hover, .link-light:focus {
  color: RGBA(233, 237, 244, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(233, 237, 244, var(--bs-link-underline-opacity, 1)) !important;
}

.link-dark:hover, .link-dark:focus {
  color: RGBA(88, 91, 93, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(88, 91, 93, var(--bs-link-underline-opacity, 1)) !important;
}

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

.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-10 {
  opacity: 0.1 !important;
}

.opacity-20 {
  opacity: 0.2 !important;
}

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

.opacity-30 {
  opacity: 0.3 !important;
}

.opacity-40 {
  opacity: 0.4 !important;
}

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

.opacity-60 {
  opacity: 0.6 !important;
}

.opacity-70 {
  opacity: 0.7 !important;
}

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

.opacity-80 {
  opacity: 0.8 !important;
}

.opacity-90 {
  opacity: 0.9 !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;
}

.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.3125rem + 0.75vw) !important;
}

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

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

.fs-4 {
  font-size: 1.125rem !important;
}

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

.fs-6 {
  font-size: 0.75rem !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(26, 29, 33, 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-10 {
  --bs-text-opacity: 0.1;
}

.text-opacity-20 {
  --bs-text-opacity: 0.2;
}

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

.text-opacity-30 {
  --bs-text-opacity: 0.3;
}

.text-opacity-40 {
  --bs-text-opacity: 0.4;
}

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

.text-opacity-60 {
  --bs-text-opacity: 0.6;
}

.text-opacity-70 {
  --bs-text-opacity: 0.7;
}

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

.text-opacity-80 {
  --bs-text-opacity: 0.8;
}

.text-opacity-90 {
  --bs-text-opacity: 0.9;
}

.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-20 {
  --bs-link-opacity: 0.2;
}

.link-opacity-20-hover:hover {
  --bs-link-opacity: 0.2;
}

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

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

.link-opacity-30 {
  --bs-link-opacity: 0.3;
}

.link-opacity-30-hover:hover {
  --bs-link-opacity: 0.3;
}

.link-opacity-40 {
  --bs-link-opacity: 0.4;
}

.link-opacity-40-hover:hover {
  --bs-link-opacity: 0.4;
}

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

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

.link-opacity-60 {
  --bs-link-opacity: 0.6;
}

.link-opacity-60-hover:hover {
  --bs-link-opacity: 0.6;
}

.link-opacity-70 {
  --bs-link-opacity: 0.7;
}

.link-opacity-70-hover:hover {
  --bs-link-opacity: 0.7;
}

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

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

.link-opacity-80 {
  --bs-link-opacity: 0.8;
}

.link-opacity-80-hover:hover {
  --bs-link-opacity: 0.8;
}

.link-opacity-90 {
  --bs-link-opacity: 0.9;
}

.link-opacity-90-hover:hover {
  --bs-link-opacity: 0.9;
}

.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-20 {
  --bs-bg-opacity: 0.2;
}

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

.bg-opacity-30 {
  --bs-bg-opacity: 0.3;
}

.bg-opacity-40 {
  --bs-bg-opacity: 0.4;
}

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

.bg-opacity-60 {
  --bs-bg-opacity: 0.6;
}

.bg-opacity-70 {
  --bs-bg-opacity: 0.7;
}

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

.bg-opacity-80 {
  --bs-bg-opacity: 0.8;
}

.bg-opacity-90 {
  --bs-bg-opacity: 0.9;
}

.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 {
  user-select: all !important;
}

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

.user-select-none {
  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;
}

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

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

.w-160px {
  width: 160px !important;
}

.w-200px {
  width: 200px !important;
}

.w-250px {
  width: 250px !important;
}

.w-300px {
  width: 300px !important;
}

.w-350px {
  width: 350px !important;
}

.w-400px {
  width: 400px !important;
}

.w-450px {
  width: 450px !important;
}

.min-w-0 {
  min-width: 0 !important;
}

.min-h-0 {
  min-height: 0 !important;
}

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

.sp-1 {
  margin: 5rem !important;
}

.sp-2 {
  margin: 7rem !important;
}

.sp-3 {
  margin: 10rem !important;
}

.sp-4 {
  margin: 13rem !important;
}

.sp-5 {
  margin: 15rem !important;
}

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

.spx-1 {
  margin-right: 5rem !important;
  margin-left: 5rem !important;
}

.spx-2 {
  margin-right: 7rem !important;
  margin-left: 7rem !important;
}

.spx-3 {
  margin-right: 10rem !important;
  margin-left: 10rem !important;
}

.spx-4 {
  margin-right: 13rem !important;
  margin-left: 13rem !important;
}

.spx-5 {
  margin-right: 15rem !important;
  margin-left: 15rem !important;
}

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

.spy-1 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}

.spy-2 {
  margin-top: 7rem !important;
  margin-bottom: 7rem !important;
}

.spy-3 {
  margin-top: 10rem !important;
  margin-bottom: 10rem !important;
}

.spy-4 {
  margin-top: 13rem !important;
  margin-bottom: 13rem !important;
}

.spy-5 {
  margin-top: 15rem !important;
  margin-bottom: 15rem !important;
}

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

.spt-1 {
  margin-top: 5rem !important;
}

.spt-2 {
  margin-top: 7rem !important;
}

.spt-3 {
  margin-top: 10rem !important;
}

.spt-4 {
  margin-top: 13rem !important;
}

.spt-5 {
  margin-top: 15rem !important;
}

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

.spe-1 {
  margin-right: 5rem !important;
}

.spe-2 {
  margin-right: 7rem !important;
}

.spe-3 {
  margin-right: 10rem !important;
}

.spe-4 {
  margin-right: 13rem !important;
}

.spe-5 {
  margin-right: 15rem !important;
}

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

.spb-1 {
  margin-bottom: 5rem !important;
}

.spb-2 {
  margin-bottom: 7rem !important;
}

.spb-3 {
  margin-bottom: 10rem !important;
}

.spb-4 {
  margin-bottom: 13rem !important;
}

.spb-5 {
  margin-bottom: 15rem !important;
}

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

.sps-1 {
  margin-left: 5rem !important;
}

.sps-2 {
  margin-left: 7rem !important;
}

.sps-3 {
  margin-left: 10rem !important;
}

.sps-4 {
  margin-left: 13rem !important;
}

.sps-5 {
  margin-left: 15rem !important;
}

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

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

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

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

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

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

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

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

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

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

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

.link-underline-dashed-hover:hover {
  text-decoration: underline dashed !important;
}

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

.link-underline-dotted-hover:hover {
  text-decoration: underline dotted !important;
}

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

.link-underline-double-hover:hover {
  text-decoration: underline double !important;
}

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

.link-underline-wavy-hover:hover {
  text-decoration: underline wavy !important;
}

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

.link-underline-overline-hover:hover {
  text-decoration: underline overline !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;
  }
  .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;
  }
  .w-sm-auto {
    width: auto !important;
  }
  .w-sm-100px {
    width: 100px !important;
  }
  .w-sm-160px {
    width: 160px !important;
  }
  .w-sm-200px {
    width: 200px !important;
  }
  .w-sm-250px {
    width: 250px !important;
  }
  .w-sm-300px {
    width: 300px !important;
  }
  .w-sm-350px {
    width: 350px !important;
  }
  .w-sm-400px {
    width: 400px !important;
  }
  .w-sm-450px {
    width: 450px !important;
  }
  .sp-sm-0 {
    margin: 0 !important;
  }
  .sp-sm-1 {
    margin: 5rem !important;
  }
  .sp-sm-2 {
    margin: 7rem !important;
  }
  .sp-sm-3 {
    margin: 10rem !important;
  }
  .sp-sm-4 {
    margin: 13rem !important;
  }
  .sp-sm-5 {
    margin: 15rem !important;
  }
  .spx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .spx-sm-1 {
    margin-right: 5rem !important;
    margin-left: 5rem !important;
  }
  .spx-sm-2 {
    margin-right: 7rem !important;
    margin-left: 7rem !important;
  }
  .spx-sm-3 {
    margin-right: 10rem !important;
    margin-left: 10rem !important;
  }
  .spx-sm-4 {
    margin-right: 13rem !important;
    margin-left: 13rem !important;
  }
  .spx-sm-5 {
    margin-right: 15rem !important;
    margin-left: 15rem !important;
  }
  .spy-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .spy-sm-1 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .spy-sm-2 {
    margin-top: 7rem !important;
    margin-bottom: 7rem !important;
  }
  .spy-sm-3 {
    margin-top: 10rem !important;
    margin-bottom: 10rem !important;
  }
  .spy-sm-4 {
    margin-top: 13rem !important;
    margin-bottom: 13rem !important;
  }
  .spy-sm-5 {
    margin-top: 15rem !important;
    margin-bottom: 15rem !important;
  }
  .spt-sm-0 {
    margin-top: 0 !important;
  }
  .spt-sm-1 {
    margin-top: 5rem !important;
  }
  .spt-sm-2 {
    margin-top: 7rem !important;
  }
  .spt-sm-3 {
    margin-top: 10rem !important;
  }
  .spt-sm-4 {
    margin-top: 13rem !important;
  }
  .spt-sm-5 {
    margin-top: 15rem !important;
  }
  .spe-sm-0 {
    margin-right: 0 !important;
  }
  .spe-sm-1 {
    margin-right: 5rem !important;
  }
  .spe-sm-2 {
    margin-right: 7rem !important;
  }
  .spe-sm-3 {
    margin-right: 10rem !important;
  }
  .spe-sm-4 {
    margin-right: 13rem !important;
  }
  .spe-sm-5 {
    margin-right: 15rem !important;
  }
  .spb-sm-0 {
    margin-bottom: 0 !important;
  }
  .spb-sm-1 {
    margin-bottom: 5rem !important;
  }
  .spb-sm-2 {
    margin-bottom: 7rem !important;
  }
  .spb-sm-3 {
    margin-bottom: 10rem !important;
  }
  .spb-sm-4 {
    margin-bottom: 13rem !important;
  }
  .spb-sm-5 {
    margin-bottom: 15rem !important;
  }
  .sps-sm-0 {
    margin-left: 0 !important;
  }
  .sps-sm-1 {
    margin-left: 5rem !important;
  }
  .sps-sm-2 {
    margin-left: 7rem !important;
  }
  .sps-sm-3 {
    margin-left: 10rem !important;
  }
  .sps-sm-4 {
    margin-left: 13rem !important;
  }
  .sps-sm-5 {
    margin-left: 15rem !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;
  }
  .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;
  }
  .w-md-auto {
    width: auto !important;
  }
  .w-md-100px {
    width: 100px !important;
  }
  .w-md-160px {
    width: 160px !important;
  }
  .w-md-200px {
    width: 200px !important;
  }
  .w-md-250px {
    width: 250px !important;
  }
  .w-md-300px {
    width: 300px !important;
  }
  .w-md-350px {
    width: 350px !important;
  }
  .w-md-400px {
    width: 400px !important;
  }
  .w-md-450px {
    width: 450px !important;
  }
  .sp-md-0 {
    margin: 0 !important;
  }
  .sp-md-1 {
    margin: 5rem !important;
  }
  .sp-md-2 {
    margin: 7rem !important;
  }
  .sp-md-3 {
    margin: 10rem !important;
  }
  .sp-md-4 {
    margin: 13rem !important;
  }
  .sp-md-5 {
    margin: 15rem !important;
  }
  .spx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .spx-md-1 {
    margin-right: 5rem !important;
    margin-left: 5rem !important;
  }
  .spx-md-2 {
    margin-right: 7rem !important;
    margin-left: 7rem !important;
  }
  .spx-md-3 {
    margin-right: 10rem !important;
    margin-left: 10rem !important;
  }
  .spx-md-4 {
    margin-right: 13rem !important;
    margin-left: 13rem !important;
  }
  .spx-md-5 {
    margin-right: 15rem !important;
    margin-left: 15rem !important;
  }
  .spy-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .spy-md-1 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .spy-md-2 {
    margin-top: 7rem !important;
    margin-bottom: 7rem !important;
  }
  .spy-md-3 {
    margin-top: 10rem !important;
    margin-bottom: 10rem !important;
  }
  .spy-md-4 {
    margin-top: 13rem !important;
    margin-bottom: 13rem !important;
  }
  .spy-md-5 {
    margin-top: 15rem !important;
    margin-bottom: 15rem !important;
  }
  .spt-md-0 {
    margin-top: 0 !important;
  }
  .spt-md-1 {
    margin-top: 5rem !important;
  }
  .spt-md-2 {
    margin-top: 7rem !important;
  }
  .spt-md-3 {
    margin-top: 10rem !important;
  }
  .spt-md-4 {
    margin-top: 13rem !important;
  }
  .spt-md-5 {
    margin-top: 15rem !important;
  }
  .spe-md-0 {
    margin-right: 0 !important;
  }
  .spe-md-1 {
    margin-right: 5rem !important;
  }
  .spe-md-2 {
    margin-right: 7rem !important;
  }
  .spe-md-3 {
    margin-right: 10rem !important;
  }
  .spe-md-4 {
    margin-right: 13rem !important;
  }
  .spe-md-5 {
    margin-right: 15rem !important;
  }
  .spb-md-0 {
    margin-bottom: 0 !important;
  }
  .spb-md-1 {
    margin-bottom: 5rem !important;
  }
  .spb-md-2 {
    margin-bottom: 7rem !important;
  }
  .spb-md-3 {
    margin-bottom: 10rem !important;
  }
  .spb-md-4 {
    margin-bottom: 13rem !important;
  }
  .spb-md-5 {
    margin-bottom: 15rem !important;
  }
  .sps-md-0 {
    margin-left: 0 !important;
  }
  .sps-md-1 {
    margin-left: 5rem !important;
  }
  .sps-md-2 {
    margin-left: 7rem !important;
  }
  .sps-md-3 {
    margin-left: 10rem !important;
  }
  .sps-md-4 {
    margin-left: 13rem !important;
  }
  .sps-md-5 {
    margin-left: 15rem !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;
  }
  .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;
  }
  .w-lg-auto {
    width: auto !important;
  }
  .w-lg-100px {
    width: 100px !important;
  }
  .w-lg-160px {
    width: 160px !important;
  }
  .w-lg-200px {
    width: 200px !important;
  }
  .w-lg-250px {
    width: 250px !important;
  }
  .w-lg-300px {
    width: 300px !important;
  }
  .w-lg-350px {
    width: 350px !important;
  }
  .w-lg-400px {
    width: 400px !important;
  }
  .w-lg-450px {
    width: 450px !important;
  }
  .sp-lg-0 {
    margin: 0 !important;
  }
  .sp-lg-1 {
    margin: 5rem !important;
  }
  .sp-lg-2 {
    margin: 7rem !important;
  }
  .sp-lg-3 {
    margin: 10rem !important;
  }
  .sp-lg-4 {
    margin: 13rem !important;
  }
  .sp-lg-5 {
    margin: 15rem !important;
  }
  .spx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .spx-lg-1 {
    margin-right: 5rem !important;
    margin-left: 5rem !important;
  }
  .spx-lg-2 {
    margin-right: 7rem !important;
    margin-left: 7rem !important;
  }
  .spx-lg-3 {
    margin-right: 10rem !important;
    margin-left: 10rem !important;
  }
  .spx-lg-4 {
    margin-right: 13rem !important;
    margin-left: 13rem !important;
  }
  .spx-lg-5 {
    margin-right: 15rem !important;
    margin-left: 15rem !important;
  }
  .spy-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .spy-lg-1 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .spy-lg-2 {
    margin-top: 7rem !important;
    margin-bottom: 7rem !important;
  }
  .spy-lg-3 {
    margin-top: 10rem !important;
    margin-bottom: 10rem !important;
  }
  .spy-lg-4 {
    margin-top: 13rem !important;
    margin-bottom: 13rem !important;
  }
  .spy-lg-5 {
    margin-top: 15rem !important;
    margin-bottom: 15rem !important;
  }
  .spt-lg-0 {
    margin-top: 0 !important;
  }
  .spt-lg-1 {
    margin-top: 5rem !important;
  }
  .spt-lg-2 {
    margin-top: 7rem !important;
  }
  .spt-lg-3 {
    margin-top: 10rem !important;
  }
  .spt-lg-4 {
    margin-top: 13rem !important;
  }
  .spt-lg-5 {
    margin-top: 15rem !important;
  }
  .spe-lg-0 {
    margin-right: 0 !important;
  }
  .spe-lg-1 {
    margin-right: 5rem !important;
  }
  .spe-lg-2 {
    margin-right: 7rem !important;
  }
  .spe-lg-3 {
    margin-right: 10rem !important;
  }
  .spe-lg-4 {
    margin-right: 13rem !important;
  }
  .spe-lg-5 {
    margin-right: 15rem !important;
  }
  .spb-lg-0 {
    margin-bottom: 0 !important;
  }
  .spb-lg-1 {
    margin-bottom: 5rem !important;
  }
  .spb-lg-2 {
    margin-bottom: 7rem !important;
  }
  .spb-lg-3 {
    margin-bottom: 10rem !important;
  }
  .spb-lg-4 {
    margin-bottom: 13rem !important;
  }
  .spb-lg-5 {
    margin-bottom: 15rem !important;
  }
  .sps-lg-0 {
    margin-left: 0 !important;
  }
  .sps-lg-1 {
    margin-left: 5rem !important;
  }
  .sps-lg-2 {
    margin-left: 7rem !important;
  }
  .sps-lg-3 {
    margin-left: 10rem !important;
  }
  .sps-lg-4 {
    margin-left: 13rem !important;
  }
  .sps-lg-5 {
    margin-left: 15rem !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;
  }
  .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;
  }
  .w-xl-auto {
    width: auto !important;
  }
  .w-xl-100px {
    width: 100px !important;
  }
  .w-xl-160px {
    width: 160px !important;
  }
  .w-xl-200px {
    width: 200px !important;
  }
  .w-xl-250px {
    width: 250px !important;
  }
  .w-xl-300px {
    width: 300px !important;
  }
  .w-xl-350px {
    width: 350px !important;
  }
  .w-xl-400px {
    width: 400px !important;
  }
  .w-xl-450px {
    width: 450px !important;
  }
  .sp-xl-0 {
    margin: 0 !important;
  }
  .sp-xl-1 {
    margin: 5rem !important;
  }
  .sp-xl-2 {
    margin: 7rem !important;
  }
  .sp-xl-3 {
    margin: 10rem !important;
  }
  .sp-xl-4 {
    margin: 13rem !important;
  }
  .sp-xl-5 {
    margin: 15rem !important;
  }
  .spx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .spx-xl-1 {
    margin-right: 5rem !important;
    margin-left: 5rem !important;
  }
  .spx-xl-2 {
    margin-right: 7rem !important;
    margin-left: 7rem !important;
  }
  .spx-xl-3 {
    margin-right: 10rem !important;
    margin-left: 10rem !important;
  }
  .spx-xl-4 {
    margin-right: 13rem !important;
    margin-left: 13rem !important;
  }
  .spx-xl-5 {
    margin-right: 15rem !important;
    margin-left: 15rem !important;
  }
  .spy-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .spy-xl-1 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .spy-xl-2 {
    margin-top: 7rem !important;
    margin-bottom: 7rem !important;
  }
  .spy-xl-3 {
    margin-top: 10rem !important;
    margin-bottom: 10rem !important;
  }
  .spy-xl-4 {
    margin-top: 13rem !important;
    margin-bottom: 13rem !important;
  }
  .spy-xl-5 {
    margin-top: 15rem !important;
    margin-bottom: 15rem !important;
  }
  .spt-xl-0 {
    margin-top: 0 !important;
  }
  .spt-xl-1 {
    margin-top: 5rem !important;
  }
  .spt-xl-2 {
    margin-top: 7rem !important;
  }
  .spt-xl-3 {
    margin-top: 10rem !important;
  }
  .spt-xl-4 {
    margin-top: 13rem !important;
  }
  .spt-xl-5 {
    margin-top: 15rem !important;
  }
  .spe-xl-0 {
    margin-right: 0 !important;
  }
  .spe-xl-1 {
    margin-right: 5rem !important;
  }
  .spe-xl-2 {
    margin-right: 7rem !important;
  }
  .spe-xl-3 {
    margin-right: 10rem !important;
  }
  .spe-xl-4 {
    margin-right: 13rem !important;
  }
  .spe-xl-5 {
    margin-right: 15rem !important;
  }
  .spb-xl-0 {
    margin-bottom: 0 !important;
  }
  .spb-xl-1 {
    margin-bottom: 5rem !important;
  }
  .spb-xl-2 {
    margin-bottom: 7rem !important;
  }
  .spb-xl-3 {
    margin-bottom: 10rem !important;
  }
  .spb-xl-4 {
    margin-bottom: 13rem !important;
  }
  .spb-xl-5 {
    margin-bottom: 15rem !important;
  }
  .sps-xl-0 {
    margin-left: 0 !important;
  }
  .sps-xl-1 {
    margin-left: 5rem !important;
  }
  .sps-xl-2 {
    margin-left: 7rem !important;
  }
  .sps-xl-3 {
    margin-left: 10rem !important;
  }
  .sps-xl-4 {
    margin-left: 13rem !important;
  }
  .sps-xl-5 {
    margin-left: 15rem !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;
  }
  .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;
  }
  .w-xxl-auto {
    width: auto !important;
  }
  .w-xxl-100px {
    width: 100px !important;
  }
  .w-xxl-160px {
    width: 160px !important;
  }
  .w-xxl-200px {
    width: 200px !important;
  }
  .w-xxl-250px {
    width: 250px !important;
  }
  .w-xxl-300px {
    width: 300px !important;
  }
  .w-xxl-350px {
    width: 350px !important;
  }
  .w-xxl-400px {
    width: 400px !important;
  }
  .w-xxl-450px {
    width: 450px !important;
  }
  .sp-xxl-0 {
    margin: 0 !important;
  }
  .sp-xxl-1 {
    margin: 5rem !important;
  }
  .sp-xxl-2 {
    margin: 7rem !important;
  }
  .sp-xxl-3 {
    margin: 10rem !important;
  }
  .sp-xxl-4 {
    margin: 13rem !important;
  }
  .sp-xxl-5 {
    margin: 15rem !important;
  }
  .spx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .spx-xxl-1 {
    margin-right: 5rem !important;
    margin-left: 5rem !important;
  }
  .spx-xxl-2 {
    margin-right: 7rem !important;
    margin-left: 7rem !important;
  }
  .spx-xxl-3 {
    margin-right: 10rem !important;
    margin-left: 10rem !important;
  }
  .spx-xxl-4 {
    margin-right: 13rem !important;
    margin-left: 13rem !important;
  }
  .spx-xxl-5 {
    margin-right: 15rem !important;
    margin-left: 15rem !important;
  }
  .spy-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .spy-xxl-1 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .spy-xxl-2 {
    margin-top: 7rem !important;
    margin-bottom: 7rem !important;
  }
  .spy-xxl-3 {
    margin-top: 10rem !important;
    margin-bottom: 10rem !important;
  }
  .spy-xxl-4 {
    margin-top: 13rem !important;
    margin-bottom: 13rem !important;
  }
  .spy-xxl-5 {
    margin-top: 15rem !important;
    margin-bottom: 15rem !important;
  }
  .spt-xxl-0 {
    margin-top: 0 !important;
  }
  .spt-xxl-1 {
    margin-top: 5rem !important;
  }
  .spt-xxl-2 {
    margin-top: 7rem !important;
  }
  .spt-xxl-3 {
    margin-top: 10rem !important;
  }
  .spt-xxl-4 {
    margin-top: 13rem !important;
  }
  .spt-xxl-5 {
    margin-top: 15rem !important;
  }
  .spe-xxl-0 {
    margin-right: 0 !important;
  }
  .spe-xxl-1 {
    margin-right: 5rem !important;
  }
  .spe-xxl-2 {
    margin-right: 7rem !important;
  }
  .spe-xxl-3 {
    margin-right: 10rem !important;
  }
  .spe-xxl-4 {
    margin-right: 13rem !important;
  }
  .spe-xxl-5 {
    margin-right: 15rem !important;
  }
  .spb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .spb-xxl-1 {
    margin-bottom: 5rem !important;
  }
  .spb-xxl-2 {
    margin-bottom: 7rem !important;
  }
  .spb-xxl-3 {
    margin-bottom: 10rem !important;
  }
  .spb-xxl-4 {
    margin-bottom: 13rem !important;
  }
  .spb-xxl-5 {
    margin-bottom: 15rem !important;
  }
  .sps-xxl-0 {
    margin-left: 0 !important;
  }
  .sps-xxl-1 {
    margin-left: 5rem !important;
  }
  .sps-xxl-2 {
    margin-left: 7rem !important;
  }
  .sps-xxl-3 {
    margin-left: 10rem !important;
  }
  .sps-xxl-4 {
    margin-left: 13rem !important;
  }
  .sps-xxl-5 {
    margin-left: 15rem !important;
  }
}
@media (min-width: 1200px) {
  .fs-1 {
    font-size: 1.875rem !important;
  }
  .fs-2 {
    font-size: 1.5rem !important;
  }
  .fs-3 {
    font-size: 1.3125rem !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;
  }
}
/* -- COLOR COMPONENTS -- */
/* ---------------------------------------------- */
/* ---------------------------------------------- */
/* gray color scheme */
[data-scheme=gray] {
  --bs-primary: #445169;
  --bs-primary-rgb: 68, 81, 105;
  --bs-primary-color: #fff;
  --bs-primary-color-rgb: 255, 255, 255;
  --bs-primary-border: #606b80;
  --bs-primary-bg-subtle: #dadce1;
  --bs-primary-border-subtle: #b4b9c3;
  --bs-primary-text-emphasis: #1b202a;
  --bs-link-color: #445169;
  --bs-link-color-rgb: 68, 81, 105;
  --bs-link-hover-color: #737d8f;
  --bs-link-hover-color-rgb: 115, 125, 143;
}
[data-scheme=gray] .form-range {
  --bs-form-range-thumb-active-bg: #858e9e;
}
[data-scheme=gray] .pagination {
  --bs-pagination-hover-bg: #3d495f;
}
[data-scheme=gray] .btn-primary {
  --bs-btn-primary-hover-bg: #3a4559;
  --bs-btn-primary-active-bg: #30394a;
}
[data-scheme=gray] .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}
[data-scheme=gray] .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(115, 125, 143, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(115, 125, 143, var(--bs-link-underline-opacity, 1));
}

[data-bs-theme=dark][data-scheme=gray] {
  --bs-primary-text-emphasis: #b2b8c2;
  --bs-primary-bg-subtle: #2c3544;
  --bs-primary-border-subtle: shade-color0(#445169, 20%);
}
[data-bs-theme=dark][data-scheme=gray] .text-primary {
  color: rgba(115, 125, 143, var(--bs-text-opacity, 1)) !important;
}
[data-bs-theme=dark][data-scheme=gray] .link-primary {
  --bs-link-primary-color: rgba(115, 125, 143, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(115, 125, 143, var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(87, 98, 120, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(87, 98, 120, var(--bs-link-underline-opacity, 1));
}
[data-bs-theme=dark][data-scheme=gray] .btn-outline-primary {
  --bs-btn-color: #989fad;
}
[data-bs-theme=dark][data-scheme=gray] .alert-primary {
  --bs-alert-bg: #7f8eab;
  --bs-alert-color: #181c25;
  --bs-alert-link: #141820;
}

/* End gray color scheme */
/* ---------------------------------------------- */
/* ocean color scheme */
[data-scheme=ocean] {
  --bs-primary: #005eb5;
  --bs-primary-rgb: 0, 94, 181;
  --bs-primary-color: #fff;
  --bs-primary-color-rgb: 255, 255, 255;
  --bs-primary-border: #2676c0;
  --bs-primary-bg-subtle: #ccdff0;
  --bs-primary-border-subtle: #99bfe1;
  --bs-primary-text-emphasis: #002648;
  --bs-link-color: #005eb5;
  --bs-link-color-rgb: 0, 94, 181;
  --bs-link-hover-color: #4086c8;
  --bs-link-hover-color-rgb: 64, 134, 200;
}
[data-scheme=ocean] .form-range {
  --bs-form-range-thumb-active-bg: #5996cf;
}
[data-scheme=ocean] .pagination {
  --bs-pagination-hover-bg: #0055a3;
}
[data-scheme=ocean] .btn-primary {
  --bs-btn-primary-hover-bg: #00509a;
  --bs-btn-primary-active-bg: #00427f;
}
[data-scheme=ocean] .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}
[data-scheme=ocean] .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(64, 134, 200, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(64, 134, 200, var(--bs-link-underline-opacity, 1));
}

[data-bs-theme=dark][data-scheme=ocean] {
  --bs-primary-text-emphasis: #96bde1;
  --bs-primary-bg-subtle: #003d76;
  --bs-primary-border-subtle: shade-color0(#005eb5, 20%);
}
[data-bs-theme=dark][data-scheme=ocean] .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}
[data-bs-theme=dark][data-scheme=ocean] .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(64, 134, 200, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(64, 134, 200, var(--bs-link-underline-opacity, 1));
}
[data-bs-theme=dark][data-scheme=ocean] .btn-outline-primary {
  --bs-btn-color: #178fff;
  --bs-btn-border-color: #178fff;
}
[data-bs-theme=dark][data-scheme=ocean] .alert-primary {
  --bs-alert-bg: #0c76db;
  --bs-alert-color: #00213f;
  --bs-alert-link: #001c36;
}

/* End ocean color scheme */
/* ---------------------------------------------- */
/* lime color scheme */
[data-scheme=lime] {
  --bs-primary: #3f911d;
  --bs-primary-rgb: 63, 145, 29;
  --bs-primary-color: #fff;
  --bs-primary-color-rgb: 255, 255, 255;
  --bs-primary-border: #5ca23f;
  --bs-primary-bg-subtle: #d9e9d2;
  --bs-primary-border-subtle: #b2d3a5;
  --bs-primary-text-emphasis: #193a0c;
  --bs-link-color: #3f911d;
  --bs-link-color-rgb: 63, 145, 29;
  --bs-link-hover-color: #6fad56;
  --bs-link-hover-color-rgb: 111, 173, 86;
}
[data-scheme=lime] .form-range {
  --bs-form-range-thumb-active-bg: #82b86c;
}
[data-scheme=lime] .pagination {
  --bs-pagination-hover-bg: #39831a;
}
[data-scheme=lime] .btn-primary {
  --bs-btn-primary-hover-bg: #367b19;
  --bs-btn-primary-active-bg: #2c6614;
}
[data-scheme=lime] .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}
[data-scheme=lime] .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(111, 173, 86, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(111, 173, 86, var(--bs-link-underline-opacity, 1));
}

[data-bs-theme=dark][data-scheme=lime] {
  --bs-primary-text-emphasis: #b0d2a2;
  --bs-primary-bg-subtle: #295e13;
  --bs-primary-border-subtle: shade-color0(#3f911d, 20%);
}
[data-bs-theme=dark][data-scheme=lime] .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}
[data-bs-theme=dark][data-scheme=lime] .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(111, 173, 86, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(111, 173, 86, var(--bs-link-underline-opacity, 1));
}
[data-bs-theme=dark][data-scheme=lime] .btn-outline-primary {
  --bs-btn-color: #66d738;
  --bs-btn-border-color: #66d738;
}
[data-bs-theme=dark][data-scheme=lime] .alert-primary {
  --bs-alert-bg: #66c43f;
  --bs-alert-color: #16330a;
  --bs-alert-link: #132c09;
}

/* End lime color scheme */
/* ---------------------------------------------- */
/* violet color scheme */
[data-scheme=violet] {
  --bs-primary: #6c307e;
  --bs-primary-rgb: 108, 48, 126;
  --bs-primary-color: #fff;
  --bs-primary-color-rgb: 255, 255, 255;
  --bs-primary-border: #824f91;
  --bs-primary-bg-subtle: #e2d6e5;
  --bs-primary-border-subtle: #c4accb;
  --bs-primary-text-emphasis: #2b1332;
  --bs-link-color: #6c307e;
  --bs-link-color-rgb: 108, 48, 126;
  --bs-link-hover-color: #91649e;
  --bs-link-hover-color-rgb: 145, 100, 158;
}
[data-scheme=violet] .form-range {
  --bs-form-range-thumb-active-bg: #9f78ab;
}
[data-scheme=violet] .pagination {
  --bs-pagination-hover-bg: #612b71;
}
[data-scheme=violet] .btn-primary {
  --bs-btn-primary-hover-bg: #5c296b;
  --bs-btn-primary-active-bg: #4c2258;
}
[data-scheme=violet] .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}
[data-scheme=violet] .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(145, 100, 158, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(145, 100, 158, var(--bs-link-underline-opacity, 1));
}

[data-bs-theme=dark][data-scheme=violet] {
  --bs-primary-text-emphasis: #c3aaca;
  --bs-primary-bg-subtle: #461f52;
  --bs-primary-border-subtle: shade-color0(#6c307e, 20%);
}
[data-bs-theme=dark][data-scheme=violet] .text-primary {
  color: rgba(145, 100, 158, var(--bs-text-opacity, 1)) !important;
}
[data-bs-theme=dark][data-scheme=violet] .link-primary {
  --bs-link-primary-color: rgba(145, 100, 158, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(145, 100, 158, var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(123, 69, 139, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(123, 69, 139, var(--bs-link-underline-opacity, 1));
}
[data-bs-theme=dark][data-scheme=violet] .btn-outline-primary {
  --bs-btn-color: #ae8db8;
}
[data-bs-theme=dark][data-scheme=violet] .alert-primary {
  --bs-alert-bg: #a162b4;
  --bs-alert-color: #26112c;
  --bs-alert-link: #200e26;
}

/* End violet color scheme */
/* ---------------------------------------------- */
/* orange color scheme */
[data-scheme=orange] {
  --bs-primary: #f97411;
  --bs-primary-rgb: 249, 116, 17;
  --bs-primary-color: #fff;
  --bs-primary-color-rgb: 255, 255, 255;
  --bs-primary-border: #fa8935;
  --bs-primary-bg-subtle: #fee3cf;
  --bs-primary-border-subtle: #fdc7a0;
  --bs-primary-text-emphasis: #642e07;
  --bs-link-color: #f97411;
  --bs-link-color-rgb: 249, 116, 17;
  --bs-link-hover-color: #fb974d;
  --bs-link-hover-color-rgb: 251, 151, 77;
}
[data-scheme=orange] .form-range {
  --bs-form-range-thumb-active-bg: #fba564;
}
[data-scheme=orange] .pagination {
  --bs-pagination-hover-bg: #e0680f;
}
[data-scheme=orange] .btn-primary {
  --bs-btn-primary-hover-bg: #d4630e;
  --bs-btn-primary-active-bg: #ae510c;
}
[data-scheme=orange] .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}
[data-scheme=orange] .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(251, 151, 77, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(251, 151, 77, var(--bs-link-underline-opacity, 1));
}

[data-bs-theme=dark][data-scheme=orange] {
  --bs-primary-text-emphasis: #fdc69d;
  --bs-primary-bg-subtle: #a24b0b;
  --bs-primary-border-subtle: shade-color0(#f97411, 20%);
}
[data-bs-theme=dark][data-scheme=orange] .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}
[data-bs-theme=dark][data-scheme=orange] .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(251, 151, 77, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(251, 151, 77, var(--bs-link-underline-opacity, 1));
}
[data-bs-theme=dark][data-scheme=orange] .btn-outline-primary {
  --bs-btn-color: #fbab70;
  --bs-btn-border-color: #fbab70;
}
[data-bs-theme=dark][data-scheme=orange] .alert-primary {
  --bs-alert-bg: #ce6f29;
  --bs-alert-color: #572906;
  --bs-alert-link: #4b2305;
}

/* End orange color scheme */
/* ---------------------------------------------- */
/* teal color scheme */
[data-scheme=teal] {
  --bs-primary: #005f7a;
  --bs-primary-rgb: 0, 95, 122;
  --bs-primary-color: #fff;
  --bs-primary-color-rgb: 255, 255, 255;
  --bs-primary-border: #26778e;
  --bs-primary-bg-subtle: #ccdfe4;
  --bs-primary-border-subtle: #99bfca;
  --bs-primary-text-emphasis: #002631;
  --bs-link-color: #005f7a;
  --bs-link-color-rgb: 0, 95, 122;
  --bs-link-hover-color: #40879b;
  --bs-link-hover-color-rgb: 64, 135, 155;
}
[data-scheme=teal] .form-range {
  --bs-form-range-thumb-active-bg: #5997a9;
}
[data-scheme=teal] .pagination {
  --bs-pagination-hover-bg: #00566e;
}
[data-scheme=teal] .btn-primary {
  --bs-btn-primary-hover-bg: #005168;
  --bs-btn-primary-active-bg: #004355;
}
[data-scheme=teal] .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}
[data-scheme=teal] .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(64, 135, 155, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(64, 135, 155, var(--bs-link-underline-opacity, 1));
}

[data-bs-theme=dark][data-scheme=teal] {
  --bs-primary-text-emphasis: #96bdc8;
  --bs-primary-bg-subtle: #003e4f;
  --bs-primary-border-subtle: shade-color0(#005f7a, 20%);
}
[data-bs-theme=dark][data-scheme=teal] .text-primary {
  color: rgba(64, 135, 155, var(--bs-text-opacity, 1)) !important;
}
[data-bs-theme=dark][data-scheme=teal] .link-primary {
  --bs-link-primary-color: rgba(64, 135, 155, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(64, 135, 155, var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(26, 111, 135, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(26, 111, 135, var(--bs-link-underline-opacity, 1));
}
[data-bs-theme=dark][data-scheme=teal] .btn-outline-primary {
  --bs-btn-color: #73a7b6;
}
[data-bs-theme=dark][data-scheme=teal] .alert-primary {
  --bs-alert-bg: #0cacdb;
  --bs-alert-color: #00212b;
  --bs-alert-link: #001d25;
}

/* End teal color scheme */
/* ---------------------------------------------- */
/* corn color scheme */
[data-scheme=corn] {
  --bs-primary: #e3cb0d;
  --bs-primary-rgb: 227, 203, 13;
  --bs-primary-color: #1a1d21;
  --bs-primary-color-rgb: 26, 29, 33;
  --bs-primary-border: #e7d331;
  --bs-primary-bg-subtle: #f9f5cf;
  --bs-primary-border-subtle: #f4ea9e;
  --bs-primary-text-emphasis: #5b5105;
  --bs-link-color: #b6a20a;
  --bs-link-color-rgb: 182, 162, 10;
  --bs-link-hover-color: #eee06e;
  --bs-link-hover-color-rgb: 238, 224, 110;
}
[data-scheme=corn] .form-range {
  --bs-form-range-thumb-active-bg: #eddd62;
}
[data-scheme=corn] .pagination {
  --bs-pagination-hover-bg: #ccb70c;
}
[data-scheme=corn] .btn-primary {
  --bs-btn-primary-hover-bg: #e7d331;
  --bs-btn-primary-active-bg: #e9d53d;
}
[data-scheme=corn] .text-primary {
  color: rgba(170, 152, 10, var(--bs-text-opacity, 1)) !important;
}
[data-scheme=corn] .link-primary {
  --bs-link-primary-color: rgba(170, 152, 10, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(170, 152, 10, var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(204, 183, 12, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(204, 183, 12, var(--bs-link-underline-opacity, 1));
}

[data-bs-theme=dark][data-scheme=corn] {
  --bs-primary-text-emphasis: #f4ea9c;
  --bs-primary-bg-subtle: #948408;
  --bs-primary-border-subtle: shade-color0(#e3cb0d, 20%);
}
[data-bs-theme=dark][data-scheme=corn] .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}
[data-bs-theme=dark][data-scheme=corn] .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(234, 216, 74, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(234, 216, 74, var(--bs-link-underline-opacity, 1));
}
[data-bs-theme=dark][data-scheme=corn] .btn-outline-primary {
  --bs-btn-color: #f6e45b;
  --bs-btn-border-color: #f6e45b;
}
[data-bs-theme=dark][data-scheme=corn] .alert-primary {
  --bs-alert-bg: #d0bd23;
  --bs-alert-color: #4f4705;
  --bs-alert-link: #443d04;
}

/* End corn color scheme */
/* ---------------------------------------------- */
/* cherry color scheme */
[data-scheme=cherry] {
  --bs-primary: #d43f51;
  --bs-primary-rgb: 212, 63, 81;
  --bs-primary-color: #fff;
  --bs-primary-color-rgb: 255, 255, 255;
  --bs-primary-border: #da5c6b;
  --bs-primary-bg-subtle: #f6d9dc;
  --bs-primary-border-subtle: #eeb2b9;
  --bs-primary-text-emphasis: #551920;
  --bs-link-color: #d43f51;
  --bs-link-color-rgb: 212, 63, 81;
  --bs-link-hover-color: #df6f7d;
  --bs-link-hover-color-rgb: 223, 111, 125;
}
[data-scheme=cherry] .form-range {
  --bs-form-range-thumb-active-bg: #e3828e;
}
[data-scheme=cherry] .pagination {
  --bs-pagination-hover-bg: #bf3949;
}
[data-scheme=cherry] .btn-primary {
  --bs-btn-primary-hover-bg: #b43645;
  --bs-btn-primary-active-bg: #942c39;
}
[data-scheme=cherry] .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}
[data-scheme=cherry] .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(223, 111, 125, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(223, 111, 125, var(--bs-link-underline-opacity, 1));
}

[data-bs-theme=dark][data-scheme=cherry] {
  --bs-primary-text-emphasis: #edb0b8;
  --bs-primary-bg-subtle: #8a2935;
  --bs-primary-border-subtle: shade-color0(#d43f51, 20%);
}
[data-bs-theme=dark][data-scheme=cherry] .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}
[data-bs-theme=dark][data-scheme=cherry] .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(223, 111, 125, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(223, 111, 125, var(--bs-link-underline-opacity, 1));
}
[data-bs-theme=dark][data-scheme=cherry] .btn-outline-primary {
  --bs-btn-color: #e68e99;
  --bs-btn-border-color: #e68e99;
}
[data-bs-theme=dark][data-scheme=cherry] .alert-primary {
  --bs-alert-bg: #ad787f;
  --bs-alert-color: #4a161c;
  --bs-alert-link: #401318;
}

/* End cherry color scheme */
/* ---------------------------------------------- */
/* coffee color scheme */
[data-scheme=coffee] {
  --bs-primary: #74543d;
  --bs-primary-rgb: 116, 84, 61;
  --bs-primary-color: #fff;
  --bs-primary-color-rgb: 255, 255, 255;
  --bs-primary-border: #896e5a;
  --bs-primary-bg-subtle: #e3ddd8;
  --bs-primary-border-subtle: #c7bbb1;
  --bs-primary-text-emphasis: #2e2218;
  --bs-link-color: #74543d;
  --bs-link-color-rgb: 116, 84, 61;
  --bs-link-hover-color: #977f6e;
  --bs-link-hover-color-rgb: 151, 127, 110;
}
[data-scheme=coffee] .form-range {
  --bs-form-range-thumb-active-bg: #a59081;
}
[data-scheme=coffee] .pagination {
  --bs-pagination-hover-bg: #684c37;
}
[data-scheme=coffee] .btn-primary {
  --bs-btn-primary-hover-bg: #634734;
  --bs-btn-primary-active-bg: #513b2b;
}
[data-scheme=coffee] .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}
[data-scheme=coffee] .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(151, 127, 110, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(151, 127, 110, var(--bs-link-underline-opacity, 1));
}

[data-bs-theme=dark][data-scheme=coffee] {
  --bs-primary-text-emphasis: #c6b9af;
  --bs-primary-bg-subtle: #4b3728;
  --bs-primary-border-subtle: shade-color0(#74543d, 20%);
}
[data-bs-theme=dark][data-scheme=coffee] .text-primary {
  color: rgba(151, 127, 110, var(--bs-text-opacity, 1)) !important;
}
[data-bs-theme=dark][data-scheme=coffee] .link-primary {
  --bs-link-primary-color: rgba(151, 127, 110, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(151, 127, 110, var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(130, 101, 80, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(130, 101, 80, var(--bs-link-underline-opacity, 1));
}
[data-bs-theme=dark][data-scheme=coffee] .btn-outline-primary {
  --bs-btn-color: #b3a194;
}
[data-bs-theme=dark][data-scheme=coffee] .alert-primary {
  --bs-alert-bg: #ad8d76;
  --bs-alert-color: #291d15;
  --bs-alert-link: #231912;
}

/* End coffee color scheme */
/* ---------------------------------------------- */
/* pear color scheme */
[data-scheme=pear] {
  --bs-primary: #9f3358;
  --bs-primary-rgb: 159, 51, 88;
  --bs-primary-color: #fff;
  --bs-primary-color-rgb: 255, 255, 255;
  --bs-primary-border: #ad5271;
  --bs-primary-bg-subtle: #ecd6de;
  --bs-primary-border-subtle: #d9adbc;
  --bs-primary-text-emphasis: #401423;
  --bs-link-color: #9f3358;
  --bs-link-color-rgb: 159, 51, 88;
  --bs-link-hover-color: #b76682;
  --bs-link-hover-color-rgb: 183, 102, 130;
}
[data-scheme=pear] .form-range {
  --bs-form-range-thumb-active-bg: #c17a92;
}
[data-scheme=pear] .pagination {
  --bs-pagination-hover-bg: #8f2e4f;
}
[data-scheme=pear] .btn-primary {
  --bs-btn-primary-hover-bg: #872b4b;
  --bs-btn-primary-active-bg: #6f243e;
}
[data-scheme=pear] .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}
[data-scheme=pear] .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(183, 102, 130, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(183, 102, 130, var(--bs-link-underline-opacity, 1));
}

[data-bs-theme=dark][data-scheme=pear] {
  --bs-primary-text-emphasis: #d8abbb;
  --bs-primary-bg-subtle: #672139;
  --bs-primary-border-subtle: shade-color0(#9f3358, 20%);
}
[data-bs-theme=dark][data-scheme=pear] .text-primary {
  color: rgba(183, 102, 130, var(--bs-text-opacity, 1)) !important;
}
[data-bs-theme=dark][data-scheme=pear] .link-primary {
  --bs-link-primary-color: rgba(183, 102, 130, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(183, 102, 130, var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(169, 71, 105, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(169, 71, 105, var(--bs-link-underline-opacity, 1));
}
[data-bs-theme=dark][data-scheme=pear] .btn-outline-primary {
  --bs-btn-color: #ca8fa3;
}
[data-bs-theme=dark][data-scheme=pear] .alert-primary {
  --bs-alert-bg: #b26780;
  --bs-alert-color: #38121f;
  --bs-alert-link: #300f1a;
}

/* End pear color scheme */
/* ---------------------------------------------- */
/* night color scheme */
[data-scheme=night] {
  --bs-primary: #24282f;
  --bs-primary-rgb: 36, 40, 47;
  --bs-primary-color: #fff;
  --bs-primary-color-rgb: 255, 255, 255;
  --bs-primary-border: #45484e;
  --bs-primary-bg-subtle: #d3d4d5;
  --bs-primary-border-subtle: #a7a9ac;
  --bs-primary-text-emphasis: #0e1013;
  --bs-link-color: #24282f;
  --bs-link-color-rgb: 36, 40, 47;
  --bs-link-hover-color: #5b5e63;
  --bs-link-hover-color-rgb: 91, 94, 99;
}
[data-scheme=night] .form-range {
  --bs-form-range-thumb-active-bg: #717378;
}
[data-scheme=night] .pagination {
  --bs-pagination-hover-bg: #20242a;
}
[data-scheme=night] .btn-primary {
  --bs-btn-primary-hover-bg: #1f2228;
  --bs-btn-primary-active-bg: #191c21;
}
[data-scheme=night] .text-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}
[data-scheme=night] .link-primary {
  --bs-link-primary-color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(91, 94, 99, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(91, 94, 99, var(--bs-link-underline-opacity, 1));
}

[data-bs-theme=dark][data-scheme=night] {
  --bs-primary-text-emphasis: #a5a7aa;
  --bs-primary-bg-subtle: #171a1f;
  --bs-primary-border-subtle: shade-color0(#24282f, 20%);
}
[data-bs-theme=dark][data-scheme=night] .text-primary {
  color: rgba(91, 94, 99, var(--bs-text-opacity, 1)) !important;
}
[data-bs-theme=dark][data-scheme=night] .link-primary {
  --bs-link-primary-color: rgba(91, 94, 99, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-color: rgba(91, 94, 99, var(--bs-link-underline-opacity, 1));
  --bs-link-primary-hover-color: rgba(58, 62, 68, var(--bs-link-opacity, 1));
  --bs-link-primary-underline-hover-color: rgba(58, 62, 68, var(--bs-link-underline-opacity, 1));
}
[data-bs-theme=dark][data-scheme=night] .btn-outline-primary {
  --bs-btn-color: #87898d;
}
[data-bs-theme=dark][data-scheme=night] .alert-primary {
  --bs-alert-bg: #4d75bd;
  --bs-alert-color: #0d0e10;
  --bs-alert-link: #0b0c0e;
}

/* End night color scheme */
/* -- ROOT -- */
/* ---------------------------------------------- */
.root {
  display: grid;
  gap: 0 0;
  grid-template-columns: min-content 1fr;
  grid-template-rows: min-content 1fr;
  min-height: 100vh;
  width: 100%;
}

body {
  overflow-x: hidden;
  position: relative;
  background-size: cover;
  background-attachment: fixed;
}

:root {
  --nf-backdrop-bg: rgba(26, 29, 33, 0.75);
  --nf-content-title-size: 2.25rem;
  --nf-content-title-color: var(--bs-primary);
  --nf-content-title-weight: 500;
}

/* -- REBOOT -- */
/* ---------------------------------------------- */
/* -- Scrollbar -- */
/* ---------------------------------------------- */
@supports (-moz-appearance: none) {
  .scrollable-content {
    scrollbar-color: rgba(0, 0, 0, 0.25) transparent;
    scrollbar-width: auto;
  }
}
html[data-overlayscrollbars] > body::-webkit-scrollbar {
  width: 0 !important;
  visibility: hidden;
}

::-webkit-scrollbar {
  width: 0.35rem;
  height: 0.35rem;
}

::-webkit-scrollbar-track {
  background-color: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.25);
  border-radius: 1rem;
}

::-webkit-scrollbar-thumb:hover {
  width: 2rem;
  background: rgba(0, 0, 0, 0.5);
}

@supports (-moz-appearance: none) {
  [data-bs-theme=dark] .scrollable-content {
    scrollbar-color: rgba(255, 255, 255, 0.25) transparent;
  }
}
[data-bs-theme=dark] ::-webkit-scrollbar-track {
  background-color: transparent;
}
[data-bs-theme=dark] ::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.25);
}
[data-bs-theme=dark] ::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}

/* -- FRONT CONTAINER -- */
/* ---------------------------------------------- */
.front-container {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
  grid-auto-columns: 1fr;
  grid-template-columns: 1fr;
  grid-template-rows: min-content 1fr min-content;
}
.front-container .header {
  grid-area: 1/1/2/2;
}
.front-container .content {
  background-color: transparent;
  color: inherit;
  grid-area: 2/1/3/2;
}
.front-container .footer {
  grid-area: 3/1/4/2;
}
body[style*=background]:not(.boxed-layout) > .front-container, .bg-img:not(.boxed-layout) > .front-container {
  background-color: rgba(var(--bs-body-bg-rgb), 0.5);
  background-attachment: fixed;
  background-blend-mode: screen;
}

/* -- CONTENTS -- */
/* ---------------------------------------------- */
.root:not(.hd--expanded) .content__header > .content__wrap {
  padding-bottom: 0 !important;
}

.content {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
  display: flex;
  flex-direction: column;
  grid-area: 2/2/3/3;
  width: 100%;
  min-width: 0;
  max-width: 100vw;
}
.content .page-title {
  color: var(--nf-content-title-color);
  font-size: var(--nf-content-title-size);
  font-weight: var(--nf-content-title-weight);
  text-transform: capitalize;
}

.content__wrap {
  padding: 1rem 1rem;
}

@media (min-width: 768px) {
  .content__wrap {
    padding-inline: 1.5rem;
  }
}
@media (min-width: 992px) {
  .content__wrap {
    padding-inline: 1.25rem;
  }
}
@media (min-width: 1200px) {
  .content__wrap {
    padding-inline: 1.25rem;
  }
}
@media (min-width: 1400px) {
  .content__wrap {
    padding-inline: 2.5rem;
  }
}
/* -- CONTENT VIEW -- */
/* ---------------------------------------------- */
.content-full-page {
  position: fixed;
  inset: 0;
  z-index: 999999;
  border-radius: 0 !important;
}

/* -- SINGLE CONTENT VIEW -- */
/* ---------------------------------------------- */
.body-sc > .root {
  position: relative;
  height: 100vh;
  overflow: hidden;
  z-index: 999999;
}
.body-sc .sidebar, .body-sc .header, .body-sc .content__header:after {
  z-index: 0 !important;
}

.single-content {
  display: flex;
  min-height: 0 !important;
  flex: 1 1 0;
}

@media (min-width: 576px) {
  .single-content-sm {
    display: flex;
    min-height: 0 !important;
    flex: 1 1 0;
  }
}
@media (min-width: 768px) {
  .single-content-md {
    display: flex;
    min-height: 0 !important;
    flex: 1 1 0;
  }
}
@media (min-width: 992px) {
  .single-content-lg {
    display: flex;
    min-height: 0 !important;
    flex: 1 1 0;
  }
}
@media (min-width: 1200px) {
  .single-content-xl {
    display: flex;
    min-height: 0 !important;
    flex: 1 1 0;
  }
}
@media (min-width: 1400px) {
  .single-content-xxl {
    display: flex;
    min-height: 0 !important;
    flex: 1 1 0;
  }
}
/* -- SEARCHBOX -- */
/* ---------------------------------------------- */
.searchbox {
  --nf-search-focus-bg: rgba(0, 0, 0, 0.15);
  --nf-search-collapsed-width: 20vw;
  --nf-search-expanded-width: 35vw;
  --nf-search-transition-duration: 0.35s;
  --nf-search-transition-delay: 0.15s;
  --nf-search-transition-timing: ease;
  width: auto;
}
.searchbox .searchbox__input {
  padding-right: calc(1ex + 2rem);
  transition: width var(--nf-search-transition-duration) var(--nf-search-transition-timing) var(--nf-search-transition-delay), background-color var(--nf-search-transition-duration) var(--nf-search-transition-timing) var(--nf-search-transition-delay);
}
.searchbox .searchbox__input:focus {
  transition: width var(--nf-search-transition-duration) var(--nf-search-transition-timing) var(--nf-search-transition-delay), background-color var(--nf-search-transition-duration) var(--nf-search-transition-timing) var(--nf-search-transition-delay);
}
.searchbox .searchbox__input.bg-transparent {
  background-color: transparent !important;
  border: 0;
  box-shadow: none !important;
  color: inherit;
}
.searchbox .searchbox__input.bg-transparent:focus {
  background-color: var(--nf-search-focus-bg) !important;
}
.searchbox.input-group:not(.has-validation) > .searchbox__input:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) {
  border-radius: var(--bs-border-radius);
}
.searchbox .searchbox__btn {
  font-size: 1rem;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity var(--nf-search-transition-duration) var(--nf-search-transition-timing) var(--nf-search-transition-delay), visibility var(--nf-search-transition-duration) var(--nf-search-transition-timing) var(--nf-search-transition-delay);
  z-index: 5;
}
.searchbox.searchbox--auto-expand .searchbox__input {
  width: var(--nf-search-collapsed-width);
}
.searchbox.searchbox--auto-expand .searchbox__input:focus {
  width: var(--nf-search-expanded-width);
}
.searchbox.searchbox--hide-btn .searchbox__btn {
  opacity: 0;
  visibility: hidden;
}
.searchbox.searchbox--hide-btn .searchbox__input:focus ~ .searchbox__btn, .searchbox.searchbox--hide-btn .searchbox__input:focus ~ div > .searchbox__btn {
  opacity: 1;
  transition: opacity var(--nf-search-transition-duration) var(--nf-search-transition-timing), visibility var(--nf-search-transition-duration) var(--nf-search-transition-timing);
  visibility: visible;
}

/* -- SCROLL PAGE TO TOP -- */
/* ---------------------------------------------- */
.scroll-container {
  --nf-btn-scroll-bg: var(--bs-primary);
  --nf-btn-scroll-color: var(--bs-primary-color);
  --nf-btn-scroll-border: 3px solid var(--bs-body-bg);
  --nf-btn-scroll-border-radius: 50%;
  --nf-btn-scroll-size: 4em;
  --nf-btn-scroll-right-margin: 1rem;
  --nf-btn-scroll-bottom-margin: 1rem;
  min-height: var(--nf-btn-scroll-size);
  pointer-events: none;
  position: absolute;
  right: var(--nf-btn-scroll-right-margin);
  top: min(100% - var(--nf-btn-scroll-size), 120vh);
  bottom: var(--nf-btn-scroll-size);
  clip-path: inset(0 0 0 0);
  z-index: 999;
}

.scroll-page {
  align-items: center;
  background-color: var(--nf-btn-scroll-bg);
  border: var(--nf-btn-scroll-border);
  border-radius: var(--nf-btn-scroll-border-radius);
  color: var(--nf-btn-scroll-color) !important;
  cursor: pointer;
  display: flex;
  justify-content: center;
  pointer-events: visible;
  position: sticky;
  right: var(--nf-btn-scroll-right-margin);
  text-decoration: none;
  top: calc(100vh - var(--nf-btn-scroll-size) - var(--nf-btn-scroll-bottom-margin));
  width: var(--nf-btn-scroll-size);
  z-index: 99999;
}
.scroll-page:after {
  border-style: solid;
  border-width: 3px 3px 0 0;
  content: "";
  display: inline-block;
  height: 30%;
  left: 35%;
  pointer-events: none;
  position: absolute;
  top: 43%;
  transform-origin: center center;
  transform: rotate(-45deg);
  width: 30%;
}

/* -- BACKDROP FOR MAIN NAVIGATION AND SIDEBAR -- */
/* ---------------------------------------------- */
.root:before {
  background-color: var(--nf-backdrop-bg);
  content: "";
  display: block;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  visibility: hidden;
  z-index: -1;
}
.root.mn--show:before, .root.sb--show:before {
  cursor: pointer;
  opacity: 1;
  pointer-events: visible;
  visibility: visible;
  z-index: 9998;
}

/* -- TIMELINE -- */
/* ---------------------------------------------- */
.timeline {
  --nf-timeline-line-color: var(--bs-primary);
  --nf-timeline-line-style: solid;
  --nf-timeline-line-width: 2px;
  --nf-timeline-point-color: var(--bs-primary);
  --nf-timeline-point-gap: 0.25rem;
  --nf-timeline-point-size: 0.5rem;
  --nf-timeline-point-media-size: 2.25rem;
  --nf-timeline-entry-gap-x: 0.75rem;
  --nf-timeline-entry-gap-y: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--nf-timeline-entry-gap-y);
}
.timeline .tl-time:not(:empty) {
  min-width: 7rem;
  text-align: end;
}
.timeline .tl-time .tl-date {
  font-size: 90%;
}
.timeline .tl-time .tl-time {
  color: var(--bs-heading-color);
  font-weight: 700;
}
.timeline .tl-entry {
  display: flex;
  gap: var(--nf-timeline-entry-gap-x);
}
.timeline .tl-point:before {
  background-color: var(--nf-timeline-point-color);
  border-radius: 50%;
  content: "";
  display: block;
  height: var(--nf-timeline-point-size);
  transform: translateY(0.75ex);
  width: var(--nf-timeline-point-size);
}
.timeline .tl-point:after {
  border-inline-start: var(--nf-timeline-line-width) var(--nf-timeline-line-style) var(--nf-timeline-line-color);
  content: "";
  display: block;
  height: calc(100% - var(--nf-timeline-point-size) - var(--nf-timeline-point-gap) * 2 + var(--nf-timeline-entry-gap-y));
  inset: calc(0.75ex + var(--nf-timeline-point-gap)) auto auto calc(50% - var(--nf-timeline-line-width) / 2);
  position: relative;
}
.timeline .tl-media {
  flex: 0 0 var(--nf-timeline-point-media-size);
}
.timeline .tl-media i {
  align-items: center;
  display: flex;
  justify-content: center;
}
.timeline .tl-media:after {
  border-inline-start: var(--nf-timeline-line-width) var(--nf-timeline-line-style) var(--nf-timeline-line-color);
  content: "";
  display: block;
  height: calc(100% - var(--nf-timeline-point-media-size) - var(--nf-timeline-point-gap) * 2 + var(--nf-timeline-entry-gap-y));
  inset: var(--nf-timeline-point-gap) auto auto calc(50% - var(--nf-timeline-line-width) / 2);
  position: relative;
}
.timeline .tl-entry.active .tl-icon .ratio {
  box-shadow: 0 0 0 var(--nf-timeline-line-width), 0 0 0 calc(var(--nf-timeline-line-width) * 2) var(--nf-timeline-line-color);
}
.timeline .tl-entry.active .tl-point:before {
  background-color: transparent;
  box-shadow: 0 0 0 var(--nf-timeline-line-width) var(--nf-timeline-point-color);
}
.timeline .tl-entry.active .tl-point:after {
  height: calc(100% - var(--nf-timeline-line-width) - var(--nf-timeline-point-size) - var(--nf-timeline-point-gap) * 2 + var(--nf-timeline-entry-gap-y));
  top: calc(0.75ex + var(--nf-timeline-point-gap) + var(--nf-timeline-line-width));
}
.timeline .tl-entry:last-child .tl-point:after, .timeline .tl-entry:last-child .tl-media:after {
  border-color: var(--bs-secondary);
  border-inline-start-style: dotted;
}

.timeline-two-column .tl-entry > .tl-time, .timeline-two-column .tl-content {
  width: 50%;
}
.timeline-two-column .tl-content > * {
  display: inline-flex;
  flex-direction: column;
}
.timeline-two-column .tl-entry-start {
  flex-direction: row-reverse;
}
.timeline-two-column .tl-entry-start .tl-time {
  text-align: start;
}
.timeline-two-column .tl-entry-start .tl-content {
  align-items: flex-end;
  display: inline-flex;
  flex-direction: column;
  justify-content: end;
}

/* -- SPEECH BUBBLE -- */
/* ---------------------------------------------- */
.bubble {
  --nf-bubble-border-radius: 1.5rem;
  --nf-bubble-max-width: min(400px, 80%);
  --nf-bubble-primary-bg: var(--bs-primary);
  --nf-bubble-primary-color: var(--bs-primary-color);
  --nf-bubble-secondary-bg: var(--bs-white);
  --nf-bubble-secondary-color: var(--bs-dark);
  --nf-bubble-padding-x: 1rem;
  --nf-bubble-padding-y: 0.75rem;
  background-color: var(--nf-bubble-secondary-bg);
  border-radius: var(--nf-bubble-border-radius);
  border-end-start-radius: 0;
  color: var(--nf-bubble-secondary-color);
  display: inline-flex;
  flex-direction: column;
  max-width: var(--nf-bubble-max-width);
  padding: var(--nf-bubble-padding-y) var(--nf-bubble-padding-x);
  position: relative;
}
.bubble:after {
  border-color: transparent transparent var(--nf-bubble-secondary-bg) transparent;
  border-style: solid;
  border-width: 0 0 5px 7px;
  bottom: 0;
  content: "";
  display: block;
  left: -7px;
  position: absolute;
  width: 0;
  z-index: 1;
}
.bubble.bubble-primary, .bubble-primary .bubble {
  background-color: var(--nf-bubble-primary-bg);
  border-radius: var(--nf-bubble-border-radius);
  border-end-end-radius: 0;
  color: var(--nf-bubble-primary-color);
}
.bubble.bubble-primary:after, .bubble-primary .bubble:after {
  border-color: transparent transparent transparent var(--nf-bubble-primary-bg);
  border-width: 5px 0 0 7px;
  left: auto;
  right: -7px;
}

/* -- HEADER -- */
/* ---------------------------------------------- */
.root {
  --nf-header-bg: var(--bs-component-bg);
  --nf-header-color: var(--bs-component-color);
  --nf-header-secondary-color: var(--bs-secondary-color);
  --nf-header-border-color: var(--bs-border-color);
  --nf-header-height: 3.125rem;
  --nf-header-shadow: var(--bs-box-shadow-sm);
  --nf-header-btn-hover-bg: rgba(var(--bs-body-color-rgb), 0.1);
  --nf-header-btn-hover-color: var(--bs-heading-color);
  --nf-header-btn-border-radius: calc(var(--bs-border-radius) * 2);
  --nf-header-transition-duration: 0.35s;
  --nf-header-transition-timing: ease;
}

.header {
  background-color: var(--nf-header-bg);
  box-shadow: var(--nf-header-shadow);
  color: var(--nf-header-color);
  grid-area: 1/1/2/3;
}

.header__inner {
  align-items: center;
  display: flex;
  height: var(--nf-header-height);
  padding-inline: 1rem;
}

.root {
  --nf-brand-bg: transparent;
  --nf-brand-color: var(--nf-header-color);
  --nf-brand-size: 16px;
  --nf-brand-img-margin: 0.475rem 0.5rem;
  --nf-brand-font-size: 1.25rem;
  --nf-brand-font-weight: 500;
  --nf-brand-font-family: Ubuntu, sans-serif;
}

.header__brand {
  align-items: center;
  background-color: var(--nf-brand-bg);
  color: var(--nf-brand-color);
  display: flex;
  height: 100%;
  margin-inline-end: 0.5rem;
}

.brand-wrap {
  align-items: center;
  display: flex;
  position: relative;
}
.brand-wrap:hover .brand-title {
  box-shadow: 0 4px 0 -2px;
}

.brand-img {
  text-align: center;
  width: auto;
}
.brand-img img {
  width: var(--nf-brand-size);
  height: var(--nf-brand-size);
}

.brand-title {
  display: none;
}

.header__content {
  align-items: center;
  display: flex;
  flex-grow: 1;
  height: 100%;
  justify-content: space-between;
}

.header__content-start {
  flex-grow: 1;
}

.header__content-start, .header__content-end {
  align-items: center;
  display: flex;
  gap: 0.3rem;
}
.header__content-start > *, .header__content-end > * {
  margin: 0 -0.1rem;
}
.header__content-start > .vr, .header__content-end > .vr {
  background-color: color-mix(in srgb, currentColor 50%, transparent);
}

.header__btn {
  -webkit-appearance: none;
  appearance: none;
  border-radius: var(--nf-header-btn-border-radius);
  border-color: transparent !important;
  box-shadow: none !important;
  color: inherit;
  font-size: 0.8rem;
}
.header__btn.show, .header__btn:hover, .header__btn:focus, .header__btn:active {
  background-color: var(--nf-header-btn-hover-bg);
  color: var(--nf-header-btn-hover-color);
}

.header-searchbox {
  position: relative;
  margin-left: auto;
}
.header-searchbox .searchbox__input::placeholder {
  color: var(--nf-header-secondary-color);
}

.searchbox__backdrop {
  position: relative;
}

.hd--sticky .header {
  position: sticky;
  top: 0;
  z-index: 1000;
}
.hd--sticky.mn--sticky.mn--max .mainnav .mainnav__inner {
  height: calc(100vh - var(--nf-header-height));
  top: var(--nf-header-height);
}

@media (max-width: 767.98px) {
  .header__content .searchbox {
    background-color: var(--nf-header-bg);
    left: 0;
    padding-left: var(--bs-gutter-x, 0.75rem);
    padding-right: var(--bs-gutter-x, 0.75rem);
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 9999;
  }
  .header__content .searchbox .searchbox__input {
    position: fixed;
    top: -99rem;
  }
  .header__content .searchbox .searchbox__input, .header__content .searchbox .searchbox__input:focus ~ .searchbox__backdrop {
    margin: 1rem 0;
  }
  .header__content .searchbox .searchbox__input, .header__content .searchbox .searchbox__btn {
    transition-duration: 0s;
  }
  @supports (-webkit-overflow-scrolling: touch) {
    .header__content .searchbox .searchbox__input {
      font-size: 16px;
    }
  }
  .header__content .searchbox .searchbox__input:focus {
    background-color: var(--nf-header-btn-hover-bg) !important;
    position: static;
  }
  .header__content .searchbox .searchbox__input:focus ~ .searchbox__backdrop:after {
    background-color: var(--nf-backdrop-bg);
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: fixed;
    right: 0;
    top: calc(3.1rem + calc(var(--bs-body-line-height) * var(--bs-body-font-size)));
  }
  .header__content .dropdown-menu {
    width: 100vw;
  }
  .hd--sticky .header__content .dropdown-menu {
    max-height: calc(100vh - (var(--nf-header-height)));
    overflow-x: hidden;
  }
}
@media (min-width: 768px) {
  .brand-img, .header-searchbox {
    margin: 0;
  }
  .brand-title {
    color: var(--nf-brand-color) !important;
    display: block;
    font-family: var(--nf-brand-font-family);
    font-size: var(--nf-brand-font-size);
    font-weight: var(--nf-brand-font-weight);
    line-height: var(--nf-brand-font-size);
    margin-inline: var(--nf-brand-img-margin);
    text-decoration: none !important;
  }
  .header .searchbox .searchbox__input.bg-transparent {
    border-radius: calc(var(--bs-border-radius) * 2) !important;
  }
  .header .searchbox .searchbox__input.bg-transparent:focus {
    background-color: var(--nf-header-btn-hover-bg) !important;
  }
  .searchbox__backdrop {
    height: 100%;
    margin: 0 !important;
    position: absolute;
    right: 0;
    top: 0;
  }
}
@media (min-width: 992px) {
  .mn--max .header__brand {
    transition: max-width var(--nf-header-transition-duration) var(--nf-header-transition-timing);
    width: 100%;
  }
}
@media (min-width: 768px) {
  .header__inner {
    padding-inline: 1.5rem;
  }
}
@media (min-width: 992px) {
  .header__inner {
    padding-inline: 1.25rem;
  }
}
@media (min-width: 1200px) {
  .header__inner {
    padding-inline: 1.25rem;
  }
}
@media (min-width: 1400px) {
  .header__inner {
    padding-inline: 2.5rem;
  }
}
@media (min-width: 992px) {
  .mn--min .header__brand, .mn--max .header__brand {
    margin-inline-end: 0;
  }
}
/* -- MAINNAV MENU LINK -- */
/* ---------------------------------------------- */
.mainnav__caption {
  color: var(--nf-mainnav-heading-color);
  padding-inline: calc(calc(var(--nf-mainnav-submenu-indent) - var(--nf-mainnav-submenu-dashed-margin)) + var(--nf-mainnav-link-padding-x));
}

.mainnav__inner .list-group-item, .mainnav__inner .px-m {
  padding-inline: calc(calc(var(--nf-mainnav-submenu-indent) - var(--nf-mainnav-submenu-dashed-margin)) + var(--nf-mainnav-link-padding-x));
}
.root .mainnav__inner .mainnav__menu .nav-link:not(.active):not(:hover):not(:active) .nav-label:where(.fw-medium, .fw-semibold, .fw-bold, .fw-bolder), .mn--min .mainnav__inner .mainnav__menu .nav-link .nav-label:where(.fw-medium, .fw-semibold, .fw-bold, .fw-bolder) {
  color: var(--nf-mainnav-heading-color);
}

.mainnav__inner .mainnav__menu .nav-link {
  padding: var(--nf-mainnav-link-padding-y) var(--nf-mainnav-link-padding-x);
}
.mainnav__inner .mainnav__menu > .nav-item > .nav-link {
  display: flex;
}
.mainnav__inner .mainnav__menu > .nav-item > .nav-link.active {
  background-color: var(--nf-mainnav-submenu-active-bg);
  border-radius: var(--nf-mainnav-submenu-border-radius);
  box-shadow: var(--nf-mainnav-submenu-active-shadow);
  color: var(--nf-mainnav-submenu-active-color);
  font-weight: 600;
}
.mainnav__inner .mainnav__menu > .nav-item > .nav-link.active i, .mainnav__inner .mainnav__menu > .nav-item > .nav-link.active .nav-icon {
  color: inherit !important;
}
.root.mn--min .nav-item:not(.has-sub) .nav-link.active > .nav-label {
  color: var(--nf-mainnav-link-active);
  text-decoration: var(--nf-mainnav-link-active-underline) var(--nf-mainnav-link-active-underline-color);
  text-underline-offset: 5px;
}
.root.mn--min .nav-item:not(.has-sub) .nav-link.active > .nav-label:hover {
  color: var(--nf-mainnav-link-hover);
  text-decoration-color: currentColor;
}
.root .mainnav__inner .nav-link {
  color: var(--nf-mainnav-link-color);
}
.root .mainnav__inner .nav-link.disabled, .root .mainnav__inner .nav-tabs .nav-item > .nav-link:disabled, .nav-tabs .root .mainnav__inner .nav-item > .nav-link:disabled {
  opacity: 0.4;
}
.root .mainnav__inner .nav-link:hover {
  color: var(--nf-mainnav-link-hover);
}
.root .mainnav__inner .nav-link.active ~ .nav .active {
  color: var(--nf-mainnav-link-active);
  text-decoration: var(--nf-mainnav-link-active-underline) var(--nf-mainnav-link-active-underline-color);
  text-underline-offset: 5px;
}
.root .mainnav__inner .nav-link.active ~ .nav .active:hover {
  color: var(--nf-mainnav-link-hover);
  text-decoration-color: currentColor;
}
.root .mainnav__inner .nav-link i, .root .mainnav__inner .nav-link .nav-icon {
  color: var(--nf-mainnav-icon-color) !important;
}

.mainnav__menu .mininav-content {
  flex-direction: column;
  flex-wrap: nowrap;
}
.mainnav__menu .mininav-toggle {
  align-items: center;
  display: flex;
}
.mainnav__menu .mininav-toggle > .nav-label, .mainnav__menu .mininav-toggle .nav-icon, .mainnav__menu .mininav-toggle i {
  pointer-events: none;
}
.mainnav__menu .mininav-toggle .nav-label {
  display: inline-block;
}
.mainnav__menu .mininav-toggle > .nav-label.mininav-content {
  height: auto !important;
}
.mainnav__menu .has-sub > .mininav-toggle:not(.has-badge):after {
  border-style: solid;
  border-width: 0.15em 0.15em 0 0;
  content: "";
  display: inline-block;
  height: 0.55em;
  margin-left: auto;
  transform: rotate(135deg);
  transition: transform calc(var(--nf-mainnav-transition-duration) / 2);
  width: 0.55em;
}
.mainnav__menu .has-sub > .mininav-toggle.collapsed:after {
  transform: rotate(45deg);
}

.root:not(.mn--min) .mainnav__menu .has-sub:not(.opened) .mininav-toggle.active:not(.collapsed) + .mininav-content {
  display: block;
  height: auto !important;
}

@media (max-width: 991.98px) {
  .root .mininav-content {
    position: static !important;
    transform: none !important;
  }
  .root .mainnav__menu > .nav-item.has-sub .has-sub > .mininav-content {
    border-inline-start: 1px dashed var(--nf-mainnav-submenu-dashed-color);
    border-radius: 0;
    margin-inline-start: calc(calc(var(--nf-mainnav-submenu-indent-lv2) - 0.5em) + var(--nf-mainnav-link-padding-x)) !important;
    padding-inline-start: 0.5rem;
  }
  .root .mainnav__menu > .nav-item.has-sub .has-sub > .mininav-content > .nav-item > .nav-link {
    padding-inline: 0.75em;
  }
  .root .mainnav__menu > .nav-item.has-sub > .mininav-content {
    border-inline-start: 1px dashed var(--nf-mainnav-submenu-dashed-color);
    margin-inline-start: var(--nf-mainnav-submenu-dashed-margin) !important;
  }
  .root .mainnav__menu > .nav-item.has-sub > .mininav-content > .nav-item > .nav-link {
    padding-inline-start: calc(calc(var(--nf-mainnav-submenu-indent) - var(--nf-mainnav-submenu-dashed-margin)) + var(--nf-mainnav-link-padding-x));
  }
}
@media (min-width: 992px) {
  .root:not(.mn--min) .mininav-content {
    position: static !important;
    transform: none !important;
  }
  .root:not(.mn--min) .mainnav__menu > .nav-item.has-sub .has-sub > .mininav-content {
    border-inline-start: 1px dashed var(--nf-mainnav-submenu-dashed-color);
    margin-inline-start: calc(0.25em + var(--nf-mainnav-link-padding-x)) !important;
    padding-inline-start: 0.5rem;
  }
  .root:not(.mn--min) .mainnav__menu > .nav-item.has-sub .has-sub > .mininav-content > .nav-item > .nav-link {
    padding-inline: 0.75em;
  }
  .root:not(.mn--min) .mainnav__menu > .nav-item.has-sub > .mininav-content {
    border-inline-start: 1px dashed var(--nf-mainnav-submenu-dashed-color);
    margin-inline-start: var(--nf-mainnav-submenu-dashed-margin) !important;
  }
  .root:not(.mn--min) .mainnav__menu > .nav-item.has-sub > .mininav-content > .nav-item > .nav-link {
    padding-inline-start: calc(calc(var(--nf-mainnav-submenu-indent) - var(--nf-mainnav-submenu-dashed-margin)) + var(--nf-mainnav-link-padding-x));
  }
}
/* -- MAIN NAVIGATION - MINI / COLLAPSED MODE -- */
/* ---------------------------------------------- */
@media (min-width: 992px) {
  .mn--min {
    --nf-mainnav-min-icon-color: var(--bs-primary-text-emphasis);
    --nf-mainnav-min-icon-active-color: var(--bs-primary-color);
    --nf-mainnav-min-submenu-padding-x: 0.5rem;
    --nf-mainnav-min-submenu-padding-y: 0.5rem;
    --nf-mainnav-min-submenu-active-bg: var(--bs-primary);
    --nf-mainnav-min-submenu-active-color: var(--bs-primary-color);
    --nf-mainnav-min-shadow: var(--bs-box-shadow-lg);
    --nf-mainnav-min-submenu-link-padding-x: 0.75rem;
    --nf-mainnav-min-submenu-link-padding-y: 0.7rem;
    padding: 0 !important;
  }
  .mn--min .mainnav {
    max-width: var(--nf-mainnav-min-width);
    transition: max-width var(--nf-mainnav-min-transition-duration) var(--nf-mainnav-min-transition-timing);
    z-index: 1000;
  }
  .mn--min .mainnav__inner .mainnav__menu > .nav-item > .nav-link {
    padding: 0.59rem;
  }
  .mn--min .mainnav__bottom-content,
  .mn--min .mainnav__top-content {
    padding-inline: calc((var(--nf-mainnav-min-width) - calc(var(--bs-body-font-size) + 1.5rem)) / 2);
  }
  .mn--min .header__inner {
    padding-left: 0;
  }
  .mn--min .header__brand {
    justify-content: center;
    max-width: var(--nf-mainnav-min-width);
    padding-inline-start: 0;
    transition: max-width var(--nf-mainnav-min-transition-duration) var(--nf-mainnav-min-transition-timing);
    width: 100%;
  }
  .mn--min.mn--sticky.hd--expanded .content__header::before {
    z-index: 100;
  }
  .mn--min.mn--sticky.hd--expanded .mainnav {
    z-index: 99;
  }
  .mn--min.hd--sticky .mainnav__inner {
    top: var(--nf-header-height);
    z-index: auto;
  }
  .mn--sticky.mn--min.hd--sticky .mainnav__inner {
    height: calc(100vh - var(--nf-header-height));
  }
  .mn--min .mainnav__caption {
    display: block;
    max-height: 0;
    overflow: hidden;
    visibility: hidden;
  }
  .mn--min .mainnav__widget .mininav-content {
    min-width: 13rem;
  }
  .mn--min .mainnav__widget .mininav-content .mainnav-widget-toggle[data-bs-toggle=collapse] {
    pointer-events: none;
  }
  .mn--min .mainnav__widget .mininav-content .nav {
    display: block !important;
  }
  .mn--min .mainnav__avatar {
    height: auto;
    width: 2rem;
  }
  .mn--min .mainnav__categoriy {
    border-bottom: 1px solid var(--nf-mainnav-border-color);
  }
  .mn--min .d-mn-min {
    display: block;
  }
  .mn--min .d-mn-max,
  .mn--min .d-mn-max:not(.show),
  .mn--min .brand-title,
  .mn--min .mainnav__menu > .has-sub > .nav-link:after,
  .mn--min .mainnav__menu > .nav-item > .nav-link .nav-label:not(.show) {
    display: none;
  }
  .mn--min .mainnav__menu > .nav-item > .nav-link {
    justify-content: center;
  }
  .mn--min .mainnav__menu > .nav-item > .nav-link i, .mn--min .mainnav__menu > .nav-item > .nav-link .nav-icon {
    color: var(--nf-mainnav-min-icon-color) !important;
  }
  .mn--min .mainnav__menu > .nav-item > .nav-link.active {
    background-color: var(--nf-mainnav-min-submenu-active-bg);
    color: var(--nf-mainnav-min-submenu-active-color);
  }
  .mn--min .mainnav__menu > .nav-item > .nav-link.active i, .mn--min .mainnav__menu > .nav-item > .nav-link.active .nav-icon {
    color: var(--nf-mainnav-min-icon-active-color) !important;
  }
  .mn--min .mainnav__menu > .nav-item, .mn--min .mainnav__menu > .nav-item > .nav-link i {
    margin: 0 !important;
  }
  .mn--min .mainnav__menu > .nav-item {
    margin-bottom: 0.25rem !important;
    width: 100%;
  }
  .mn--min .mainnav__menu > .has-sub .has-sub > .nav-link {
    gap: 2.5rem;
  }
  .mn--min .mininav-toggle {
    cursor: pointer;
  }
  .mn--min .mininav-toggle .nav-label {
    color: var(--nf-mainnav-color);
  }
  .mn--min .mininav-content {
    background-color: var(--nf-mainnav-bg);
    border-radius: var(--nf-mainnav-submenu-border-radius);
    box-shadow: var(--nf-mainnav-min-shadow);
    margin-inline-start: calc((var(--nf-mainnav-min-width) - calc(var(--bs-body-font-size) + 1.5rem)) / 2) !important;
    max-width: 19rem;
    min-width: 11rem;
    padding: var(--nf-mainnav-min-submenu-padding-y) var(--nf-mainnav-min-submenu-padding-x);
    white-space: nowrap;
  }
  .mn--min .mininav-content .nav-link {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: var(--nf-mainnav-min-submenu-link-padding-y) var(--nf-mainnav-min-submenu-link-padding-x);
  }
  .mn--min .mininav-content:not(.show) {
    display: none;
  }
  .mn--min .mininav-content.show {
    position: fixed;
    top: -100rem;
    z-index: 100;
  }
  .mn--min .mininav-content .arrow {
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 7px 7px 0;
    border-color: transparent var(--nf-mainnav-bg) transparent transparent;
    left: -6px;
  }
  .mn--min .mininav-content:not(.nav) {
    padding: 0.75rem 0.25rem;
  }
  .mn--min .mininav-content.nav-label {
    padding: 0.75rem var(--bs-nav-link-padding-x);
  }
  .mn--min .mininav-content.collapsing {
    transition: 0s !important;
  }
  .mn--min .mainnav__top-content {
    flex: 1 1 0;
    min-height: 0 !important;
  }
  .mn--min .mainnav__bottom-content {
    z-index: 100;
  }
}
/* -- MAIN NAVIGATION - MAX / EXPANDED MODE -- */
/* ---------------------------------------------- */
@media (min-width: 992px) {
  .mn--max .mainnav {
    position: relative;
  }
  .mn--max .mainnav__inner {
    position: absolute;
  }
  .mn--max .mainnav {
    transition: max-width var(--nf-mainnav-max-transition-duration) var(--nf-mainnav-max-transition-timing);
    will-change: max-width;
  }
  .mn--max .mainnav__widget .mininav-content {
    height: max-content;
  }
  .mn--max .mainnav__caption {
    display: block;
    overflow: hidden;
    max-height: 3rem;
    transition: max-height var(--nf-mainnav-max-transition-duration) calc(var(--nf-mainnav-max-transition-duration) * 1.5);
  }
  .mn--max .header__inner {
    padding-inline-start: 0;
  }
}
@media (min-width: 992px) and (min-width: 992px) {
  .mn--max .header__content, .mn--min .header__content {
    top: 1.25rem;
    padding-inline-start: 1.25rem;
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .mn--max .header__content, .mn--min .header__content {
    top: 1.25rem;
    padding-inline-start: 1.25rem;
  }
}
@media (min-width: 992px) and (min-width: 1400px) {
  .mn--max .header__content, .mn--min .header__content {
    top: 2.5rem;
    padding-inline-start: 2.5rem;
  }
}
@media (min-width: 992px) {
  .mn--max .header__brand {
    padding-inline-start: calc(0.625rem + var(--nf-mainnav-link-padding-x));
    max-width: var(--nf-mainnav-max-width);
    width: var(--nf-mainnav-max-width);
    will-change: max-width;
  }
}
/* -- DEFAULT MAIN NAVIGATION -- */
/* ---------------------------------------------- */
.root {
  --nf-mainnav-bg: var(--bs-component-bg);
  --nf-mainnav-color: var(--bs-body-color);
  --nf-mainnav-secondary-color: var(--bs-secondary-color);
  --nf-mainnav-link-color: var(--bs-body-color);
  --nf-mainnav-link-hover: var(--bs-link-hover-color);
  --nf-mainnav-link-active: var(--bs-heading-color);
  --nf-mainnav-link-active-underline: underline dotted;
  --nf-mainnav-link-active-underline-color: rgba(var(--bs-body-color-rgb), 0.5);
  --nf-mainnav-link-padding-x: 1.25rem;
  --nf-mainnav-link-padding-y: 0.59rem;
  --nf-mainnav-icon-color: var(--bs-primary-text-emphasis);
  --nf-mainnav-heading-color: var(--bs-heading-color);
  --nf-mainnav-border-color: var(--bs-border-color);
  --nf-mainnav-padding: 0.75rem;
  --nf-mainnav-transition-duration: 0.35s;
  --nf-mainnav-transition-timing: ease;
  --nf-mainnav-submenu-active-bg: var(--bs-primary);
  --nf-mainnav-submenu-active-color: var(--bs-primary-color);
  --nf-mainnav-submenu-active-shadow: none;
  --nf-mainnav-submenu-indent: 2.25em;
  --nf-mainnav-submenu-indent-lv2: 0.75em;
  --nf-mainnav-submenu-border-radius: var(--bs-border-radius);
  --nf-mainnav-submenu-dashed-margin: 2.25em;
  --nf-mainnav-submenu-dashed-color: var(--bs-primary-border-subtle);
}

.mn--max, .mn--min {
  --nf-mainnav-max-width: 13.75rem;
  --nf-mainnav-max-transition-duration: 0.35s;
  --nf-mainnav-max-transition-timing: ease;
  --nf-mainnav-min-width: 3.75rem;
  --nf-mainnav-min-transition-duration: 0.35s;
  --nf-mainnav-min-transition-timing: ease;
}

.mainnav {
  --bs-secondary-color:var(--nf-mainnav-secondary-color);
  display: flex;
  grid-area: 2/1/3/2;
  max-width: var(--nf-mainnav-max-width);
  width: min(75vw, var(--nf-mainnav-max-width));
}

.mainnav__inner {
  background-color: var(--nf-mainnav-bg);
  color: var(--nf-mainnav-color);
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}
.mainnav__inner :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6):not(.mainnav__caption) {
  color: var(--nf-mainnav-heading-color);
}
.mainnav__inner :where(.border-top, .border-end, .border-bottom, .border-start) {
  border-color: var(--nf-mainnav-border-color) !important;
}
.mainnav__inner .dropdown-toggle:after {
  color: var(--nf-mainnav-heading-color);
}

.d-mn-max, .d-mn-max.collapse {
  display: block;
}

.d-mn-min {
  display: none;
}

.nav-label {
  white-space: nowrap;
}

.mainnav__avatar.border {
  padding: 0.1rem;
}

.mainnav__top-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: auto;
  width: 100%;
}
.mainnav__top-content.os-host-overflow {
  overflow: visible;
}

.mainnav__bottom-content {
  background-color: var(--nf-mainnav-bg);
  bottom: 0;
  margin-top: auto;
  position: sticky;
}

.mainnav__top-content, .mainnav__bottom-content {
  padding-inline: var(--nf-mainnav-padding);
}

.mn--show .mainnav {
  transform: translateX(0);
  z-index: 9999;
}
.mn--show .mainnav, .mainnav {
  transition: transform var(--nf-mainnav-transition-duration) var(--nf-mainnav-transition-timing);
}

.mn--sticky .mainnav__inner {
  height: 100vh;
  position: sticky;
  top: 0;
}

.root:not(.mn--max):not(.mn--min) .mainnav {
  position: absolute;
  inset: 0 auto;
}
.root:not(.mn--max):not(.mn--min):not(.mn--show) .mainnav {
  z-index: 1002;
}

@media (max-width: 991.98px) {
  .mainnav__menu .mininav-toggle .nav-label {
    position: static !important;
    transform: none !important;
  }
  .mn--min .mainnav {
    inset: 0 auto;
    position: absolute;
  }
  .mn--min:not(.mn--show) .mainnav {
    transform: translateX(max(-75vw, calc(var(--nf-mainnav-max-width) * -1 - 0.0625rem)));
    z-index: 1002;
  }
}
@media (max-width: 991.98px) {
  .mn--max .mainnav {
    inset: 0 auto;
    position: absolute;
  }
  .mn--max:not(.mn--show) .mainnav {
    transform: translateX(calc(var(--nf-mainnav-max-width) * -1 - 0.0625rem));
    z-index: 1002;
  }
}
/* -- MAIN NAVIGATION - OFF CANVAS / SLIDE MODE -- */
/* ---------------------------------------------- */
.mn--slide {
  --nf-mainnav-slide-width: 13.75rem;
  --nf-mainnav-slide-transition-duration: 0.35s;
  --nf-mainnav-slide-transition-timing: ease;
}
.mn--slide .mainnav {
  max-width: 75vw;
  width: var(--nf-mainnav-slide-width);
  transform: translateX(max(-75vw, calc(var(--nf-mainnav-slide-width) * -1) - 0.0625rem));
}
.mn--slide .mainnav, .mn--slide.mn--show .mainnav {
  transition: transform var(--nf-mainnav-slide-transition-duration) var(--nf-mainnav-slide-transition-timing);
}

.mn--slide.mn--show .mainnav {
  transform: translateX(0);
}

/* -- MAIN NAVIGATION - OFF CANVAS / PUSH MODE -- */
/* ---------------------------------------------- */
.mn--push {
  --nf-mainnav-push-width: 13.75rem;
  --nf-mainnav-push-transition-duration: 0.35s;
  --nf-mainnav-push-transition-timing: ease;
}
.mn--push .mainnav {
  max-width: 75vw;
  width: var(--nf-mainnav-push-width);
  transform: translateX(max(-75vw, calc(var(--nf-mainnav-push-width) * -1) - 0.0625rem));
}
.mn--push .mainnav, .mn--push .content, .mn--push .header, .mn--push.mn--show .mainnav, .mn--push.mn--show .content, .mn--push.mn--show .header {
  transition: transform var(--nf-mainnav-push-transition-duration) var(--nf-mainnav-push-transition-timing);
}

.mn--push.mn--show .mainnav {
  transform: translateX(0);
  z-index: 9999;
}
.mn--push.mn--show .content, .mn--push.mn--show .header {
  transform: translateX(min(75vw, var(--nf-mainnav-push-width)));
}
.mn--push.mn--show.sb--show.sb--pinned .sidebar {
  transform: translateX(min(75vw, var(--nf-mainnav-push-width)));
}

/* -- MAIN NAVIGATION - OFF CANVAS / REVEAL MODE -- */
/* ---------------------------------------------- */
.mn--reveal {
  --nf-mainnav-reveal-width: 13.75rem;
  --nf-mainnav-reveal-transition-duration: 0.35s;
  --nf-mainnav-reveal-transition-timing: ease;
}
.mn--reveal .mainnav {
  max-width: 75vw;
  pointer-events: none;
  transform: translateX(max(-75vw, calc(var(--nf-mainnav-reveal-width) * -1) - 0.0625rem));
  transform: translateX(0) !important;
  width: var(--nf-mainnav-reveal-width);
  z-index: 5 !important;
}
.mn--reveal .header {
  z-index: 12;
}
.mn--reveal .content, .mn--reveal .sidebar {
  z-index: 10;
}
.mn--reveal.sb--pinned .sidebar {
  z-index: 11;
}
.mn--reveal .content, .mn--reveal .header, .mn--reveal.mn--show .content, .mn--reveal.mn--show .header {
  transition: transform var(--nf-mainnav-reveal-transition-duration) var(--nf-mainnav-reveal-transition-timing);
  will-change: transform;
}

.mn--reveal.mn--show .mainnav {
  pointer-events: visible;
}
.mn--reveal.mn--show:before, .mn--reveal.mn--show .content, .mn--reveal.mn--show .header {
  transform: translateX(min(75vw, var(--nf-mainnav-reveal-width)));
}
.mn--reveal.mn--show:before {
  transition: opacity var(--nf-mainnav-reveal-transition-duration), var(--nf-mainnav-reveal-transition-duration) !important;
}
.mn--reveal.mn--show.sb--show.sb--pinned .sidebar {
  transform: translateX(min(75vw, var(--nf-mainnav-reveal-width)));
}

/* -- SIDEBARS -- */
/* ---------------------------------------------- */
.root {
  --nf-sidebar-bg: var(--bs-component-bg);
  --nf-sidebar-color: var(--bs-body-color);
  --nf-sidebar-width: 17.1875rem;
  --nf-sidebar-shadow: var(--bs-box-shadow-lg);
  --nf-sidebar-padding-x: 0.75rem;
  --nf-sidebar-padding-y: 1rem;
  --nf-sidebar-transition-duration: 0.35s;
  --nf-sidebar-transition-timing: ease;
}

.sidebar {
  align-items: stretch;
  background-color: var(--nf-sidebar-bg);
  box-sizing: content-box;
  color: var(--nf-sidebar-color);
  display: flex;
  flex-direction: column;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateX(var(--nf-sidebar-width));
  visibility: hidden;
  width: 0;
  z-index: 1002;
}
.sidebar .scrollable-content {
  scrollbar-width: none;
}

.sidebar__inner {
  height: 100vh;
  overflow-x: hidden;
  padding-block: var(--nf-sidebar-padding-y);
  position: sticky;
  top: 0;
}

.sidebar__wrap {
  padding-inline: var(--nf-sidebar-padding-x);
}

.sb--show .sidebar {
  overflow: visible;
  transform: translateX(0);
  visibility: visible;
  width: var(--nf-sidebar-width);
  z-index: 9999;
}
.sidebar {
  transition: visibility var(--nf-sidebar-transition-duration), width 0s linear var(--nf-sidebar-transition-duration), padding var(--nf-sidebar-transition-duration) var(--nf-sidebar-transition-timing), transform var(--nf-sidebar-transition-duration) var(--nf-sidebar-transition-timing);
}

.sb--show .sidebar {
  transition: visibility var(--nf-sidebar-transition-duration), padding var(--nf-sidebar-transition-duration) var(--nf-sidebar-transition-timing), transform var(--nf-sidebar-transition-duration) var(--nf-sidebar-transition-timing);
}

@media (min-width: 1195px) {
  .sb--pinned .sidebar {
    overflow: visible;
    transform: translateX(0);
    visibility: visible;
    width: var(--nf-sidebar-width);
    z-index: 9999;
  }
  .sidebar {
    transition: visibility var(--nf-sidebar-transition-duration), width 0s linear var(--nf-sidebar-transition-duration), padding var(--nf-sidebar-transition-duration) var(--nf-sidebar-transition-timing), transform var(--nf-sidebar-transition-duration) var(--nf-sidebar-transition-timing);
  }
  .sb--pinned .sidebar {
    transition: visibility var(--nf-sidebar-transition-duration), padding var(--nf-sidebar-transition-duration) var(--nf-sidebar-transition-timing), transform var(--nf-sidebar-transition-duration) var(--nf-sidebar-transition-timing);
  }
}
.sidebar__stuck {
  display: none;
}

/* -- DISABLE THE SIDEBAR BACKDROP -- */
/* ---------------------------------------------- */
.sb--bd-0.sb--show:before {
  opacity: 0;
}
.sb--bd-0.sb--show .sidebar {
  box-shadow: var(--nf-sidebar-shadow);
}

/* -- SIDEBAR - STATIC POSITION */
/* ---------------------------------------------- */
.sb--static .sidebar__inner {
  overflow: visible;
  position: static;
}

/* -- SIDEBAR - STUCK -- */
/* ---------------------------------------------- */
.sidebar__stuck {
  display: none;
}

.sb--stuck.sb--show:before {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}
.sb--stuck.sb--show:not(.sb--pinned) .sidebar {
  box-shadow: var(--nf-sidebar-shadow);
}
.sb--stuck .sidebar__stuck {
  display: flex;
}

/* -- SIDEBAR UNITE -- */
/* ---------------------------------------------- */
.root {
  --nf-sidebar-unite-bg: var(--nf-header-bg);
  --nf-sidebar-unite-color: var(--nf-header-color);
  --nf-sidebar-unite-secondary-color: var(--nf-header-secondary-color);
  --nf-sidebar-unite-active-bg: var(--nf-header-btn-hover-bg);
  --nf-sidebar-unite-active-color: var(--nf-header-btn-hover-color);
  --nf-sidebar-unite-border-color: var(--nf-header-border-color);
  --nf-sidebar-unite-outer-border-radius: calc(var(--bs-border-radius) * 1.5);
}

.sb--unite .sidebar {
  --bs-border-color: var( --nf-sidebar-unite-border-color );
  --bs-secondary-color: var( --nf-sidebar-unite-secondary-color );
  --bs-emphasis-color: var( --nf-sidebar-unite-active-color );
  background-color: var(--nf-sidebar-unite-bg);
  color: var(--nf-sidebar-unite-color);
}
.sb--unite .sidebar .nav-link.active, .sb--unite .sidebar .nav-link:hover, .sb--unite .sidebar .nav-link:focus, .sb--unite .sidebar :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6) {
  color: var(--nf-sidebar-unite-active-color);
}
.sb--unite .sidebar .btn-primary, .sb--unite .sidebar .form-check-input:checked {
  background-color: rgba(0, 0, 0, 0.25);
  border-color: rgba(0, 0, 0, 0.25);
}
.sb--unite .sidebar .btn-link {
  color: inherit;
}
.sb--unite .sidebar .nav-link {
  color: var(--nf-sidebar-unite-color);
}
.sb--unite .sidebar .nav-link i, .sb--unite .sidebar .nav-link .nav-icon {
  color: rgba(var(--nf-sidebar-unite-color), 0.65) !important;
}
.sb--unite .sidebar .list-group-item-action, .sb--unite .sidebar .list-group-item {
  color: var(--nf-sidebar-unite-color);
}

.sb--unite .sidebar .list-group-item-action:hover, .sb--unite .sidebar .list-group-item-action:focus {
  background-color: var(--nf-sidebar-unite-active-bg);
  color: var(--nf-sidebar-unite-active-color);
}

/* -- PINNED SIDEBAR */
/* ---------------------------------------------- */
@media (min-width: 1195px) {
  .sb--pinned:not(.mn--show):before {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
  }
  .sb--pinned.hd--sticky .sidebar__inner {
    top: var(--nf-header-height);
  }
  .sb--pinned .content__boxed {
    padding-right: var(--nf-sidebar-width);
  }
  .sb--pinned:not(.mn--push):not(.mn--reveal) .sidebar {
    transition-duration: 0s !important;
  }
  .sb--pinned:not(.sb--unite) .sidebar {
    background-color: transparent;
  }
  .sb--pinned:not(.sb--unite) .sidebar .sidebar__inner {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
  }
  .sb--pinned:not(.sb--static) .sidebar .sidebar__inner {
    height: calc(100vh - var(--nf-header-height));
    overflow-x: hidden;
  }
  .sb--pinned .sidebar {
    height: calc(100% - var(--nf-header-height));
    top: var(--nf-header-height);
    z-index: 999;
  }
  .sb--pinned .sidebar .sidebar__inner {
    border-top-left-radius: var(--nf-sidebar-unite-outer-border-radius);
  }
  .sb--pinned.root.mn--push .sidebar, .sb--pinned.root.mn--push.mn--show .sidebar {
    transition-duration: var(--nf-mainnav-push-transition-duration);
  }
  .sb--pinned.root.mn--push.mn--show .sidebar {
    transform: translateX(var(--nf-mainnav-push-width));
  }
  .sb--pinned.root.mn--reveal .sidebar, .sb--pinned.root.mn--reveal.mn--show .sidebar {
    transition-duration: var(--nf-mainnav-reveal-transition-duration);
  }
  .sb--pinned.root.mn--reveal.mn--show .sidebar {
    transform: translateX(var(--nf-mainnav-reveal-width));
  }
  .sb--pinned.sb--unite {
    --nf-header-shadow: none;
  }
  .sb--pinned.sb--unite .sidebar {
    content-visibility: visible;
  }
  .sb--pinned.sb--unite .sidebar__inner {
    border-radius: 0;
  }
  .sb--pinned.sb--unite.tm--primary-mn .header__content {
    box-shadow: none;
  }
  .sb--pinned.sb--unite .sidebar:after {
    background-color: var(--nf-sidebar-unite-bg);
    content: "";
    display: block;
    height: var(--nf-sidebar-unite-outer-border-radius);
    margin-left: calc(var(--nf-sidebar-unite-outer-border-radius) * -1);
    margin-top: -100vh;
    -webkit-mask-image: radial-gradient(circle at 0 var(--nf-sidebar-unite-outer-border-radius), transparent 0, transparent var(--nf-sidebar-unite-outer-border-radius), black var(--nf-sidebar-unite-outer-border-radius));
    mask-image: radial-gradient(circle at 0 var(--nf-sidebar-unite-outer-border-radius), transparent 0, transparent var(--nf-sidebar-unite-outer-border-radius), black var(--nf-sidebar-unite-outer-border-radius));
    position: relative;
    top: var(--nf-header-height);
    width: calc(var(--nf-sidebar-unite-outer-border-radius) + 0.06125rem);
  }
  .sb--pinned.sb--unite.hd--sticky .sidebar:after {
    position: sticky;
  }
  .sb--pinned.sb--unite.tm--tall-hd .content__header:after, .sb--pinned.sb--unite.tm--expanded-hd .content__header:after {
    align-self: flex-end;
    background-color: var(--nf-sidebar-unite-bg);
    content: "";
    display: block;
    height: calc(var(--nf-sidebar-unite-outer-border-radius) + 0.0625rem);
    -webkit-mask-image: radial-gradient(circle at 0 var(--nf-sidebar-unite-outer-border-radius), transparent var(--nf-sidebar-unite-outer-border-radius), black var(--nf-sidebar-unite-outer-border-radius));
    mask-image: radial-gradient(circle at 0 var(--nf-sidebar-unite-outer-border-radius), transparent var(--nf-sidebar-unite-outer-border-radius), black var(--nf-sidebar-unite-outer-border-radius));
    position: absolute;
    top: 100%;
    transition: transform 0.35s ease;
    width: calc(var(--nf-sidebar-unite-outer-border-radius) + 0.0625rem);
    z-index: 1000;
  }
  .sb--pinned.sb--unite.tm--tall-hd .content__header, .sb--pinned.sb--unite.tm--expanded-hd .content__header {
    --nf-header-expand-border-radius: 0;
  }
}
/* COLORED HEADER */
/* ---------------------------------------------- */
.tm--full-hd, .tm--fair-hd, .tm--tall-hd, .tm--expanded-hd, .header--primary {
  --nf-header-bg: var(--bs-primary);
  --nf-header-color: rgba(var(--bs-primary-color-rgb), 0.75);
  --nf-header-secondary-color: rgba(var(--bs-primary-color-rgb), 0.35);
  --nf-header-border-color: var(--bs-primary-border);
  --nf-header-shadow: var(--bs-box-shadow-sm);
  --nf-header-btn-hover-bg: rgba(0, 0, 0, 0.2);
  --nf-header-btn-hover-color: var(--bs-primary-color);
  --nf-brand-bg: initial;
  --nf-brand-color: var(--bs-primary-color);
}

/* COLORED BRAND */
/* ---------------------------------------------- */
.tm--primary-brand .header__brand, .header-brand--primary {
  --nf-brand-bg: var(--bs-primary);
  --nf-brand-color: var(--bs-primary-color);
}

/* MAINNAV COLORED */
/* ---------------------------------------------- */
.tm--primary-mn, .mainnav--primary {
  --nf-mainnav-bg: var(--bs-primary);
  --nf-mainnav-color: var(--bs-primary-color);
  --nf-mainnav-secondary-color: rgba(var(--bs-primary-color-rgb), 0.4);
  --nf-mainnav-link-color: rgba(var(--bs-primary-color-rgb), 0.7);
  --nf-mainnav-link-hover: var(--bs-primary-color);
  --nf-mainnav-link-active: var(--bs-primary-color);
  --nf-mainnav-link-active-underline-color: rgba(var(--bs-primary-color-rgb), 0.3);
  --nf-mainnav-icon-color: var(--bs-primary-color);
  --nf-mainnav-heading-color: var(--bs-primary-color);
  --nf-mainnav-border-color: var(--bs-primary-border);
  --nf-mainnav-submenu-active-bg: rgba(0, 0, 0, 0.25);
  --nf-mainnav-submenu-dashed-color: var(--bs-primary-border);
  --nf-mainnav-min-icon-color: var(--bs-primary-color);
  --nf-mainnav-min-icon-active-color: var(--bs-primary-color);
  --nf-mainnav-min-submenu-active-bg: rgba(0, 0, 0, 0.25);
  --nf-mainnav-min-submenu-active-color: var(--bs-primary-color);
  --nf-mainnav-min-shadow: 0 1rem 2rem rgba(26, 29, 33, 0.5);
}

/* -- EXPANDED HEADER -- */
/* ---------------------------------------------- */
.tm--tall-hd, .tm--expanded-hd {
  --nf-header-shadow: none;
  --nf-header-expand-bg: var(--bs-primary);
  --nf-header-expand-color: rgba(var(--bs-primary-color-rgb), 0.65);
  --nf-header-expand-title-color: var(--bs-primary-color);
  --nf-header-expand-headings-color: var(--nf-header-expand-title-color);
  --nf-header-expand-height: 37.5vh;
  --nf-header-expand-border-radius: 0% 0% 50% 50%/0% 0% 12vh 12vh;
}
.tm--tall-hd .content__header, .tm--expanded-hd .content__header {
  background-color: var(--nf-header-expand-bg);
  border-radius: var(--nf-header-expand-border-radius);
  color: var(--nf-header-expand-color);
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
}
.tm--tall-hd .content__header :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6), .tm--expanded-hd .content__header :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6) {
  color: var(--nf-header-expand-headings-color);
}
.tm--tall-hd .content__header .text-body-emphasis:not(.btn), .tm--expanded-hd .content__header .text-body-emphasis:not(.btn) {
  color: var(--nf-header-expand-headings-color) !important;
}
.tm--tall-hd .content__header .page-title, .tm--expanded-hd .content__header .page-title {
  color: var(--nf-header-expand-title-color);
}
.tm--tall-hd .content__header .page-title:after, .tm--expanded-hd .content__header .page-title:after {
  background-color: var(--nf-header-expand-title-color);
}
.tm--tall-hd .content__header .btn-link, .tm--expanded-hd .content__header .btn-link {
  color: var(--nf-header-expand-title-color);
  opacity: 0.85;
}
.tm--tall-hd .content__header .breadcrumb-item:before, .tm--expanded-hd .content__header .breadcrumb-item:before, .tm--tall-hd .content__header .breadcrumb-item.active, .tm--expanded-hd .content__header .breadcrumb-item.active {
  color: var(--nf-header-expand-title-color);
}
.tm--tall-hd .content__header .breadcrumb-item > a, .tm--expanded-hd .content__header .breadcrumb-item > a {
  color: var(--nf-header-expand-color);
}
.tm--tall-hd .content__header .breadcrumb-item > a:hover, .tm--expanded-hd .content__header .breadcrumb-item > a:hover, .tm--tall-hd .content__header .breadcrumb-item > a:focus, .tm--expanded-hd .content__header .breadcrumb-item > a:focus {
  color: var(--nf-header-expand-title-color);
}
.modal-open .tm--tall-hd .content__header + .content__boxed, .modal-open .tm--expanded-hd .content__header + .content__boxed {
  position: relative;
  z-index: auto !important;
}

body[style*=padding-right] .tm--tall-hd .content__header + .content__boxed, body[style*=padding-right] .tm--expanded-hd .content__header + .content__boxed {
  position: relative;
  z-index: auto !important;
}

.tm--tall-hd .content__header.overlapping .content__wrap:after, .tm--expanded-hd .content__header.overlapping .content__wrap:after {
  content: "";
  display: block;
  height: var(--nf-header-expand-height);
  width: 100%;
}
.tm--tall-hd .content__header.overlapping + .content__boxed, .tm--expanded-hd .content__header.overlapping + .content__boxed {
  margin-top: calc((var(--nf-header-expand-height) + 1rem) * -1);
  z-index: 99;
}
.tm--tall-hd .content__header:not(.overlapping):not(.rounded-0), .tm--expanded-hd .content__header:not(.overlapping):not(.rounded-0) {
  min-height: 10.9375rem;
  padding-bottom: 10vh;
}

.mn--max.tm--expanded-hd.mn--sticky .content__header:before, .mn--min.tm--expanded-hd.mn--sticky .content__header:before {
  position: sticky;
  top: -0.06125rem;
}
.mn--max.tm--expanded-hd.hd--sticky .content__header:not(.rounded-0):before, .mn--max.tm--expanded-hd.mn--sticky .content__header:not(.rounded-0):before, .mn--min.tm--expanded-hd.hd--sticky .content__header:not(.rounded-0):before, .mn--min.tm--expanded-hd.mn--sticky .content__header:not(.rounded-0):before {
  margin-bottom: calc(var(--nf-sidebar-unite-outer-border-radius) * 2);
}
.mn--max.tm--expanded-hd.hd--sticky .content__header.overlapping:not(.rounded-0):before, .mn--max.tm--expanded-hd.mn--sticky .content__header.overlapping:not(.rounded-0):before, .mn--min.tm--expanded-hd.hd--sticky .content__header.overlapping:not(.rounded-0):before, .mn--min.tm--expanded-hd.mn--sticky .content__header.overlapping:not(.rounded-0):before {
  margin-bottom: calc(var(--nf-sidebar-unite-outer-border-radius) + 12vh);
}
.mn--max.tm--expanded-hd.hd--sticky .content__header:before, .mn--min.tm--expanded-hd.hd--sticky .content__header:before {
  position: sticky;
  top: var(--nf-header-height);
}
.mn--max.tm--expanded-hd.hd--sticky .content__header:not(.rounded-0) .content__wrap, .mn--max.tm--expanded-hd.mn--sticky .content__header:not(.rounded-0) .content__wrap, .mn--min.tm--expanded-hd.hd--sticky .content__header:not(.rounded-0) .content__wrap, .mn--min.tm--expanded-hd.mn--sticky .content__header:not(.rounded-0) .content__wrap {
  margin-top: calc((var(--nf-sidebar-unite-outer-border-radius)) * 3 * -1);
}
.mn--max.tm--expanded-hd.hd--sticky .content__header.overlapping:not(.rounded-0) .content__wrap, .mn--max.tm--expanded-hd.mn--sticky .content__header.overlapping:not(.rounded-0) .content__wrap, .mn--min.tm--expanded-hd.hd--sticky .content__header.overlapping:not(.rounded-0) .content__wrap, .mn--min.tm--expanded-hd.mn--sticky .content__header.overlapping:not(.rounded-0) .content__wrap {
  margin-top: calc((var(--nf-sidebar-unite-outer-border-radius) * 2 + 12vh) * -1);
}
.mn--max.tm--expanded-hd .content__header .content__wrap, .mn--min.tm--expanded-hd .content__header .content__wrap {
  margin-top: calc(var(--nf-sidebar-unite-outer-border-radius) * -1);
}
.mn--max.tm--expanded-hd .content__header:before, .mn--min.tm--expanded-hd .content__header:before {
  background-color: var(--bs-primary);
  content: "";
  display: block;
  height: var(--nf-sidebar-unite-outer-border-radius);
  margin-left: 0;
  -webkit-mask-image: radial-gradient(circle at 0 var(--nf-sidebar-unite-outer-border-radius), transparent 0, transparent var(--nf-sidebar-unite-outer-border-radius), black var(--nf-sidebar-unite-outer-border-radius));
  mask-image: radial-gradient(circle var(--nf-sidebar-unite-outer-border-radius) at 0 var(--nf-sidebar-unite-outer-border-radius), transparent 0, transparent var(--nf-sidebar-unite-outer-border-radius), black var(--nf-sidebar-unite-outer-border-radius));
  position: relative;
  top: -0.06125rem;
  transform: translateX(calc(var(--nf-sidebar-unite-outer-border-radius) * -1));
  width: calc(var(--nf-sidebar-unite-outer-border-radius) + 0.06125rem);
  z-index: 1001;
}
@supports (-webkit-touch-callout: none) {
  .mn--max.tm--expanded-hd .content__header:before, .mn--min.tm--expanded-hd .content__header:before {
    -webkit-mask-image: radial-gradient(circle at 0 var(--nf-sidebar-unite-outer-border-radius), transparent 0, transparent var(--nf-sidebar-unite-outer-border-radius), black var(--nf-sidebar-unite-outer-border-radius));
  }
}

/* -- FAIR HEADER -- */
/* ---------------------------------------------- */
.tm--fair-hd, .tm--tall-hd {
  --nf-header-shadow: none;
}
.tm--fair-hd .header__brand, .tm--tall-hd .header__brand {
  background-color: transparent;
  color: var(--nf-brand-color);
}
.tm--fair-hd .header__brand .brand-title, .tm--tall-hd .header__brand .brand-title {
  color: inherit !important;
}
.tm--fair-hd.tm--expanded-hd .content__header:before, .tm--expanded-hd.tm--tall-hd .content__header:before {
  visibility: hidden;
}

@media (min-width: 992px) {
  .tm--fair-hd.mn--min .header__brand, .mn--min.tm--tall-hd .header__brand, .tm--fair-hd.mn--max .header__brand, .mn--max.tm--tall-hd .header__brand {
    background-color: var(--nf-mainnav-bg);
    color: var(--nf-mainnav-link-active);
  }
}
/* -- CENTERED LAYOUT -- */
/* ---------------------------------------------- */
@media (min-width: 900px) {
  .centered-layout .tm--fair-hd .header__brand, .centered-layout .tm--tall-hd .header__brand {
    padding-inline: 1.25rem;
  }
  .centered-layout .tm--fair-hd.mn--min .header__inner, .centered-layout .mn--min.tm--tall-hd .header__inner, .centered-layout .tm--fair-hd.mn--max .header__inner, .centered-layout .mn--max.tm--tall-hd .header__inner {
    max-width: none !important;
  }
  .centered-layout .tm--fair-hd.mn--min .header__brand, .centered-layout .mn--min.tm--tall-hd .header__brand {
    width: 100%;
    max-width: var(--nf-mainnav-min-width);
    justify-content: center;
    padding: 0;
    margin-inline-end: 0 !important;
  }
  .centered-layout .tm--fair-hd.mn--min .header__brand .brand-title, .centered-layout .mn--min.tm--tall-hd .header__brand .brand-title {
    display: none;
  }
  .centered-layout .tm--fair-hd.mn--max .header__brand, .centered-layout .mn--max.tm--tall-hd .header__brand {
    width: var(--nf-mainnav-max-width);
  }
}
@media (min-width: 1120px) {
  .centered-layout .tm--fair-hd.mn--max .header__brand, .centered-layout .mn--max.tm--tall-hd .header__brand {
    padding-inline: 1.25rem;
  }
}
@media (min-width: 1200px) {
  .centered-layout .tm--fair-hd.mn--max .header__brand, .centered-layout .mn--max.tm--tall-hd .header__brand {
    padding-inline: 1.25rem;
  }
}
/* -- FULL HEADER -- */
/* ---------------------------------------------- */
.tm--full-hd {
  --bs-box-shadow-alpha-sm: .5;
  --nf-header-shadow: 0 0.125rem 0.25rem rgba(var(--bs-box-shadow-color), var(--bs-box-shadow-alpha-sm));
}
[data-bs-theme=dark] .tm--full-hd .header {
  --bs-box-shadow-alpha-sm: .1;
}

/* -- MAINNAV PRIMARY -- */
/* ---------------------------------------------- */
.tm--primary-mn {
  --nf-header-shadow: var(--bs-box-shadow-sm);
}
@media (min-width: 992px) {
  .tm--primary-mn:where(.mn--min, .mn--max) {
    --nf-brand-bg: var(--bs-primary);
    --nf-brand-color: var(--bs-primary-color);
  }
  .tm--primary-mn:where(.mn--min, .mn--max) .header__content {
    box-shadow: var(--nf-header-shadow);
  }
}
.tm--primary-mn.mn--reveal {
  background-color: black;
}
.tm--primary-mn.mn--reveal:before {
  outline: 1px solid var(--bs-primary);
}
.tm--primary-mn.mn--reveal .content {
  background-color: var(--bs-body-bg);
}

/* -- PRIMARY BRAND -- */
/* ---------------------------------------------- */
.tm--primary-brand {
  --nf-header-shadow: var(--bs-box-shadow-sm);
}
.tm--primary-brand .header__inner {
  padding-inline-start: 0;
}
.tm--primary-brand .header__brand {
  padding-inline: 1rem;
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .tm--primary-brand .header__brand {
    padding-inline: 1.5rem;
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .tm--primary-brand .tm--primary-brand:not(.mn--min):not(.mn--max) .header__brand {
    padding-inline: 1.25rem;
  }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .tm--primary-brand .tm--primary-brand:not(.mn--min):not(.mn--max) .header__brand {
    padding-inline: 1.25rem;
  }
}
@media (min-width: 1400px) {
  .tm--primary-brand .tm--primary-brand:not(.mn--min):not(.mn--max) .header__brand {
    padding-inline: 2.5rem;
  }
}

@media (min-width: 992px) {
  .tm--primary-brand.mn--min .header__brand, .tm--primary-brand.mn--max .header__brand {
    border-radius: 0;
  }
  .tm--primary-brand.mn--max .header__brand {
    padding-inline: calc(0.625rem + var(--nf-mainnav-link-padding-x)) 0;
  }
}
/* -- TALL HEADER -- */
/* ---------------------------------------------- */
/* -- TRANSITION TIMING FUNCTIONS -- */
/* ---------------------------------------------- */
.in-quart.centered-layout .content__header:before,
.in-quart .mn--reveal.mn--show:before,
.in-quart :where(.mainnav, .content, .header, .header__brand, .sidebar, .offcanvas, .collapsing, .searchbox__input, .dropdown-menu, .mininav-toggle:after, .sb--pinned .content__boxed) {
  transition-timing-function: cubic-bezier(0.755, 0.045, 0.915, 0.135) !important;
}

.out-quart.centered-layout .content__header:before,
.out-quart .mn--reveal.mn--show:before,
.out-quart :where(.mainnav, .content, .header, .header__brand, .sidebar, .offcanvas, .collapsing, .searchbox__input, .dropdown-menu, .mininav-toggle:after, .sb--pinned .content__boxed) {
  transition-timing-function: cubic-bezier(0.015, 0.77, 0.04, 0.985) !important;
}

.in-back.centered-layout .content__header:before,
.in-back .mn--reveal.mn--show:before,
.in-back :where(.mainnav, .content, .header, .header__brand, .sidebar, .offcanvas, .collapsing, .searchbox__input, .dropdown-menu, .mininav-toggle:after, .sb--pinned .content__boxed) {
  transition-timing-function: cubic-bezier(0.705, -0.155, 0.735, 0.045) !important;
}

.out-back.centered-layout .content__header:before,
.out-back .mn--reveal.mn--show:before,
.out-back :where(.mainnav, .content, .header, .header__brand, .sidebar, .offcanvas, .collapsing, .searchbox__input, .dropdown-menu, .mininav-toggle:after, .sb--pinned .content__boxed) {
  transition-timing-function: cubic-bezier(0.28, 1.02, 0.36, 1.145) !important;
}

.in-out-back.centered-layout .content__header:before,
.in-out-back .mn--reveal.mn--show:before,
.in-out-back :where(.mainnav, .content, .header, .header__brand, .sidebar, .offcanvas, .collapsing, .searchbox__input, .dropdown-menu, .mininav-toggle:after, .sb--pinned .content__boxed) {
  transition-timing-function: cubic-bezier(1, -0.28, 0, 1.275) !important;
}

.steps.centered-layout .content__header:before,
.steps .mn--reveal.mn--show:before,
.steps :where(.mainnav, .content, .header, .header__brand, .sidebar, .offcanvas, .collapsing, .searchbox__input, .dropdown-menu, .mininav-toggle:after, .sb--pinned .content__boxed) {
  transition-timing-function: cubic-bezier(0, 0.955, 1, 0.045) !important;
}

.jumping.centered-layout .content__header:before,
.jumping .mn--reveal.mn--show:before,
.jumping :where(.mainnav, .content, .header, .header__brand, .sidebar, .offcanvas, .collapsing, .searchbox__input, .dropdown-menu, .mininav-toggle:after, .sb--pinned .content__boxed) {
  transition-timing-function: cubic-bezier(0.96, 0.005, 0, 1.075) !important;
}

.rubber.centered-layout .content__header:before,
.rubber .mn--reveal.mn--show:before,
.rubber :where(.mainnav, .content, .header, .header__brand, .sidebar, .offcanvas, .collapsing, .searchbox__input, .dropdown-menu, .mininav-toggle:after, .sb--pinned .content__boxed) {
  transition-timing-function: cubic-bezier(0.135, 1.525, 0, 0.9) !important;
}

/* -- OPTIMIZE -- */
/* ---------------------------------------------- */
.offcanvas-body,
.dropdown-menu,
.sidebar {
  content-visibility: auto;
}

.sidebar img[loading=lazy], .dropdown-menu img[loading=lazy], .offcanvas img[loading=lazy] {
  display: none;
}

.sb--show .sidebar img[loading=lazy], .dropdown-menu.show img[loading=lazy], .offcanvas.show img[loading=lazy] {
  display: unset;
}

@media (min-width: 1195px) {
  .sb--pinned .sidebar img[loading=lazy] {
    display: unset;
  }
}
/* -- MEDIA PRINT -- */
/* ---------------------------------------------- */
@media print {
  html, body, #root, .content {
    background-color: transparent;
  }
  #root {
    background-color: #fff;
    color: #555e69;
    display: block;
  }
  h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    color: #30353b;
  }
  .content {
    color: inherit !important;
  }
  .badge, .btn {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .card {
    background-color: transparent;
    box-shadow: none;
  }
  .bg-light {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    background-color: #ecf1f4 !important;
  }
  .text-muted, .text-body-secondary {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    color: #727e8c !important;
  }
  .table {
    border-color: #ecf1f4 !important;
    color: #30353b !important;
  }
  .table thead tr, .table thead th {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    background-color: transparent !important;
    color: #30353b !important;
  }
  .table tbody tr, .table tbody td {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    border-color: #ecf1f4;
    color: #30353b !important;
  }
  .table tbody td {
    background-color: transparent;
    box-shadow: none;
  }
  .table.table-striped tbody tr:nth-child(odd) td {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    background-color: #ecf1f4;
  }
  .header, .sidebar, #mainnav-container,
  .content__header, footer, .scroll-container, #_dm-settingsToggler {
    display: none !important;
  }
  .content__header.overlapping + .content__boxed {
    margin-top: 0 !important;
  }
  .d-md-flex, .d-lg-flex, .d-xl-flex {
    display: flex !important;
  }
}
/* -- RIBBON -- */
/* ---------------------------------------------- */
.ribbon {
  height: 75px;
  overflow: hidden;
  position: absolute;
  right: -5px;
  text-align: right;
  top: -5px;
  width: 75px;
  z-index: 1;
}
.ribbon span {
  background: #e53f50;
  box-shadow: 0 3px 10px -3px rgba(var(--bs-box-shadow-color), 1);
  color: #fff;
  display: block;
  font-size: 10px;
  font-weight: bold;
  line-height: 20px;
  position: absolute;
  right: -21px;
  text-align: center;
  text-transform: uppercase;
  top: 19px;
  transform: rotate(45deg);
  width: 100px;
}
.ribbon span:before {
  border-bottom: 3px solid transparent;
  border-left: 3px solid #e53f50;
  border-right: 3px solid transparent;
  border-top: 3px solid #e53f50;
  content: "";
  left: 0px;
  position: absolute;
  top: 100%;
  z-index: -1;
}
.ribbon span:after {
  border-bottom: 3px solid transparent;
  border-left: 3px solid transparent;
  border-right: 3px solid #e53f50;
  border-top: 3px solid #e53f50;
  content: "";
  position: absolute;
  right: 0px;
  top: 100%;
  z-index: -1;
}

/* -- ERROR CODE -- */
/* ---------------------------------------------- */
.error-code {
  font-size: 9rem !important;
  font-weight: 400;
  line-height: 1;
}

/* -- HOVER EFFECTS -- */
/* ---------------------------------------------- */
.hv-grow, .hv-grow-parent .hv-gc, .hv-grow:hover, .hv-grow-parent:hover .hv-gc {
  transition: transform var(--nf-hv-transition-duration) var(--nf-hv-transition-timing);
}

.hv-outline:hover, .hv-outline-parent:hover .hv-oc, .hv-outline, .hv-outline-parent .hv-oc {
  transition: outline var(--nf-hv-transition-duration) var(--nf-hv-transition-timing), outline-offset var(--nf-hv-transition-duration) var(--nf-hv-transition-timing), transform var(--nf-hv-transition-duration) var(--nf-hv-transition-timing);
}

.hv-grow:hover, .hv-grow-parent:hover .hv-gc {
  backface-visibility: hidden;
  transform: scale(var(--nf-hv-grow-scale)) translateZ(0);
}

.hv-grow, .hv-grow-parent, .hv-outline, .hv-outline-parent {
  --nf-hv-transition-duration: 0.35s;
  --nf-hv-transition-timing: ease;
}

.hv-grow, .hv-grow-parent {
  --nf-hv-grow-scale: 1.07;
}

.hv-outline, .hv-outline-parent {
  --nf-hv-outline-width: 0.125rem;
  --nf-hv-outline-offset: 0.3125rem;
  --nf-hv-outline-color: rgba(var(--bs-link-hover-color-rgb), 0);
  --nf-hv-outline-color-active: rgba(var(--bs-link-hover-color-rgb), 1);
}

.hv-outline, .hv-outline-parent .hv-oc {
  outline: var(--nf-hv-outline-width) solid var(--nf-hv-outline-color);
  outline-offset: 0;
}
.hv-outline:hover, .hv-outline-parent:hover .hv-oc {
  outline: var(--nf-hv-outline-width) solid;
  outline-color: var(--nf-hv-outline-color-active);
  outline-offset: var(--nf-hv-outline-offset);
}
.hv-outline.hv-outline-inherit, .hv-outline-parent.hv-outline-inherit {
  --nf-hv-outline-color-active: inherit;
}

/* -- BOXED LAYOUT -- */
/* ---------------------------------------------- */
@media (min-width: max(1024px, 1200px)) {
  .boxed-layout {
    --nf-boxed-layout-bg: rgba(var(--bs-primary-rgb), 0.7);
    --nf-boxed-layout-bg-repeat: no-repeat;
    --nf-boxed-layout-bg-image: none;
    --nf-boxed-layout-bg-size: cover;
    --nf-boxed-layout-bg-attachment: fixed;
    --nf-boxed-layout-padding-y: 2rem;
    --nf-boxed-layout-max-width: 1200px;
    --nf-boxed-layout-border-radius: 0.75rem;
    background-attachment: var(--nf-boxed-layout-bg-attachment);
    background-color: var(--nf-boxed-layout-bg);
    background-image: var(--nf-boxed-layout-bg-image);
    background-repeat: var(--nf-boxed-layout-bg-repeat);
    background-size: var(--nf-boxed-layout-bg-size);
    background-blend-mode: exclusion;
    margin: 0 auto;
    max-width: var(--nf-boxed-layout-max-width);
    padding-block: var(--nf-boxed-layout-padding-y);
    padding-inline-end: 0 !important;
  }
  .boxed-layout:not(.solid-bg):after {
    content: "";
    position: fixed;
    inset: 0;
    background: linear-gradient(180deg, rgba(var(--bs-dark-rgb), 0.79) 29%, rgba(var(--bs-dark-rgb), 0.4) 75%);
    pointer-events: none;
    touch-action: none;
    z-index: -1;
  }
  .boxed-layout .root {
    -webkit-clip-path: inset(0 0 0 0 round var(--nf-boxed-layout-border-radius));
    clip-path: inset(0 0 0 0 round var(--nf-boxed-layout-border-radius));
  }
  .boxed-layout > .mn--reveal.mn--show:before {
    max-width: var(--nf-boxed-layout-max-width);
    margin: 0 auto;
    transition: transform var(--nf-mainnav-reveal-transition-duration) var(--nf-mainnav-reveal-transition-timing) !important;
    transform: translateX(calc(100% - var(--nf-boxed-layout-max-width) + var(--nf-mainnav-max-width)));
  }
  .boxed-layout .mega-dropdown {
    max-width: calc(75 * var(--nf-boxed-layout-max-width) / 100);
  }
  .boxed-layout .sidebar {
    top: var(--nf-boxed-layout-padding-y);
  }
  .boxed-layout .searchbox.searchbox--auto-expand .searchbox__input {
    max-width: calc(var(--nf-boxed-layout-max-width) / 2.2);
  }
  .boxed-layout > .sb--pinned .sidebar {
    top: calc(var(--nf-boxed-layout-padding-y) + var(--nf-header-height) + 0.0625rem);
  }
  .boxed-layout > .hd--sticky .header {
    outline: 1px solid var(--nf-header-bg);
  }
}
/* -- CENTERED LAYOUT -- */
/* ---------------------------------------------- */
@media (min-width: 900px) {
  .centered-layout > .root:not(.mn--max):not(.mn--min) > .mainnav {
    position: absolute;
    inset: 0 auto auto 0;
    height: 100%;
    min-height: 100vh;
  }
  .centered-layout > .root:not(.mn--max):not(.mn--min) .content__header > .content__wrap,
  .centered-layout > .root:not(.mn--max):not(.mn--min) .content__boxed:not(.content__header) {
    width: 900px;
    margin-inline: auto;
  }
}
@media (min-width: 1195px) {
  .centered-layout .sb--pinned .sidebar {
    transition-duration: 0s;
  }
  .centered-layout .sb--pinned:not(.mn--max):not(.mn--min).sb--unite .content__header:after {
    right: var(--nf-sidebar-width);
  }
  .centered-layout .sb--pinned:not(.mn--max):not(.mn--min) .content__header {
    padding: 0;
  }
  .centered-layout .sb--pinned:not(.mn--max):not(.mn--min) .content__boxed:not(.content__header), .centered-layout .sb--pinned:not(.mn--max):not(.mn--min) .content__header > .content__wrap {
    padding-right: calc(17.1875rem - (100vw - 900px) / 2);
  }
}
@media (min-width: 1300px) {
  .centered-layout .mainnav {
    position: absolute;
    inset: var(--nf-header-height) auto auto 0;
    height: calc(100% - var(--nf-header-height));
    min-height: 100vh;
  }
  .centered-layout .content__header > .content__wrap,
  .centered-layout .content__boxed:not(.content__header) {
    width: 900px;
    margin-inline: auto;
  }
  .centered-layout .mn--min.tm--expanded-hd .content__header:before {
    left: calc(var(--nf-mainnav-min-width) - var(--nf-sidebar-unite-outer-border-radius));
    transform: none;
    transition: left var(--nf-mainnav-min-transition-duration) var(--nf-mainnav-min-transition-timing);
  }
  .centered-layout .mn--max.tm--expanded-hd .content__header:before {
    left: calc(var(--nf-mainnav-max-width) - var(--nf-sidebar-unite-outer-border-radius));
    transform: none;
    transition: left var(--nf-mainnav-max-transition-duration) var(--nf-mainnav-max-transition-timing);
  }
  .centered-layout .sb--pinned.sb--unite .content__header:after {
    right: var(--nf-sidebar-width);
  }
  .centered-layout .sb--pinned .content__header {
    padding: 0;
  }
  .centered-layout .sb--pinned .content__boxed:not(.content__header), .centered-layout .sb--pinned .content__header > .content__wrap {
    padding-right: calc(17.1875rem - (100vw - 900px) / 2);
  }
}
/* -- COLOR COMPONENTS -- */
/* ---------------------------------------------- */
/* ---------------------------------------------- */
/* gray color scheme */
[data-bs-theme=dark][data-scheme=gray] {
  --nf-content-title-ratio: 1.668129681;
  --nf-content-title-color: #697487;
}

/* End gray color scheme */
/* ---------------------------------------------- */
/* navy color scheme */
[data-bs-theme=dark][data-scheme=navy] {
  --nf-content-title-ratio: 1.4020701145;
  --nf-content-title-color: #506999;
}

/* End navy color scheme */
/* ---------------------------------------------- */
/* ocean color scheme */
[data-bs-theme=dark][data-scheme=ocean] {
  --nf-content-title-ratio: 2.0750737159;
  --nf-content-title-color: var(--bs-primary);
}

/* End ocean color scheme */
/* ---------------------------------------------- */
/* lime color scheme */
[data-bs-theme=dark][data-scheme=lime] {
  --nf-content-title-ratio: 3.3518191288;
  --nf-content-title-color: var(--bs-primary);
}

/* End lime color scheme */
/* ---------------------------------------------- */
/* violet color scheme */
[data-bs-theme=dark][data-scheme=violet] {
  --nf-content-title-ratio: 1.5001083291;
  --nf-content-title-color: #895998;
}

/* End violet color scheme */
/* ---------------------------------------------- */
/* orange color scheme */
[data-bs-theme=dark][data-scheme=orange] {
  --nf-content-title-ratio: 4.7836786022;
  --nf-content-title-color: var(--bs-primary);
}

/* End orange color scheme */
/* ---------------------------------------------- */
/* teal color scheme */
[data-bs-theme=dark][data-scheme=teal] {
  --nf-content-title-ratio: 1.8525037737;
  --nf-content-title-color: #337f95;
}

/* End teal color scheme */
/* ---------------------------------------------- */
/* corn color scheme */
[data-scheme=corn] {
  --nf-content-title-color: #b6a20a;
}

[data-bs-theme=dark][data-scheme=corn] {
  --nf-content-title-ratio: 8.1370717413;
  --nf-content-title-color: var(--bs-primary);
}

/* End corn color scheme */
/* ---------------------------------------------- */
/* cherry color scheme */
[data-bs-theme=dark][data-scheme=cherry] {
  --nf-content-title-ratio: 2.9395328057;
  --nf-content-title-color: var(--bs-primary);
}

/* End cherry color scheme */
/* ---------------------------------------------- */
/* coffee color scheme */
[data-bs-theme=dark][data-scheme=coffee] {
  --nf-content-title-ratio: 1.9548759143;
  --nf-content-title-color: #907664;
}

/* End coffee color scheme */
/* ---------------------------------------------- */
/* pear color scheme */
[data-bs-theme=dark][data-scheme=pear] {
  --nf-content-title-ratio: 1.9612044672;
  --nf-content-title-color: #b25c79;
}

/* End pear color scheme */
/* ---------------------------------------------- */
/* night color scheme */
[data-bs-theme=dark][data-scheme=night] {
  --nf-content-title-ratio: 1.1097472633;
  --nf-content-title-color: #505359;
}

/* End night color scheme */
/*!
 * ../css/litepicker.css
 * Litepicker v2.0.12 (https://github.com/wakirin/Litepicker)
 * Package: litepicker (https://www.npmjs.com/package/litepicker)
 * License: MIT (https://github.com/wakirin/Litepicker/blob/master/LICENCE.md)
 * Copyright 2019-2021 Rinat G.
 */
:root {
  --litepicker-container-months-color-bg: var(--bs-component-bg);
  --litepicker-container-months-box-shadow-color: #ddd;
  --litepicker-footer-color-bg: rgba(var(--bs-emphasis-color-rgb), .2);
  --litepicker-footer-box-shadow-color: #ddd;
  --litepicker-tooltip-color-bg: var(--bs-component-bg);
  --litepicker-month-header-color: var(--bs-emphasis-color);
  --litepicker-button-prev-month-color: var(--bs-secondary-color);
  --litepicker-button-next-month-color: var(--bs-secondary-color);
  --litepicker-button-prev-month-color-hover: var(--bs-component-hover-bg);
  --litepicker-button-next-month-color-hover: var(--bs-component-hover-bg);
  --litepicker-month-width: calc(var(--litepicker-day-width) * 7);
  --litepicker-month-weekday-color: var(--bs-secondary-color);
  --litepicker-month-week-number-color: var(--bs-secondary-color);
  --litepicker-day-width: 38px;
  --litepicker-day-color: var(--bs-emphasis-color);
  --litepicker-day-color-hover: var(--bs-emphasis-color);
  --litepicker-day-bg-hover: var(--bs-component-hover-bg);
  --litepicker-is-today-bg: var(--bs-primary-bg-subtle);
  --litepicker-is-today-color: var(--bs-primary-text-emphasis);
  --litepicker-is-in-range-color: var(--bs-component-hover-bg);
  --litepicker-is-locked-color: var(--bs-secondary-color);
  --litepicker-is-start-color: var(--bs-primary-color);
  --litepicker-is-start-color-bg: var(--bs-primary);
  --litepicker-is-end-color: var(--bs-primary-color);
  --litepicker-is-end-color-bg: var(--bs-primary);
  --litepicker-button-cancel-color: #fff;
  --litepicker-button-cancel-color-bg: var(--bs-secondary-color);
  --litepicker-button-apply-color: #fff;
  --litepicker-button-apply-color-bg: var(--bs-component-hover-bg);
  --litepicker-button-reset-color: #909090;
  --litepicker-button-reset-color-hover: var(--bs-component-hover-bg);
  --litepicker-highlighted-day-color: var(--bs-emphasis-color);
  --litepicker-highlighted-day-color-bg: #ffeb3b;
}

.show-week-numbers {
  --litepicker-month-width: calc(var(--litepicker-day-width) * 8);
}

.litepicker {
  font-family: var(--bs-font-sans-serif);
  font-size: 0.95em;
  display: none;
}
.litepicker button {
  border: none;
  background: none;
}
.litepicker .container__main {
  display: flex;
}
.litepicker .container__months {
  display: flex;
  flex-wrap: wrap;
  background-color: var(--litepicker-container-months-color-bg);
  border-radius: var(--bs-border-radius);
  box-shadow: var(--bs-box-shadow-lg);
  width: calc(var(--litepicker-month-width) + (1.5rem));
  box-sizing: content-box;
  padding-bottom: 0.75rem;
}
.litepicker .container__months.columns-2 {
  width: calc(var(--litepicker-month-width) * 2 + 3rem);
}
.litepicker .container__months.columns-3 {
  width: calc(var(--litepicker-month-width) * 3 + 4.5rem);
}
.litepicker .container__months.columns-4 {
  width: calc(var(--litepicker-month-width) * 4 + 6rem);
}
.litepicker .container__months.split-view .month-item-header .button-previous-month,
.litepicker .container__months.split-view .month-item-header .button-next-month {
  visibility: visible;
}
.litepicker .container__months .month-item {
  padding: 0.375rem 0.75rem;
  width: var(--litepicker-month-width);
  box-sizing: content-box;
}
.litepicker .container__months .month-item-header {
  display: flex;
  justify-content: space-between;
  font-weight: 500;
  font-size: 0.95rem;
  padding: 0.75rem 0.3125rem;
  text-align: center;
  align-items: center;
  color: var(--litepicker-month-header-color);
}
.litepicker .container__months .month-item-header div {
  flex: 1;
}
.litepicker .container__months .month-item-header div > .month-item-name {
  margin-right: 0.3125rem;
  font-weight: 500;
}
.litepicker .container__months .month-item-header div > .month-item-year {
  padding: 0;
}
.litepicker .container__months .month-item-header .reset-button {
  color: var(--litepicker-button-reset-color);
}
.litepicker .container__months .month-item-header .reset-button > svg {
  fill: var(--litepicker-button-reset-color);
}
.litepicker .container__months .month-item-header .reset-button * {
  pointer-events: none;
}
.litepicker .container__months .month-item-header .reset-button:hover {
  color: var(--litepicker-button-reset-color-hover);
}
.litepicker .container__months .month-item-header .reset-button:hover > svg {
  fill: var(--litepicker-button-reset-color-hover);
}
.litepicker .container__months .month-item-header .button-previous-month,
.litepicker .container__months .month-item-header .button-next-month {
  visibility: hidden;
  text-decoration: none;
  padding: 3px 5px;
  border-radius: var(--bs-border-radius);
  transition: color 0.3s, border 0.3s;
  cursor: default;
}
.litepicker .container__months .month-item-header .button-previous-month *,
.litepicker .container__months .month-item-header .button-next-month * {
  pointer-events: none;
}
.litepicker .container__months .month-item-header .button-previous-month {
  color: var(--litepicker-button-prev-month-color);
}
.litepicker .container__months .month-item-header .button-previous-month > svg,
.litepicker .container__months .month-item-header .button-previous-month > img {
  fill: var(--litepicker-button-prev-month-color);
}
.litepicker .container__months .month-item-header .button-previous-month:hover {
  color: var(--litepicker-button-prev-month-color-hover);
}
.litepicker .container__months .month-item-header .button-previous-month:hover > svg {
  fill: var(--litepicker-button-prev-month-color-hover);
}
.litepicker .container__months .month-item-header .button-next-month {
  color: var(--litepicker-button-next-month-color);
}
.litepicker .container__months .month-item-header .button-next-month > svg,
.litepicker .container__months .month-item-header .button-next-month > img {
  fill: var(--litepicker-button-next-month-color);
}
.litepicker .container__months .month-item-header .button-next-month:hover {
  color: var(--litepicker-button-next-month-color-hover);
}
.litepicker .container__months .month-item-header .button-next-month:hover > svg {
  fill: var(--litepicker-button-next-month-color-hover);
}
.litepicker .container__months .month-item-weekdays-row {
  display: flex;
  justify-self: center;
  justify-content: flex-start;
  color: var(--litepicker-month-weekday-color);
}
.litepicker .container__months .month-item-weekdays-row > div {
  padding: 5px 0;
  font-size: 85%;
  flex: 1;
  width: var(--litepicker-day-width);
  text-align: center;
}
.litepicker .container__months .month-item:first-child .button-previous-month {
  visibility: visible;
}
.litepicker .container__months .month-item:last-child .button-next-month {
  visibility: visible;
}
.litepicker .container__months .month-item.no-previous-month .button-previous-month {
  visibility: hidden;
}
.litepicker .container__months .month-item.no-next-month .button-next-month {
  visibility: hidden;
}
.litepicker .container__days {
  display: flex;
  flex-wrap: wrap;
  justify-self: center;
  justify-content: flex-start;
  text-align: center;
  box-sizing: content-box;
}
.litepicker .container__days > div,
.litepicker .container__days > a {
  padding: 5px 0;
  width: var(--litepicker-day-width);
}
.litepicker .container__days .day-item {
  color: var(--litepicker-day-color);
  text-align: center;
  text-decoration: none;
  border-radius: var(--bs-border-radius);
  transition: color 0.3s, border 0.3s;
  cursor: pointer;
}
.litepicker .container__days .day-item:hover {
  color: var(--litepicker-day-color-hover);
  box-shadow: none !important;
  background-color: var(--litepicker-day-bg-hover);
}
.litepicker .container__days .day-item.is-today {
  background-color: var(--litepicker-is-today-bg);
  color: var(--litepicker-is-today-color);
  font-weight: bold;
}
.litepicker .container__days .day-item.is-locked {
  color: var(--litepicker-is-locked-color);
}
.litepicker .container__days .day-item.is-locked:hover {
  color: var(--litepicker-is-locked-color);
  box-shadow: none;
  cursor: default;
}
.litepicker .container__days .day-item.is-in-range {
  background-color: var(--litepicker-is-in-range-color);
  border-radius: 0;
}
.litepicker .container__days .day-item.is-start-date {
  color: var(--litepicker-is-start-color);
  background-color: var(--litepicker-is-start-color-bg);
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.litepicker .container__days .day-item.is-start-date.is-flipped {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}
.litepicker .container__days .day-item.is-end-date {
  color: var(--litepicker-is-end-color);
  background-color: var(--litepicker-is-end-color-bg);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}
.litepicker .container__days .day-item.is-end-date.is-flipped {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.litepicker .container__days .day-item.is-start-date.is-end-date {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}
.litepicker .container__days .day-item.is-highlighted {
  color: var(--litepicker-highlighted-day-color);
  background-color: var(--litepicker-highlighted-day-color-bg);
}
.litepicker .container__days .week-number {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--litepicker-month-week-number-color);
  font-size: 85%;
}
.litepicker .container__footer {
  text-align: right;
  padding: 10px 5px;
  margin: 0 5px;
  background-color: var(--litepicker-footer-color-bg);
  box-shadow: inset 0px 3px 3px 0px var(--litepicker-footer-box-shadow-color);
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.litepicker .container__footer .preview-date-range {
  margin-right: 10px;
  font-size: 90%;
}
.litepicker .container__footer .button-cancel {
  background-color: var(--litepicker-button-cancel-color-bg);
  color: var(--litepicker-button-cancel-color);
  border: 0;
  padding: 3px 7px 4px;
  border-radius: var(--bs-border-radius);
}
.litepicker .container__footer .button-cancel * {
  pointer-events: none;
}
.litepicker .container__footer .button-apply {
  background-color: var(--litepicker-button-apply-color-bg);
  color: var(--litepicker-button-apply-color);
  border: 0;
  padding: 3px 7px 4px;
  border-radius: var(--bs-border-radius);
  margin-left: 10px;
  margin-right: 10px;
}
.litepicker .container__footer .button-apply:disabled {
  opacity: 0.7;
}
.litepicker .container__footer .button-apply * {
  pointer-events: none;
}
.litepicker .container__tooltip {
  position: absolute;
  margin-top: -4px;
  padding: 4px 8px;
  border-radius: var(--bs-border-radius);
  background-color: var(--litepicker-tooltip-color-bg);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  white-space: nowrap;
  font-size: 11px;
  pointer-events: none;
  visibility: hidden;
}
.litepicker .container__tooltip:before {
  position: absolute;
  bottom: -5px;
  left: calc(50% - 5px);
  border-top: 5px solid rgba(0, 0, 0, 0.12);
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  content: "";
}
.litepicker .container__tooltip:after {
  position: absolute;
  bottom: -4px;
  left: calc(50% - 4px);
  border-top: 4px solid var(--litepicker-tooltip-color-bg);
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  content: "";
}

@media (max-width: 480px) {
  .litepicker {
    left: 50% !important;
    transform: translateX(-50%);
  }
  .litepicker .container__months.columns-2 {
    flex-direction: column;
    width: auto;
  }
}
.root {
  --nf-brand-size: 30px;
}

.gu-mirror {
  border-width: 2px;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  padding-top: 3px;
  font-size: 12px;
}

.select2-container .select2-dropdown .select2-results ul li span {
  font-size: 12px;
}

.select2-container .select2-dropdown {
  background-color: #fafafa;
}

/* for dark */
html[data-bs-theme=dark] .select2-container .select2-dropdown {
  background-color: rgb(52, 61, 71);
  border-color: rgb(79, 81, 84);
  color: #fff;
}

html[data-bs-theme=dark] .select2-container .select2-dropdown .select2-search input.select2-search__field {
  background-color: rgb(41, 48, 56);
  border-color: rgb(79, 81, 84);
  color: #fff;
}

html[data-bs-theme=dark] .select2-container .select2-selection--single,
html[data-bs-theme=dark] .select2-container .select2-selection--multiple {
  background-color: rgb(41, 48, 56);
  border-color: rgb(79, 81, 84);
}

html[data-bs-theme=dark] .select2-container .select2-selection--single .select2-selection__rendered,
html[data-bs-theme=dark] .select2-container .select2-selection--multiple .select2-selection__rendered {
  color: #fff;
}

/* Callout */
.callout {
  border-left: 3px solid #e9ecef;
  padding: 0.5rem;
}

.callout > .callout-icon {
  color: #e9ecef;
}

.callout > .callout-title {
  color: #e9ecef;
}

.callout-primary {
  border-left-color: #01a3d4;
}

.callout-primary > .callout-icon {
  color: #01a3d4;
}

.callout-primary > .callout-title {
  color: #01a3d4;
}

.callout-secondary {
  border-left-color: #6c757d;
}

.callout-secondary > .callout-icon {
  color: #6c757d;
}

.callout-secondary > .callout-title {
  color: #6c757d;
}

.callout-success {
  border-left-color: #7fd10d;
}

.callout-success > .callout-icon {
  color: #6c757d;
}

.callout-success > .callout-title {
  color: #6c757d;
}

.callout-info {
  border-left-color: #0dcaf0;
}

.callout-info > .callout-icon {
  color: #0dcaf0;
}

.callout-info > .callout-title {
  color: #0dcaf0;
}

.callout-warning {
  border-left-color: #ffc107;
}

.callout-warning > .callout-icon {
  color: #ffc107;
}

.callout-warning > .callout-title {
  color: #ffc107;
}

/*
.callout-danger { border-left-color: #dc3545; }
.callout-danger > .callout-icon { color: #dc3545; }
.callout-danger > .callout-title { color: #dc3545; }
 */
.callout-danger {
  border-left-color: rgb(250, 92, 124);
}

.callout-danger > .callout-icon {
  color: rgb(250, 92, 124);
}

.callout-danger > .callout-title {
  color: rgb(250, 92, 124);
}

/* Live-Event */
.live-event-status-button-timer-on-pause {
  _font-size: 70%;
  _padding: 0.35rem 0.9rem;
  _line-height: 1.15;
}

.live-event-status-button-timer, .live-event-start-button {
  width: 140px;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmZiMDk1NjhjLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSxnQkFBZ0I7QUNDZDs7OztFQUFBO0FDREY7O0VBU0k7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBR0Y7RUFDQTtFQU1BO0VBQ0E7RUFDQTtFQU9BO0VDMk9JLDRCQUxJO0VEcE9SO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBTUE7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7QUZDRjs7QUlqSEk7RUZzSEE7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0U7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBR0Y7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtBRkNKOztBS3hMQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QUxzTEg7QUt0S007RUFDRztBTHdLVDtBS3JLTTtFQUNHO0VBQ0E7RUFFQTtFQUNBO0FMc0tUOztBSy9KQTtBQUNBO0FEM0NJO0VDOENFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMNkpOO0FLekpTO0VBQ0c7QUwySlo7QUt4SlM7RUFDRztFQUNBO0VBRUE7RUFDQTtBTHlKWjtBS3pJTTtFQUlNO0VBQ0E7QUx3SVo7QUtwSU07RUFDRztBTHNJVDtBS25JTTtFQUNHO0FMcUlUO0FLbElNO0VBQ0c7QUxvSVQ7O0FNcFBBOzs7RUFHRTtBTnVQRjs7QU14T0k7RUFOSjtJQU9NO0VONE9KO0FBQ0Y7O0FNL05BO0VBQ0U7RUFDQTtFSDZPSSxtQ0FMSTtFR3RPUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTmtPRjs7QU16TkE7RUFDRTtFQUNBLGNDcVM0QjtFRHBTNUI7RUFDQTtFQUNBLGFDeVM0QjtBUDdFOUI7O0FNbE5BO0VBQ0U7RUFDQSxxQkNnUDRCO0VEL081QixxQkNnUDRCO0VEOU81QixnQkNnUDRCO0VEL081QixnQkNnUDRCO0VEL081QjtBTm9ORjs7QU1qTkE7RUh1TVE7QUhjUjtBRzFLSTtFRzNDSjtJSDhNUTtFSFdOO0FBQ0Y7O0FNck5BO0VIa01RO0FIdUJSO0FHbkxJO0VHdENKO0lIeU1RO0VIb0JOO0FBQ0Y7O0FNek5BO0VINkxRO0FIZ0NSO0FHNUxJO0VHakNKO0lIb01RO0VINkJOO0FBQ0Y7O0FNN05BO0VIb0xNLG1CQUxJO0FIa0RWOztBTTVOQTtFSCtLTSxvQkFMSTtBSHNEVjs7QU0zTkE7RUgwS00sa0JBTEk7QUgwRFY7O0FNcE5BO0VBQ0U7RUFDQSxtQkNjd0M7QVB5TTFDOztBTTdNQTtFQUNFO0VBQ0E7RUFDQTtBTmdORjs7QU0xTUE7RUFDRTtFQUNBO0VBQ0E7QU42TUY7O0FNdk1BOztFQUVFO0FOME1GOztBTXZNQTs7O0VBR0U7RUFDQTtBTjBNRjs7QU12TUE7Ozs7RUFJRTtBTjBNRjs7QU12TUE7RUFDRSxnQkNzSDRCO0FQb0Y5Qjs7QU1yTUE7RUFDRTtFQUNBO0FOd01GOztBTWxNQTtFQUNFO0FOcU1GOztBTTdMQTs7RUFFRSxtQkMrRjRCO0FQaUc5Qjs7QU14TEE7RUg2RU0sa0JBTEk7QUhvSFY7O0FNckxBO0VBQ0UsaUJDbUs0QjtFRGxLNUI7RUFDQTtBTndMRjs7QU0vS0E7O0VBRUU7RUh3REksaUJBTEk7RUdqRFI7RUFDQTtBTmtMRjs7QU0vS0E7RUFBTTtBTm1MTjs7QU1sTEE7RUFBTTtBTnNMTjs7QU1qTEE7RUFDRTtFQUNBLDBCQzVId0M7QVBnVDFDO0FNbExFO0VBQ0U7QU5vTEo7O0FNektFO0VBRUU7RUFDQTtBTjJLSjs7QU1wS0E7Ozs7RUFJRSxxQ0NTNEI7RUpLeEIsY0FMSTtBSCtKVjs7QU1oS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFSEVJLGNBTEk7QUh1S1Y7QU0vSkU7RUhISSxrQkFMSTtFR1VOO0VBQ0E7QU5pS0o7O0FNN0pBO0VIVk0sY0FMSTtFR2lCUjtFQUNBO0FOZ0tGO0FNN0pFO0VBQ0U7QU4rSko7O0FNM0pBO0VBQ0U7RUh0QkksY0FMSTtFRzZCUix3QkMwbENrQztFRHpsQ2xDLHNDQzBsQ2tDO0VDLzNDaEM7QVJvY0o7QU01SkU7RUFDRTtFSDdCRSxjQUxJO0FIaU1WOztBTXBKQTtFQUNFO0FOdUpGOztBTWpKQTs7RUFFRTtBTm9KRjs7QU01SUE7RUFDRTtFQUNBO0FOK0lGOztBTTVJQTtFQUNFLG9CQ3dDNEI7RUR2QzVCLHVCQ3VDNEI7RUR0QzVCLGdDQzJFNEI7RUQxRTVCO0FOK0lGOztBTXhJQTtFQUNFLGdCQ2xFNEI7RURtRTVCO0VBQ0E7QU4ySUY7O0FNeElBOzs7Ozs7RUFNRTtFQUNBO0VBQ0E7QU4ySUY7O0FNbklBO0VBQ0U7QU5zSUY7O0FNaElBO0VBRUU7QU5rSUY7O0FNMUhBO0VBQ0U7QU42SEY7O0FNeEhBOzs7OztFQUtFO0VBQ0E7RUg1SEksa0JBTEk7RUdtSVI7QU4ySEY7O0FNdkhBOztFQUVFO0FOMEhGOztBTXJIQTtFQUNFO0FOd0hGOztBTXJIQTtFQUdFO0FOc0hGO0FNbkhFO0VBQ0U7QU5xSEo7O0FNOUdBO0VBQ0U7QU5pSEY7O0FNekdBOzs7O0VBSUU7QU40R0Y7QU16R0k7Ozs7RUFDRTtBTjhHTjs7QU12R0E7RUFDRTtFQUNBO0FOMEdGOztBTXJHQTtFQUNFO0FOd0dGOztBTTlGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FOaUdGOztBTXpGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLHFCQy9INEI7RUpsRnRCO0VHb05OO0FOMkZGO0FHM2NJO0VHeVdKO0lIdE1RO0VINFNOO0FBQ0Y7QU05RkU7RUFDRTtBTmdHSjs7QU16RkE7Ozs7Ozs7RUFPRTtBTjRGRjs7QU16RkE7RUFDRTtBTjRGRjs7QU1uRkE7RUFDRTtFQUNBO0FOc0ZGOztBTTlFQTs7Ozs7OztDQUFBO0FBV0E7RUFDRTtBTjhFRjs7QU16RUE7RUFDRTtBTjRFRjs7QU1yRUE7RUFDRTtFQUNBO0FOd0VGOztBTW5FQTtFQUNFO0FOc0VGOztBTWpFQTtFQUNFO0FOb0VGOztBTTdEQTtFQUNFO0VBQ0E7QU5nRUY7O0FNeERBO0VBQ0U7QU4yREY7O0FNbkRBO0VBQ0U7QU5zREY7O0FTdnBCQTtBQUNBO0FBSUE7RUFDRztBVHVwQkg7O0FTaHBCQTtFQUNHO0VBQ0E7QVRtcEJIOztBUzNvQkc7RUFDRztBVDhvQk47O0FTdG9CQTtFQUNHO0FUeW9CSDs7QVNub0JBO0VBQ0c7RUFDQTtBVHNvQkg7O0FTaG9CQTtFQUNHO0FUbW9CSDtBU2pvQkc7RUFDRztFQUNBO0VBQ0E7QVRtb0JOOztBVTVwQkE7RVBtUU0sb0JBTEk7RU81UFIsZ0JIOFQ0QjtBUGlXOUI7O0FVMXBCRTtFUGdRTTtFTzVQSixnQkhnVDBCO0VHL1MxQixnQkhnUzBCO0FQMlg5QjtBRzVqQkk7RU9wR0Y7SVB1UU07RUg2Wk47QUFDRjs7QVVycUJFO0VQZ1FNO0VPNVBKLGdCSGdUMEI7RUcvUzFCLGdCSGdTMEI7QVBzWTlCO0FHdmtCSTtFT3BHRjtJUHVRTTtFSHdhTjtBQUNGOztBVWhyQkU7RVBnUU07RU81UEosZ0JIZ1QwQjtFRy9TMUIsZ0JIZ1MwQjtBUGlaOUI7QUdsbEJJO0VPcEdGO0lQdVFNO0VIbWJOO0FBQ0Y7O0FVM3JCRTtFUGdRTTtFTzVQSixnQkhnVDBCO0VHL1MxQixnQkhnUzBCO0FQNFo5QjtBRzdsQkk7RU9wR0Y7SVB1UU07RUg4Yk47QUFDRjs7QVV0c0JFO0VQZ1FNO0VPNVBKLGdCSGdUMEI7RUcvUzFCLGdCSGdTMEI7QVB1YTlCO0FHeG1CSTtFT3BHRjtJUHVRTTtFSHljTjtBQUNGOztBVWp0QkU7RVBnUU07RU81UEosZ0JIZ1QwQjtFRy9TMUIsZ0JIZ1MwQjtBUGtiOUI7QUdubkJJO0VPcEdGO0lQdVFNO0VIb2ROO0FBQ0Y7O0FVcHNCQTtFQ3ZERTtFQUNBO0FYK3ZCRjs7QVVwc0JBO0VDNURFO0VBQ0E7QVhvd0JGOztBVXRzQkE7RUFDRTtBVnlzQkY7QVV2c0JFO0VBQ0Usb0JIb1QwQjtBUHFaOUI7O0FVL3JCQTtFUDhNTSxrQkFMSTtFT3ZNUjtBVmtzQkY7O0FVOXJCQTtFQUNFLG1CSFhPO0VKa05ILG9CQUxJO0FIZ2dCVjtBVS9yQkU7RUFDRTtBVmlzQko7O0FVN3JCQTtFQUNFO0VBQ0EsbUJIckJPO0VKa05ILGtCQUxJO0VPdExSLGNINFA0QjtBUG9jOUI7QVU5ckJFO0VBQ0U7QVZnc0JKOztBWXZ5QkE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtFQUNHO0FaeXlCSDtBWXR5Qk07RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVp3eUJUO0FZcnlCTTtFQUNHO0VBQ0E7RUFDQTtBWnV5QlQ7O0FheHpCQTtFQ0lFO0VBR0E7QWRzekJGOztBYXZ6QkE7RUFDRSxnQk5vd0NrQztFTW53Q2xDLG1DTm93Q2tDO0VNbndDbEM7RUxHRTtFT0xFLG1DQVJXO0VES2Y7RUFHQTtBZGcwQkY7O0FhbHpCQTtFQUVFO0Fib3pCRjs7QWFqekJBO0VBQ0U7RUFDQTtBYm96QkY7O0FhanpCQTtFVnlQTSxrQkFMSTtFVWxQUixnQ05zdkNrQztBUGxjcEM7O0FnQjUxQkE7QUFDQTtBQUtHO0VBQ0csY1RzN0NhO0VTcjdDYixlVHE3Q2E7QVAxbEJuQjs7QWdCNzFCRztFQUNHLGNUczdDYTtFU3I3Q2IsZVRxN0NhO0FQcmxCbkI7O0FnQmwyQkc7RUFDRyxXVHM3Q2E7RVNyN0NiLFlUcTdDYTtBUGhsQm5COztBZ0J2MkJHO0VBQ0csV1RzN0NhO0VTcjdDYixZVHE3Q2E7QVAza0JuQjs7QWdCNTJCRztFQUNHLFdUczdDYTtFU3I3Q2IsWVRxN0NhO0FQdGtCbkI7O0FnQmozQkc7RUFDRyxZVHM3Q2E7RVNyN0NiLGFUcTdDYTtBUGprQm5COztBaUJ0M0JFOzs7Ozs7O0VDSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCbTRCRjs7QW1CNzBCSTtFRjVDRTtJQUNFLGdCVnNKZTtFUHV1QnJCO0FBQ0Y7QW1CbjFCSTtFRjVDRTtJQUNFLGdCVnNKZTtFUDR1QnJCO0FBQ0Y7QW1CeDFCSTtFRjVDRTtJQUNFLGdCVnNKZTtFUGl2QnJCO0FBQ0Y7QW1CNzFCSTtFRjVDRTtJQUNFLGlCVnNKZTtFUHN2QnJCO0FBQ0Y7QW1CbDJCSTtFRjVDRTtJQUNFLGlCVnNKZTtFUDJ2QnJCO0FBQ0Y7QW9CbDZCQTtFQUVJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBcEJ3NkJKOztBb0JuNkJFO0VDTkE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QXJCNDZCRjtBb0IxNkJJO0VDT0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQnM2QkY7O0FxQnYzQk07RUFDRTtBckIwM0JSOztBcUJ2M0JNO0VBcENKO0VBQ0E7QXJCKzVCRjs7QXFCajVCRTtFQUNFO0VBQ0E7QXJCbzVCSjs7QXFCdDVCRTtFQUNFO0VBQ0E7QXJCeTVCSjs7QXFCMzVCRTtFQUNFO0VBQ0E7QXJCODVCSjs7QXFCaDZCRTtFQUNFO0VBQ0E7QXJCbTZCSjs7QXFCcjZCRTtFQUNFO0VBQ0E7QXJCdzZCSjs7QXFCMTZCRTtFQUNFO0VBQ0E7QXJCNjZCSjs7QXFCOTRCTTtFQWhESjtFQUNBO0FyQms4QkY7O0FxQjc0QlU7RUFoRU47RUFDQTtBckJpOUJKOztBcUJsNUJVO0VBaEVOO0VBQ0E7QXJCczlCSjs7QXFCdjVCVTtFQWhFTjtFQUNBO0FyQjI5Qko7O0FxQjU1QlU7RUFoRU47RUFDQTtBckJnK0JKOztBcUJqNkJVO0VBaEVOO0VBQ0E7QXJCcStCSjs7QXFCdDZCVTtFQWhFTjtFQUNBO0FyQjArQko7O0FxQjM2QlU7RUFoRU47RUFDQTtBckIrK0JKOztBcUJoN0JVO0VBaEVOO0VBQ0E7QXJCby9CSjs7QXFCcjdCVTtFQWhFTjtFQUNBO0FyQnkvQko7O0FxQjE3QlU7RUFoRU47RUFDQTtBckI4L0JKOztBcUIvN0JVO0VBaEVOO0VBQ0E7QXJCbWdDSjs7QXFCcDhCVTtFQWhFTjtFQUNBO0FyQndnQ0o7O0FxQmo4Qlk7RUF4RFY7QXJCNi9CRjs7QXFCcjhCWTtFQXhEVjtBckJpZ0NGOztBcUJ6OEJZO0VBeERWO0FyQnFnQ0Y7O0FxQjc4Qlk7RUF4RFY7QXJCeWdDRjs7QXFCajlCWTtFQXhEVjtBckI2Z0NGOztBcUJyOUJZO0VBeERWO0FyQmloQ0Y7O0FxQno5Qlk7RUF4RFY7QXJCcWhDRjs7QXFCNzlCWTtFQXhEVjtBckJ5aENGOztBcUJqK0JZO0VBeERWO0FyQjZoQ0Y7O0FxQnIrQlk7RUF4RFY7QXJCaWlDRjs7QXFCeitCWTtFQXhEVjtBckJxaUNGOztBcUJsK0JROztFQUVFO0FyQnErQlY7O0FxQmwrQlE7O0VBRUU7QXJCcStCVjs7QXFCNStCUTs7RUFFRTtBckIrK0JWOztBcUI1K0JROztFQUVFO0FyQisrQlY7O0FxQnQvQlE7O0VBRUU7QXJCeS9CVjs7QXFCdC9CUTs7RUFFRTtBckJ5L0JWOztBcUJoZ0NROztFQUVFO0FyQm1nQ1Y7O0FxQmhnQ1E7O0VBRUU7QXJCbWdDVjs7QXFCMWdDUTs7RUFFRTtBckI2Z0NWOztBcUIxZ0NROztFQUVFO0FyQjZnQ1Y7O0FxQnBoQ1E7O0VBRUU7QXJCdWhDVjs7QXFCcGhDUTs7RUFFRTtBckJ1aENWOztBbUJqbENJO0VFVUU7SUFDRTtFckIya0NOO0VxQnhrQ0k7SUFwQ0o7SUFDQTtFckIrbUNBO0VxQmptQ0E7SUFDRTtJQUNBO0VyQm1tQ0Y7RXFCcm1DQTtJQUNFO0lBQ0E7RXJCdW1DRjtFcUJ6bUNBO0lBQ0U7SUFDQTtFckIybUNGO0VxQjdtQ0E7SUFDRTtJQUNBO0VyQittQ0Y7RXFCam5DQTtJQUNFO0lBQ0E7RXJCbW5DRjtFcUJybkNBO0lBQ0U7SUFDQTtFckJ1bkNGO0VxQnhsQ0k7SUFoREo7SUFDQTtFckIyb0NBO0VxQnRsQ1E7SUFoRU47SUFDQTtFckJ5cENGO0VxQjFsQ1E7SUFoRU47SUFDQTtFckI2cENGO0VxQjlsQ1E7SUFoRU47SUFDQTtFckJpcUNGO0VxQmxtQ1E7SUFoRU47SUFDQTtFckJxcUNGO0VxQnRtQ1E7SUFoRU47SUFDQTtFckJ5cUNGO0VxQjFtQ1E7SUFoRU47SUFDQTtFckI2cUNGO0VxQjltQ1E7SUFoRU47SUFDQTtFckJpckNGO0VxQmxuQ1E7SUFoRU47SUFDQTtFckJxckNGO0VxQnRuQ1E7SUFoRU47SUFDQTtFckJ5ckNGO0VxQjFuQ1E7SUFoRU47SUFDQTtFckI2ckNGO0VxQjluQ1E7SUFoRU47SUFDQTtFckJpc0NGO0VxQmxvQ1E7SUFoRU47SUFDQTtFckJxc0NGO0VxQjluQ1U7SUF4RFY7RXJCeXJDQTtFcUJqb0NVO0lBeERWO0VyQjRyQ0E7RXFCcG9DVTtJQXhEVjtFckIrckNBO0VxQnZvQ1U7SUF4RFY7RXJCa3NDQTtFcUIxb0NVO0lBeERWO0VyQnFzQ0E7RXFCN29DVTtJQXhEVjtFckJ3c0NBO0VxQmhwQ1U7SUF4RFY7RXJCMnNDQTtFcUJucENVO0lBeERWO0VyQjhzQ0E7RXFCdHBDVTtJQXhEVjtFckJpdENBO0VxQnpwQ1U7SUF4RFY7RXJCb3RDQTtFcUI1cENVO0lBeERWO0VyQnV0Q0E7RXFCL3BDVTtJQXhEVjtFckIwdENBO0VxQnZwQ007O0lBRUU7RXJCeXBDUjtFcUJ0cENNOztJQUVFO0VyQndwQ1I7RXFCL3BDTTs7SUFFRTtFckJpcUNSO0VxQjlwQ007O0lBRUU7RXJCZ3FDUjtFcUJ2cUNNOztJQUVFO0VyQnlxQ1I7RXFCdHFDTTs7SUFFRTtFckJ3cUNSO0VxQi9xQ007O0lBRUU7RXJCaXJDUjtFcUI5cUNNOztJQUVFO0VyQmdyQ1I7RXFCdnJDTTs7SUFFRTtFckJ5ckNSO0VxQnRyQ007O0lBRUU7RXJCd3JDUjtFcUIvckNNOztJQUVFO0VyQmlzQ1I7RXFCOXJDTTs7SUFFRTtFckJnc0NSO0FBQ0Y7QW1CM3ZDSTtFRVVFO0lBQ0U7RXJCb3ZDTjtFcUJqdkNJO0lBcENKO0lBQ0E7RXJCd3hDQTtFcUIxd0NBO0lBQ0U7SUFDQTtFckI0d0NGO0VxQjl3Q0E7SUFDRTtJQUNBO0VyQmd4Q0Y7RXFCbHhDQTtJQUNFO0lBQ0E7RXJCb3hDRjtFcUJ0eENBO0lBQ0U7SUFDQTtFckJ3eENGO0VxQjF4Q0E7SUFDRTtJQUNBO0VyQjR4Q0Y7RXFCOXhDQTtJQUNFO0lBQ0E7RXJCZ3lDRjtFcUJqd0NJO0lBaERKO0lBQ0E7RXJCb3pDQTtFcUIvdkNRO0lBaEVOO0lBQ0E7RXJCazBDRjtFcUJud0NRO0lBaEVOO0lBQ0E7RXJCczBDRjtFcUJ2d0NRO0lBaEVOO0lBQ0E7RXJCMDBDRjtFcUIzd0NRO0lBaEVOO0lBQ0E7RXJCODBDRjtFcUIvd0NRO0lBaEVOO0lBQ0E7RXJCazFDRjtFcUJueENRO0lBaEVOO0lBQ0E7RXJCczFDRjtFcUJ2eENRO0lBaEVOO0lBQ0E7RXJCMDFDRjtFcUIzeENRO0lBaEVOO0lBQ0E7RXJCODFDRjtFcUIveENRO0lBaEVOO0lBQ0E7RXJCazJDRjtFcUJueUNRO0lBaEVOO0lBQ0E7RXJCczJDRjtFcUJ2eUNRO0lBaEVOO0lBQ0E7RXJCMDJDRjtFcUIzeUNRO0lBaEVOO0lBQ0E7RXJCODJDRjtFcUJ2eUNVO0lBeERWO0VyQmsyQ0E7RXFCMXlDVTtJQXhEVjtFckJxMkNBO0VxQjd5Q1U7SUF4RFY7RXJCdzJDQTtFcUJoekNVO0lBeERWO0VyQjIyQ0E7RXFCbnpDVTtJQXhEVjtFckI4MkNBO0VxQnR6Q1U7SUF4RFY7RXJCaTNDQTtFcUJ6ekNVO0lBeERWO0VyQm8zQ0E7RXFCNXpDVTtJQXhEVjtFckJ1M0NBO0VxQi96Q1U7SUF4RFY7RXJCMDNDQTtFcUJsMENVO0lBeERWO0VyQjYzQ0E7RXFCcjBDVTtJQXhEVjtFckJnNENBO0VxQngwQ1U7SUF4RFY7RXJCbTRDQTtFcUJoMENNOztJQUVFO0VyQmswQ1I7RXFCL3pDTTs7SUFFRTtFckJpMENSO0VxQngwQ007O0lBRUU7RXJCMDBDUjtFcUJ2MENNOztJQUVFO0VyQnkwQ1I7RXFCaDFDTTs7SUFFRTtFckJrMUNSO0VxQi8wQ007O0lBRUU7RXJCaTFDUjtFcUJ4MUNNOztJQUVFO0VyQjAxQ1I7RXFCdjFDTTs7SUFFRTtFckJ5MUNSO0VxQmgyQ007O0lBRUU7RXJCazJDUjtFcUIvMUNNOztJQUVFO0VyQmkyQ1I7RXFCeDJDTTs7SUFFRTtFckIwMkNSO0VxQnYyQ007O0lBRUU7RXJCeTJDUjtBQUNGO0FtQnA2Q0k7RUVVRTtJQUNFO0VyQjY1Q047RXFCMTVDSTtJQXBDSjtJQUNBO0VyQmk4Q0E7RXFCbjdDQTtJQUNFO0lBQ0E7RXJCcTdDRjtFcUJ2N0NBO0lBQ0U7SUFDQTtFckJ5N0NGO0VxQjM3Q0E7SUFDRTtJQUNBO0VyQjY3Q0Y7RXFCLzdDQTtJQUNFO0lBQ0E7RXJCaThDRjtFcUJuOENBO0lBQ0U7SUFDQTtFckJxOENGO0VxQnY4Q0E7SUFDRTtJQUNBO0VyQnk4Q0Y7RXFCMTZDSTtJQWhESjtJQUNBO0VyQjY5Q0E7RXFCeDZDUTtJQWhFTjtJQUNBO0VyQjIrQ0Y7RXFCNTZDUTtJQWhFTjtJQUNBO0VyQisrQ0Y7RXFCaDdDUTtJQWhFTjtJQUNBO0VyQm0vQ0Y7RXFCcDdDUTtJQWhFTjtJQUNBO0VyQnUvQ0Y7RXFCeDdDUTtJQWhFTjtJQUNBO0VyQjIvQ0Y7RXFCNTdDUTtJQWhFTjtJQUNBO0VyQisvQ0Y7RXFCaDhDUTtJQWhFTjtJQUNBO0VyQm1nREY7RXFCcDhDUTtJQWhFTjtJQUNBO0VyQnVnREY7RXFCeDhDUTtJQWhFTjtJQUNBO0VyQjJnREY7RXFCNThDUTtJQWhFTjtJQUNBO0VyQitnREY7RXFCaDlDUTtJQWhFTjtJQUNBO0VyQm1oREY7RXFCcDlDUTtJQWhFTjtJQUNBO0VyQnVoREY7RXFCaDlDVTtJQXhEVjtFckIyZ0RBO0VxQm45Q1U7SUF4RFY7RXJCOGdEQTtFcUJ0OUNVO0lBeERWO0VyQmloREE7RXFCejlDVTtJQXhEVjtFckJvaERBO0VxQjU5Q1U7SUF4RFY7RXJCdWhEQTtFcUIvOUNVO0lBeERWO0VyQjBoREE7RXFCbCtDVTtJQXhEVjtFckI2aERBO0VxQnIrQ1U7SUF4RFY7RXJCZ2lEQTtFcUJ4K0NVO0lBeERWO0VyQm1pREE7RXFCMytDVTtJQXhEVjtFckJzaURBO0VxQjkrQ1U7SUF4RFY7RXJCeWlEQTtFcUJqL0NVO0lBeERWO0VyQjRpREE7RXFCeitDTTs7SUFFRTtFckIyK0NSO0VxQngrQ007O0lBRUU7RXJCMCtDUjtFcUJqL0NNOztJQUVFO0VyQm0vQ1I7RXFCaC9DTTs7SUFFRTtFckJrL0NSO0VxQnovQ007O0lBRUU7RXJCMi9DUjtFcUJ4L0NNOztJQUVFO0VyQjAvQ1I7RXFCamdETTs7SUFFRTtFckJtZ0RSO0VxQmhnRE07O0lBRUU7RXJCa2dEUjtFcUJ6Z0RNOztJQUVFO0VyQjJnRFI7RXFCeGdETTs7SUFFRTtFckIwZ0RSO0VxQmpoRE07O0lBRUU7RXJCbWhEUjtFcUJoaERNOztJQUVFO0VyQmtoRFI7QUFDRjtBbUI3a0RJO0VFVUU7SUFDRTtFckJza0ROO0VxQm5rREk7SUFwQ0o7SUFDQTtFckIwbURBO0VxQjVsREE7SUFDRTtJQUNBO0VyQjhsREY7RXFCaG1EQTtJQUNFO0lBQ0E7RXJCa21ERjtFcUJwbURBO0lBQ0U7SUFDQTtFckJzbURGO0VxQnhtREE7SUFDRTtJQUNBO0VyQjBtREY7RXFCNW1EQTtJQUNFO0lBQ0E7RXJCOG1ERjtFcUJobkRBO0lBQ0U7SUFDQTtFckJrbkRGO0VxQm5sREk7SUFoREo7SUFDQTtFckJzb0RBO0VxQmpsRFE7SUFoRU47SUFDQTtFckJvcERGO0VxQnJsRFE7SUFoRU47SUFDQTtFckJ3cERGO0VxQnpsRFE7SUFoRU47SUFDQTtFckI0cERGO0VxQjdsRFE7SUFoRU47SUFDQTtFckJncURGO0VxQmptRFE7SUFoRU47SUFDQTtFckJvcURGO0VxQnJtRFE7SUFoRU47SUFDQTtFckJ3cURGO0VxQnptRFE7SUFoRU47SUFDQTtFckI0cURGO0VxQjdtRFE7SUFoRU47SUFDQTtFckJnckRGO0VxQmpuRFE7SUFoRU47SUFDQTtFckJvckRGO0VxQnJuRFE7SUFoRU47SUFDQTtFckJ3ckRGO0VxQnpuRFE7SUFoRU47SUFDQTtFckI0ckRGO0VxQjduRFE7SUFoRU47SUFDQTtFckJnc0RGO0VxQnpuRFU7SUF4RFY7RXJCb3JEQTtFcUI1bkRVO0lBeERWO0VyQnVyREE7RXFCL25EVTtJQXhEVjtFckIwckRBO0VxQmxvRFU7SUF4RFY7RXJCNnJEQTtFcUJyb0RVO0lBeERWO0VyQmdzREE7RXFCeG9EVTtJQXhEVjtFckJtc0RBO0VxQjNvRFU7SUF4RFY7RXJCc3NEQTtFcUI5b0RVO0lBeERWO0VyQnlzREE7RXFCanBEVTtJQXhEVjtFckI0c0RBO0VxQnBwRFU7SUF4RFY7RXJCK3NEQTtFcUJ2cERVO0lBeERWO0VyQmt0REE7RXFCMXBEVTtJQXhEVjtFckJxdERBO0VxQmxwRE07O0lBRUU7RXJCb3BEUjtFcUJqcERNOztJQUVFO0VyQm1wRFI7RXFCMXBETTs7SUFFRTtFckI0cERSO0VxQnpwRE07O0lBRUU7RXJCMnBEUjtFcUJscURNOztJQUVFO0VyQm9xRFI7RXFCanFETTs7SUFFRTtFckJtcURSO0VxQjFxRE07O0lBRUU7RXJCNHFEUjtFcUJ6cURNOztJQUVFO0VyQjJxRFI7RXFCbHJETTs7SUFFRTtFckJvckRSO0VxQmpyRE07O0lBRUU7RXJCbXJEUjtFcUIxckRNOztJQUVFO0VyQjRyRFI7RXFCenJETTs7SUFFRTtFckIyckRSO0FBQ0Y7QW1CdHZESTtFRVVFO0lBQ0U7RXJCK3VETjtFcUI1dURJO0lBcENKO0lBQ0E7RXJCbXhEQTtFcUJyd0RBO0lBQ0U7SUFDQTtFckJ1d0RGO0VxQnp3REE7SUFDRTtJQUNBO0VyQjJ3REY7RXFCN3dEQTtJQUNFO0lBQ0E7RXJCK3dERjtFcUJqeERBO0lBQ0U7SUFDQTtFckJteERGO0VxQnJ4REE7SUFDRTtJQUNBO0VyQnV4REY7RXFCenhEQTtJQUNFO0lBQ0E7RXJCMnhERjtFcUI1dkRJO0lBaERKO0lBQ0E7RXJCK3lEQTtFcUIxdkRRO0lBaEVOO0lBQ0E7RXJCNnpERjtFcUI5dkRRO0lBaEVOO0lBQ0E7RXJCaTBERjtFcUJsd0RRO0lBaEVOO0lBQ0E7RXJCcTBERjtFcUJ0d0RRO0lBaEVOO0lBQ0E7RXJCeTBERjtFcUIxd0RRO0lBaEVOO0lBQ0E7RXJCNjBERjtFcUI5d0RRO0lBaEVOO0lBQ0E7RXJCaTFERjtFcUJseERRO0lBaEVOO0lBQ0E7RXJCcTFERjtFcUJ0eERRO0lBaEVOO0lBQ0E7RXJCeTFERjtFcUIxeERRO0lBaEVOO0lBQ0E7RXJCNjFERjtFcUI5eERRO0lBaEVOO0lBQ0E7RXJCaTJERjtFcUJseURRO0lBaEVOO0lBQ0E7RXJCcTJERjtFcUJ0eURRO0lBaEVOO0lBQ0E7RXJCeTJERjtFcUJseURVO0lBeERWO0VyQjYxREE7RXFCcnlEVTtJQXhEVjtFckJnMkRBO0VxQnh5RFU7SUF4RFY7RXJCbTJEQTtFcUIzeURVO0lBeERWO0VyQnMyREE7RXFCOXlEVTtJQXhEVjtFckJ5MkRBO0VxQmp6RFU7SUF4RFY7RXJCNDJEQTtFcUJwekRVO0lBeERWO0VyQisyREE7RXFCdnpEVTtJQXhEVjtFckJrM0RBO0VxQjF6RFU7SUF4RFY7RXJCcTNEQTtFcUI3ekRVO0lBeERWO0VyQnczREE7RXFCaDBEVTtJQXhEVjtFckIyM0RBO0VxQm4wRFU7SUF4RFY7RXJCODNEQTtFcUIzekRNOztJQUVFO0VyQjZ6RFI7RXFCMXpETTs7SUFFRTtFckI0ekRSO0VxQm4wRE07O0lBRUU7RXJCcTBEUjtFcUJsMERNOztJQUVFO0VyQm8wRFI7RXFCMzBETTs7SUFFRTtFckI2MERSO0VxQjEwRE07O0lBRUU7RXJCNDBEUjtFcUJuMURNOztJQUVFO0VyQnExRFI7RXFCbDFETTs7SUFFRTtFckJvMURSO0VxQjMxRE07O0lBRUU7RXJCNjFEUjtFcUIxMURNOztJQUVFO0VyQjQxRFI7RXFCbjJETTs7SUFFRTtFckJxMkRSO0VxQmwyRE07O0lBRUU7RXJCbzJEUjtBQUNGO0FzQjE5REE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQSxtQmZzRE87RWVyRFAsbUJmbVg0QjtFZWxYNUI7QXRCeTlERjtBc0JsOURFO0VBQ0U7RUFFQTtFQUNBO0VBQ0EsMkNmMlgwQjtFZTFYMUI7QXRCbTlESjtBc0JoOURFO0VBQ0U7QXRCazlESjtBc0IvOERFO0VBQ0U7QXRCaTlESjs7QXNCNzhEQTtFQUNFO0F0Qmc5REY7O0FzQno4REE7RUFDRTtBdEI0OERGOztBc0JsOERFO0VBQ0U7QXRCcThESjs7QXNCdDdERTtFQUNFO0F0Qnk3REo7QXNCdDdESTtFQUNFO0F0Qnc3RE47O0FzQmo3REU7RUFDRTtBdEJvN0RKO0FzQmo3REU7RUFDRTtBdEJtN0RKOztBc0J6NkRFO0VBQ0U7RUFDQTtBdEI0NkRKOztBc0J0NkRFO0VBQ0U7RUFDQTtBdEJ5NkRKOztBc0JqNkRBO0VBQ0U7RUFDQTtBdEJvNkRGOztBc0I1NURFO0VBQ0U7RUFDQTtBdEIrNURKOztBdUIzaUVFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBdkJ1aUVKOztBdUJ6akVFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBdkJxakVKOztBdUJ2a0VFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBdkJta0VKOztBdUJybEVFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBdkJpbEVKOztBdUJubUVFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBdkIrbEVKOztBdUJqbkVFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBdkI2bUVKOztBdUIvbkVFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBdkIybkVKOztBdUI3b0VFO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBdkJ5b0VKOztBc0J4L0RJO0VBQ0U7RUFDQTtBdEIyL0ROOztBbUJ0bEVJO0VHeUZBO0lBQ0U7SUFDQTtFdEJpZ0VKO0FBQ0Y7QW1CN2xFSTtFR3lGQTtJQUNFO0lBQ0E7RXRCdWdFSjtBQUNGO0FtQm5tRUk7RUd5RkE7SUFDRTtJQUNBO0V0QjZnRUo7QUFDRjtBbUJ6bUVJO0VHeUZBO0lBQ0U7SUFDQTtFdEJtaEVKO0FBQ0Y7QW1CL21FSTtFR3lGQTtJQUNFO0lBQ0E7RXRCeWhFSjtBQUNGO0F3QmpzRUE7QUFDQTtBQU1HO0VBQ0c7QXhCOHJFTjs7QXdCdHJFQTtFQUNHO0F4QnlyRUg7O0F3QmxyRUE7RUFDRztFQUNBO0F4QnFyRUg7O0F3Qi9xRUE7RUFDRztBeEJrckVIOztBd0IzcUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFFQztFQUNBO0VBQ0E7QXhCNnFFSDtBd0IzcUVHO0VBQ0c7RUFDQTtFQUNBO0F4QjZxRU47QXdCM3FFTTtFQUNHO0VBQ0E7QXhCNnFFVDtBd0IxcUVNO0VBQ0c7RUFDQTtBeEI0cUVUO0F3QnhxRUc7RUFDRztBeEIwcUVOO0F3QnZxRUc7RUFDRztFQUNBO0F4QnlxRU47O0F5Qmp2RUE7QUFDQTtBQUVBO0VBQ0csc0JsQm9nQ2lDO0FQK3VDcEM7O0F5Qi91RUE7RUFDRztFQUNBO0VBQ0E7QXpCa3ZFSDtBeUJodkVHO0VBQ0c7QXpCa3ZFTjs7QW1CanNFSTtFTXhDRDtJQUNHO0lBQ0E7RXpCNnVFSjtFeUIxdUVDO0lBQ0c7SUFDQTtFekI0dUVKO0FBQ0Y7QTBCdndFQTtFQUNFLHFCbkJ5aEJzQztFbUJyaEJ0QywrQm5CeWhCc0M7QVA2dUR4Qzs7QTBCandFQTtFQUNFO0VBQ0E7RUFDQTtFdkI4UUksa0JBTEk7RXVCclFSLGdCbkJ1UjRCO0VtQnRSNUIsK0JuQjRnQnNDO0FQc3ZEeEM7O0EwQi92RUE7RUFDRTtFQUNBO0V2Qm9RSSxvQkFMSTtBSG9nRVY7O0EwQi92RUE7RUFDRTtFQUNBO0V2QjhQSSxxQkFMSTtBSDBnRVY7O0EyQmh5RUE7RUFDRSxtQnBCa2hCc0M7RUp4UGxDLGtCQUxJO0V3QmpSUixnQ3BCa2hCc0M7QVArd0R4Qzs7QTRCdHlFQTtFQUNFO0VBQ0E7RUFDQTtFekJ3Ukksa0JBTEk7RXlCaFJSLGdCckIyUjRCO0VxQjFSNUIsZ0JyQmlTNEI7RXFCaFM1QiwrQnJCa2pCc0M7RXFCampCdEM7RUFDQSx3Q3JCd2lCc0M7RXFCdmlCdEM7RUFDQTtFcEJHRTtFT0xFLG1DQVJXO0VjVVgsd0VETUo7QTVCcXlFRjtBNkJ2eUVNO0VEaEJOO0lDaUJRO0U3QjB5RU47QUFDRjtBNEJ4eUVFO0VBQ0U7QTVCMHlFSjtBNEJ4eUVJO0VBQ0U7QTVCMHlFTjtBNEJyeUVFO0VBQ0UsK0JyQjRoQm9DO0VxQjNoQnBDLHdDckJtaEJvQztFcUJsaEJwQywrQnJCeU0wQjtFcUJ4TTFCO0VidkJFLHNFQVJXO0FmdTBFakI7QTRCL3hFRTtFQU1FO0VBTUE7RUFLQTtBNUJteEVKO0E0Qjl3RUU7RUFDRTtFQUNBO0E1Qmd4RUo7QTRCNXdFRTtFQUNFLGdDckJrZ0JvQztFcUJoZ0JwQztBNUI2d0VKO0E0QnJ3RUU7RUFFRSwyRHJCaWVvQztFcUI5ZHBDO0E1Qm93RUo7QTRCaHdFRTtFQUNFO0VBQ0E7RUFDQSx1QnJCcVcwQjtFcUJwVzFCLCtCckI0ZG9DO0V1QjFqQnRDLHVEdkJ5dUJnQztFcUJ6b0I5QjtFQUNBO0VBQ0E7RUFDQTtFQUNBLCtDckJpWDBCO0VxQmhYMUI7RUN6RkUsbUtEMEZGO0E1Qmt3RUo7QTZCeDFFTTtFRDBFSjtJQ3pFTTtFN0IyMUVOO0FBQ0Y7QTRCcHdFRTtFQUNFLHdDckJnb0I4QjtBUHNvRGxDOztBNEI3dkVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQnJCZ0w0QjtFcUIvSzVCLDJCckJpZHNDO0VxQmhkdEM7RUFDQTtFQUNBO0E1Qmd3RUY7QTRCOXZFRTtFQUNFO0E1Qmd3RUo7QTRCN3ZFRTtFQUVFO0VBQ0E7QTVCOHZFSjs7QTRCbnZFQTtFQUNFLG1FckJrY3NDO0VxQmpjdEM7RXpCeUlJLHFCQUxJO0VLdlFOO0FSMjNFSjtBNEJwdkVFO0VBQ0U7RUFDQTtFQUNBLDBCckJxVDBCO0FQaThEOUI7O0E0Qmx2RUE7RUFDRSxtRXJCc2JzQztFcUJyYnRDO0V6QjRISSxvQkFMSTtFS3ZRTjtBUnU0RUo7QTRCbnZFRTtFQUNFO0VBQ0E7RUFDQSx5QnJCNFMwQjtBUHk4RDlCOztBNEI3dUVFO0VBQ0UsbUVyQm1hb0M7QVA2MER4QztBNEI3dUVFO0VBQ0UsbUVyQmdhb0M7QVArMER4QztBNEI1dUVFO0VBQ0UsbUVyQjZab0M7QVBpMUR4Qzs7QTRCenVFQTtFQUNFLFdyQjJac0M7RXFCMVp0QywrRHJCb1pzQztFcUJuWnRDLGdCckJrUTRCO0FQMCtEOUI7QTRCMXVFRTtFQUNFO0E1QjR1RUo7QTRCenVFRTtFQUNFO0VwQnZMQTtBUm02RUo7QTRCeHVFRTtFQUNFO0VwQjVMQTtBUnU2RUo7QTRCdnVFRTtFQUFvQiwrRHJCb1lrQjtBUHMyRHhDO0E0Qnp1RUU7RUFBb0IsK0RyQm9Za0I7QVB3MkR4Qzs7QStCMzdFQTtFQUNFO0VBRUE7RUFDQTtFQUNBO0U1QnFSSSxrQkFMSTtFNEI3UVIsZ0J4QndSNEI7RXdCdlI1QixnQnhCOFI0QjtFd0I3UjVCLCtCeEIraUJzQztFd0I5aUJ0QztFQUNBLHdDeEI4cEJrQztFd0I3cEJsQztFQUNBO0VBQ0Esc0N4QitwQmtDO0V3QjlwQmxDLDBCeEIrcEJrQztFd0I5cEJsQztFdkJIRTtFT0xFLG1DQVJXO0VjVVgsd0VFU0o7QS9CNDdFRjtBNkJqOEVNO0VFZk47SUZnQlE7RTdCbzhFTjtBQUNGO0ErQi83RUU7RUFDRSwrQnhCaU4wQjtFd0JoTjFCO0VoQmZFLHNFQVJXO0FmeTlFakI7QStCejdFRTtFQUVFLG1CeEI4WjBCO0V3QjdaMUI7QS9CMDdFSjtBK0J2N0VFO0VBRUUsMkR4QjBnQm9DO0FQODZEeEM7QStCbjdFRTtFQUNFO0VBQ0E7QS9CcTdFSjs7QStCajdFQTtFQUNFLG9CeEJ1WjRCO0V3QnRaNUIsdUJ4QnNaNEI7RXdCclo1QixxQnhCc1o0QjtFSm5MeEIscUJBTEk7RUt2UU47QVIrOUVKOztBK0JqN0VBO0VBQ0Usb0J4Qm1aNEI7RXdCbFo1Qix1QnhCa1o0QjtFd0JqWjVCLG9CeEJrWjRCO0VKdkx4QixvQkFMSTtFS3ZRTjtBUnUrRUo7O0ErQi82RUk7RUFDRTtBL0JrN0VOOztBZ0MxL0VBO0VBQ0U7RUFDQSxvQnpCNGxCd0M7RXlCM2xCeEMsb0J6QjRsQndDO0V5QjNsQnhDLHVCekI0bEJ3QztBUGk2RDFDO0FnQzMvRUU7RUFDRTtFQUNBO0FoQzYvRUo7O0FnQ3ovRUE7RUFDRSxxQnpCa2xCd0M7RXlCamxCeEM7RUFDQTtBaEM0L0VGO0FnQzEvRUU7RUFDRTtFQUNBO0VBQ0E7QWhDNC9FSjs7QWdDeC9FQTtFQUNFO0VBRUE7RUFDQSxhekJpa0J3QztFeUJoa0J4QyxjekJna0J3QztFeUIvakJ4QztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsMkR6QmtrQndDO0V5QmprQnhDO0VIM0JJLDRCRzRCSjtBaEMwL0VGO0E2QmxoRk07RUdRTjtJSFBRO0U3QnFoRk47QUFDRjtBZ0M3L0VFO0V4QjNCRTtBUjJoRko7QWdDNS9FRTtFQUVFLGtCekIwakJzQztBUG04RDFDO0FnQzEvRUU7RUFDRSx1QnpCaWpCc0M7QVAyOEQxQztBZ0N6L0VFO0VBQ0UsK0J6QmlMMEI7RXlCaEwxQjtFQUNBLGdFekI2TDBCO0FQOHpFOUI7QWdDeC9FRTtFQUNFLG1DekIySzBCO0V5QjFLMUIsK0J6QjBLMEI7QVBnMUU5QjtBZ0N4L0VJO0VBSUk7QWhDdS9FUjtBZ0NuL0VJO0VBSUk7QWhDay9FUjtBZ0M3K0VFO0VBQ0UsbUN6QnNKMEI7RXlCckoxQiwrQnpCcUowQjtFeUJoSnhCO0FoQzIrRU47QWdDditFRTtFQUNFO0VBQ0E7RUFDQSxZekJ5aEJ1QztBUGc5RDNDO0FnQ2wrRUk7RUFDRTtFQUNBLFl6QmloQnFDO0FQbTlEM0M7O0FnQ3Q5RUE7RUFDRSxvQnpCOGdCZ0M7QVAyOERsQztBZ0N2OUVFO0VBQ0U7RUFFQSxZekJ1Z0I4QjtFeUJ0Z0I5QjtFQUNBO0VBQ0E7RXhCakhBO0VxQkhFLHFGR3NIRjtBaEN3OUVKO0E2QjFrRk07RUcwR0o7SUh6R007RTdCNmtGTjtBQUNGO0FnQzM5RUk7RUFDRTtBaEM2OUVOO0FnQzE5RUk7RUFDRSxpQ3pCeWdCNEI7RXlCcGdCMUI7QWhDdzlFUjtBZ0NuOUVFO0VBQ0UscUJ6QmtmOEI7RXlCamY5QjtBaENxOUVKO0FnQ245RUk7RUFDRTtFQUNBO0FoQ3E5RU47O0FnQ2g5RUE7RUFDRTtFQUNBLGtCekI2ZGdDO0FQcy9EbEM7O0FnQ2g5RUE7RUFDRTtFQUNBO0VBQ0E7QWhDbTlFRjtBZ0MvOEVJO0VBQ0U7RUFDQTtFQUNBLGF6QnlVd0I7QVB3b0U5Qjs7QWdDMThFSTtFQUNFO0FoQzY4RU47O0FpQ2hvRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ21vRkY7QWlDam9GRTtFQUNFO0FqQ21vRko7QWlDL25GSTtFQUEwQix3RTFCZ3RCYTtBUGs3RDNDO0FpQ2pvRkk7RUFBMEIsd0UxQitzQmE7QVBxN0QzQztBaUNqb0ZFO0VBQ0U7QWpDbW9GSjtBaUNob0ZFO0VBQ0UsYzFCaXNCdUM7RTBCaHNCdkMsZTFCZ3NCdUM7RTBCL3JCdkM7RUFDQTtFSDFCRixtQ3ZCeU80QjtFMEI3TTFCLFMxQityQnVDO0VDNXNCdkM7RU9MRSwyRUFSVztFY1VYLDRHSW1CRjtBakNrb0ZKO0E2QmpwRk07RUlNSjtJSkxNO0U3Qm9wRk47QUFDRjtBaUNyb0ZJO0VIakNGLHNEdkJndUJ5QztBUHk4RDNDO0FpQ25vRkU7RUFDRSxXMUIwcUI4QjtFMEJ6cUI5QixlMUIwcUI4QjtFMEJ6cUI5QjtFQUNBLGUxQnlxQjhCO0UwQnhxQjlCLHdDMUJ5cUI4QjtFMEJ4cUI5QjtFekI3QkE7RU9MRSxzQ0FSVztBZmlyRmpCO0FpQ2xvRkU7RUFDRSxjMUJzcUJ1QztFMEJycUJ2QyxlMUJxcUJ1QztFMEJwcUJ2QztFSHBERixtQ3ZCeU80QjtFMEJuTDFCLFMxQnFxQnVDO0VDNXNCdkM7RU9MRSwyRUFSVztFY1VYLDRHSTZDRjtBakNvb0ZKO0E2QjdxRk07RUlpQ0o7SUpoQ007RTdCZ3JGTjtBQUNGO0FpQ3ZvRkk7RUgzREYsc0R2Qmd1QnlDO0FQcStEM0M7QWlDcm9GRTtFQUNFLFcxQmdwQjhCO0UwQi9vQjlCLGUxQmdwQjhCO0UwQi9vQjlCO0VBQ0EsZTFCK29COEI7RTBCOW9COUIsd0MxQitvQjhCO0UwQjlvQjlCO0V6QnZEQTtFT0xFLHNDQVJXO0FmNnNGakI7QWlDcG9GRTtFQUNFO0FqQ3NvRko7QWlDcG9GSTtFQUNFLDJDMUJrcEJxQztBUG8vRDNDO0FpQ25vRkk7RUFDRSwyQzFCOG9CcUM7QVB1L0QzQzs7QWtDNXRGQTtFQUNFO0FsQyt0RkY7QWtDN3RGRTs7O0VBR0UsdUQzQjh1Qm9DO0UyQjd1QnBDLDJEM0I2dUJvQztFMkI1dUJwQyxpQjNCNnVCb0M7QVBrL0R4QztBa0M1dEZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUxSRSxnRUtTRjtBbEM4dEZKO0E2Qm51Rk07RUtUSjtJTFVNO0U3QnN1Rk47QUFDRjtBa0NodUZFOztFQUVFO0FsQ2t1Rko7QWtDaHVGSTs7RUFDRTtBbENtdUZOO0FrQ2h1Rkk7OztFQUVFLHFCM0JrdEJrQztFMkJqdEJsQyx3QjNCa3RCa0M7QVBpaEV4QztBa0NodUZJOztFQUNFLHFCM0I2c0JrQztFMkI1c0JsQyx3QjNCNnNCa0M7QVBzaEV4QztBa0MvdEZFO0VBQ0UscUIzQnVzQm9DO0UyQnRzQnBDLHdCM0J1c0JvQztBUDBoRXhDO0FrQzF0Rkk7Ozs7RUFDRTtFQUNBLDhEM0Jpc0JrQztBUDhoRXhDO0FrQzd0Rk07Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQSxhM0J5ckJnQztFMkJ4ckJoQztFQUNBLHdDM0JtZmdDO0VDbmlCcEM7QVJteEZKO0FrQzV0Rkk7RUFDRTtFQUNBLDhEM0JnckJrQztBUDhpRXhDO0FrQ3p0Rkk7RUFDRTtBbEMydEZOO0FrQ3Z0RkU7O0VBRUUsMkMzQnFxQm9DO0FQb2pFeEM7QWtDdnRGSTs7RUFDRSwyRDNCNmRrQztBUDZ2RXhDOztBbUNqekZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkNvekZGO0FtQ2x6RkU7OztFQUdFO0VBQ0E7RUFDQTtFQUNBO0FuQ296Rko7QW1DaHpGRTs7O0VBR0U7QW5Da3pGSjtBbUM1eUZFO0VBQ0U7RUFDQTtBbkM4eUZKO0FtQzV5Rkk7RUFDRTtBbkM4eUZOOztBbUNueUZBO0VBQ0U7RUFDQTtFQUNBO0VoQzhPSSxrQkFMSTtFZ0N2T1IsZ0I1QmtQNEI7RTRCalA1QixnQjVCd1A0QjtFNEJ2UDVCLCtCNUJ5Z0JzQztFNEJ4Z0J0QztFQUNBO0VBQ0Esc0Q1QndtQnNDO0U0QnZtQnRDO0UzQnRDRTtBUjYwRko7O0FtQzd4RkE7Ozs7RUFJRTtFaEN3Tkksb0JBTEk7RUt2UU47QVJzMUZKOztBbUM3eEZBOzs7O0VBSUU7RWhDK01JLHFCQUxJO0VLdlFOO0FSKzFGSjs7QW1DN3hGQTs7RUFFRTtBbkNneUZGOztBbUNueEZJOzs7O0UzQmpFQTtFQUNBO0FSMjFGSjtBbUNseEZJOzs7O0UzQjFFQTtFQUNBO0FSazJGSjtBbUM1d0ZFO0VBQ0U7RTNCMUVBO0VBQ0E7QVJ5MUZKO0FtQzV3RkU7O0UzQjlFRTtFQUNBO0FSODFGSjs7QW9DdDNGRTtFQUNFO0VBQ0E7RUFDQSxtQjdCMGZvQztFSnhQbEMsa0JBTEk7RWlDMVBOLGlDN0JvdkJxQjtBUG9vRXpCOztBb0NyM0ZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWpDcVBFLHFCQUxJO0VpQzdPTixXN0J1dUJxQjtFNkJ0dUJyQixtQzdCc3VCcUI7RUNqd0JyQjtBUm01Rko7O0FvQ24zRkk7Ozs7RUFFRTtBcEN3M0ZOOztBb0N2NkZJO0VBcURFLCtDN0J5dEJtQjtFNkJ0dEJqQixtQzdCb2hCZ0M7RTZCbmhCaEM7RUFDQTtFQUNBO0VBQ0E7QXBDbzNGUjtBb0NqM0ZNO0VBQ0UsK0M3QjhzQmlCO0VRdHdCbkIseUZBUlc7QWZvN0ZqQjs7QW9DcDdGSTtFQStFSSxtQzdCNmZnQztFNkI1ZmhDO0FwQ3kyRlI7O0FvQ3o3Rkk7RUF1RkUsK0M3QnVyQm1CO0FQK3FFekI7QW9DbjJGUTtFQUVFO0VBQ0EscUI3QnFsQjhCO0U2QnBsQjlCO0VBQ0E7QXBDbzJGVjtBb0NoMkZNO0VBQ0UsK0M3QjBxQmlCO0VRdHdCbkIseUZBUlc7QWZ1OEZqQjs7QW9DdjhGSTtFQWtISTtBcEN5MUZSOztBb0MzOEZJO0VBeUhFLCtDN0JxcEJtQjtBUGlzRXpCO0FvQ3AxRk07RUFDRSw0QzdCa3BCaUI7QVBvc0V6QjtBb0NuMUZNO0VBQ0UsZ0U3QjhvQmlCO0FQdXNFekI7QW9DbDFGTTtFQUNFLGlDN0Iwb0JpQjtBUDBzRXpCOztBb0MvMEZJO0VBQ0U7QXBDazFGTjs7QW9DNTlGSTs7Ozs7RUFvSk07QXBDZzFGVjs7QW9DaDlGRTtFQUNFO0VBQ0E7RUFDQSxtQjdCMGZvQztFSnhQbEMsa0JBTEk7RWlDMVBOLG1DN0JvdkJxQjtBUDh0RXpCOztBb0MvOEZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWpDcVBFLHFCQUxJO0VpQzdPTixXN0J1dUJxQjtFNkJ0dUJyQixrQzdCc3VCcUI7RUNqd0JyQjtBUjYrRko7O0FvQzc4Rkk7Ozs7RUFFRTtBcENrOUZOOztBb0NqZ0dJO0VBcURFLGlEN0J5dEJtQjtFNkJ0dEJqQixtQzdCb2hCZ0M7RTZCbmhCaEM7RUFDQTtFQUNBO0VBQ0E7QXBDODhGUjtBb0MzOEZNO0VBQ0UsaUQ3QjhzQmlCO0VRdHdCbkIsd0ZBUlc7QWY4Z0dqQjs7QW9DOWdHSTtFQStFSSxtQzdCNmZnQztFNkI1ZmhDO0FwQ204RlI7O0FvQ25oR0k7RUF1RkUsaUQ3QnVyQm1CO0FQeXdFekI7QW9DNzdGUTtFQUVFO0VBQ0EscUI3QnFsQjhCO0U2QnBsQjlCO0VBQ0E7QXBDODdGVjtBb0MxN0ZNO0VBQ0UsaUQ3QjBxQmlCO0VRdHdCbkIsd0ZBUlc7QWZpaUdqQjs7QW9DamlHSTtFQWtISTtBcENtN0ZSOztBb0NyaUdJO0VBeUhFLGlEN0JxcEJtQjtBUDJ4RXpCO0FvQzk2Rk07RUFDRSw4QzdCa3BCaUI7QVA4eEV6QjtBb0M3NkZNO0VBQ0UsK0Q3QjhvQmlCO0FQaXlFekI7QW9DNTZGTTtFQUNFLG1DN0Iwb0JpQjtBUG95RXpCOztBb0N6NkZJO0VBQ0U7QXBDNDZGTjs7QW9DdGpHSTs7Ozs7RUFzSk07QXBDdzZGVjs7QXFDcGtHQTtBQUNBO0FBVVM7Ozs7RUFDRztBckNpa0daOztBcUN0akdHO0VBQ0c7QXJDeWpHTjs7QXFDcmpHQTtFQUNHLDJEOUIyaEJxQztBUDZoRnhDOztBcUNqakdBO0VBQ0c7RUFDQTtFQUNBO0FyQ29qR0g7QXFDbGpHRztFQUNHO0VBQ0EsYzlCOGxCNEI7QVBzOUVsQztBcUNsakdNO0VBQ0c7QXJDb2pHVDtBcUNqakdNO0VBQ0csMEM5QjBsQnlCO0U4QnpsQnpCLHNDOUJ3bEJ5QjtBUDI5RWxDOztBcUMxaUdBO0VBQ0c7QXJDNmlHSDs7QXFDMWlHQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQzZpR0g7QXFDM2lHRztFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckM2aUdOOztBcUNwaUdHO0VBQ0c7RUFDQTtBckN1aUdOO0FxQ3RpR007RUFDRztFQUNBO0FyQ3dpR1Q7O0FxQzdoR0c7RUFDTTtBckNnaUdUO0FxQzdoR0c7RUFDRztBckMraEdOO0FxQzVoR0c7RUFDRztFQUNBO0FyQzhoR047QXFDM2hHRztFQUNHO0FyQzZoR047QXFDMWhHRztFQUNHO0FyQzRoR047O0FzQ3JwR0E7RUFFRTtFQUNBO0VBQ0E7RW5DdVJJLDJCQUxJO0VtQ2hSUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VuQ3NRSSxrQ0FMSTtFbUMvUFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0U5QmpCRTtFc0JmRixrQ1FrQ3FCO0V2QnhCakIsb0NBUlc7RWNVWCxtS1N3Qko7QXRDb3BHRjtBNkJ4cUdNO0VTaEJOO0lUaUJRO0U3QjJxR047QUFDRjtBc0N2cEdFO0VBQ0U7RUFFQTtFQUNBO0F0Q3dwR0o7QXNDcnBHRTtFQUVFO0VBQ0E7RUFDQTtBdENzcEdKO0FzQ25wR0U7RUFDRTtFUnJERix3Q1FzRHVCO0VBQ3JCO0VBQ0E7RUFHRTtBdENtcEdOO0FzQzdvR0U7RUFDRTtFQUNBO0VBR0U7QXRDNm9HTjtBc0N2b0dFO0VBS0U7RUFDQTtFQUdBO0V2QjNFRSx1Q0FSVztBZnV0R2pCO0FzQ2pvR0k7RUFHSTtBdENpb0dSO0FzQzFuR0U7RUFHSTtBdEMwbkdOO0FzQ3BuR0U7RUFHRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0V2QnpHRSxnQkFSVztBZnF1R2pCOztBc0N4bUdFO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZDMnRHRjs7QXNDem5HRTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QzR1R0Y7O0FzQzFvR0U7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkM2dkdGOztBc0MzcEdFO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZDOHdHRjs7QXNDNXFHRTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Qyt4R0Y7O0FzQzdyR0U7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkNnekdGOztBc0M5c0dFO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZDaTBHRjs7QXNDL3RHRTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Q2sxR0Y7O0FzQ3R0R0U7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkMwMEdGOztBc0N2dUdFO0VDaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZDMjFHRjs7QXNDeHZHRTtFQ2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QzQyR0Y7O0FzQ3p3R0U7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkM2M0dGOztBc0MxeEdFO0VDaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZDODRHRjs7QXNDM3lHRTtFQ2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Qys1R0Y7O0FzQzV6R0U7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkNnN0dGOztBc0M3MEdFO0VDaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZDaThHRjs7QXNDbDFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBLDBCL0I5RHdDO0FQazVHMUM7QXNDMTBHRTtFQUNFO0F0QzQwR0o7QXNDejBHRTtFQUNFO0F0QzIwR0o7O0FzQ2gwR0E7RUNqSkU7RUFDQTtFcEM4TkksNkJBTEk7RW9Ddk5SO0F2Q3E5R0Y7O0FzQ24wR0E7RUNySkU7RUFDQTtFcEM4TkksOEJBTEk7RW9Ddk5SO0F2QzQ5R0Y7O0F3Qy9oSEE7QUFDQTtBQUlBO0VBQ0c7QXhDK2hISDs7QXdDdmhIRztFQUNHO0F4QzBoSE47QXdDeGhITTtFQUNHO0F4QzBoSFQ7QXdDdmhITTtFQUNHO0F4Q3loSFQ7QXdDdGhITTtFQUNHO0F4Q3doSFQ7O0F3Q25oSE07RUFDRztBeENzaEhUOztBd0N4aUhHO0VBQ0c7QXhDMmlITjtBd0N6aUhNO0VBQ0c7QXhDMmlIVDtBd0N4aUhNO0VBQ0c7QXhDMGlIVDtBd0N2aUhNO0VBQ0c7QXhDeWlIVDs7QXdDcGlITTtFQUNHO0F4Q3VpSFQ7O0F3Q3pqSEc7RUFDRztBeEM0akhOO0F3QzFqSE07RUFDRztBeEM0akhUO0F3Q3pqSE07RUFDRztBeEMyakhUO0F3Q3hqSE07RUFDRztBeEMwakhUOztBd0NyakhNO0VBQ0c7QXhDd2pIVDs7QXdDMWtIRztFQUNHO0F4QzZrSE47QXdDM2tITTtFQUNHO0F4QzZrSFQ7QXdDMWtITTtFQUNHO0F4QzRrSFQ7QXdDemtITTtFQUNHO0F4QzJrSFQ7O0F3Q3RrSE07RUFDRztBeEN5a0hUOztBd0MzbEhHO0VBQ0c7QXhDOGxITjtBd0M1bEhNO0VBQ0c7QXhDOGxIVDtBd0MzbEhNO0VBQ0c7QXhDNmxIVDtBd0MxbEhNO0VBQ0c7QXhDNGxIVDs7QXdDdmxITTtFQUNHO0F4QzBsSFQ7O0F3QzVtSEc7RUFDRztBeEMrbUhOO0F3QzdtSE07RUFDRztBeEMrbUhUO0F3QzVtSE07RUFDRztBeEM4bUhUO0F3QzNtSE07RUFDRztBeEM2bUhUOztBd0N4bUhNO0VBQ0c7QXhDMm1IVDs7QXdDN25IRztFQUNHO0F4Q2dvSE47QXdDOW5ITTtFQUNHO0F4Q2dvSFQ7QXdDN25ITTtFQUNHO0F4QytuSFQ7QXdDNW5ITTtFQUNHO0F4QzhuSFQ7O0F3Q3puSE07RUFDRztBeEM0bkhUOztBd0M5b0hHO0VBQ0c7QXhDaXBITjtBd0Mvb0hNO0VBQ0c7QXhDaXBIVDtBd0M5b0hNO0VBQ0c7QXhDZ3BIVDtBd0M3b0hNO0VBQ0c7QXhDK29IVDs7QXdDMW9ITTtFQUNHO0F4QzZvSFQ7O0F3QzduSEE7RUFDRztFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0F4QzRuSEg7O0F3Q3puSEE7RUFDRztFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtBeEN5bkhIOztBd0NwbkhHO0VBQ0c7RUFDQTtBeEN1bkhOOztBd0MvbUhBO0VEakNFO0VBQ0E7RXBDOE5JLDhCQUxJO0VvQ3ZOUjtBdkNvcEhGOztBd0M3bUhHO0VBQ0c7RUFDQTtBeENnbkhOOztBd0N0bUhNO0VBQ0c7QXhDeW1IVDtBd0N0bUhNO0VBQ0c7QXhDd21IVDtBd0NubUhNO0VBQ0c7QXhDcW1IVDtBd0NsbUhNO0VBQ0c7QXhDb21IVDs7QXdDM2xIQTtFQUNHO0F4QzhsSEg7O0F3QzFsSEc7RUFFRztFQUVBO0F4QzJsSE47O0F3Q3RsSEc7RUFFRztBeEN3bEhOOztBd0NobEhBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhDbWxISDtBd0NsbEhHO0VBQ0c7QXhDb2xITjs7QXdDNWtIQTtFQUNHO0F4QytrSEg7O0F3Q3ZrSEc7RUFDRztBeEMwa0hOO0F3Q3ZrSEc7RUFDRztBeEN5a0hOO0F3Q3RrSEc7RUFDRztBeEN3a0hOOztBd0Noa0hBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeENta0hIO0F3Q2prSEc7RUFDRztFQUNBO0F4Q21rSE47QXdDaGtIRztFQUNHO0F4Q2trSE47QXdDL2pIRztFQUNHO0F4Q2lrSE47QXdDOWpIRztFQUVHO0F4QytqSE47QXdDMWpITTtFQUdHO0F4QzBqSFQ7O0F3Q2pqSEE7RUFDRztFQUNBO0F4Q29qSEg7QXdDbGpIRztFQUNHO0F4Q29qSE47QXdDampIRztFQUNHO0F4Q21qSE47O0F5Q3B6SEE7RVpnQk0sZ0NZZko7QXpDdXpIRjtBNkJweUhNO0VZcEJOO0lacUJRO0U3QnV5SE47QUFDRjtBeUMxekhFO0VBQ0U7QXpDNHpISjs7QXlDdHpIRTtFQUNFO0F6Q3l6SEo7O0F5Q3J6SEE7RUFDRTtFQUNBO0VaREksNkJZRUo7QXpDd3pIRjtBNkJ0ekhNO0VZTE47SVpNUTtFN0J5ekhOO0FBQ0Y7QXlDM3pIRTtFQUNFO0VBQ0E7RVpORSw0QllPRjtBekM2ekhKO0E2QmgwSE07RVlBSjtJWkNNO0U3Qm0wSE47QUFDRjs7QTBDeDFIQTs7Ozs7O0VBTUU7QTFDMjFIRjs7QTBDeDFIQTtFQUNFO0ExQzIxSEY7QTJDbjBISTtFQUNFO0VBQ0Esb0JwQzJOd0I7RW9DMU54Qix1QnBDeU53QjtFb0N4TnhCO0VBckNKO0VBQ0E7RUFDQTtFQUNBO0EzQzIySEY7QTJDanpISTtFQUNFO0EzQ216SE47O0EwQ2oySEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V2Q3VRSSxnQ0FMSTtFdUNoUVI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFdkMwT0ksdUNBTEk7RXVDbk9SO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbEN6Q0U7RU9MRSx5Q0FSVztBZnk1SGpCO0EwQy8xSEU7RUFDRTtFQUNBO0VBQ0E7QTFDaTJISjs7QTBDejBISTtFQUNFO0ExQzQwSE47QTBDMTBITTtFQUNFO0VBQ0E7QTFDNDBIUjs7QTBDeDBISTtFQUNFO0ExQzIwSE47QTBDejBITTtFQUNFO0VBQ0E7QTFDMjBIUjs7QW1CcjNISTtFdUI0QkE7SUFDRTtFMUM2MUhKO0UwQzMxSEk7SUFDRTtJQUNBO0UxQzYxSE47RTBDejFIRTtJQUNFO0UxQzIxSEo7RTBDejFISTtJQUNFO0lBQ0E7RTFDMjFITjtBQUNGO0FtQnQ0SEk7RXVCNEJBO0lBQ0U7RTFDNjJISjtFMEMzMkhJO0lBQ0U7SUFDQTtFMUM2MkhOO0UwQ3oySEU7SUFDRTtFMUMyMkhKO0UwQ3oySEk7SUFDRTtJQUNBO0UxQzIySE47QUFDRjtBbUJ0NUhJO0V1QjRCQTtJQUNFO0UxQzYzSEo7RTBDMzNISTtJQUNFO0lBQ0E7RTFDNjNITjtFMEN6M0hFO0lBQ0U7RTFDMjNISjtFMEN6M0hJO0lBQ0U7SUFDQTtFMUMyM0hOO0FBQ0Y7QW1CdDZISTtFdUI0QkE7SUFDRTtFMUM2NEhKO0UwQzM0SEk7SUFDRTtJQUNBO0UxQzY0SE47RTBDejRIRTtJQUNFO0UxQzI0SEo7RTBDejRISTtJQUNFO0lBQ0E7RTFDMjRITjtBQUNGO0FtQnQ3SEk7RXVCNEJBO0lBQ0U7RTFDNjVISjtFMEMzNUhJO0lBQ0U7SUFDQTtFMUM2NUhOO0UwQ3o1SEU7SUFDRTtFMUMyNUhKO0UwQ3o1SEk7SUFDRTtJQUNBO0UxQzI1SE47QUFDRjtBMENsNUhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTFDbzVISjtBMkN4K0hJO0VBQ0U7RUFDQSxvQnBDMk53QjtFb0MxTnhCLHVCcEN5TndCO0VvQ3hOeEI7RUE5Qko7RUFDQTtFQUNBO0VBQ0E7QTNDeWdJRjtBMkN0OUhJO0VBQ0U7QTNDdzlITjs7QTBDeDVIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFDMjVISjtBMkM3L0hJO0VBQ0U7RUFDQSxvQnBDMk53QjtFb0MxTnhCLHVCcEN5TndCO0VvQ3hOeEI7RUF2Qko7RUFDQTtFQUNBO0VBQ0E7QTNDdWhJRjtBMkMzK0hJO0VBQ0U7QTNDNitITjtBMENuNkhJO0VBQ0U7QTFDcTZITjs7QTBDLzVIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFDazZISjtBMkNyaElJO0VBQ0U7RUFDQSxvQnBDMk53QjtFb0MxTnhCLHVCcEN5TndCO0VvQ3hOeEI7QTNDdWhJTjtBMkM1Z0lNO0VBQ0U7QTNDOGdJUjtBMkMzZ0lNO0VBQ0U7RUFDQSxxQnBDd01zQjtFb0N2TXRCLHVCcENzTXNCO0VvQ3JNdEI7RUFuQ047RUFDQTtFQUNBO0EzQ2lqSUY7QTJDM2dJSTtFQUNFO0EzQzZnSU47QTBDbDdISTtFQUNFO0ExQ283SE47O0EwQzc2SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQ2c3SEY7O0EwQzE2SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCbkNrSDRCO0VtQ2pINUI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VsQ3RLRTtBUm9sSUo7QTBDMzZIRTtFQUVFO0VaMUxGLGtEWTRMdUI7QTFDMjZIekI7QTBDeDZIRTtFQUVFO0VBQ0E7RVpsTUYsbURZbU11QjtBMUN5Nkh6QjtBMEN0NkhFO0VBRUU7RUFDQTtFQUNBO0ExQ3U2SEo7O0EwQ2o2SEE7RUFDRTtBMUNvNkhGOztBMENoNkhBO0VBQ0U7RUFDQTtFQUNBO0V2Q21FSSxxQkFMSTtFdUM1RFI7RUFDQTtBMUNtNkhGOztBMEMvNUhBO0VBQ0U7RUFDQTtFQUNBO0ExQ2s2SEY7O0EwQzk1SEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFDZzZIRjs7QTRDdnBJQTtBQUNBO0FBYUE7RUFFTTtFQUNBLG1CckM2NkI4QjtFcUM1NkI5QixnQnJDNDZCOEI7RXFDMzZCOUI7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQ3JDeTZCOEI7RXFDeDZCOUI7RUFDQTtFQUNBO0E1QzZvSU47QTRDem9JRztFQUNHLG1DckN5NEI4QjtFcUN0NEIzQjtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdDckN5NUIyQjtFcUN4NUIzQjtFQUNBO0E1Q3lvSVQ7QTRDcm9JRztFQUNHO0E1Q3VvSU47QTRDam9JTTtFQUNHO0E1Q21vSVQ7QTRDOW5JUztFQUNHO0VBQ0E7RUFDQTtFQUNBO0E1Q2dvSVo7O0E0QzFuSUc7RUFDRyxtQnJDZzNCOEI7RXFDLzJCOUIsb0JyQysyQjhCO0VxQzkyQjlCO0E1QzZuSU47O0E0Q3JuSUE7RUFDRztFQUNBLGtEckNtMUJpQztFcUNsMUJqQyxnRHJDazFCaUM7QVBzeUdwQzs7QTRDam5JQTtFQUNHO0VBQ0E7QTVDb25JSDs7QW1CL29JSTtFeUJpQ0Q7SUFDRztFNUNrbklKO0FBQ0Y7QTRDM21JQTtFQUNHO0E1QzZtSUg7O0E0Q3RtSUE7RUFDRztBNUN5bUlIOztBNEM1bElHO0VBQ0c7RUFDQTtBNUMrbElOOztBNEMzbElHO0VBQ0c7RUFDQTtBNUM4bElOOztBNEN6bElHO0VBQ0c7RUFDQTtBNUM0bElOOztBbUIzcUlJO0V5QnNGVztJQUNHO0lBQ0E7RTVDeWxJaEI7RTRDcmxJYTtJQUNHO0lBQ0E7RTVDdWxJaEI7QUFDRjtBbUJ0cklJO0V5QnNGVztJQUNHO0lBQ0E7RTVDbW1JaEI7RTRDL2xJYTtJQUNHO0lBQ0E7RTVDaW1JaEI7QUFDRjtBbUJoc0lJO0V5QnNGVztJQUNHO0lBQ0E7RTVDNm1JaEI7RTRDem1JYTtJQUNHO0lBQ0E7RTVDMm1JaEI7QUFDRjtBbUIxc0lJO0V5QnNGVztJQUNHO0lBQ0E7RTVDdW5JaEI7RTRDbm5JYTtJQUNHO0lBQ0E7RTVDcW5JaEI7QUFDRjtBbUJwdElJO0V5QnNGVztJQUNHO0lBQ0E7RTVDaW9JaEI7RTRDN25JYTtJQUNHO0lBQ0E7RTVDK25JaEI7QUFDRjtBNENwbklHO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDc25JTjtBNENwbklNO0VBQ0c7QTVDc25JVDtBNENubklNO0VBQ0c7QTVDcW5JVDs7QW1CN3VJSTtFeUJrSUQ7SUFDRyxtQnJDNHZCOEI7SXFDM3ZCOUIsZ0JyQzJ2QjhCO0lxQzF2QjlCO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsZ0NyQ3d2QjhCO0lxQ3Z2QjlCO0U1QyttSUo7RTRDN21JSTtJQUVNO0lBQ0E7SUFDQTtFNUM4bUlWO0U0QzFtSUk7SUFDRztFNUM0bUlQO0FBQ0Y7QW1CbHdJSTtFeUJrSUQ7SUFDRyxtQnJDNHZCOEI7SXFDM3ZCOUIsZ0JyQzJ2QjhCO0lxQzF2QjlCO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsZ0NyQ3d2QjhCO0lxQ3Z2QjlCO0U1Q21vSUo7RTRDam9JSTtJQUVNO0lBQ0E7SUFDQTtFNUNrb0lWO0U0QzluSUk7SUFDRztFNUNnb0lQO0FBQ0Y7QW1CdHhJSTtFeUJrSUQ7SUFDRyxtQnJDNHZCOEI7SXFDM3ZCOUIsZ0JyQzJ2QjhCO0lxQzF2QjlCO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsZ0NyQ3d2QjhCO0lxQ3Z2QjlCO0U1Q3VwSUo7RTRDcnBJSTtJQUVNO0lBQ0E7SUFDQTtFNUNzcElWO0U0Q2xwSUk7SUFDRztFNUNvcElQO0FBQ0Y7QW1CMXlJSTtFeUJrSUQ7SUFDRyxtQnJDNHZCOEI7SXFDM3ZCOUIsZ0JyQzJ2QjhCO0lxQzF2QjlCO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsZ0NyQ3d2QjhCO0lxQ3Z2QjlCO0U1QzJxSUo7RTRDenFJSTtJQUVNO0lBQ0E7SUFDQTtFNUMwcUlWO0U0Q3RxSUk7SUFDRztFNUN3cUlQO0FBQ0Y7QW1COXpJSTtFeUJrSUQ7SUFDRyxtQnJDNHZCOEI7SXFDM3ZCOUIsZ0JyQzJ2QjhCO0lxQzF2QjlCO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsZ0NyQ3d2QjhCO0lxQ3Z2QjlCO0U1QytySUo7RTRDN3JJSTtJQUVNO0lBQ0E7SUFDQTtFNUM4cklWO0U0QzFySUk7SUFDRztFNUM0cklQO0FBQ0Y7QTZDaDVJQTs7RUFFRTtFQUNBO0VBQ0E7QTdDazVJRjtBNkNoNUlFOztFQUNFO0VBQ0E7QTdDbTVJSjtBNkM5NElFOzs7Ozs7Ozs7Ozs7RUFNRTtBN0NzNUlKOztBNkNqNUlBO0VBQ0U7RUFDQTtFQUNBO0E3Q281SUY7QTZDbDVJRTtFQUNFO0E3Q281SUo7O0E2Q2g1SUE7RXJDaEJJO0FSbzZJSjtBNkNoNUlFOztFQUVFO0E3Q2s1SUo7QTZDOTRJRTs7O0VyQ1ZFO0VBQ0E7QVI2NUlKO0E2QzE0SUU7OztFckNORTtFQUNBO0FScTVJSjs7QTZDNzNJQTtFQUNFO0VBQ0E7QTdDZzRJRjtBNkM5M0lFO0VBR0U7QTdDODNJSjtBNkMzM0lFO0VBQ0U7QTdDNjNJSjs7QTZDejNJQTtFQUNFO0VBQ0E7QTdDNDNJRjs7QTZDejNJQTtFQUNFO0VBQ0E7QTdDNDNJRjs7QTZDdDNJQTtFOUJ4Rk0sbURBUlc7QWYwOUlqQjtBNkN0M0lFO0U5QjVGSSxnQkFSVztBZjY5SWpCOztBNkMvMklBO0VBQ0U7RUFDQTtFQUNBO0E3Q2szSUY7QTZDaDNJRTs7RUFFRTtBN0NrM0lKO0E2Qy8ySUU7O0VBRUU7QTdDaTNJSjtBNkM3MklFOztFckMxRkU7RUFDQTtBUjI4SUo7QTZDNzJJRTs7RXJDN0dFO0VBQ0E7QVI4OUlKOztBOEN0L0lBO0VBRUU7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUNxL0lGOztBOENsL0lBO0VBQ0U7RUFDQTtFM0NzUUksdUNBTEk7RTJDL1BSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWpCZkksdUdpQmdCSjtBOUNxL0lGO0E2QmpnSk07RWlCR047SWpCRlE7RTdCb2dKTjtBQUNGO0E4Q3gvSUU7RUFFRTtBOUN5L0lKO0E4Q3IvSUU7RUFDRTtFQUNBLGdFdkNpTjBCO0FQc3lJOUI7QThDbi9JRTtFQUVFO0VBQ0E7RUFDQTtBOUNvL0lKOztBOEM1K0lBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtBOUM0K0lGO0E4QzErSUU7RUFDRTtFQUNBO0V0QzdDQTtFQUNBO0FSMGhKSjtBOEMzK0lJO0VBR0U7RUFDQTtBOUMyK0lOO0E4Q3YrSUU7O0VBRUU7RUFDQTtFQUNBO0E5Q3krSUo7QThDdCtJRTtFQUVFO0V0Q2pFQTtFQUNBO0FSeWlKSjs7QThDOTlJQTtFQUVFO0VBQ0E7RUFDQTtBOUNnK0lGO0E4Qzc5SUU7RXRDNUZFO0FSNGpKSjtBOEM1OUlFOztFQUVFO0VoQmpIRixvRGdCa0h1QjtBOUM4OUl6Qjs7QThDcjlJQTtFQUVFO0VBQ0E7RUFDQTtFQUdBO0E5Q3E5SUY7QThDbjlJRTtFQUNFO0VBQ0E7RUFDQTtBOUNxOUlKO0E4Q245SUk7RUFFRTtBOUNvOUlOO0E4Q2g5SUU7O0VBRUUsZ0J2Q21KMEI7RXVDbEoxQjtFQUNBO0E5Q2s5SUo7O0E4Q3g4SUU7O0VBRUU7RUFDQTtBOUMyOElKOztBOEN0OElFOztFQUVFO0VBQ0E7RUFDQTtBOUN5OElKOztBOENuOElFOztFQUNFO0E5Q3U4SUo7O0E4Qzc3SUU7RUFDRTtBOUNnOElKO0E4Qzk3SUU7RUFDRTtBOUNnOElKOztBK0Nsb0pBO0FBQ0E7QUFLRztFQUNHO0EvQ2lvSk47QStDN25KTTtFQUNHLGdCeEM0UnFCO0FQbTJJOUI7QStDNW5KTTtFQUNHO0EvQzhuSlQ7O0ErQ2xuSkc7RUFDRztFQUNBLDBEeENrekI4QjtFd0NqekI5QjtFQUNBLDJCeEMreUI4QjtFd0M5eUI5QjtFQUNBO0VBQ0Esa0J4QyswQjhCO0FQc3lIcEM7QStDbm5KTTtFQUNHLDBEeEM0eUIyQjtFd0MzeUIzQjtBL0NxbkpUO0ErQ2puSk07RUFDRywyRHhDcXlCMkI7QVA4MEhwQztBK0MxbUpHO0VBQ0csK0N4QzYyQjhCO0V3QzUyQjlCLGdEeEM0MkI4QjtFd0MzMkI5QixnQnhDczRCOEI7QVBzdUhwQzs7QStDbG1KRztFQUNHLDJCeEM0d0I4QjtBUHkxSHBDO0ErQ25tSk07RUFDRztBL0NxbUpUO0ErQ2xtSk07RUFDRyw4QnhDcXhCMkI7QVArMEhwQzs7QStDemxKTTtFQUNBO0EvQzRsSk47QStDeGxKRztFQUNHLHdDeEMrdkI4QjtFd0M5dkI5QixnRHhDMHZCOEI7RXdDenZCOUIsa0R4Q3l2QjhCO0V3Q3h2QjlCLG1EeEN3dkI4QjtFd0N2dkI5QixnQnhDd3ZCOEI7QVBrMkhwQztBK0N2bEpHO0VBQ0csd0N4Q3V2QjhCO0V3Q3R2QjlCLCtDeENrdkI4QjtFd0NqdkI5QixnRHhDaXZCOEI7RXdDaHZCOUI7QS9DeWxKTjtBK0N2bEpNO0VBQ0c7QS9DeWxKVDtBK0NubEpTO0VBQ0csK0N4Q3N1QndCO0V3Q3J1QnhCO0EvQ3FsSlo7QStDaGxKRztFQUNHO0VBQ0E7QS9Da2xKTjtBK0Mva0pNO0VBQ0c7QS9DaWxKVDtBK0M1a0pTO0VBQ0csa0R4Q290QndCO0V3Q250QnhCO0VBQ0E7RUFDQTtBL0M4a0paO0ErQzFrSk07RUFDRyxzQ3hDNHNCMkI7QVBnNEhwQzs7QStDbGtKRztFQUNHO0EvQ3FrSk47O0FnRHJ0SkE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRHF0SkY7QWdEL3NKRTs7Ozs7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoRHV0Sko7QWdEbnNKQTtFQUNFO0VBQ0E7RUFDQTtFN0M0TkksMkNBTEk7RTZDck5SO0VBQ0E7RUFDQTtBaERxc0pGO0FnRG5zSkU7RUFFRTtBaERvc0pKOztBZ0QxckpBO0VBRUU7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaER5ckpGO0FnRHRySkk7RUFFRTtBaER1ckpOO0FnRG5ySkU7RUFDRTtBaERxckpKOztBZ0Q1cUpBO0VBQ0UsbUJ6QzZzQmtDO0V5QzVzQmxDLHNCekM0c0JrQztFeUMzc0JsQztBaEQrcUpGO0FnRDdxSkU7OztFQUdFO0FoRCtxSko7O0FnRGxxSkE7RUFDRTtFQUNBO0VBR0E7QWhEbXFKRjs7QWdEL3BKQTtFQUNFO0U3Q3lJSSw2Q0FMSTtFNkNsSVI7RUFDQTtFQUNBO0VBQ0E7RXhDeElFO0VxQkhFLCtDbUI2SUo7QWhEa3FKRjtBNkIzeUpNO0VtQmlJTjtJbkJoSVE7RTdCOHlKTjtBQUNGO0FnRHJxSkU7RUFDRTtBaER1cUpKO0FnRHBxSkU7RUFDRTtFQUNBO0VBQ0E7QWhEc3FKSjs7QWdEaHFKQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhEbXFKRjs7QWdEaHFKQTtFQUNFO0VBQ0E7QWhEbXFKRjs7QW1CN3hKSTtFNkJzSUE7SUFFSTtJQUNBO0VoRDBwSk47RWdEeHBKTTtJQUNFO0VoRDBwSlI7RWdEeHBKUTtJQUNFO0VoRDBwSlY7RWdEdnBKUTtJQUNFO0lBQ0E7RWhEeXBKVjtFZ0RycEpNO0lBQ0U7RWhEdXBKUjtFZ0RwcEpNO0lBQ0U7SUFDQTtFaERzcEpSO0VnRG5wSk07SUFDRTtFaERxcEpSO0VnRGxwSk07SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SWpDaE9KLGdCQVJXO0ljVVgsZ0JtQmdPSTtFaERtcEpSO0VnRGhwSlE7SUFDRTtFaERrcEpWO0VnRC9vSlE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFaERpcEpWO0FBQ0Y7QW1COTBKSTtFNkJzSUE7SUFFSTtJQUNBO0VoRDBzSk47RWdEeHNKTTtJQUNFO0VoRDBzSlI7RWdEeHNKUTtJQUNFO0VoRDBzSlY7RWdEdnNKUTtJQUNFO0lBQ0E7RWhEeXNKVjtFZ0Ryc0pNO0lBQ0U7RWhEdXNKUjtFZ0Rwc0pNO0lBQ0U7SUFDQTtFaERzc0pSO0VnRG5zSk07SUFDRTtFaERxc0pSO0VnRGxzSk07SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SWpDaE9KLGdCQVJXO0ljVVgsZ0JtQmdPSTtFaERtc0pSO0VnRGhzSlE7SUFDRTtFaERrc0pWO0VnRC9ySlE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFaERpc0pWO0FBQ0Y7QW1COTNKSTtFNkJzSUE7SUFFSTtJQUNBO0VoRDB2Sk47RWdEeHZKTTtJQUNFO0VoRDB2SlI7RWdEeHZKUTtJQUNFO0VoRDB2SlY7RWdEdnZKUTtJQUNFO0lBQ0E7RWhEeXZKVjtFZ0RydkpNO0lBQ0U7RWhEdXZKUjtFZ0RwdkpNO0lBQ0U7SUFDQTtFaERzdkpSO0VnRG52Sk07SUFDRTtFaERxdkpSO0VnRGx2Sk07SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SWpDaE9KLGdCQVJXO0ljVVgsZ0JtQmdPSTtFaERtdkpSO0VnRGh2SlE7SUFDRTtFaERrdkpWO0VnRC91SlE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFaERpdkpWO0FBQ0Y7QW1COTZKSTtFNkJzSUE7SUFFSTtJQUNBO0VoRDB5Sk47RWdEeHlKTTtJQUNFO0VoRDB5SlI7RWdEeHlKUTtJQUNFO0VoRDB5SlY7RWdEdnlKUTtJQUNFO0lBQ0E7RWhEeXlKVjtFZ0RyeUpNO0lBQ0U7RWhEdXlKUjtFZ0RweUpNO0lBQ0U7SUFDQTtFaERzeUpSO0VnRG55Sk07SUFDRTtFaERxeUpSO0VnRGx5Sk07SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SWpDaE9KLGdCQVJXO0ljVVgsZ0JtQmdPSTtFaERteUpSO0VnRGh5SlE7SUFDRTtFaERreUpWO0VnRC94SlE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFaERpeUpWO0FBQ0Y7QW1COTlKSTtFNkJzSUE7SUFFSTtJQUNBO0VoRDAxSk47RWdEeDFKTTtJQUNFO0VoRDAxSlI7RWdEeDFKUTtJQUNFO0VoRDAxSlY7RWdEdjFKUTtJQUNFO0lBQ0E7RWhEeTFKVjtFZ0RyMUpNO0lBQ0U7RWhEdTFKUjtFZ0RwMUpNO0lBQ0U7SUFDQTtFaERzMUpSO0VnRG4xSk07SUFDRTtFaERxMUpSO0VnRGwxSk07SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SWpDaE9KLGdCQVJXO0ljVVgsZ0JtQmdPSTtFaERtMUpSO0VnRGgxSlE7SUFDRTtFaERrMUpWO0VnRC8wSlE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFaERpMUpWO0FBQ0Y7QWdEeDRKSTtFQUVJO0VBQ0E7QWhEeTRKUjtBZ0R2NEpRO0VBQ0U7QWhEeTRKVjtBZ0R2NEpVO0VBQ0U7QWhEeTRKWjtBZ0R0NEpVO0VBQ0U7RUFDQTtBaER3NEpaO0FnRHA0SlE7RUFDRTtBaERzNEpWO0FnRG40SlE7RUFDRTtFQUNBO0FoRHE0SlY7QWdEbDRKUTtFQUNFO0FoRG80SlY7QWdEajRKUTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFakNoT0osZ0JBUlc7RWNVWCxnQm1CZ09JO0FoRGs0SlY7QWdELzNKVTtFQUNFO0FoRGk0Slo7QWdEOTNKVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoRGc0Slo7O0FnRC8ySkE7O0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaERpM0pGOztBZ0QzMkpJO0VBQ0U7QWhEODJKTjs7QWlEdm9LQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXpDakJFO0VPTEUscUNBUlc7QWZ1cUtqQjtBaURyb0tFO0VBQ0U7RUFDQTtBakR1b0tKO0FpRHBvS0U7RUFDRTtFQUNBO0FqRHNvS0o7QWlEcG9LSTtFQUNFO0V6Q3RCRjtFQUNBO0FSNnBLSjtBaURwb0tJO0VBQ0U7RXpDYkY7RUFDQTtBUm9wS0o7QWlEam9LRTs7RUFFRTtBakRtb0tKOztBaUQvbktBO0VBR0U7RUFDQTtFQUNBO0FqRGdvS0Y7O0FpRDduS0E7RUFDRTtFQUNBO0FqRGdvS0Y7O0FpRDduS0E7RUFDRTtFQUNBO0VBQ0E7QWpEZ29LRjs7QWlEN25LQTtFQUNFO0FqRGdvS0Y7O0FpRHhuS0U7RUFDRTtBakQybktKOztBaURubktBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakRzbktGO0FpRHBuS0U7RXpDN0ZFO0FSb3RLSjs7QWlEbG5LQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqRHFuS0Y7QWlEbm5LRTtFekN4R0U7QVI4dEtKOztBaUQ1bUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpEK21LRjtBaUQ3bUtFO0VBQ0U7RUFDQTtBakQrbUtKOztBaUQzbUtBO0VBQ0U7RUFDQTtBakQ4bUtGOztBaUQxbUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V6QzFJRTtBUnd2S0o7O0FpRDFtS0E7OztFQUdFO0FqRDZtS0Y7O0FpRDFtS0E7O0V6QzNJSTtFQUNBO0FSMHZLSjs7QWlEM21LQTs7RXpDbElJO0VBQ0E7QVJrdktKOztBaURwbUtFO0VBQ0U7QWpEdW1LSjtBbUJsdUtJO0U4QnVISjtJQVFJO0lBQ0E7RWpEdW1LRjtFaURwbUtFO0lBRUU7SUFDQTtFakRxbUtKO0VpRG5tS0k7SUFDRTtJQUNBO0VqRHFtS047RWlEaG1LTTtJekMzS0o7SUFDQTtFUjh3S0Y7RWlEam1LUTs7SUFHRTtFakRrbUtWO0VpRGhtS1E7O0lBR0U7RWpEaW1LVjtFaUQ3bEtNO0l6QzVLSjtJQUNBO0VSNHdLRjtFaUQ5bEtROztJQUdFO0VqRCtsS1Y7RWlEN2xLUTs7SUFHRTtFakQ4bEtWO0FBQ0Y7O0FrRHYwS0E7QUFDQTtBQUlBO0VBQ0csZ0MzQ3dnQ2lDO0FQK3pJcEM7QWtEcjBLRztFQUNHO0FsRHUwS047QWtEcDBLRztFQUNHLGtCM0M0Z0M4QjtBUDB6SXBDOztBa0Q3ektHO0VBQ0c7RUFDQTtBbERnMEtOO0FrRDd6S0c7RUFDRztBbEQrektOOztBa0R2ektBO0VBRUc7QWxEeXpLSDs7QWtEbHpLQTtFQUNHO0VBQ0E7QWxEcXpLSDs7QW1EcDJLQTtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFaEQrUUkseUNBTEk7RWdEeFFSO0VBQ0E7RTNDQUU7QVJvMktKOztBbUQ5MUtFO0VBQ0U7QW5EaTJLSjtBbUQvMUtJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5EaTJLTjtBbUQ3MUtFO0VBQ0U7QW5EKzFLSjs7QW9EcDRLQTtBQUNBO0FBRUE7RUFDRyxnQjdDaVMyQjtFNkNoUzNCO0FwRHM0S0g7QW9EcDRLRztFQUNHO0VBR0c7RUFDQTtBcERvNEtUOztBcUQ1NEtBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRDg0S0Y7O0FxRDE0S0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VsRDRQSSxrQkFMSTtFa0RyUFI7RUFDQTtFQUNBO0VBQ0E7RTdDckJFO0U2Q3VCRjtFeEIxQkksMEN3QjJCSjtBckQ2NEtGO0E2QnA2S007RXdCVU47SXhCVFE7RTdCdTZLTjtBQUNGO0FxRGg1S0U7RUFDRTtFQUNBO0VBQ0E7QXJEazVLSjtBcURoNUtJO0VBQ0U7RUFDQTtBckRrNUtOO0FxRDc0S0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V4QmpERSxtRHdCa0RGO0FyRCs0S0o7QTZCNzdLTTtFd0JxQ0o7SXhCcENNO0U3Qmc4S047QUFDRjtBcURqNUtFO0VBQ0U7QXJEbTVLSjtBcURoNUtFO0VBQ0U7RUFDQTtFQUNBO0FyRGs1S0o7O0FxRDk0S0E7RUFDRTtBckRpNUtGOztBcUQ5NEtBO0VBQ0U7RUFDQTtFQUNBO0FyRGk1S0Y7QXFELzRLRTtFN0M3REU7RUFDQTtBUis4S0o7QXFEaDVLSTtFN0NoRUE7RUFDQTtBUm05S0o7QXFELzRLRTtFQUNFO0FyRGk1S0o7QXFENzRLRTtFN0M1REU7RUFDQTtBUjQ4S0o7QXFENzRLTTtFN0NoRUY7RUFDQTtBUmc5S0o7QXFENTRLSTtFN0NyRUE7RUFDQTtBUm85S0o7O0FxRDE0S0E7RUFDRTtBckQ2NEtGOztBcURwNEtFO0VBQ0U7RUFDQTtFN0M5R0E7QVJzL0tKO0FxRHI0S0k7RUFBZ0I7QXJEdzRLcEI7QXFEdjRLSTtFQUFlO0FyRDA0S25CO0FxRHQ0S007RTdDdEhGO0FSKy9LSjtBcURsNEtJO0U3QzdIQTtBUmtnTEo7O0FxRDczS0k7RUFDRTtFQUNBO0FyRGc0S047O0FzRDFoTEE7RUFFRTtFQUNBO0VuRDRSSSxrQ0FMSTtFbURyUlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0UzQ3BCQTtFQUNBO0FYK2lMRjs7QXNEeGhMQTtFQUNFO0VBQ0E7RUFDQTtFbkRnUUkseUNBTEk7RW1EelBSO0VBQ0E7RUFDQTtFQUNBO0V6QnBCSSxxSXlCcUJKO0F0RDJoTEY7QTZCNWlMTTtFeUJRTjtJekJQUTtFN0IraUxOO0FBQ0Y7QXNEOWhMRTtFQUNFO0VBQ0E7RUFFQTtFQUNBO0F0RCtoTEo7QXNENWhMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFUvQ203QmdDO0UrQ2w3QmhDO0F0RDhoTEo7QXNEM2hMRTtFQUVFO0VBQ0E7RXhCdERGLGdEd0J1RHVCO0VBQ3JCO0F0RDRoTEo7QXNEemhMRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0F0RDBoTEo7O0FzRHJoTEU7RUFDRSw4Qy9DczVCZ0M7QVBrb0pwQztBc0RuaExNO0U5QzlCRjtFQUNBO0FSb2pMSjtBc0RqaExNO0U5Q2xERjtFQUNBO0FSc2tMSjs7QXNEcGdMQTtFQ2xHRTtFQUNBO0VwRDBSSSxvQ0FMSTtFb0RuUlI7QXZEMG1MRjs7QXNEdmdMQTtFQ3RHRTtFQUNBO0VwRDBSSSxxQ0FMSTtFb0RuUlI7QXZEaW5MRjs7QXdEeG5MQTtBQUNBO0FBRUE7RUFDRztFQUNBLHFJakRpL0JrQztFaURoL0JsQztBeEQwbkxIO0F3RHRuTE07RUFDRztFQUNBLCtCakRpT3FCO0VpRGhPckIsa0dqRDg5QjJCO0VpRDc5QjNCO0VBQ0E7QXhEd25MVDs7QXdEcm5MTTtFQUNHO0VBQ0EsK0JqRHlOcUI7RWlEeE5yQjtFQUNBO0VBQ0E7QXhEd25MVDs7QXdEcG5MUztFQUNHO0VBQ0EsK0JqRGdOa0I7RWlEL01sQjtFQUNBO0VBQ0E7QXhEdW5MWjs7QXdEbm5MTTtFQUNHO0F4RHNuTFQ7O0F5RHRwTEE7RUFFRTtFQUNBO0V0RHVSSSw0QkFMSTtFc0RoUlI7RUFDQTtFQUNBO0VBR0E7RUFDQTtFdEQrUUksb0NBTEk7RXNEeFFSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFakRKRTtBUjJwTEo7QXlEbHBMRTtFQUNFO0F6RG9wTEo7O0F5RC9vTEE7RUFDRTtFQUNBO0F6RGtwTEY7O0EwRHRyTEE7QUFDQTtBQUlBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QTFEc3JMSDs7QTJEM3JMQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbkRIRTtBUityTEo7O0EyRHZyTEE7RUFFRTtBM0R5ckxGOztBMkRyckxBO0VBQ0UsZ0JwRHNRNEI7RW9EclE1QjtBM0R3ckxGOztBMkRockxBO0VBQ0UsbUJwRHFxQzhCO0FQOGdKaEM7QTJEaHJMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNEa3JMSjs7QTJEMXFMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EzRDZxTEo7O0EyRGpyTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBM0RvckxKOztBMkR4ckxFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTNEMnJMSjs7QTJEL3JMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EzRGtzTEo7O0EyRHRzTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBM0R5c0xKOztBMkQ3c0xFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTNEZ3RMSjs7QTJEcHRMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EzRHV0TEo7O0EyRDN0TEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBM0Q4dExKOztBNEQ5eExBO0FBQ0E7QUFJQTtFQUNHO0VBQ0E7RUFFQTtFQUNBO0E1RDZ4TEg7O0E0RHJ4TEc7RUFDRztBNUR3eExOOztBNER6eExHO0VBQ0c7QTVENHhMTjs7QTREN3hMRztFQUNHO0E1RGd5TE47O0E0RGp5TEc7RUFDRztBNURveUxOOztBNERyeUxHO0VBQ0c7QTVEd3lMTjs7QTREenlMRztFQUNHO0E1RDR5TE47O0E0RDd5TEc7RUFDRztBNURnekxOOztBNERqekxHO0VBQ0c7QTVEb3pMTjs7QTREaHpMQTtFQUNHO0VBQ0E7QTVEbXpMSDtBNERqekxHO0VBQ0c7QTVEbXpMTjtBNERoekxHO0VBQ0c7QTVEa3pMTjs7QTREdnlMTTtFQUNHO0E1RDB5TFQ7QTREdnlMTTtFQUNHO0E1RHl5TFQ7QTREcnhMUztFQUNHO0VBQ0E7RUFDQTtBNUR1eExaO0E0RDF4TFM7RUFDRztFQUNBO0VBQ0E7QTVENHhMWjtBNEQveExTO0VBQ0c7RUFDQTtFQUNBO0E1RGl5TFo7QTREcHlMUztFQUNHO0VBQ0E7RUFDQTtBNURzeUxaO0E0RHp5TFM7RUFDRztFQUNBO0VBQ0E7QTVEMnlMWjtBNEQ5eUxTO0VBQ0c7RUFDQTtFQUNBO0E1RGd6TFo7QTREbnpMUztFQUNHO0VBQ0E7RUFDQTtBNURxekxaO0E0RHh6TFM7RUFDRztFQUNBO0VBQ0E7QTVEMHpMWjs7QTZENzNMRTtFQUNFO0lBQUssNkJ0RDJ0QzJCO0VQc3FKbEM7QUFDRjtBNkQ3M0xBOztFQUdFO0UxRGtSSSxrQ0FMSTtFMEQzUVI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0UxRHNRSSx1Q0FMSTtFMEQvUFI7RXJEUkU7RU9MRSx5Q0FSVztBZm01TGpCOztBNkR6M0xBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFaEN4QkksNkNnQ3lCSjtBN0Q0M0xGO0E2Qmo1TE07RWdDWU47SWhDWFE7RTdCbzVMTjtBQUNGOztBNkQ5M0xBO0UvQkFFO0UrQkVBO0E3RGk0TEY7O0E2RDkzTEE7RUFDRTtBN0RpNExGOztBNkQ5M0xBO0VBQ0U7QTdEaTRMRjs7QTZENzNMRTtFQUNFO0E3RGc0TEo7QTZENzNMTTtFQUpKO0lBS007RTdEZzRMTjtBQUNGOztBOERoOExBO0FBQ0E7QUFJQTtFQUNHLGdEdkQ2dENpQztFdUQ1dENqQyxtRHZENHRDaUM7QVBvdUpwQzs7QThEejdMRztFQUNHLGlCdkQwdENhO0FQa3VKbkI7O0E4RDc3TEc7RUFDRyxnQnZEMHRDYTtBUHN1Sm5COztBOERqOExHO0VBQ0csZXZEMHRDYTtBUDB1Sm5COztBOERyOExHO0VBQ0csWXZEMHRDYTtBUDh1Sm5COztBOER6OExHO0VBQ0csZXZEMHRDYTtBUGt2Sm5COztBK0R2OUxBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFHQTtFQUNBO0V2RFhFO0FSaStMSjs7QStEbDlMQTtFQUNFO0VBQ0E7QS9EcTlMRjtBK0RuOUxFO0VBRUU7RUFDQTtBL0RvOUxKOztBK0QzOExBO0VBQ0U7RUFDQTtFQUNBO0EvRDg4TEY7QStEMzhMRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0EvRDQ4TEo7QStEejhMRTtFQUNFO0VBQ0E7QS9EMjhMSjs7QStEbjhMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRHM4TEY7QStEcDhMRTtFdkR2REU7RUFDQTtBUjgvTEo7QStEcDhMRTtFdkQ3Q0U7RUFDQTtBUm8vTEo7QStEcDhMRTtFQUVFO0VBQ0E7RUFDQTtBL0RxOExKO0ErRGo4TEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0RtOExKO0ErRC83TEU7RUFDRTtBL0RpOExKO0ErRC83TEk7RUFDRTtFQUNBO0EvRGk4TE47O0ErRHA3TEk7RUFDRTtBL0R1N0xOO0ErRHA3TFE7RXZEdkRKO0VBWkE7QVIyL0xKO0ErRG43TFE7RXZEeEVKO0VBWUE7QVJtL0xKO0ErRGw3TFE7RUFDRTtBL0RvN0xWO0ErRGo3TFE7RUFDRTtFQUNBO0EvRG03TFY7QStEajdMVTtFQUNFO0VBQ0E7QS9EbTdMWjs7QW1CemdNSTtFNEM4REE7SUFDRTtFL0QrOExKO0UrRDU4TE07SXZEdkRKO0lBWkE7RVJtaE1GO0UrRDM4TE07SXZEeEVKO0lBWUE7RVIyZ01GO0UrRDE4TE07SUFDRTtFL0Q0OExSO0UrRHo4TE07SUFDRTtJQUNBO0UvRDI4TFI7RStEejhMUTtJQUNFO0lBQ0E7RS9EMjhMVjtBQUNGO0FtQmxpTUk7RTRDOERBO0lBQ0U7RS9EdStMSjtFK0RwK0xNO0l2RHZESjtJQVpBO0VSMmlNRjtFK0RuK0xNO0l2RHhFSjtJQVlBO0VSbWlNRjtFK0RsK0xNO0lBQ0U7RS9EbytMUjtFK0RqK0xNO0lBQ0U7SUFDQTtFL0RtK0xSO0UrRGorTFE7SUFDRTtJQUNBO0UvRG0rTFY7QUFDRjtBbUIxak1JO0U0QzhEQTtJQUNFO0UvRCsvTEo7RStENS9MTTtJdkR2REo7SUFaQTtFUm1rTUY7RStEMy9MTTtJdkR4RUo7SUFZQTtFUjJqTUY7RStEMS9MTTtJQUNFO0UvRDQvTFI7RStEei9MTTtJQUNFO0lBQ0E7RS9EMi9MUjtFK0R6L0xRO0lBQ0U7SUFDQTtFL0QyL0xWO0FBQ0Y7QW1CbGxNSTtFNEM4REE7SUFDRTtFL0R1aE1KO0UrRHBoTU07SXZEdkRKO0lBWkE7RVIybE1GO0UrRG5oTU07SXZEeEVKO0lBWUE7RVJtbE1GO0UrRGxoTU07SUFDRTtFL0RvaE1SO0UrRGpoTU07SUFDRTtJQUNBO0UvRG1oTVI7RStEamhNUTtJQUNFO0lBQ0E7RS9EbWhNVjtBQUNGO0FtQjFtTUk7RTRDOERBO0lBQ0U7RS9EK2lNSjtFK0Q1aU1NO0l2RHZESjtJQVpBO0VSbW5NRjtFK0QzaU1NO0l2RHhFSjtJQVlBO0VSMm1NRjtFK0QxaU1NO0lBQ0U7RS9ENGlNUjtFK0R6aU1NO0lBQ0U7SUFDQTtFL0QyaU1SO0UrRHppTVE7SUFDRTtJQUNBO0UvRDJpTVY7QUFDRjtBK0Q5aE1BO0V2RGhKSTtBUmlyTUo7QStEOWhNRTtFQUNFO0EvRGdpTUo7QStEOWhNSTtFQUNFO0EvRGdpTU47O0ErRG5oTUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0RzaE1KOztBK0RoaU1FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9EbWlNSjs7QStEN2lNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRGdqTUo7O0ErRDFqTUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Q2ak1KOztBK0R2a01FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9EMGtNSjs7QStEcGxNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRHVsTUo7O0ErRGptTUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0RvbU1KOztBK0Q5bU1FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9EaW5NSjs7QWdFbHpNQTtBQUNBO0FBSUE7RUFDRztBaEVrek1IO0FnRWh6TUc7RUFDRztBaEVrek1OO0FnRS95TUc7RUFDRztBaEVpek1OOztBZ0V4eU1HO0VBQ0c7QWhFMnlNTjtBZ0V4eU1HO0VBQ0csc0N6RDZ0QzhCO0FQNmtLcEM7O0FpRWgwTUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQSxhMURzMUMyQjtFMERyMUMzQixjMURxMUMyQjtFMERwMUMzQjtFQUNBO0VBQ0E7RUFDQTtFekRKRTtFeURNRjtBakVnME1GO0FpRTd6TUU7RUFDRTtFQUNBO0VBQ0E7QWpFK3pNSjtBaUU1ek1FO0VBQ0U7RUFDQTtFQUNBO0FqRTh6TUo7QWlFM3pNRTtFQUVFO0VBQ0E7RUFDQTtBakU0ek1KOztBaUVwek1BO0VBSEU7QWpFMnpNRjs7QWlFbHpNSTtFQVRGO0FqRSt6TUY7O0FrRWgzTUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UvRHlSSSw4QkFMSTtFK0RsUlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFL0QyUUksb0NBTEk7RStEcFFSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFMURSRTtBUnkzTUo7QWtFOTJNRTtFQUNFO0FsRWczTUo7QWtFNzJNRTtFQUNFO0FsRSsyTUo7O0FrRTMyTUE7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxFNjJNRjtBa0UzMk1FO0VBQ0U7QWxFNjJNSjs7QWtFejJNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UxRGhDRTtFQUNBO0FSNjRNSjtBa0UzMk1FO0VBQ0U7RUFDQTtBbEU2Mk1KOztBa0V6Mk1BO0VBQ0U7RUFDQTtBbEU0Mk1GOztBbUUxNk1BO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QW5FdzZNRjs7QW1FajZNQTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0FuRW02TUY7QW1FaDZNRTtFdEM1Q0ksbUNzQzZDRjtFQUNBLDhCNURtb0NnQztBUCt4S3BDO0E2QjU4TU07RXNDd0NKO0l0Q3ZDTTtFN0IrOE1OO0FBQ0Y7QW1FcjZNRTtFQUNFLGU1RGlvQ2dDO0FQc3lLcEM7QW1FbjZNRTtFQUNFLHNCNUQ4bkNnQztBUHV5S3BDOztBbUVqNk1BO0VBQ0U7QW5FbzZNRjtBbUVsNk1FO0VBQ0U7RUFDQTtBbkVvNk1KO0FtRWo2TUU7RUFDRTtBbkVtNk1KOztBbUUvNU1BO0VBQ0U7RUFDQTtFQUNBO0FuRWs2TUY7O0FtRTk1TUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTNEckZFO0VPTEUsc0NBUlc7RW9Ec0dmO0FuRSs1TUY7O0FtRTM1TUE7RUFFRTtFQUNBO0VBQ0E7RUNsSEE7RUFDQTtFQUNBO0VBQ0Esa0NEa0gwQjtFQ2pIMUI7RUFDQTtFQUNBLHVDRCtHNEQ7QW5FaTZNOUQ7QW9FN2dORTtFQUFTO0FwRWdoTlg7QW9FL2dORTtFQUFTLG1DRDJHaUY7QW5FdTZNNUY7O0FtRWw2TUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UzRHJHRTtFQUNBO0FSMmdOSjtBbUVwNk1FO0VBQ0U7RUFDQTtBbkVzNk1KOztBbUVqNk1BO0VBQ0U7RUFDQTtBbkVvNk1GOztBbUUvNU1BO0VBQ0U7RUFHQTtFQUNBO0FuRWc2TUY7O0FtRTU1TUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UzRHpIRTtFQUNBO0FSeWhOSjtBbUUzNU1FO0VBQ0U7QW5FNjVNSjs7QW1CeGdOSTtFZ0RpSEY7SUFDRTtJQUNBO0VuRTI1TUY7RW1FdjVNQTtJQUNFO0lBQ0E7SUFDQTtFbkV5NU1GO0VtRXQ1TUE7SUFDRTtFbkV3NU1GO0FBQ0Y7QW1CdmhOSTtFZ0RtSUY7O0lBRUU7RW5FdTVNRjtBQUNGO0FtQjdoTkk7RWdEMElGO0lBQ0U7RW5FczVNRjtBQUNGO0FtRTc0TUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkUrNE1OO0FtRTc0TU07RUFDRTtFQUNBO0UzRHpNSjtBUnlsTko7QW1FNTRNTTs7RTNEN01GO0FSNmxOSjtBbUUzNE1NO0VBQ0U7QW5FNjRNUjs7QW1CdmlOSTtFZ0R3SUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFbkVtNk1KO0VtRWo2TUk7SUFDRTtJQUNBO0kzRHpNSjtFUjZtTkY7RW1FaDZNSTs7STNEN01GO0VSaW5ORjtFbUUvNU1JO0lBQ0U7RW5FaTZNTjtBQUNGO0FtQjVqTkk7RWdEd0lBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RW5FdTdNSjtFbUVyN01JO0lBQ0U7SUFDQTtJM0R6TUo7RVJpb05GO0VtRXA3TUk7O0kzRDdNRjtFUnFvTkY7RW1FbjdNSTtJQUNFO0VuRXE3TU47QUFDRjtBbUJobE5JO0VnRHdJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VuRTI4TUo7RW1FejhNSTtJQUNFO0lBQ0E7STNEek1KO0VScXBORjtFbUV4OE1JOztJM0Q3TUY7RVJ5cE5GO0VtRXY4TUk7SUFDRTtFbkV5OE1OO0FBQ0Y7QW1CcG1OSTtFZ0R3SUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFbkUrOU1KO0VtRTc5TUk7SUFDRTtJQUNBO0kzRHpNSjtFUnlxTkY7RW1FNTlNSTs7STNEN01GO0VSNnFORjtFbUUzOU1JO0lBQ0U7RW5FNjlNTjtBQUNGO0FtQnhuTkk7RWdEd0lBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RW5FbS9NSjtFbUVqL01JO0lBQ0U7SUFDQTtJM0R6TUo7RVI2ck5GO0VtRWgvTUk7O0kzRDdNRjtFUmlzTkY7RW1FLytNSTtJQUNFO0VuRWkvTU47QUFDRjtBcUV2dE5BO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbEV3Ukksa0NBTEk7RWtFalJSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQ2xCQSxzQy9Ed1I0QjtFK0R0UjVCO0VBQ0EsZ0IvRGlTNEI7RStEaFM1QixnQi9EdVM0QjtFK0R0UzVCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VuRWdSSSxzQ0FMSTtFa0VoUVI7RUFDQTtBckUrdE5GO0FxRTd0TkU7RUFBUztBckVndU5YO0FxRTl0TkU7RUFDRTtFQUNBO0VBQ0E7QXJFZ3VOSjtBcUU5dE5JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXJFZ3VOTjs7QXFFM3ROQTtFQUNFO0FyRTh0TkY7QXFFNXRORTtFQUNFO0VBQ0E7RUFDQTtBckU4dE5KOztBcUUxdE5BO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7QXJFNnRORjtBcUUzdE5FO0VBQ0U7RUFDQTtFQUNBO0FyRTZ0Tko7O0FxRXp0TkE7QUFFQTtFQUNFO0FyRTJ0TkY7QXFFenRORTtFQUNFO0VBQ0E7RUFDQTtBckUydE5KOztBcUV2dE5BO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7QXJFMHRORjtBcUV4dE5FO0VBQ0U7RUFDQTtFQUNBO0FyRTB0Tko7O0FxRXR0TkE7QUFrQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U3RGpHRTtBUjB5Tko7O0F1RTd6TkE7RUFFRTtFQUNBO0VwRTRSSSxrQ0FMSTtFb0VyUlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFcEVtUkksc0NBTEk7RW9FNVFSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUR6QkEsc0MvRHdSNEI7RStEdFI1QjtFQUNBLGdCL0RpUzRCO0UrRGhTNUIsZ0IvRHVTNEI7RStEdFM1QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbkVnUkksc0NBTEk7RW9FMVBSO0VBQ0E7RUFDQTtFQUNBO0UvRGhCRTtFT0xFLHdDQVJXO0FmczJOakI7QXVFcjBORTtFQUNFO0VBQ0E7RUFDQTtBdkV1ME5KO0F1RXIwTkk7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZFczBOTjs7QXVFaDBORTtFQUNFO0F2RW0wTko7QXVFajBOSTtFQUVFO0F2RWswTk47QXVFL3pOSTtFQUNFO0VBQ0E7QXZFaTBOTjtBdUU5ek5JO0VBQ0U7RUFDQTtBdkVnME5OOztBdUUzek5BO0FBRUU7RUFDRTtFQUNBO0VBQ0E7QXZFNnpOSjtBdUUzek5JO0VBRUU7QXZFNHpOTjtBdUV6ek5JO0VBQ0U7RUFDQTtBdkUyek5OO0F1RXh6Tkk7RUFDRTtFQUNBO0F2RTB6Tk47O0F1RXJ6TkE7QUFHRTtFQUNFO0F2RXN6Tko7QXVFcHpOSTtFQUVFO0F2RXF6Tk47QXVFbHpOSTtFQUNFO0VBQ0E7QXZFb3pOTjtBdUVqek5JO0VBQ0U7RUFDQTtBdkVtek5OO0F1RTl5TkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RWd6Tko7O0F1RTV5TkE7QUFFRTtFQUNFO0VBQ0E7RUFDQTtBdkU4eU5KO0F1RTV5Tkk7RUFFRTtBdkU2eU5OO0F1RTF5Tkk7RUFDRTtFQUNBO0F2RTR5Tk47QXVFenlOSTtFQUNFO0VBQ0E7QXZFMnlOTjs7QXVFdHlOQTtBQWtCQTtFQUNFO0VBQ0E7RXBFMkdJLDZDQUxJO0VvRXBHUjtFQUNBO0VBQ0E7RS9ENUpFO0VBQ0E7QVJxN05KO0F1RXZ4TkU7RUFDRTtBdkV5eE5KOztBdUVyeE5BO0VBQ0U7RUFDQTtBdkV3eE5GOztBd0U3OE5BO0VBQ0U7QXhFZzlORjs7QXdFNzhOQTtFQUNFO0F4RWc5TkY7O0F3RTc4TkE7RUFDRTtFQUNBO0VBQ0E7QXhFZzlORjtBeUV0K05FO0VBQ0U7RUFDQTtFQUNBO0F6RXcrTko7O0F3RWo5TkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTNDbEJJLHNDMkNtQko7QXhFbzlORjtBNkJuK05NO0UyQ1FOO0kzQ1BRO0U3QnMrTk47QUFDRjs7QXdFdDlOQTs7O0VBR0U7QXhFeTlORjs7QXdFdDlOQTs7RUFFRTtBeEV5OU5GOztBd0V0OU5BOztFQUVFO0F4RXk5TkY7O0F3RWg5TkU7RUFDRTtFQUNBO0VBQ0E7QXhFbTlOSjtBd0VoOU5FOzs7RUFHRTtFQUNBO0F4RWs5Tko7QXdFLzhORTs7RUFFRTtFQUNBO0UzQzVERSwyQjJDNkRGO0F4RWk5Tko7QTZCMWdPTTtFMkNxREo7O0kzQ3BETTtFN0I4Z09OO0FBQ0Y7O0F3RTk4TkE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQSxVakV1dENtQztFaUV0dENuQztFQUNBLFdFL0ZjO0VGZ0dkO0VBQ0E7RUFDQTtFQUNBLFlqRWt0Q21DO0VzQnh5Qy9CLDhCMkN1Rko7QXhFZzlORjtBNkJuaU9NO0UyQ2tFTjs7STNDakVRO0U3QnVpT047QUFDRjtBd0VuOU5FOzs7RUFFRSxXRXpHWTtFRjBHWjtFQUNBO0VBQ0EsWWpFMHNDaUM7QVA0d0xyQzs7QXdFbjlOQTtFQUNFO0F4RXM5TkY7O0F3RW45TkE7RUFDRTtBeEVzOU5GOztBd0VqOU5BOztFQUVFO0VBQ0EsV2pFMnNDbUM7RWlFMXNDbkMsWWpFMHNDbUM7RWlFenNDbkM7RUFDQTtFQUNBO0F4RW85TkY7O0F3RWo5TkE7RUFDRTtBeEVvOU5GOztBd0VsOU5BO0VBQ0U7QXhFcTlORjs7QXdFNzhOQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSxpQmpFMnBDbUM7RWlFMXBDbkM7RUFDQSxnQmpFeXBDbUM7QVBzekxyQztBd0U3OE5FO0VBQ0U7RUFDQTtFQUNBLFdqRXlwQ2lDO0VpRXhwQ2pDLFdqRXlwQ2lDO0VpRXhwQ2pDO0VBQ0EsaUJqRXlwQ2lDO0VpRXhwQ2pDLGdCakV3cENpQztFaUV2cENqQztFQUNBO0VBQ0Esc0JFdktZO0VGd0taO0VBQ0E7RUFFQTtFQUNBO0VBQ0EsWWpFZ3BDaUM7RXNCaHpDL0IsNkIyQ2lLRjtBeEU4OE5KO0E2QjNtT007RTJDNElKO0kzQzNJTTtFN0I4bU9OO0FBQ0Y7QXdFaDlORTtFQUNFLFVqRTZvQ2lDO0FQcTBMckM7O0F3RXo4TkE7RUFDRTtFQUNBO0VBQ0EsZWpFdW9DbUM7RWlFdG9DbkM7RUFDQSxvQmpFb29DbUM7RWlFbm9DbkMsdUJqRW1vQ21DO0VpRWxvQ25DLFdFbE1jO0VGbU1kO0F4RTQ4TkY7O0F3RXQ4TkU7O0VBRUUsZ0NqRXNvQ2lDO0FQbTBMckM7QXdFdDhORTtFQUNFLHlCRTlNWTtBMUVzcE9oQjtBd0VyOE5FO0VBQ0UsY0VsTlk7QTFFeXBPaEI7O0F3RWo5TkU7OztFQUVFLGdDakVzb0NpQztBUCswTHJDO0F3RWw5TkU7RUFDRSx5QkU5TVk7QTFFa3FPaEI7QXdFajlORTtFQUNFLGNFbE5ZO0ExRXFxT2hCOztBMkVycU9BOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBM0V1cU9GOztBMkVucU9BO0VBQ0U7SUFBSztFM0V1cU9MO0FBQ0Y7QTJFcHFPQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7QTNFbXFPRjs7QTJFaHFPQTtFQUVFO0VBQ0E7RUFDQTtBM0VrcU9GOztBMkV6cE9BO0VBQ0U7SUFDRTtFM0U0cE9GO0UyRTFwT0E7SUFDRTtJQUNBO0UzRTRwT0Y7QUFDRjtBMkV4cE9BO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7QTNFdXBPRjs7QTJFcHBPQTtFQUNFO0VBQ0E7QTNFdXBPRjs7QTJFbnBPRTtFQUNFOztJQUVFO0UzRXNwT0o7QUFDRjtBNEV0dU9BO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RXV1T0Y7O0FtQjFxT0k7RXlENUNGO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJN0Q5QkEsMENBUlc7SWNVWCwwQytDOEJBO0U1RXl0T0o7QUFDRjtBNkJwdk9NO0UrQ1lKO0kvQ1hNO0U3QnV2T047QUFDRjtBbUJqc09JO0V5RDVCRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVFZ3VPTjtFNEU3dE9JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNUUrdE9OO0U0RTV0T0k7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNUU4dE9OO0U0RTN0T0k7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVFNnRPTjtFNEUxdE9JO0lBRUU7RTVFMnRPTjtFNEV4dE9JO0lBR0U7RTVFd3RPTjtBQUNGO0FtQnJ2T0k7RXlEL0JGO0lBaUVNO0lBQ0E7SUFDQTtFNUV1dE9OO0U0RXJ0T007SUFDRTtFNUV1dE9SO0U0RXB0T007SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBO0U1RXF0T1I7QUFDRjs7QW1CenZPSTtFeUQ1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0k3RDlCQSwwQ0FSVztJY1VYLDBDK0M4QkE7RTVFd3lPSjtBQUNGO0E2Qm4wT007RStDWUo7SS9DWE07RTdCczBPTjtBQUNGO0FtQmh4T0k7RXlENUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNUUreU9OO0U0RTV5T0k7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1RTh5T047RTRFM3lPSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1RTZ5T047RTRFMXlPSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNUU0eU9OO0U0RXp5T0k7SUFFRTtFNUUweU9OO0U0RXZ5T0k7SUFHRTtFNUV1eU9OO0FBQ0Y7QW1CcDBPSTtFeUQvQkY7SUFpRU07SUFDQTtJQUNBO0U1RXN5T047RTRFcHlPTTtJQUNFO0U1RXN5T1I7RTRFbnlPTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBRUE7RTVFb3lPUjtBQUNGOztBbUJ4ME9JO0V5RDVDRjtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7STdEOUJBLDBDQVJXO0ljVVgsMEMrQzhCQTtFNUV1M09KO0FBQ0Y7QTZCbDVPTTtFK0NZSjtJL0NYTTtFN0JxNU9OO0FBQ0Y7QW1CLzFPSTtFeUQ1QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1RTgzT047RTRFMzNPSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVFNjNPTjtFNEUxM09JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVFNDNPTjtFNEV6M09JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1RTIzT047RTRFeDNPSTtJQUVFO0U1RXkzT047RTRFdDNPSTtJQUdFO0U1RXMzT047QUFDRjtBbUJuNU9JO0V5RC9CRjtJQWlFTTtJQUNBO0lBQ0E7RTVFcTNPTjtFNEVuM09NO0lBQ0U7RTVFcTNPUjtFNEVsM09NO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTtFNUVtM09SO0FBQ0Y7O0FtQnY1T0k7RXlENUNGO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJN0Q5QkEsMENBUlc7SWNVWCwwQytDOEJBO0U1RXM4T0o7QUFDRjtBNkJqK09NO0UrQ1lKO0kvQ1hNO0U3Qm8rT047QUFDRjtBbUI5Nk9JO0V5RDVCRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVFNjhPTjtFNEUxOE9JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNUU0OE9OO0U0RXo4T0k7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNUUyOE9OO0U0RXg4T0k7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVFMDhPTjtFNEV2OE9JO0lBRUU7RTVFdzhPTjtFNEVyOE9JO0lBR0U7RTVFcThPTjtBQUNGO0FtQmwrT0k7RXlEL0JGO0lBaUVNO0lBQ0E7SUFDQTtFNUVvOE9OO0U0RWw4T007SUFDRTtFNUVvOE9SO0U0RWo4T007SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBO0U1RWs4T1I7QUFDRjs7QW1CdCtPSTtFeUQ1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0k3RDlCQSwwQ0FSVztJY1VYLDBDK0M4QkE7RTVFcWhQSjtBQUNGO0E2QmhqUE07RStDWUo7SS9DWE07RTdCbWpQTjtBQUNGO0FtQjcvT0k7RXlENUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNUU0aFBOO0U0RXpoUEk7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1RTJoUE47RTRFeGhQSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1RTBoUE47RTRFdmhQSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNUV5aFBOO0U0RXRoUEk7SUFFRTtFNUV1aFBOO0U0RXBoUEk7SUFHRTtFNUVvaFBOO0FBQ0Y7QW1CampQSTtFeUQvQkY7SUFpRU07SUFDQTtJQUNBO0U1RW1oUE47RTRFamhQTTtJQUNFO0U1RW1oUFI7RTRFaGhQTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBRUE7RTVFaWhQUjtBQUNGOztBNEVqbVBFO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFN0Q5QkEsMENBUlc7RWNVWCwwQytDOEJBO0E1RW1tUE47QTZCN25QTTtFK0NZSjtJL0NYTTtFN0Jnb1BOO0FBQ0Y7QTRFdG1QTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVFd21QUjtBNEVybVBNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUV1bVBSO0E0RXBtUE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUVzbVBSO0E0RW5tUE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVFcW1QUjtBNEVsbVBNO0VBRUU7QTVFbW1QUjtBNEVobVBNO0VBR0U7QTVFZ21QUjs7QTRFcmtQQTtFUnBIRTtFQUNBO0VBQ0E7RUFDQSxhN0QyeUJrQztFNkQxeUJsQztFQUNBO0VBQ0EseUJNSmM7QTFFaXNQaEI7QW9FMXJQRTtFQUFTO0FwRTZyUFg7QW9FNXJQRTtFQUFTLGE3RG9xQ3lCO0FQMmhOcEM7O0E0RWpsUEE7RUFDRTtFQUNBO0VBQ0E7QTVFb2xQRjtBNEVsbFBFO0VBQ0U7RUFDQTtBNUVvbFBKOztBNEVobFBBO0VBQ0U7RUFDQTtBNUVtbFBGOztBNEVobFBBO0VBQ0U7RUFDQTtFQUNBO0E1RW1sUEY7O0E2RWh1UEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWXRFeS9Ca0M7QVAwdU5wQztBNkVqdVBFO0VBQ0U7RUFDQTtBN0VtdVBKOztBNkU5dFBBO0VBQ0U7QTdFaXVQRjs7QTZFOXRQQTtFQUNFO0E3RWl1UEY7O0E2RTl0UEE7RUFDRTtBN0VpdVBGOztBNkU1dFBFO0VBQ0U7QTdFK3RQSjs7QTZFM3RQQTtFQUNFO0lBQ0UsWXRFNDlCZ0M7RVBrd05sQztBQUNGO0E2RTN0UEE7RUFDRTtFQUNBO0VBQ0E7QTdFNnRQRjs7QTZFMXRQQTtFQUNFO0lBQ0U7RTdFNnRQRjtBQUNGO0F5RTV3UEU7RUFDRTtFQUNBO0VBQ0E7QXpFOHdQSjs7QThFanhQRTtFQUNFO0VBQ0E7QTlFb3hQSjs7QThFdHhQRTtFQUNFO0VBQ0E7QTlFeXhQSjs7QThFM3hQRTtFQUNFO0VBQ0E7QTlFOHhQSjs7QThFaHlQRTtFQUNFO0VBQ0E7QTlFbXlQSjs7QThFcnlQRTtFQUNFO0VBQ0E7QTlFd3lQSjs7QThFMXlQRTtFQUNFO0VBQ0E7QTlFNnlQSjs7QThFL3lQRTtFQUNFO0VBQ0E7QTlFa3pQSjs7QThFcHpQRTtFQUNFO0VBQ0E7QTlFdXpQSjs7QStFenpQRTtFQUNFO0VBQ0E7QS9FNHpQSjtBK0V6elBNO0VBR0U7RUFDQTtBL0V5elBSOztBK0VsMFBFO0VBQ0U7RUFDQTtBL0VxMFBKO0ErRWwwUE07RUFHRTtFQUNBO0EvRWswUFI7O0ErRTMwUEU7RUFDRTtFQUNBO0EvRTgwUEo7QStFMzBQTTtFQUdFO0VBQ0E7QS9FMjBQUjs7QStFcDFQRTtFQUNFO0VBQ0E7QS9FdTFQSjtBK0VwMVBNO0VBR0U7RUFDQTtBL0VvMVBSOztBK0U3MVBFO0VBQ0U7RUFDQTtBL0VnMlBKO0ErRTcxUE07RUFHRTtFQUNBO0EvRTYxUFI7O0ErRXQyUEU7RUFDRTtFQUNBO0EvRXkyUEo7QStFdDJQTTtFQUdFO0VBQ0E7QS9FczJQUjs7QStFLzJQRTtFQUNFO0VBQ0E7QS9FazNQSjtBK0UvMlBNO0VBR0U7RUFDQTtBL0UrMlBSOztBK0V4M1BFO0VBQ0U7RUFDQTtBL0UyM1BKO0ErRXgzUE07RUFHRTtFQUNBO0EvRXczUFI7O0ErRWozUEE7RUFDRTtFQUNBO0EvRW8zUEY7QStFajNQSTtFQUVFO0VBQ0E7QS9FazNQTjs7QWdGNTRQQTtFQUNFO0VBRUE7QWhGODRQRjs7QWlGajVQQTtFQUNFO0VBQ0EsYTFFbUl3QztFMEVsSXhDO0VBQ0E7RUFDQSw2QjFFaUl3QztFMEVoSXhDO0FqRm81UEY7QWlGbDVQRTtFQUNFO0VBQ0EsVTFFNkhzQztFMEU1SHRDLFcxRTRIc0M7RTBFM0h0QztFcERJRSxzQ29ESEY7QWpGbzVQSjtBNkI3NFBNO0VvRFpKO0lwRGFNO0U3Qmc1UE47QUFDRjs7QWlGbDVQSTtFQUNFO0FqRnE1UE47O0FrRng2UEE7RUFDRTtFQUNBO0FsRjI2UEY7QWtGejZQRTtFQUNFO0VBQ0E7RUFDQTtBbEYyNlBKO0FrRng2UEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRjA2UEo7O0FrRnI2UEU7RUFDRTtBbEZ3NlBKOztBa0Z6NlBFO0VBQ0U7QWxGNDZQSjs7QWtGNzZQRTtFQUNFO0FsRmc3UEo7O0FrRmo3UEU7RUFDRTtBbEZvN1BKOztBbUZ6OFBBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhNUV3eUJrQztBUG9xT3BDOztBbUZ6OFBBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhNUVneUJrQztBUDRxT3BDOztBbUZwOFBJO0VBQ0U7RUFDQTtFQUNBLGE1RW94QjhCO0FQbXJPcEM7O0FtRnA4UEk7RUFDRTtFQUNBO0VBQ0EsYTVFOHdCOEI7QVB5ck9wQzs7QW1CeDZQSTtFZ0V4Q0E7SUFDRTtJQUNBO0lBQ0EsYTVFb3hCOEI7RVBnc09sQztFbUZqOVBFO0lBQ0U7SUFDQTtJQUNBLGE1RTh3QjhCO0VQcXNPbEM7QUFDRjtBbUJyN1BJO0VnRXhDQTtJQUNFO0lBQ0E7SUFDQSxhNUVveEI4QjtFUDRzT2xDO0VtRjc5UEU7SUFDRTtJQUNBO0lBQ0EsYTVFOHdCOEI7RVBpdE9sQztBQUNGO0FtQmo4UEk7RWdFeENBO0lBQ0U7SUFDQTtJQUNBLGE1RW94QjhCO0VQd3RPbEM7RW1GeitQRTtJQUNFO0lBQ0E7SUFDQSxhNUU4d0I4QjtFUDZ0T2xDO0FBQ0Y7QW1CNzhQSTtFZ0V4Q0E7SUFDRTtJQUNBO0lBQ0EsYTVFb3hCOEI7RVBvdU9sQztFbUZyL1BFO0lBQ0U7SUFDQTtJQUNBLGE1RTh3QjhCO0VQeXVPbEM7QUFDRjtBbUJ6OVBJO0VnRXhDQTtJQUNFO0lBQ0E7SUFDQSxhNUVveEI4QjtFUGd2T2xDO0VtRmpnUUU7SUFDRTtJQUNBO0lBQ0EsYTVFOHdCOEI7RVBxdk9sQztBQUNGO0FvRm5pUUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcEZxaVFGOztBb0ZsaVFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXBGcWlRRjs7QXFGN2lRQTs7RUNJRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RjhpUUY7QXNGM2lRRTs7RUFDRTtBdEY4aVFKOztBdUY1alFFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFVoRm9Ic0M7RWdGbkh0QztBdkYralFKOztBd0Z2a1FBO0VDQUU7RUFDQTtFQUNBO0F6RjJrUUY7O0EwRmpsUUE7RUFDRTtFQUNBO0VBQ0EsNkJuRmdYNEI7RW1GL1c1QjtFQUNBO0VBQ0EsYW5GMlc0QjtBUHl1UDlCOztBMkYxbFFBO0FBQ0E7QUFFQTtFQUNHO0EzRjRsUUg7O0EyRnhqUU07RUFDRztFQUNBO0EzRjJqUVQ7O0EyRnpqUU07RUFDRztFQUNBO0EzRjRqUVQ7O0EyRmxrUU07RUFDRztFQUNBO0EzRnFrUVQ7O0EyRm5rUU07RUFDRztFQUNBO0EzRnNrUVQ7O0EyRjVrUU07RUFDRztFQUNBO0EzRitrUVQ7O0EyRjdrUU07RUFDRztFQUNBO0EzRmdsUVQ7O0EyRnRsUU07RUFDRztFQUNBO0EzRnlsUVQ7O0EyRnZsUU07RUFDRztFQUNBO0EzRjBsUVQ7O0EyRmhtUU07RUFDRztFQUNBO0EzRm1tUVQ7O0EyRmptUU07RUFDRztFQUNBO0EzRm9tUVQ7O0EyRjFtUU07RUFDRztFQUNBO0EzRjZtUVQ7O0EyRjNtUU07RUFDRztFQUNBO0EzRjhtUVQ7O0EyRnBuUU07RUFDRztFQUNBO0EzRnVuUVQ7O0EyRnJuUU07RUFDRztFQUNBO0EzRnduUVQ7O0EyRjluUU07RUFDRztFQUNBO0EzRmlvUVQ7O0EyRi9uUU07RUFDRztFQUNBO0EzRmtvUVQ7O0EyRnhvUU07RUFDRztFQUNBO0EzRjJvUVQ7O0EyRnpvUU07RUFDRztFQUNBO0EzRjRvUVQ7O0EyRmxwUU07RUFDRztFQUNBO0EzRnFwUVQ7O0EyRm5wUU07RUFDRztFQUNBO0EzRnNwUVQ7O0EyRjVwUU07RUFDRztFQUNBO0EzRitwUVQ7O0EyRjdwUU07RUFDRztFQUNBO0EzRmdxUVQ7O0EyRnRxUU07RUFDRztFQUNBO0EzRnlxUVQ7O0EyRnZxUU07RUFDRztFQUNBO0EzRjBxUVQ7O0EyRmhyUU07RUFDRztFQUNBO0EzRm1yUVQ7O0EyRmpyUU07RUFDRztFQUNBO0EzRm9yUVQ7O0EyRjFyUU07RUFDRztFQUNBO0EzRjZyUVQ7O0EyRjNyUU07RUFDRztFQUNBO0EzRjhyUVQ7O0EyRnBzUU07RUFDRztFQUNBO0EzRnVzUVQ7O0EyRnJzUU07RUFDRztFQUNBO0EzRndzUVQ7O0EyRjlzUU07RUFDRztFQUNBO0EzRml0UVQ7O0EyRi9zUU07RUFDRztFQUNBO0EzRmt0UVQ7O0EyRnh0UU07RUFDRztFQUNBO0EzRjJ0UVQ7O0EyRnp0UU07RUFDRztFQUNBO0EzRjR0UVQ7O0EyRmx1UU07RUFDRztFQUNBO0EzRnF1UVQ7O0EyRm51UU07RUFDRztFQUNBO0EzRnN1UVQ7O0EyRjV1UU07RUFDRztFQUNBO0EzRit1UVQ7O0EyRjd1UU07RUFDRztFQUNBO0EzRmd2UVQ7O0EyRnR2UU07RUFDRztFQUNBO0EzRnl2UVQ7O0EyRnZ2UU07RUFDRztFQUNBO0EzRjB2UVQ7O0EyRmh3UU07RUFDRztFQUNBO0EzRm13UVQ7O0EyRmp3UU07RUFDRztFQUNBO0EzRm93UVQ7O0EyRjF3UU07RUFDRztFQUNBO0EzRjZ3UVQ7O0EyRjN3UU07RUFDRztFQUNBO0EzRjh3UVQ7O0EyRnB4UU07RUFDRztFQUNBO0EzRnV4UVQ7O0EyRnJ4UU07RUFDRztFQUNBO0EzRnd4UVQ7O0EyRjl4UU07RUFDRztFQUNBO0EzRml5UVQ7O0EyRi94UU07RUFDRztFQUNBO0EzRmt5UVQ7O0EyRnh5UU07RUFDRztFQUNBO0EzRjJ5UVQ7O0EyRnp5UU07RUFDRztFQUNBO0EzRjR5UVQ7O0EyRmx6UU07RUFDRztFQUNBO0EzRnF6UVQ7O0EyRm56UU07RUFDRztFQUNBO0EzRnN6UVQ7O0EyRjV6UU07RUFDRztFQUNBO0EzRit6UVQ7O0EyRjd6UU07RUFDRztFQUNBO0EzRmcwUVQ7O0EyRnQwUU07RUFDRztFQUNBO0EzRnkwUVQ7O0EyRnYwUU07RUFDRztFQUNBO0EzRjAwUVQ7O0EyRmgxUU07RUFDRztFQUNBO0EzRm0xUVQ7O0EyRmoxUU07RUFDRztFQUNBO0EzRm8xUVQ7O0EyRjExUU07RUFDRztFQUNBO0EzRjYxUVQ7O0EyRjMxUU07RUFDRztFQUNBO0EzRjgxUVQ7O0EyRnAyUU07RUFDRztFQUNBO0EzRnUyUVQ7O0EyRnIyUU07RUFDRztFQUNBO0EzRncyUVQ7O0EyRjkyUU07RUFDRztFQUNBO0EzRmkzUVQ7O0EyRi8yUU07RUFDRztFQUNBO0EzRmszUVQ7O0EyRngzUU07RUFDRztFQUNBO0EzRjIzUVQ7O0EyRnozUU07RUFDRztFQUNBO0EzRjQzUVQ7O0EyRmw0UU07RUFDRztFQUNBO0EzRnE0UVQ7O0EyRm40UU07RUFDRztFQUNBO0EzRnM0UVQ7O0EyRjU0UU07RUFDRztFQUNBO0EzRis0UVQ7O0EyRjc0UU07RUFDRztFQUNBO0EzRmc1UVQ7O0EyRnQ1UU07RUFDRztFQUNBO0EzRnk1UVQ7O0EyRnY1UU07RUFDRztFQUNBO0EzRjA1UVQ7O0EyRmg2UU07RUFDRztFQUNBO0EzRm02UVQ7O0EyRmo2UU07RUFDRztFQUNBO0EzRm82UVQ7O0EyRjE2UU07RUFDRztFQUNBO0EzRjY2UVQ7O0EyRjM2UU07RUFDRztFQUNBO0EzRjg2UVQ7O0EyRnA3UU07RUFDRztFQUNBO0EzRnU3UVQ7O0EyRnI3UU07RUFDRztFQUNBO0EzRnc3UVQ7O0EyRjk3UU07RUFDRztFQUNBO0EzRmk4UVQ7O0EyRi83UU07RUFDRztFQUNBO0EzRms4UVQ7O0EyRng4UU07RUFDRztFQUNBO0EzRjI4UVQ7O0EyRno4UU07RUFDRztFQUNBO0EzRjQ4UVQ7O0EyRmw5UU07RUFDRztFQUNBO0EzRnE5UVQ7O0EyRm45UU07RUFDRztFQUNBO0EzRnM5UVQ7O0EyRjU5UU07RUFDRztFQUNBO0EzRis5UVQ7O0EyRjc5UU07RUFDRztFQUNBO0EzRmcrUVQ7O0EyRnQrUU07RUFDRztFQUNBO0EzRnkrUVQ7O0EyRnYrUU07RUFDRztFQUNBO0EzRjArUVQ7O0EyRmgvUU07RUFDRztFQUNBO0EzRm0vUVQ7O0EyRmovUU07RUFDRztFQUNBO0EzRm8vUVQ7O0EyRjEvUU07RUFDRztFQUNBO0EzRjYvUVQ7O0EyRjMvUU07RUFDRztFQUNBO0EzRjgvUVQ7O0EyRnBnUk07RUFDRztFQUNBO0EzRnVnUlQ7O0EyRnJnUk07RUFDRztFQUNBO0EzRndnUlQ7O0EyRjlnUk07RUFDRztFQUNBO0EzRmloUlQ7O0EyRi9nUk07RUFDRztFQUNBO0EzRmtoUlQ7O0EyRnhoUk07RUFDRztFQUNBO0EzRjJoUlQ7O0EyRnpoUk07RUFDRztFQUNBO0EzRjRoUlQ7O0EyRmxpUk07RUFDRztFQUNBO0EzRnFpUlQ7O0EyRm5pUk07RUFDRztFQUNBO0EzRnNpUlQ7O0EyRjVpUk07RUFDRztFQUNBO0EzRitpUlQ7O0EyRjdpUk07RUFDRztFQUNBO0EzRmdqUlQ7O0EyRnRqUk07RUFDRztFQUNBO0EzRnlqUlQ7O0EyRnZqUk07RUFDRztFQUNBO0EzRjBqUlQ7O0EyRmhrUk07RUFDRztFQUNBO0EzRm1rUlQ7O0EyRmprUk07RUFDRztFQUNBO0EzRm9rUlQ7O0EyRjFrUk07RUFDRztFQUNBO0EzRjZrUlQ7O0EyRjNrUk07RUFDRztFQUNBO0EzRjhrUlQ7O0EyRnBsUk07RUFDRztFQUNBO0EzRnVsUlQ7O0EyRnJsUk07RUFDRztFQUNBO0EzRndsUlQ7O0EyRjlsUk07RUFDRztFQUNBO0EzRmltUlQ7O0EyRi9sUk07RUFDRztFQUNBO0EzRmttUlQ7O0EyRnhtUk07RUFDRztFQUNBO0EzRjJtUlQ7O0EyRnptUk07RUFDRztFQUNBO0EzRjRtUlQ7O0EyRmxuUk07RUFDRztFQUNBO0EzRnFuUlQ7O0EyRm5uUk07RUFDRztFQUNBO0EzRnNuUlQ7O0EyRjVuUk07RUFDRztFQUNBO0EzRituUlQ7O0EyRjduUk07RUFDRztFQUNBO0EzRmdvUlQ7O0EyRnRvUk07RUFDRztFQUNBO0EzRnlvUlQ7O0EyRnZvUk07RUFDRztFQUNBO0EzRjBvUlQ7O0EyRmhwUk07RUFDRztFQUNBO0EzRm1wUlQ7O0EyRmpwUk07RUFDRztFQUNBO0EzRm9wUlQ7O0EyRjFwUk07RUFDRztFQUNBO0EzRjZwUlQ7O0EyRjNwUk07RUFDRztFQUNBO0EzRjhwUlQ7O0EyRnBxUk07RUFDRztFQUNBO0EzRnVxUlQ7O0EyRnJxUk07RUFDRztFQUNBO0EzRndxUlQ7O0EyRjlxUk07RUFDRztFQUNBO0EzRmlyUlQ7O0EyRi9xUk07RUFDRztFQUNBO0EzRmtyUlQ7O0EyRnhyUk07RUFDRztFQUNBO0EzRjJyUlQ7O0EyRnpyUk07RUFDRztFQUNBO0EzRjRyUlQ7O0EyRmxzUk07RUFDRztFQUNBO0EzRnFzUlQ7O0EyRm5zUk07RUFDRztFQUNBO0EzRnNzUlQ7O0EyRjVzUk07RUFDRztFQUNBO0EzRitzUlQ7O0EyRjdzUk07RUFDRztFQUNBO0EzRmd0UlQ7O0EyRnR0Uk07RUFDRztFQUNBO0EzRnl0UlQ7O0EyRnZ0Uk07RUFDRztFQUNBO0EzRjB0UlQ7O0EyRmh1Uk07RUFDRztFQUNBO0EzRm11UlQ7O0EyRmp1Uk07RUFDRztFQUNBO0EzRm91UlQ7O0EyRjF1Uk07RUFDRztFQUNBO0EzRjZ1UlQ7O0EyRjN1Uk07RUFDRztFQUNBO0EzRjh1UlQ7O0EyRnB2Uk07RUFDRztFQUNBO0EzRnV2UlQ7O0EyRnJ2Uk07RUFDRztFQUNBO0EzRnd2UlQ7O0EyRjl2Uk07RUFDRztFQUNBO0EzRml3UlQ7O0EyRi92Uk07RUFDRztFQUNBO0EzRmt3UlQ7O0EyRnh3Uk07RUFDRztFQUNBO0EzRjJ3UlQ7O0EyRnp3Uk07RUFDRztFQUNBO0EzRjR3UlQ7O0EyRmx4Uk07RUFDRztFQUNBO0EzRnF4UlQ7O0EyRm54Uk07RUFDRztFQUNBO0EzRnN4UlQ7O0EyRjV4Uk07RUFDRztFQUNBO0EzRit4UlQ7O0EyRjd4Uk07RUFDRztFQUNBO0EzRmd5UlQ7O0EyRnR5Uk07RUFDRztFQUNBO0EzRnl5UlQ7O0EyRnZ5Uk07RUFDRztFQUNBO0EzRjB5UlQ7O0EyRmh6Uk07RUFDRztFQUNBO0EzRm16UlQ7O0EyRmp6Uk07RUFDRztFQUNBO0EzRm96UlQ7O0EyRjF6Uk07RUFDRztFQUNBO0EzRjZ6UlQ7O0EyRjN6Uk07RUFDRztFQUNBO0EzRjh6UlQ7O0EyRnAwUk07RUFDRztFQUNBO0EzRnUwUlQ7O0EyRnIwUk07RUFDRztFQUNBO0EzRncwUlQ7O0EyRjkwUk07RUFDRztFQUNBO0EzRmkxUlQ7O0EyRi8wUk07RUFDRztFQUNBO0EzRmsxUlQ7O0EyRngxUk07RUFDRztFQUNBO0EzRjIxUlQ7O0EyRnoxUk07RUFDRztFQUNBO0EzRjQxUlQ7O0EyRmwyUk07RUFDRztFQUNBO0EzRnEyUlQ7O0EyRm4yUk07RUFDRztFQUNBO0EzRnMyUlQ7O0EyRjUyUk07RUFDRztFQUNBO0EzRisyUlQ7O0EyRjcyUk07RUFDRztFQUNBO0EzRmczUlQ7O0EyRnQzUk07RUFDRztFQUNBO0EzRnkzUlQ7O0EyRnYzUk07RUFDRztFQUNBO0EzRjAzUlQ7O0EyRmg0Uk07RUFDRztFQUNBO0EzRm00UlQ7O0EyRmo0Uk07RUFDRztFQUNBO0EzRm80UlQ7O0EyRjE0Uk07RUFDRztFQUNBO0EzRjY0UlQ7O0EyRjM0Uk07RUFDRztFQUNBO0EzRjg0UlQ7O0EyRnA1Uk07RUFDRztFQUNBO0EzRnU1UlQ7O0EyRnI1Uk07RUFDRztFQUNBO0EzRnc1UlQ7O0EyRjk1Uk07RUFDRztFQUNBO0EzRmk2UlQ7O0EyRi81Uk07RUFDRztFQUNBO0EzRms2UlQ7O0EyRng2Uk07RUFDRztFQUNBO0EzRjI2UlQ7O0EyRno2Uk07RUFDRztFQUNBO0EzRjQ2UlQ7O0EyRmw3Uk07RUFDRztFQUNBO0EzRnE3UlQ7O0EyRm43Uk07RUFDRztFQUNBO0EzRnM3UlQ7O0EyRjU3Uk07RUFDRztFQUNBO0EzRis3UlQ7O0EyRjc3Uk07RUFDRztFQUNBO0EzRmc4UlQ7O0EyRnQ4Uk07RUFDRztFQUNBO0EzRnk4UlQ7O0EyRnY4Uk07RUFDRztFQUNBO0EzRjA4UlQ7O0EyRmg5Uk07RUFDRztFQUNBO0EzRm05UlQ7O0EyRmo5Uk07RUFDRztFQUNBO0EzRm85UlQ7O0EyRjE5Uk07RUFDRztFQUNBO0EzRjY5UlQ7O0EyRjM5Uk07RUFDRztFQUNBO0EzRjg5UlQ7O0EyRnArUk07RUFDRztFQUNBO0EzRnUrUlQ7O0EyRnIrUk07RUFDRztFQUNBO0EzRncrUlQ7O0EyRjkrUk07RUFDRztFQUNBO0EzRmkvUlQ7O0EyRi8rUk07RUFDRztFQUNBO0EzRmsvUlQ7O0EyRngvUk07RUFDRztFQUNBO0EzRjIvUlQ7O0EyRnovUk07RUFDRztFQUNBO0EzRjQvUlQ7O0EyRmxnU007RUFDRztFQUNBO0EzRnFnU1Q7O0EyRm5nU007RUFDRztFQUNBO0EzRnNnU1Q7O0EyRjVnU007RUFDRztFQUNBO0EzRitnU1Q7O0EyRjdnU007RUFDRztFQUNBO0EzRmdoU1Q7O0E0RjlqU0E7QUFDQTtBQUlNO0VBQ0c7RUFDQTtBNUY4alNUO0E0RjVqU1M7RUFDRztFQUNBO0E1RjhqU1o7O0E0RnhqU1k7RUFHRztFQUNBO0E1RnlqU2Y7O0E0RjdqU1k7RUFHRztFQUNBO0E1RjhqU2Y7O0E0RmxrU1k7RUFHRztFQUNBO0E1Rm1rU2Y7O0E0RnZrU1k7RUFHRztFQUNBO0E1RndrU2Y7O0E0RjVrU1k7RUFHRztFQUNBO0E1RjZrU2Y7O0E0RmpsU1k7RUFHRztFQUNBO0E1RmtsU2Y7O0E0RnRsU1k7RUFHRztFQUNBO0E1RnVsU2Y7O0E2RnptU0E7RUFDRTtBN0Y0bVNGOztBOEY5aVNRO0VBT0k7QTlGMmlTWjs7QThGbGpTUTtFQU9JO0E5RitpU1o7O0E4RnRqU1E7RUFPSTtBOUZtalNaOztBOEYxalNRO0VBT0k7QTlGdWpTWjs7QThGOWpTUTtFQU9JO0E5RjJqU1o7O0E4RmxrU1E7RUFPSTtBOUYralNaOztBOEZ0a1NRO0VBT0k7QTlGbWtTWjs7QThGMWtTUTtFQU9JO0E5RnVrU1o7O0E4RjlrU1E7RUFPSTtBOUYya1NaOztBOEZsbFNRO0VBT0k7QTlGK2tTWjs7QThGdGxTUTtFQU9JO0E5Rm1sU1o7O0E4RjFsU1E7RUFPSTtBOUZ1bFNaOztBOEY5bFNRO0VBT0k7QTlGMmxTWjs7QThGbG1TUTtFQU9JO0E5RitsU1o7O0E4RnRtU1E7RUFPSTtBOUZtbVNaOztBOEYxbVNRO0VBT0k7QTlGdW1TWjs7QThGOW1TUTtFQU9JO0E5RjJtU1o7O0E4RmxuU1E7RUFPSTtBOUYrbVNaOztBOEZ0blNRO0VBT0k7QTlGbW5TWjs7QThGMW5TUTtFQU9JO0E5RnVuU1o7O0E4RjluU1E7RUFPSTtBOUYyblNaOztBOEZsb1NRO0VBT0k7QTlGK25TWjs7QThGdG9TUTtFQU9JO0E5Rm1vU1o7O0E4RjFvU1E7RUFPSTtBOUZ1b1NaOztBOEY5b1NRO0VBT0k7QTlGMm9TWjs7QThGbHBTUTtFQU9JO0E5RitvU1o7O0E4RnRwU1E7RUFPSTtBOUZtcFNaOztBOEYxcFNRO0VBT0k7QTlGdXBTWjs7QThGOXBTUTtFQU9JO0E5RjJwU1o7O0E4RmxxU1E7RUFPSTtBOUYrcFNaOztBOEZ0cVNRO0VBT0k7QTlGbXFTWjs7QThGMXFTUTtFQU9JO0E5RnVxU1o7O0E4RjlxU1E7RUFPSTtBOUYycVNaOztBOEZsclNRO0VBT0k7QTlGK3FTWjs7QThGdHJTUTtFQU9JO0E5Rm1yU1o7O0E4RjFyU1E7RUFPSTtBOUZ1clNaOztBOEY5clNRO0VBT0k7QTlGMnJTWjs7QThGbHNTUTtFQU9JO0E5RityU1o7O0E4RnRzU1E7RUFPSTtBOUZtc1NaOztBOEYxc1NRO0VBT0k7QTlGdXNTWjs7QThGOXNTUTtFQU9JO0E5RjJzU1o7O0E4Rmx0U1E7RUFPSTtBOUYrc1NaOztBOEZ0dFNRO0VBT0k7QTlGbXRTWjs7QThGMXRTUTtFQU9JO0E5RnV0U1o7O0E4Rjl0U1E7RUFPSTtBOUYydFNaOztBOEZsdVNRO0VBT0k7QTlGK3RTWjs7QThGdHVTUTtFQU9JO0E5Rm11U1o7O0E4RjF1U1E7RUFPSTtBOUZ1dVNaOztBOEY5dVNRO0VBT0k7QTlGMnVTWjs7QThGbHZTUTtFQU9JO0E5Rit1U1o7O0E4RnR2U1E7RUFPSTtBOUZtdlNaOztBOEYxdlNRO0VBT0k7QTlGdXZTWjs7QThGOXZTUTtFQU9JO0E5RjJ2U1o7O0E4RjV3U1E7RUFDRTtBOUYrd1NWOztBOEZoeFNRO0VBQ0U7QTlGbXhTVjs7QThGcHhTUTtFQUNFO0E5RnV4U1Y7O0E4Rnh4U1E7RUFDRTtBOUYyeFNWOztBOEY1eFNRO0VBQ0U7QTlGK3hTVjs7QThGaHlTUTtFQUNFO0E5Rm15U1Y7O0E4RnB5U1E7RUFDRTtBOUZ1eVNWOztBOEZ4eVNRO0VBQ0U7QTlGMnlTVjs7QThGbHlTUTtFQU9JO0E5Rit4U1o7O0E4RnR5U1E7RUFPSTtBOUZteVNaOztBOEYxeVNRO0VBT0k7QTlGdXlTWjs7QThGOXlTUTtFQU9JO0E5RjJ5U1o7O0E4Rmx6U1E7RUFPSTtBOUYreVNaOztBOEZ0elNRO0VBT0k7QTlGbXpTWjs7QThGMXpTUTtFQU9JO0E5RnV6U1o7O0E4Rjl6U1E7RUFPSTtBOUYyelNaOztBOEZsMFNRO0VBT0k7QTlGK3pTWjs7QThGdDBTUTtFQU9JO0E5Rm0wU1o7O0E4RjEwU1E7RUFPSTtBOUZ1MFNaOztBOEY5MFNRO0VBT0k7QTlGMjBTWjs7QThGbDFTUTtFQU9JO0E5RiswU1o7O0E4RnQxU1E7RUFPSTtBOUZtMVNaOztBOEYxMVNRO0VBT0k7QTlGdTFTWjs7QThGOTFTUTtFQU9JO0E5RjIxU1o7O0E4RmwyU1E7RUFPSTtBOUYrMVNaOztBOEZ0MlNRO0VBT0k7QTlGbTJTWjs7QThGMTJTUTtFQU9JO0E5RnUyU1o7O0E4RjkyU1E7RUFPSTtBOUYyMlNaOztBOEZsM1NRO0VBT0k7QTlGKzJTWjs7QThGdDNTUTtFQU9JO0E5Rm0zU1o7O0E4RjEzU1E7RUFPSTtBOUZ1M1NaOztBOEY5M1NRO0VBT0k7QTlGMjNTWjs7QThGbDRTUTtFQU9JO0E5RiszU1o7O0E4RnQ0U1E7RUFPSTtBOUZtNFNaOztBOEYxNFNRO0VBT0k7QTlGdTRTWjs7QThGOTRTUTtFQU9JO0E5RjI0U1o7O0E4Rmw1U1E7RUFPSTtBOUYrNFNaOztBOEZ0NVNRO0VBT0k7QTlGbTVTWjs7QThGMTVTUTtFQUlRO0VBR0o7QTlGdzVTWjs7QThGLzVTUTtFQUlRO0VBR0o7QTlGNjVTWjs7QThGcDZTUTtFQUlRO0VBR0o7QTlGazZTWjs7QThGejZTUTtFQUlRO0VBR0o7QTlGdTZTWjs7QThGOTZTUTtFQUlRO0VBR0o7QTlGNDZTWjs7QThGbjdTUTtFQUlRO0VBR0o7QTlGaTdTWjs7QThGeDdTUTtFQUlRO0VBR0o7QTlGczdTWjs7QThGNzdTUTtFQUlRO0VBR0o7QTlGMjdTWjs7QThGbDhTUTtFQUlRO0VBR0o7QTlGZzhTWjs7QThGdjhTUTtFQUlRO0VBR0o7QTlGcThTWjs7QThGNThTUTtFQU9JO0E5Rnk4U1o7O0E4Rmg5U1E7RUFPSTtBOUY2OFNaOztBOEZwOVNRO0VBT0k7QTlGaTlTWjs7QThGeDlTUTtFQU9JO0E5RnE5U1o7O0E4RjU5U1E7RUFPSTtBOUZ5OVNaOztBOEZoK1NRO0VBT0k7QTlGNjlTWjs7QThGcCtTUTtFQU9JO0E5RmkrU1o7O0E4RngrU1E7RUFPSTtBOUZxK1NaOztBOEY1K1NRO0VBT0k7QTlGeStTWjs7QThGaC9TUTtFQU9JO0E5RjYrU1o7O0E4RnAvU1E7RUFPSTtBOUZpL1NaOztBOEZ4L1NRO0VBT0k7QTlGcS9TWjs7QThGNS9TUTtFQU9JO0E5RnkvU1o7O0E4RjFnVFE7RUFDRTtBOUY2Z1RWOztBOEY5Z1RRO0VBQ0U7QTlGaWhUVjs7QThGbGhUUTtFQUNFO0E5RnFoVFY7O0E4RnRoVFE7RUFDRTtBOUZ5aFRWOztBOEYxaFRRO0VBQ0U7QTlGNmhUVjs7QThGcGhUUTtFQU9JO0E5RmloVFo7O0E4RnhoVFE7RUFPSTtBOUZxaFRaOztBOEY1aFRRO0VBT0k7QTlGeWhUWjs7QThGaGlUUTtFQU9JO0E5RjZoVFo7O0E4RnBpVFE7RUFPSTtBOUZpaVRaOztBOEZ4aVRRO0VBT0k7QTlGcWlUWjs7QThGNWlUUTtFQU9JO0E5RnlpVFo7O0E4RmhqVFE7RUFPSTtBOUY2aVRaOztBOEZwalRRO0VBT0k7QTlGaWpUWjs7QThGeGpUUTtFQU9JO0E5RnFqVFo7O0E4RjVqVFE7RUFPSTtBOUZ5alRaOztBOEZoa1RRO0VBT0k7QTlGNmpUWjs7QThGcGtUUTtFQU9JO0E5RmlrVFo7O0E4RnhrVFE7RUFPSTtBOUZxa1RaOztBOEY1a1RRO0VBT0k7QTlGeWtUWjs7QThGaGxUUTtFQU9JO0E5RjZrVFo7O0E4RnBsVFE7RUFPSTtBOUZpbFRaOztBOEZ4bFRRO0VBT0k7QTlGcWxUWjs7QThGNWxUUTtFQU9JO0E5RnlsVFo7O0E4RmhtVFE7RUFPSTtBOUY2bFRaOztBOEZwbVRRO0VBT0k7QTlGaW1UWjs7QThGeG1UUTtFQU9JO0E5RnFtVFo7O0E4RjVtVFE7RUFPSTtBOUZ5bVRaOztBOEZoblRRO0VBT0k7QTlGNm1UWjs7QThGcG5UUTtFQU9JO0E5RmluVFo7O0E4RnhuVFE7RUFPSTtBOUZxblRaOztBOEY1blRRO0VBT0k7QTlGeW5UWjs7QThGaG9UUTtFQU9JO0E5RjZuVFo7O0E4RnBvVFE7RUFPSTtBOUZpb1RaOztBOEZ4b1RRO0VBT0k7QTlGcW9UWjs7QThGNW9UUTtFQU9JO0E5RnlvVFo7O0E4RmhwVFE7RUFPSTtBOUY2b1RaOztBOEZwcFRRO0VBT0k7QTlGaXBUWjs7QThGeHBUUTtFQU9JO0E5RnFwVFo7O0E4RjVwVFE7RUFPSTtBOUZ5cFRaOztBOEZocVRRO0VBT0k7QTlGNnBUWjs7QThGcHFUUTtFQU9JO0E5RmlxVFo7O0E4RnhxVFE7RUFPSTtBOUZxcVRaOztBOEY1cVRRO0VBT0k7QTlGeXFUWjs7QThGaHJUUTtFQU9JO0E5RjZxVFo7O0E4RnByVFE7RUFPSTtBOUZpclRaOztBOEZ4clRRO0VBT0k7QTlGcXJUWjs7QThGNXJUUTtFQU9JO0E5RnlyVFo7O0E4RmhzVFE7RUFPSTtBOUY2clRaOztBOEZwc1RRO0VBT0k7QTlGaXNUWjs7QThGeHNUUTtFQU9JO0E5RnFzVFo7O0E4RjVzVFE7RUFPSTtBOUZ5c1RaOztBOEZodFRRO0VBT0k7QTlGNnNUWjs7QThGcHRUUTtFQU9JO0E5Rml0VFo7O0E4Rnh0VFE7RUFPSTtBOUZxdFRaOztBOEY1dFRRO0VBT0k7QTlGeXRUWjs7QThGaHVUUTtFQU9JO0E5RjZ0VFo7O0E4RnB1VFE7RUFPSTtBOUZpdVRaOztBOEZ4dVRRO0VBT0k7QTlGcXVUWjs7QThGNXVUUTtFQU9JO0E5Rnl1VFo7O0E4Rmh2VFE7RUFPSTtBOUY2dVRaOztBOEZwdlRRO0VBT0k7QTlGaXZUWjs7QThGeHZUUTtFQU9JO0E5RnF2VFo7O0E4RjV2VFE7RUFPSTtBOUZ5dlRaOztBOEZod1RRO0VBT0k7QTlGNnZUWjs7QThGcHdUUTtFQU9JO0E5Rml3VFo7O0E4Rnh3VFE7RUFPSTtBOUZxd1RaOztBOEY1d1RRO0VBT0k7QTlGeXdUWjs7QThGaHhUUTtFQU9JO0E5RjZ3VFo7O0E4RnB4VFE7RUFPSTtBOUZpeFRaOztBOEZ4eFRRO0VBT0k7QTlGcXhUWjs7QThGNXhUUTtFQU9JO0VBQUE7QTlGMHhUWjs7QThGanlUUTtFQU9JO0VBQUE7QTlGK3hUWjs7QThGdHlUUTtFQU9JO0VBQUE7QTlGb3lUWjs7QThGM3lUUTtFQU9JO0VBQUE7QTlGeXlUWjs7QThGaHpUUTtFQU9JO0VBQUE7QTlGOHlUWjs7QThGcnpUUTtFQU9JO0VBQUE7QTlGbXpUWjs7QThGMXpUUTtFQU9JO0VBQUE7QTlGd3pUWjs7QThGL3pUUTtFQU9JO0VBQUE7QTlGNnpUWjs7QThGcDBUUTtFQU9JO0VBQUE7QTlGazBUWjs7QThGejBUUTtFQU9JO0VBQUE7QTlGdTBUWjs7QThGOTBUUTtFQU9JO0VBQUE7QTlGNDBUWjs7QThGbjFUUTtFQU9JO0VBQUE7QTlGaTFUWjs7QThGeDFUUTtFQU9JO0VBQUE7QTlGczFUWjs7QThGNzFUUTtFQU9JO0VBQUE7QTlGMjFUWjs7QThGbDJUUTtFQU9JO0E5RisxVFo7O0E4RnQyVFE7RUFPSTtBOUZtMlRaOztBOEYxMlRRO0VBT0k7QTlGdTJUWjs7QThGOTJUUTtFQU9JO0E5RjIyVFo7O0E4RmwzVFE7RUFPSTtBOUYrMlRaOztBOEZ0M1RRO0VBT0k7QTlGbTNUWjs7QThGMTNUUTtFQU9JO0E5RnUzVFo7O0E4RjkzVFE7RUFPSTtBOUYyM1RaOztBOEZsNFRRO0VBT0k7QTlGKzNUWjs7QThGdDRUUTtFQU9JO0E5Rm00VFo7O0E4RjE0VFE7RUFPSTtBOUZ1NFRaOztBOEY5NFRRO0VBT0k7QTlGMjRUWjs7QThGbDVUUTtFQU9JO0E5Ris0VFo7O0E4RnQ1VFE7RUFPSTtBOUZtNVRaOztBOEYxNVRRO0VBT0k7QTlGdTVUWjs7QThGOTVUUTtFQU9JO0E5RjI1VFo7O0E4Rmw2VFE7RUFPSTtBOUYrNVRaOztBOEZ0NlRRO0VBT0k7QTlGbTZUWjs7QThGMTZUUTtFQU9JO0E5RnU2VFo7O0E4Rjk2VFE7RUFPSTtBOUYyNlRaOztBOEZsN1RRO0VBT0k7QTlGKzZUWjs7QThGdDdUUTtFQU9JO0E5Rm03VFo7O0E4RjE3VFE7RUFPSTtBOUZ1N1RaOztBOEY5N1RRO0VBT0k7QTlGMjdUWjs7QThGbDhUUTtFQU9JO0E5Ris3VFo7O0E4RnQ4VFE7RUFPSTtBOUZtOFRaOztBOEYxOFRRO0VBT0k7QTlGdThUWjs7QThGOThUUTtFQU9JO0E5RjI4VFo7O0E4Rmw5VFE7RUFPSTtBOUYrOFRaOztBOEZ0OVRRO0VBT0k7QTlGbTlUWjs7QThGMTlUUTtFQU9JO0E5RnU5VFo7O0E4Rjk5VFE7RUFPSTtBOUYyOVRaOztBOEZsK1RRO0VBT0k7QTlGKzlUWjs7QThGdCtUUTtFQU9JO0E5Rm0rVFo7O0E4RjErVFE7RUFPSTtFQUFBO0E5RncrVFo7O0E4Ri8rVFE7RUFPSTtFQUFBO0E5RjYrVFo7O0E4RnAvVFE7RUFPSTtFQUFBO0E5RmsvVFo7O0E4RnovVFE7RUFPSTtFQUFBO0E5RnUvVFo7O0E4RjkvVFE7RUFPSTtFQUFBO0E5RjQvVFo7O0E4Rm5nVVE7RUFPSTtFQUFBO0E5RmlnVVo7O0E4RnhnVVE7RUFPSTtFQUFBO0E5RnNnVVo7O0E4RjdnVVE7RUFPSTtFQUFBO0E5RjJnVVo7O0E4RmxoVVE7RUFPSTtFQUFBO0E5RmdoVVo7O0E4RnZoVVE7RUFPSTtFQUFBO0E5RnFoVVo7O0E4RjVoVVE7RUFPSTtFQUFBO0E5RjBoVVo7O0E4RmppVVE7RUFPSTtFQUFBO0E5RitoVVo7O0E4RnRpVVE7RUFPSTtBOUZtaVVaOztBOEYxaVVRO0VBT0k7QTlGdWlVWjs7QThGOWlVUTtFQU9JO0E5RjJpVVo7O0E4RmxqVVE7RUFPSTtBOUYraVVaOztBOEZ0alVRO0VBT0k7QTlGbWpVWjs7QThGMWpVUTtFQU9JO0E5RnVqVVo7O0E4RjlqVVE7RUFPSTtBOUYyalVaOztBOEZsa1VRO0VBT0k7QTlGK2pVWjs7QThGdGtVUTtFQU9JO0E5Rm1rVVo7O0E4RjFrVVE7RUFPSTtBOUZ1a1VaOztBOEY5a1VRO0VBT0k7QTlGMmtVWjs7QThGbGxVUTtFQU9JO0E5RitrVVo7O0E4RnRsVVE7RUFPSTtBOUZtbFVaOztBOEYxbFVRO0VBT0k7QTlGdWxVWjs7QThGOWxVUTtFQU9JO0E5RjJsVVo7O0E4RmxtVVE7RUFPSTtBOUYrbFVaOztBOEZ0bVVRO0VBT0k7QTlGbW1VWjs7QThGMW1VUTtFQU9JO0E5RnVtVVo7O0E4RjltVVE7RUFPSTtBOUYybVVaOztBOEZsblVRO0VBT0k7QTlGK21VWjs7QThGdG5VUTtFQU9JO0E5Rm1uVVo7O0E4RjFuVVE7RUFPSTtBOUZ1blVaOztBOEY5blVRO0VBT0k7QTlGMm5VWjs7QThGbG9VUTtFQU9JO0E5RituVVo7O0E4RnRvVVE7RUFPSTtBOUZtb1VaOztBOEYxb1VRO0VBT0k7QTlGdW9VWjs7QThGOW9VUTtFQU9JO0E5RjJvVVo7O0E4RmxwVVE7RUFPSTtBOUYrb1VaOztBOEZ0cFVRO0VBT0k7QTlGbXBVWjs7QThGMXBVUTtFQU9JO0E5RnVwVVo7O0E4RjlwVVE7RUFPSTtBOUYycFVaOztBOEZscVVRO0VBT0k7QTlGK3BVWjs7QThGdHFVUTtFQU9JO0E5Rm1xVVo7O0E4RjFxVVE7RUFPSTtBOUZ1cVVaOztBOEY5cVVRO0VBT0k7QTlGMnFVWjs7QThGbHJVUTtFQU9JO0E5RitxVVo7O0E4RnRyVVE7RUFPSTtBOUZtclVaOztBOEYxclVRO0VBT0k7QTlGdXJVWjs7QThGOXJVUTtFQU9JO0E5RjJyVVo7O0E4RmxzVVE7RUFPSTtBOUYrclVaOztBOEZ0c1VRO0VBT0k7QTlGbXNVWjs7QThGMXNVUTtFQU9JO0E5RnVzVVo7O0E4RjlzVVE7RUFPSTtBOUYyc1VaOztBOEZsdFVRO0VBT0k7QTlGK3NVWjs7QThGdHRVUTtFQU9JO0E5Rm10VVo7O0E4RjF0VVE7RUFPSTtBOUZ1dFVaOztBOEY5dFVRO0VBT0k7QTlGMnRVWjs7QThGbHVVUTtFQU9JO0E5Rit0VVo7O0E4RnR1VVE7RUFPSTtBOUZtdVVaOztBOEYxdVVRO0VBT0k7QTlGdXVVWjs7QThGOXVVUTtFQU9JO0E5RjJ1VVo7O0E4Rmx2VVE7RUFPSTtBOUYrdVVaOztBOEZ0dlVRO0VBT0k7QTlGbXZVWjs7QThGMXZVUTtFQU9JO0E5RnV2VVo7O0E4Rjl2VVE7RUFPSTtBOUYydlVaOztBOEZsd1VRO0VBT0k7QTlGK3ZVWjs7QThGdHdVUTtFQU9JO0E5Rm13VVo7O0E4RjF3VVE7RUFPSTtBOUZ1d1VaOztBOEY5d1VRO0VBT0k7QTlGMndVWjs7QThGbHhVUTtFQU9JO0E5Rit3VVo7O0E4RnR4VVE7RUFPSTtBOUZteFVaOztBOEYxeFVRO0VBT0k7QTlGdXhVWjs7QThGOXhVUTtFQU9JO0E5RjJ4VVo7O0E4Rmx5VVE7RUFPSTtBOUYreFVaOztBOEZ0eVVRO0VBT0k7QTlGbXlVWjs7QThGMXlVUTtFQU9JO0E5RnV5VVo7O0E4Rjl5VVE7RUFPSTtBOUYyeVVaOztBOEZselVRO0VBT0k7QTlGK3lVWjs7QThGdHpVUTtFQU9JO0E5Rm16VVo7O0E4RjF6VVE7RUFPSTtBOUZ1elVaOztBOEY5elVRO0VBT0k7QTlGMnpVWjs7QThGbDBVUTtFQU9JO0E5Rit6VVo7O0E4RnQwVVE7RUFPSTtBOUZtMFVaOztBOEZ4MVVRO0FBY0E7RUFPSTtFQUFBO0E5RnkwVVo7O0E4RnR6VVE7QUExQkE7RUFJUTtFQUdKO0E5RiswVVo7O0E4RnQxVVE7RUFJUTtFQUdKO0E5Rm8xVVo7O0E4RjMxVVE7RUFJUTtFQUdKO0E5RnkxVVo7O0E4RmgyVVE7RUFJUTtFQUdKO0E5RjgxVVo7O0E4RnIyVVE7RUFJUTtFQUdKO0E5Rm0yVVo7O0E4RjEyVVE7RUFJUTtFQUdKO0E5RncyVVo7O0E4Ri8yVVE7RUFJUTtFQUdKO0E5RjYyVVo7O0E4RnAzVVE7RUFJUTtFQUdKO0E5RmszVVo7O0E4RnozVVE7RUFJUTtFQUdKO0E5RnUzVVo7O0E4RjkzVVE7RUFJUTtFQUdKO0E5RjQzVVo7O0E4Rm40VVE7RUFJUTtFQUdKO0E5Rmk0VVo7O0E4Rng0VVE7RUFJUTtFQUdKO0E5RnM0VVo7O0E4Rjc0VVE7RUFJUTtFQUdKO0E5RjI0VVo7O0E4Rmw1VVE7RUFJUTtFQUdKO0E5Rmc1VVo7O0E4RnY1VVE7RUFJUTtFQUdKO0E5RnE1VVo7O0E4RjU1VVE7RUFJUTtFQUdKO0E5RjA1VVo7O0E4Rmo2VVE7RUFJUTtFQUdKO0E5Ris1VVo7O0E4RnQ2VVE7RUFJUTtFQUdKO0E5Rm82VVo7O0E4RnI3VVE7RUFDRTtBOUZ3N1VWOztBOEZ6N1VRO0VBQ0U7QTlGNDdVVjs7QThGNzdVUTtFQUNFO0E5Rmc4VVY7O0E4Rmo4VVE7RUFDRTtBOUZvOFVWOztBOEZyOFVRO0VBQ0U7QTlGdzhVVjs7QThGejhVUTtFQUNFO0E5RjQ4VVY7O0E4Rjc4VVE7RUFDRTtBOUZnOVVWOztBOEZqOVVRO0VBQ0U7QTlGbzlVVjs7QThGcjlVUTtFQUNFO0E5Rnc5VVY7O0E4Rno5VVE7RUFDRTtBOUY0OVVWOztBOEY3OVVRO0VBQ0U7QTlGZytVVjs7QThGaitVUTtFQUNFO0E5Rm8rVVY7O0E4RjM5VVE7RUFPSTtBOUZ3OVVaOztBOEYvOVVRO0VBT0k7QTlGNDlVWjs7QThGbitVUTtFQU9JO0E5RmcrVVo7O0E4RnYrVVE7RUFPSTtBOUZvK1VaOztBOEYzK1VRO0VBT0k7QTlGdytVWjs7QThGLytVUTtFQU9JO0E5RjQrVVo7O0E4Rm4vVVE7RUFPSTtBOUZnL1VaOztBOEZ2L1VRO0VBT0k7QTlGby9VWjs7QThGcmdWUTtFQUNFO0E5RndnVlY7O0E4RnBnVlU7RUFDRTtBOUZ1Z1ZaOztBOEY3Z1ZRO0VBQ0U7QTlGZ2hWVjs7QThGNWdWVTtFQUNFO0E5RitnVlo7O0E4RnJoVlE7RUFDRTtBOUZ3aFZWOztBOEZwaFZVO0VBQ0U7QTlGdWhWWjs7QThGN2hWUTtFQUNFO0E5RmdpVlY7O0E4RjVoVlU7RUFDRTtBOUYraFZaOztBOEZyaVZRO0VBQ0U7QTlGd2lWVjs7QThGcGlWVTtFQUNFO0E5RnVpVlo7O0E4RjdpVlE7RUFDRTtBOUZnalZWOztBOEY1aVZVO0VBQ0U7QTlGK2lWWjs7QThGcmpWUTtFQUNFO0E5RndqVlY7O0E4RnBqVlU7RUFDRTtBOUZ1alZaOztBOEY3alZRO0VBQ0U7QTlGZ2tWVjs7QThGNWpWVTtFQUNFO0E5RitqVlo7O0E4RnJrVlE7RUFDRTtBOUZ3a1ZWOztBOEZwa1ZVO0VBQ0U7QTlGdWtWWjs7QThGN2tWUTtFQUNFO0E5RmdsVlY7O0E4RjVrVlU7RUFDRTtBOUYra1ZaOztBOEZybFZRO0VBQ0U7QTlGd2xWVjs7QThGcGxWVTtFQUNFO0E5RnVsVlo7O0E4RjdsVlE7RUFDRTtBOUZnbVZWOztBOEY1bFZVO0VBQ0U7QTlGK2xWWjs7QThGM2xWUTtFQU9JO0E5RndsVlo7O0E4Rm5sVlU7RUFPSTtBOUZnbFZkOztBOEZubVZRO0VBT0k7QTlGZ21WWjs7QThGM2xWVTtFQU9JO0E5RndsVmQ7O0E4RjNtVlE7RUFPSTtBOUZ3bVZaOztBOEZubVZVO0VBT0k7QTlGZ21WZDs7QThGbm5WUTtFQUlRO0VBR0o7QTlGaW5WWjs7QThGeG5WUTtFQUlRO0VBR0o7QTlGc25WWjs7QThGN25WUTtFQUlRO0VBR0o7QTlGMm5WWjs7QThGbG9WUTtFQUlRO0VBR0o7QTlGZ29WWjs7QThGdm9WUTtFQUlRO0VBR0o7QTlGcW9WWjs7QThGNW9WUTtFQUlRO0VBR0o7QTlGMG9WWjs7QThGanBWUTtFQUlRO0VBR0o7QTlGK29WWjs7QThGdHBWUTtFQUlRO0VBR0o7QTlGb3BWWjs7QThGM3BWUTtFQUlRO0VBR0o7QTlGeXBWWjs7QThGMXFWUTtFQUNFO0E5RjZxVlY7O0E4RnpxVlU7RUFDRTtBOUY0cVZaOztBOEZsclZRO0VBQ0U7QTlGcXJWVjs7QThGanJWVTtFQUNFO0E5Rm9yVlo7O0E4RjFyVlE7RUFDRTtBOUY2clZWOztBOEZ6clZVO0VBQ0U7QTlGNHJWWjs7QThGbHNWUTtFQUNFO0E5RnFzVlY7O0E4RmpzVlU7RUFDRTtBOUZvc1ZaOztBOEYxc1ZRO0VBQ0U7QTlGNnNWVjs7QThGenNWVTtFQUNFO0E5RjRzVlo7O0E4Rmx0VlE7RUFDRTtBOUZxdFZWOztBOEZqdFZVO0VBQ0U7QTlGb3RWWjs7QThGaHRWUTtFQUlRO0VBR0o7QTlGOHNWWjs7QThGcnRWUTtFQUlRO0VBR0o7QTlGbXRWWjs7QThGMXRWUTtFQUlRO0VBR0o7QTlGd3RWWjs7QThGL3RWUTtFQUlRO0VBR0o7QTlGNnRWWjs7QThGcHVWUTtFQUlRO0VBR0o7QTlGa3VWWjs7QThGenVWUTtFQUlRO0VBR0o7QTlGdXVWWjs7QThGOXVWUTtFQUlRO0VBR0o7QTlGNHVWWjs7QThGbnZWUTtFQUlRO0VBR0o7QTlGaXZWWjs7QThGeHZWUTtFQUlRO0VBR0o7QTlGc3ZWWjs7QThGN3ZWUTtFQUlRO0VBR0o7QTlGMnZWWjs7QThGbHdWUTtFQUlRO0VBR0o7QTlGZ3dWWjs7QThGdndWUTtFQUlRO0VBR0o7QTlGcXdWWjs7QThGNXdWUTtFQUlRO0VBR0o7QTlGMHdWWjs7QThGanhWUTtFQUlRO0VBR0o7QTlGK3dWWjs7QThGaHlWUTtFQUNFO0E5Rm15VlY7O0E4RnB5VlE7RUFDRTtBOUZ1eVZWOztBOEZ4eVZRO0VBQ0U7QTlGMnlWVjs7QThGNXlWUTtFQUNFO0E5Rit5VlY7O0E4Rmh6VlE7RUFDRTtBOUZtelZWOztBOEZwelZRO0VBQ0U7QTlGdXpWVjs7QThGeHpWUTtFQUNFO0E5RjJ6VlY7O0E4RjV6VlE7RUFDRTtBOUYrelZWOztBOEZoMFZRO0VBQ0U7QTlGbTBWVjs7QThGcDBWUTtFQUNFO0E5RnUwVlY7O0E4RngwVlE7RUFDRTtBOUYyMFZWOztBOEY1MFZRO0VBQ0U7QTlGKzBWVjs7QThGdDBWUTtFQU9JO0E5Rm0wVlo7O0E4RjEwVlE7RUFPSTtBOUZ1MFZaOztBOEY5MFZRO0VBT0k7QTlGMjBWWjs7QThGbDFWUTtFQU9JO0E5RiswVlo7O0E4RnQxVlE7RUFPSTtBOUZtMVZaOztBOEYxMVZRO0VBT0k7QTlGdTFWWjs7QThGOTFWUTtFQU9JO0E5RjIxVlo7O0E4RmwyVlE7RUFPSTtBOUYrMVZaOztBOEZ0MlZRO0VBT0k7QTlGbTJWWjs7QThGMTJWUTtFQU9JO0E5RnUyVlo7O0E4RjkyVlE7RUFPSTtBOUYyMlZaOztBOEZsM1ZRO0VBT0k7QTlGKzJWWjs7QThGdDNWUTtFQU9JO0E5Rm0zVlo7O0E4RjEzVlE7RUFPSTtBOUZ1M1ZaOztBOEY5M1ZRO0VBT0k7QTlGMjNWWjs7QThGbDRWUTtFQU9JO0E5RiszVlo7O0E4RnQ0VlE7RUFPSTtBOUZtNFZaOztBOEYxNFZRO0VBT0k7QTlGdTRWWjs7QThGOTRWUTtFQU9JO0E5RjI0Vlo7O0E4Rmw1VlE7RUFPSTtBOUYrNFZaOztBOEZ0NVZRO0VBT0k7QTlGbTVWWjs7QThGMTVWUTtFQU9JO0E5RnU1Vlo7O0E4Rjk1VlE7RUFPSTtBOUYyNVZaOztBOEZsNlZRO0VBT0k7RUFBQTtBOUZnNlZaOztBOEZ2NlZRO0VBT0k7RUFBQTtBOUZxNlZaOztBOEY1NlZRO0VBT0k7RUFBQTtBOUYwNlZaOztBOEZqN1ZRO0VBT0k7RUFBQTtBOUYrNlZaOztBOEZ0N1ZRO0VBT0k7RUFBQTtBOUZvN1ZaOztBOEYzN1ZRO0VBT0k7RUFBQTtBOUZ5N1ZaOztBOEZoOFZRO0VBT0k7RUFBQTtBOUY4N1ZaOztBOEZyOFZRO0VBT0k7RUFBQTtBOUZtOFZaOztBOEYxOFZRO0VBT0k7RUFBQTtBOUZ3OFZaOztBOEYvOFZRO0VBT0k7RUFBQTtBOUY2OFZaOztBOEZwOVZRO0VBT0k7RUFBQTtBOUZrOVZaOztBOEZ6OVZRO0VBT0k7RUFBQTtBOUZ1OVZaOztBOEY5OVZRO0VBT0k7RUFBQTtBOUY0OVZaOztBOEZuK1ZRO0VBT0k7RUFBQTtBOUZpK1ZaOztBOEZ4K1ZRO0VBT0k7RUFBQTtBOUZzK1ZaOztBOEY3K1ZRO0VBT0k7RUFBQTtBOUYyK1ZaOztBOEZsL1ZRO0VBT0k7RUFBQTtBOUZnL1ZaOztBOEZ2L1ZRO0VBT0k7RUFBQTtBOUZxL1ZaOztBOEY1L1ZRO0VBT0k7RUFBQTtBOUYwL1ZaOztBOEZqZ1dRO0VBT0k7RUFBQTtBOUYrL1ZaOztBOEZ0Z1dRO0VBT0k7RUFBQTtBOUZvZ1daOztBOEYzZ1dRO0VBT0k7RUFBQTtBOUZ5Z1daOztBOEZoaFdRO0VBT0k7RUFBQTtBOUY4Z1daOztBOEZyaFdRO0VBT0k7RUFBQTtBOUZtaFdaOztBOEYxaFdRO0VBT0k7RUFBQTtBOUZ3aFdaOztBOEYvaFdRO0VBT0k7RUFBQTtBOUY2aFdaOztBOEZwaVdRO0VBT0k7RUFBQTtBOUZraVdaOztBOEZ6aVdRO0VBT0k7RUFBQTtBOUZ1aVdaOztBOEY5aVdRO0VBT0k7RUFBQTtBOUY0aVdaOztBOEZualdRO0VBT0k7RUFBQTtBOUZpaldaOztBOEZ4aldRO0VBT0k7RUFBQTtBOUZzaldaOztBOEY3aldRO0VBT0k7RUFBQTtBOUYyaldaOztBOEZsa1dRO0VBT0k7RUFBQTtBOUZna1daOztBOEZ2a1dRO0VBT0k7RUFBQTtBOUZxa1daOztBOEY1a1dRO0VBT0k7RUFBQTtBOUYwa1daOztBOEZqbFdRO0VBT0k7RUFBQTtBOUYra1daOztBOEZ0bFdRO0VBT0k7QTlGbWxXWjs7QThGMWxXUTtFQU9JO0E5RnVsV1o7O0E4RjlsV1E7RUFPSTtBOUYybFdaOztBOEZsbVdRO0VBT0k7QTlGK2xXWjs7QThGdG1XUTtFQU9JO0E5Rm1tV1o7O0E4RjFtV1E7RUFPSTtBOUZ1bVdaOztBOEY5bVdRO0VBT0k7QTlGMm1XWjs7QThGbG5XUTtFQU9JO0E5RittV1o7O0E4RnRuV1E7RUFPSTtBOUZtbldaOztBOEYxbldRO0VBT0k7QTlGdW5XWjs7QThGOW5XUTtFQU9JO0E5RjJuV1o7O0E4RmxvV1E7RUFPSTtBOUYrbldaOztBOEZ0b1dRO0VBT0k7QTlGbW9XWjs7QThGMW9XUTtFQU9JO0E5RnVvV1o7O0E4RjlvV1E7RUFPSTtBOUYyb1daOztBOEZscFdRO0VBT0k7QTlGK29XWjs7QThGdHBXUTtFQU9JO0E5Rm1wV1o7O0E4RjFwV1E7RUFPSTtBOUZ1cFdaOztBOEY5cFdRO0VBT0k7QTlGMnBXWjs7QThGbHFXUTtFQU9JO0E5RitwV1o7O0E4RnRxV1E7RUFPSTtBOUZtcVdaOztBOEYxcVdRO0VBT0k7QTlGdXFXWjs7QThGOXFXUTtFQU9JO0E5RjJxV1o7O0E4RmxyV1E7RUFPSTtBOUYrcVdaOztBOEZ0cldRO0VBT0k7RUFBQTtBOUZvcldaOztBOEYzcldRO0VBT0k7RUFBQTtBOUZ5cldaOztBOEZoc1dRO0VBT0k7RUFBQTtBOUY4cldaOztBOEZyc1dRO0VBT0k7RUFBQTtBOUZtc1daOztBOEYxc1dRO0VBT0k7RUFBQTtBOUZ3c1daOztBOEYvc1dRO0VBT0k7RUFBQTtBOUY2c1daOztBOEZwdFdRO0VBT0k7RUFBQTtBOUZrdFdaOztBOEZ6dFdRO0VBT0k7RUFBQTtBOUZ1dFdaOztBOEY5dFdRO0VBT0k7RUFBQTtBOUY0dFdaOztBOEZudVdRO0VBT0k7RUFBQTtBOUZpdVdaOztBOEZ4dVdRO0VBT0k7RUFBQTtBOUZzdVdaOztBOEY3dVdRO0VBT0k7RUFBQTtBOUYydVdaOztBOEZsdldRO0VBT0k7QTlGK3VXWjs7QThGdHZXUTtFQU9JO0E5Rm12V1o7O0E4RjF2V1E7RUFPSTtBOUZ1dldaOztBOEY5dldRO0VBT0k7QTlGMnZXWjs7QThGbHdXUTtFQU9JO0E5Rit2V1o7O0E4RnR3V1E7RUFPSTtBOUZtd1daOztBOEYxd1dRO0VBT0k7QTlGdXdXWjs7QThGOXdXUTtFQU9JO0E5RjJ3V1o7O0E4Rmx4V1E7RUFPSTtBOUYrd1daOztBOEZ0eFdRO0VBT0k7QTlGbXhXWjs7QThGMXhXUTtFQU9JO0E5RnV4V1o7O0E4Rjl4V1E7RUFPSTtBOUYyeFdaOztBOEZseVdRO0VBT0k7QTlGK3hXWjs7QThGdHlXUTtFQU9JO0E5Rm15V1o7O0E4RjF5V1E7RUFPSTtBOUZ1eVdaOztBOEY5eVdRO0VBT0k7QTlGMnlXWjs7QThGbHpXUTtFQU9JO0E5Rit5V1o7O0E4RnR6V1E7RUFPSTtBOUZteldaOztBOEYxeldRO0VBT0k7QTlGdXpXWjs7QThGOXpXUTtFQU9JO0E5RjJ6V1o7O0E4RmwwV1E7RUFPSTtBOUYreldaOztBOEZ0MFdRO0VBT0k7QTlGbTBXWjs7QThGMTBXUTtFQU9JO0E5RnUwV1o7O0E4RjkwV1E7RUFPSTtBOUYyMFdaOztBOEZsMVdRO0VBT0k7QTlGKzBXWjs7QThGdDFXUTtFQU9JO0E5Rm0xV1o7O0E4RjExV1E7RUFPSTtBOUZ1MVdaOztBOEY5MVdRO0VBT0k7QTlGMjFXWjs7QThGbDJXUTtFQU9JO0E5RisxV1o7O0E4RnQyV1E7RUFPSTtBOUZtMldaOztBOEYxMldRO0VBT0k7QTlGdTJXWjs7QThGOTJXUTtFQU9JO0E5RjIyV1o7O0E4RmwzV1E7RUFPSTtBOUYrMldaOztBOEZ0M1dRO0VBT0k7QTlGbTNXWjs7QThGMTNXUTtFQU9JO0E5RnUzV1o7O0E4RmwzV1U7RUFPSTtBOUYrMldkOztBOEZsNFdRO0VBT0k7QTlGKzNXWjs7QThGMTNXVTtFQU9JO0E5RnUzV2Q7O0E4RjE0V1E7RUFPSTtBOUZ1NFdaOztBOEZsNFdVO0VBT0k7QTlGKzNXZDs7QThGbDVXUTtFQU9JO0E5Ris0V1o7O0E4RjE0V1U7RUFPSTtBOUZ1NFdkOztBOEYxNVdRO0VBT0k7QTlGdTVXWjs7QThGbDVXVTtFQU9JO0E5Ris0V2Q7O0FtQnI2V0k7RTJFR0k7SUFPSTtFOUZnNldWO0U4RnY2V007SUFPSTtFOUZtNldWO0U4RjE2V007SUFPSTtFOUZzNldWO0U4Rjc2V007SUFPSTtFOUZ5NldWO0U4Rmg3V007SUFPSTtFOUY0NldWO0U4Rm43V007SUFPSTtFOUYrNldWO0U4RnQ3V007SUFPSTtFOUZrN1dWO0U4Rno3V007SUFPSTtFOUZxN1dWO0U4RjU3V007SUFPSTtFOUZ3N1dWO0U4Ri83V007SUFPSTtFOUYyN1dWO0U4Rmw4V007SUFPSTtFOUY4N1dWO0U4RnI4V007SUFPSTtFOUZpOFdWO0U4Rng4V007SUFPSTtFOUZvOFdWO0U4RjM4V007SUFPSTtFOUZ1OFdWO0U4Rjk4V007SUFPSTtFOUYwOFdWO0U4Rmo5V007SUFPSTtFOUY2OFdWO0U4RnA5V007SUFPSTtFOUZnOVdWO0U4RnY5V007SUFPSTtFOUZtOVdWO0U4RjE5V007SUFPSTtFOUZzOVdWO0U4Rjc5V007SUFPSTtFOUZ5OVdWO0U4RmgrV007SUFPSTtFOUY0OVdWO0U4Rm4rV007SUFPSTtFOUYrOVdWO0U4RnQrV007SUFPSTtFOUZrK1dWO0U4RnorV007SUFPSTtFOUZxK1dWO0U4RjUrV007SUFPSTtFOUZ3K1dWO0U4Ri8rV007SUFPSTtFOUYyK1dWO0U4RmwvV007SUFPSTtFOUY4K1dWO0U4RnIvV007SUFPSTtFOUZpL1dWO0U4RngvV007SUFPSTtFOUZvL1dWO0U4RjMvV007SUFPSTtFOUZ1L1dWO0U4RjkvV007SUFPSTtFOUYwL1dWO0U4RmpnWE07SUFPSTtFOUY2L1dWO0U4RnBnWE07SUFPSTtFOUZnZ1hWO0U4RnZnWE07SUFPSTtFOUZtZ1hWO0U4RjFnWE07SUFPSTtFOUZzZ1hWO0U4RjdnWE07SUFPSTtFOUZ5Z1hWO0U4RmhoWE07SUFPSTtFOUY0Z1hWO0U4Rm5oWE07SUFPSTtFOUYrZ1hWO0U4RnRoWE07SUFPSTtFOUZraFhWO0U4RnpoWE07SUFPSTtFOUZxaFhWO0U4RjVoWE07SUFPSTtFOUZ3aFhWO0U4Ri9oWE07SUFPSTtFOUYyaFhWO0U4RmxpWE07SUFPSTtFOUY4aFhWO0U4RnJpWE07SUFPSTtFOUZpaVhWO0U4RnhpWE07SUFPSTtFOUZvaVhWO0U4RjNpWE07SUFPSTtFOUZ1aVhWO0U4RjlpWE07SUFPSTtFOUYwaVhWO0U4RmpqWE07SUFPSTtFOUY2aVhWO0U4RnBqWE07SUFPSTtFOUZnalhWO0U4RnZqWE07SUFPSTtFOUZtalhWO0U4RjFqWE07SUFPSTtFOUZzalhWO0U4RjdqWE07SUFPSTtFOUZ5alhWO0U4RmhrWE07SUFPSTtFOUY0alhWO0U4Rm5rWE07SUFPSTtFOUYralhWO0U4RnRrWE07SUFPSTtFOUZra1hWO0U4RnprWE07SUFPSTtFOUZxa1hWO0U4RjVrWE07SUFPSTtFOUZ3a1hWO0U4Ri9rWE07SUFPSTtFOUYya1hWO0U4RmxsWE07SUFPSTtFOUY4a1hWO0U4RnJsWE07SUFPSTtFOUZpbFhWO0U4RnhsWE07SUFPSTtFOUZvbFhWO0U4RjNsWE07SUFPSTtFOUZ1bFhWO0U4RjlsWE07SUFPSTtFOUYwbFhWO0U4RmptWE07SUFPSTtFOUY2bFhWO0U4RnBtWE07SUFPSTtFOUZnbVhWO0U4RnZtWE07SUFPSTtFOUZtbVhWO0U4RjFtWE07SUFPSTtFOUZzbVhWO0U4RjdtWE07SUFPSTtFOUZ5bVhWO0U4RmhuWE07SUFPSTtFOUY0bVhWO0U4Rm5uWE07SUFPSTtJQUFBO0U5RmduWFY7RThGdm5YTTtJQU9JO0lBQUE7RTlGb25YVjtFOEYzblhNO0lBT0k7SUFBQTtFOUZ3blhWO0U4Ri9uWE07SUFPSTtJQUFBO0U5RjRuWFY7RThGbm9YTTtJQU9JO0lBQUE7RTlGZ29YVjtFOEZ2b1hNO0lBT0k7SUFBQTtFOUZvb1hWO0U4RjNvWE07SUFPSTtJQUFBO0U5RndvWFY7RThGL29YTTtJQU9JO0lBQUE7RTlGNG9YVjtFOEZucFhNO0lBT0k7SUFBQTtFOUZncFhWO0U4RnZwWE07SUFPSTtJQUFBO0U5Rm9wWFY7RThGM3BYTTtJQU9JO0lBQUE7RTlGd3BYVjtFOEYvcFhNO0lBT0k7SUFBQTtFOUY0cFhWO0U4Rm5xWE07SUFPSTtJQUFBO0U5RmdxWFY7RThGdnFYTTtJQU9JO0lBQUE7RTlGb3FYVjtFOEYzcVhNO0lBT0k7RTlGdXFYVjtFOEY5cVhNO0lBT0k7RTlGMHFYVjtFOEZqclhNO0lBT0k7RTlGNnFYVjtFOEZwclhNO0lBT0k7RTlGZ3JYVjtFOEZ2clhNO0lBT0k7RTlGbXJYVjtFOEYxclhNO0lBT0k7RTlGc3JYVjtFOEY3clhNO0lBT0k7RTlGeXJYVjtFOEZoc1hNO0lBT0k7RTlGNHJYVjtFOEZuc1hNO0lBT0k7RTlGK3JYVjtFOEZ0c1hNO0lBT0k7RTlGa3NYVjtFOEZ6c1hNO0lBT0k7RTlGcXNYVjtFOEY1c1hNO0lBT0k7RTlGd3NYVjtFOEYvc1hNO0lBT0k7RTlGMnNYVjtFOEZsdFhNO0lBT0k7RTlGOHNYVjtFOEZydFhNO0lBT0k7RTlGaXRYVjtFOEZ4dFhNO0lBT0k7RTlGb3RYVjtFOEYzdFhNO0lBT0k7RTlGdXRYVjtFOEY5dFhNO0lBT0k7RTlGMHRYVjtFOEZqdVhNO0lBT0k7RTlGNnRYVjtFOEZwdVhNO0lBT0k7RTlGZ3VYVjtFOEZ2dVhNO0lBT0k7RTlGbXVYVjtFOEYxdVhNO0lBT0k7RTlGc3VYVjtFOEY3dVhNO0lBT0k7RTlGeXVYVjtFOEZodlhNO0lBT0k7RTlGNHVYVjtFOEZudlhNO0lBT0k7RTlGK3VYVjtFOEZ0dlhNO0lBT0k7RTlGa3ZYVjtFOEZ6dlhNO0lBT0k7RTlGcXZYVjtFOEY1dlhNO0lBT0k7RTlGd3ZYVjtFOEYvdlhNO0lBT0k7RTlGMnZYVjtFOEZsd1hNO0lBT0k7RTlGOHZYVjtFOEZyd1hNO0lBT0k7RTlGaXdYVjtFOEZ4d1hNO0lBT0k7RTlGb3dYVjtFOEYzd1hNO0lBT0k7RTlGdXdYVjtFOEY5d1hNO0lBT0k7RTlGMHdYVjtFOEZqeFhNO0lBT0k7SUFBQTtFOUY4d1hWO0U4RnJ4WE07SUFPSTtJQUFBO0U5Rmt4WFY7RThGenhYTTtJQU9JO0lBQUE7RTlGc3hYVjtFOEY3eFhNO0lBT0k7SUFBQTtFOUYweFhWO0U4Rmp5WE07SUFPSTtJQUFBO0U5Rjh4WFY7RThGcnlYTTtJQU9JO0lBQUE7RTlGa3lYVjtFOEZ6eVhNO0lBT0k7SUFBQTtFOUZzeVhWO0U4Rjd5WE07SUFPSTtJQUFBO0U5RjB5WFY7RThGanpYTTtJQU9JO0lBQUE7RTlGOHlYVjtFOEZyelhNO0lBT0k7SUFBQTtFOUZrelhWO0U4Rnp6WE07SUFPSTtJQUFBO0U5RnN6WFY7RThGN3pYTTtJQU9JO0lBQUE7RTlGMHpYVjtFOEZqMFhNO0lBT0k7RTlGNnpYVjtFOEZwMFhNO0lBT0k7RTlGZzBYVjtFOEZ2MFhNO0lBT0k7RTlGbTBYVjtFOEYxMFhNO0lBT0k7RTlGczBYVjtFOEY3MFhNO0lBT0k7RTlGeTBYVjtFOEZoMVhNO0lBT0k7RTlGNDBYVjtFOEZuMVhNO0lBT0k7RTlGKzBYVjtFOEZ0MVhNO0lBT0k7RTlGazFYVjtFOEZ6MVhNO0lBT0k7RTlGcTFYVjtFOEY1MVhNO0lBT0k7RTlGdzFYVjtFOEYvMVhNO0lBT0k7RTlGMjFYVjtFOEZsMlhNO0lBT0k7RTlGODFYVjtFOEZyMlhNO0lBT0k7RTlGaTJYVjtFOEZ4MlhNO0lBT0k7RTlGbzJYVjtFOEYzMlhNO0lBT0k7RTlGdTJYVjtFOEY5MlhNO0lBT0k7RTlGMDJYVjtFOEZqM1hNO0lBT0k7RTlGNjJYVjtFOEZwM1hNO0lBT0k7RTlGZzNYVjtFOEZ2M1hNO0lBT0k7RTlGbTNYVjtFOEYxM1hNO0lBT0k7RTlGczNYVjtFOEY3M1hNO0lBT0k7RTlGeTNYVjtFOEZoNFhNO0lBT0k7RTlGNDNYVjtFOEZuNFhNO0lBT0k7RTlGKzNYVjtFOEZ0NFhNO0lBT0k7RTlGazRYVjtFOEZ6NFhNO0lBT0k7RTlGcTRYVjtFOEY1NFhNO0lBT0k7RTlGdzRYVjtFOEYvNFhNO0lBT0k7RTlGMjRYVjtFOEZsNVhNO0lBT0k7RTlGODRYVjtFOEZyNVhNO0lBT0k7RTlGaTVYVjtFOEZ4NVhNO0lBT0k7RTlGbzVYVjtFOEYzNVhNO0lBT0k7RTlGdTVYVjtFOEY5NVhNO0lBT0k7RTlGMDVYVjtFOEZqNlhNO0lBT0k7RTlGNjVYVjtFOEZwNlhNO0lBT0k7RTlGZzZYVjtFOEZ2NlhNO0lBT0k7RTlGbTZYVjtFOEYxNlhNO0lBT0k7RTlGczZYVjtFOEY3NlhNO0lBT0k7RTlGeTZYVjtFOEZoN1hNO0lBT0k7RTlGNDZYVjtFOEZuN1hNO0lBT0k7RTlGKzZYVjtFOEZ0N1hNO0lBT0k7RTlGazdYVjtFOEZ6N1hNO0lBT0k7RTlGcTdYVjtFOEY1N1hNO0lBT0k7RTlGdzdYVjtFOEYvN1hNO0lBT0k7RTlGMjdYVjtFOEZsOFhNO0lBT0k7RTlGODdYVjtFOEZyOFhNO0lBT0k7RTlGaThYVjtFOEZ4OFhNO0lBT0k7RTlGbzhYVjtFOEYzOFhNO0lBT0k7RTlGdThYVjtFOEY5OFhNO0lBT0k7RTlGMDhYVjtFOEZqOVhNO0lBT0k7RTlGNjhYVjtFOEZwOVhNO0lBT0k7RTlGZzlYVjtFOEZ2OVhNO0lBT0k7RTlGbTlYVjtFOEYxOVhNO0lBT0k7RTlGczlYVjtFOEY3OVhNO0lBT0k7RTlGeTlYVjtFOEZoK1hNO0lBT0k7RTlGNDlYVjtFOEZuK1hNO0lBT0k7RTlGKzlYVjtFOEZ0K1hNO0lBT0k7RTlGaytYVjtFOEZ6K1hNO0lBT0k7RTlGcStYVjtFOEY1K1hNO0lBT0k7RTlGdytYVjtFOEYvK1hNO0lBT0k7RTlGMitYVjtFOEZsL1hNO0lBT0k7RTlGOCtYVjtFOEZyL1hNO0lBT0k7SUFBQTtFOUZrL1hWO0U4RnovWE07SUFPSTtJQUFBO0U5RnMvWFY7RThGNy9YTTtJQU9JO0lBQUE7RTlGMC9YVjtFOEZqZ1lNO0lBT0k7SUFBQTtFOUY4L1hWO0U4RnJnWU07SUFPSTtJQUFBO0U5RmtnWVY7RThGemdZTTtJQU9JO0lBQUE7RTlGc2dZVjtFOEY3Z1lNO0lBT0k7SUFBQTtFOUYwZ1lWO0U4RmpoWU07SUFPSTtJQUFBO0U5RjhnWVY7RThGcmhZTTtJQU9JO0lBQUE7RTlGa2hZVjtFOEZ6aFlNO0lBT0k7SUFBQTtFOUZzaFlWO0U4RjdoWU07SUFPSTtJQUFBO0U5RjBoWVY7RThGamlZTTtJQU9JO0lBQUE7RTlGOGhZVjtFOEZyaVlNO0lBT0k7RTlGaWlZVjtFOEZ4aVlNO0lBT0k7RTlGb2lZVjtFOEYzaVlNO0lBT0k7RTlGdWlZVjtFOEY5aVlNO0lBT0k7RTlGMGlZVjtFOEZqallNO0lBT0k7RTlGNmlZVjtFOEZwallNO0lBT0k7RTlGZ2pZVjtFOEZ2allNO0lBT0k7RTlGbWpZVjtFOEYxallNO0lBT0k7RTlGc2pZVjtFOEY3allNO0lBT0k7RTlGeWpZVjtFOEZoa1lNO0lBT0k7RTlGNGpZVjtFOEZua1lNO0lBT0k7RTlGK2pZVjtFOEZ0a1lNO0lBT0k7RTlGa2tZVjtFOEZ6a1lNO0lBT0k7RTlGcWtZVjtFOEY1a1lNO0lBT0k7RTlGd2tZVjtFOEYva1lNO0lBT0k7RTlGMmtZVjtFOEZsbFlNO0lBT0k7RTlGOGtZVjtFOEZybFlNO0lBT0k7RTlGaWxZVjtFOEZ4bFlNO0lBT0k7RTlGb2xZVjtFOEYzbFlNO0lBT0k7RTlGdWxZVjtFOEY5bFlNO0lBT0k7RTlGMGxZVjtFOEZqbVlNO0lBT0k7RTlGNmxZVjtFOEZwbVlNO0lBT0k7RTlGZ21ZVjtFOEZ2bVlNO0lBT0k7RTlGbW1ZVjtFOEYxbVlNO0lBT0k7RTlGc21ZVjtBQUNGO0FtQmpuWUk7RTJFR0k7SUFPSTtFOUYybVlWO0U4RmxuWU07SUFPSTtFOUY4bVlWO0U4RnJuWU07SUFPSTtFOUZpbllWO0U4RnhuWU07SUFPSTtFOUZvbllWO0U4RjNuWU07SUFPSTtFOUZ1bllWO0U4RjluWU07SUFPSTtFOUYwbllWO0U4RmpvWU07SUFPSTtFOUY2bllWO0U4RnBvWU07SUFPSTtFOUZnb1lWO0U4RnZvWU07SUFPSTtFOUZtb1lWO0U4RjFvWU07SUFPSTtFOUZzb1lWO0U4RjdvWU07SUFPSTtFOUZ5b1lWO0U4RmhwWU07SUFPSTtFOUY0b1lWO0U4Rm5wWU07SUFPSTtFOUYrb1lWO0U4RnRwWU07SUFPSTtFOUZrcFlWO0U4RnpwWU07SUFPSTtFOUZxcFlWO0U4RjVwWU07SUFPSTtFOUZ3cFlWO0U4Ri9wWU07SUFPSTtFOUYycFlWO0U4RmxxWU07SUFPSTtFOUY4cFlWO0U4RnJxWU07SUFPSTtFOUZpcVlWO0U4RnhxWU07SUFPSTtFOUZvcVlWO0U4RjNxWU07SUFPSTtFOUZ1cVlWO0U4RjlxWU07SUFPSTtFOUYwcVlWO0U4RmpyWU07SUFPSTtFOUY2cVlWO0U4RnByWU07SUFPSTtFOUZncllWO0U4RnZyWU07SUFPSTtFOUZtcllWO0U4RjFyWU07SUFPSTtFOUZzcllWO0U4RjdyWU07SUFPSTtFOUZ5cllWO0U4RmhzWU07SUFPSTtFOUY0cllWO0U4Rm5zWU07SUFPSTtFOUYrcllWO0U4RnRzWU07SUFPSTtFOUZrc1lWO0U4RnpzWU07SUFPSTtFOUZxc1lWO0U4RjVzWU07SUFPSTtFOUZ3c1lWO0U4Ri9zWU07SUFPSTtFOUYyc1lWO0U4Rmx0WU07SUFPSTtFOUY4c1lWO0U4RnJ0WU07SUFPSTtFOUZpdFlWO0U4Rnh0WU07SUFPSTtFOUZvdFlWO0U4RjN0WU07SUFPSTtFOUZ1dFlWO0U4Rjl0WU07SUFPSTtFOUYwdFlWO0U4Rmp1WU07SUFPSTtFOUY2dFlWO0U4RnB1WU07SUFPSTtFOUZndVlWO0U4RnZ1WU07SUFPSTtFOUZtdVlWO0U4RjF1WU07SUFPSTtFOUZzdVlWO0U4Rjd1WU07SUFPSTtFOUZ5dVlWO0U4Rmh2WU07SUFPSTtFOUY0dVlWO0U4Rm52WU07SUFPSTtFOUYrdVlWO0U4RnR2WU07SUFPSTtFOUZrdllWO0U4Rnp2WU07SUFPSTtFOUZxdllWO0U4RjV2WU07SUFPSTtFOUZ3dllWO0U4Ri92WU07SUFPSTtFOUYydllWO0U4Rmx3WU07SUFPSTtFOUY4dllWO0U4RnJ3WU07SUFPSTtFOUZpd1lWO0U4Rnh3WU07SUFPSTtFOUZvd1lWO0U4RjN3WU07SUFPSTtFOUZ1d1lWO0U4Rjl3WU07SUFPSTtFOUYwd1lWO0U4Rmp4WU07SUFPSTtFOUY2d1lWO0U4RnB4WU07SUFPSTtFOUZneFlWO0U4RnZ4WU07SUFPSTtFOUZteFlWO0U4RjF4WU07SUFPSTtFOUZzeFlWO0U4Rjd4WU07SUFPSTtFOUZ5eFlWO0U4Rmh5WU07SUFPSTtFOUY0eFlWO0U4Rm55WU07SUFPSTtFOUYreFlWO0U4RnR5WU07SUFPSTtFOUZreVlWO0U4Rnp5WU07SUFPSTtFOUZxeVlWO0U4RjV5WU07SUFPSTtFOUZ3eVlWO0U4Ri95WU07SUFPSTtFOUYyeVlWO0U4Rmx6WU07SUFPSTtFOUY4eVlWO0U4RnJ6WU07SUFPSTtFOUZpellWO0U4Rnh6WU07SUFPSTtFOUZvellWO0U4RjN6WU07SUFPSTtFOUZ1ellWO0U4Rjl6WU07SUFPSTtJQUFBO0U5RjJ6WVY7RThGbDBZTTtJQU9JO0lBQUE7RTlGK3pZVjtFOEZ0MFlNO0lBT0k7SUFBQTtFOUZtMFlWO0U4RjEwWU07SUFPSTtJQUFBO0U5RnUwWVY7RThGOTBZTTtJQU9JO0lBQUE7RTlGMjBZVjtFOEZsMVlNO0lBT0k7SUFBQTtFOUYrMFlWO0U4RnQxWU07SUFPSTtJQUFBO0U5Rm0xWVY7RThGMTFZTTtJQU9JO0lBQUE7RTlGdTFZVjtFOEY5MVlNO0lBT0k7SUFBQTtFOUYyMVlWO0U4RmwyWU07SUFPSTtJQUFBO0U5RisxWVY7RThGdDJZTTtJQU9JO0lBQUE7RTlGbTJZVjtFOEYxMllNO0lBT0k7SUFBQTtFOUZ1MllWO0U4RjkyWU07SUFPSTtJQUFBO0U5RjIyWVY7RThGbDNZTTtJQU9JO0lBQUE7RTlGKzJZVjtFOEZ0M1lNO0lBT0k7RTlGazNZVjtFOEZ6M1lNO0lBT0k7RTlGcTNZVjtFOEY1M1lNO0lBT0k7RTlGdzNZVjtFOEYvM1lNO0lBT0k7RTlGMjNZVjtFOEZsNFlNO0lBT0k7RTlGODNZVjtFOEZyNFlNO0lBT0k7RTlGaTRZVjtFOEZ4NFlNO0lBT0k7RTlGbzRZVjtFOEYzNFlNO0lBT0k7RTlGdTRZVjtFOEY5NFlNO0lBT0k7RTlGMDRZVjtFOEZqNVlNO0lBT0k7RTlGNjRZVjtFOEZwNVlNO0lBT0k7RTlGZzVZVjtFOEZ2NVlNO0lBT0k7RTlGbTVZVjtFOEYxNVlNO0lBT0k7RTlGczVZVjtFOEY3NVlNO0lBT0k7RTlGeTVZVjtFOEZoNllNO0lBT0k7RTlGNDVZVjtFOEZuNllNO0lBT0k7RTlGKzVZVjtFOEZ0NllNO0lBT0k7RTlGazZZVjtFOEZ6NllNO0lBT0k7RTlGcTZZVjtFOEY1NllNO0lBT0k7RTlGdzZZVjtFOEYvNllNO0lBT0k7RTlGMjZZVjtFOEZsN1lNO0lBT0k7RTlGODZZVjtFOEZyN1lNO0lBT0k7RTlGaTdZVjtFOEZ4N1lNO0lBT0k7RTlGbzdZVjtFOEYzN1lNO0lBT0k7RTlGdTdZVjtFOEY5N1lNO0lBT0k7RTlGMDdZVjtFOEZqOFlNO0lBT0k7RTlGNjdZVjtFOEZwOFlNO0lBT0k7RTlGZzhZVjtFOEZ2OFlNO0lBT0k7RTlGbThZVjtFOEYxOFlNO0lBT0k7RTlGczhZVjtFOEY3OFlNO0lBT0k7RTlGeThZVjtFOEZoOVlNO0lBT0k7RTlGNDhZVjtFOEZuOVlNO0lBT0k7RTlGKzhZVjtFOEZ0OVlNO0lBT0k7RTlGazlZVjtFOEZ6OVlNO0lBT0k7RTlGcTlZVjtFOEY1OVlNO0lBT0k7SUFBQTtFOUZ5OVlWO0U4RmgrWU07SUFPSTtJQUFBO0U5RjY5WVY7RThGcCtZTTtJQU9JO0lBQUE7RTlGaStZVjtFOEZ4K1lNO0lBT0k7SUFBQTtFOUZxK1lWO0U4RjUrWU07SUFPSTtJQUFBO0U5RnkrWVY7RThGaC9ZTTtJQU9JO0lBQUE7RTlGNitZVjtFOEZwL1lNO0lBT0k7SUFBQTtFOUZpL1lWO0U4RngvWU07SUFPSTtJQUFBO0U5RnEvWVY7RThGNS9ZTTtJQU9JO0lBQUE7RTlGeS9ZVjtFOEZoZ1pNO0lBT0k7SUFBQTtFOUY2L1lWO0U4RnBnWk07SUFPSTtJQUFBO0U5RmlnWlY7RThGeGdaTTtJQU9JO0lBQUE7RTlGcWdaVjtFOEY1Z1pNO0lBT0k7RTlGd2daVjtFOEYvZ1pNO0lBT0k7RTlGMmdaVjtFOEZsaFpNO0lBT0k7RTlGOGdaVjtFOEZyaFpNO0lBT0k7RTlGaWhaVjtFOEZ4aFpNO0lBT0k7RTlGb2haVjtFOEYzaFpNO0lBT0k7RTlGdWhaVjtFOEY5aFpNO0lBT0k7RTlGMGhaVjtFOEZqaVpNO0lBT0k7RTlGNmhaVjtFOEZwaVpNO0lBT0k7RTlGZ2laVjtFOEZ2aVpNO0lBT0k7RTlGbWlaVjtFOEYxaVpNO0lBT0k7RTlGc2laVjtFOEY3aVpNO0lBT0k7RTlGeWlaVjtFOEZoalpNO0lBT0k7RTlGNGlaVjtFOEZualpNO0lBT0k7RTlGK2laVjtFOEZ0alpNO0lBT0k7RTlGa2paVjtFOEZ6alpNO0lBT0k7RTlGcWpaVjtFOEY1alpNO0lBT0k7RTlGd2paVjtFOEYvalpNO0lBT0k7RTlGMmpaVjtFOEZsa1pNO0lBT0k7RTlGOGpaVjtFOEZya1pNO0lBT0k7RTlGaWtaVjtFOEZ4a1pNO0lBT0k7RTlGb2taVjtFOEYza1pNO0lBT0k7RTlGdWtaVjtFOEY5a1pNO0lBT0k7RTlGMGtaVjtFOEZqbFpNO0lBT0k7RTlGNmtaVjtFOEZwbFpNO0lBT0k7RTlGZ2xaVjtFOEZ2bFpNO0lBT0k7RTlGbWxaVjtFOEYxbFpNO0lBT0k7RTlGc2xaVjtFOEY3bFpNO0lBT0k7RTlGeWxaVjtFOEZobVpNO0lBT0k7RTlGNGxaVjtFOEZubVpNO0lBT0k7RTlGK2xaVjtFOEZ0bVpNO0lBT0k7RTlGa21aVjtFOEZ6bVpNO0lBT0k7RTlGcW1aVjtFOEY1bVpNO0lBT0k7RTlGd21aVjtFOEYvbVpNO0lBT0k7RTlGMm1aVjtFOEZsblpNO0lBT0k7RTlGOG1aVjtFOEZyblpNO0lBT0k7RTlGaW5aVjtFOEZ4blpNO0lBT0k7RTlGb25aVjtFOEYzblpNO0lBT0k7RTlGdW5aVjtFOEY5blpNO0lBT0k7RTlGMG5aVjtFOEZqb1pNO0lBT0k7RTlGNm5aVjtFOEZwb1pNO0lBT0k7RTlGZ29aVjtFOEZ2b1pNO0lBT0k7RTlGbW9aVjtFOEYxb1pNO0lBT0k7RTlGc29aVjtFOEY3b1pNO0lBT0k7RTlGeW9aVjtFOEZocFpNO0lBT0k7RTlGNG9aVjtFOEZucFpNO0lBT0k7RTlGK29aVjtFOEZ0cFpNO0lBT0k7RTlGa3BaVjtFOEZ6cFpNO0lBT0k7RTlGcXBaVjtFOEY1cFpNO0lBT0k7RTlGd3BaVjtFOEYvcFpNO0lBT0k7RTlGMnBaVjtFOEZscVpNO0lBT0k7RTlGOHBaVjtFOEZycVpNO0lBT0k7RTlGaXFaVjtFOEZ4cVpNO0lBT0k7RTlGb3FaVjtFOEYzcVpNO0lBT0k7RTlGdXFaVjtFOEY5cVpNO0lBT0k7RTlGMHFaVjtFOEZqclpNO0lBT0k7RTlGNnFaVjtFOEZwclpNO0lBT0k7RTlGZ3JaVjtFOEZ2clpNO0lBT0k7RTlGbXJaVjtFOEYxclpNO0lBT0k7RTlGc3JaVjtFOEY3clpNO0lBT0k7RTlGeXJaVjtFOEZoc1pNO0lBT0k7SUFBQTtFOUY2clpWO0U4RnBzWk07SUFPSTtJQUFBO0U5RmlzWlY7RThGeHNaTTtJQU9JO0lBQUE7RTlGcXNaVjtFOEY1c1pNO0lBT0k7SUFBQTtFOUZ5c1pWO0U4Rmh0Wk07SUFPSTtJQUFBO0U5RjZzWlY7RThGcHRaTTtJQU9JO0lBQUE7RTlGaXRaVjtFOEZ4dFpNO0lBT0k7SUFBQTtFOUZxdFpWO0U4RjV0Wk07SUFPSTtJQUFBO0U5Rnl0WlY7RThGaHVaTTtJQU9JO0lBQUE7RTlGNnRaVjtFOEZwdVpNO0lBT0k7SUFBQTtFOUZpdVpWO0U4Rnh1Wk07SUFPSTtJQUFBO0U5RnF1WlY7RThGNXVaTTtJQU9JO0lBQUE7RTlGeXVaVjtFOEZodlpNO0lBT0k7RTlGNHVaVjtFOEZudlpNO0lBT0k7RTlGK3VaVjtFOEZ0dlpNO0lBT0k7RTlGa3ZaVjtFOEZ6dlpNO0lBT0k7RTlGcXZaVjtFOEY1dlpNO0lBT0k7RTlGd3ZaVjtFOEYvdlpNO0lBT0k7RTlGMnZaVjtFOEZsd1pNO0lBT0k7RTlGOHZaVjtFOEZyd1pNO0lBT0k7RTlGaXdaVjtFOEZ4d1pNO0lBT0k7RTlGb3daVjtFOEYzd1pNO0lBT0k7RTlGdXdaVjtFOEY5d1pNO0lBT0k7RTlGMHdaVjtFOEZqeFpNO0lBT0k7RTlGNndaVjtFOEZweFpNO0lBT0k7RTlGZ3haVjtFOEZ2eFpNO0lBT0k7RTlGbXhaVjtFOEYxeFpNO0lBT0k7RTlGc3haVjtFOEY3eFpNO0lBT0k7RTlGeXhaVjtFOEZoeVpNO0lBT0k7RTlGNHhaVjtFOEZueVpNO0lBT0k7RTlGK3haVjtFOEZ0eVpNO0lBT0k7RTlGa3laVjtFOEZ6eVpNO0lBT0k7RTlGcXlaVjtFOEY1eVpNO0lBT0k7RTlGd3laVjtFOEYveVpNO0lBT0k7RTlGMnlaVjtFOEZselpNO0lBT0k7RTlGOHlaVjtFOEZyelpNO0lBT0k7RTlGaXpaVjtBQUNGO0FtQjV6Wkk7RTJFR0k7SUFPSTtFOUZzelpWO0U4Rjd6Wk07SUFPSTtFOUZ5elpWO0U4RmgwWk07SUFPSTtFOUY0elpWO0U4Rm4wWk07SUFPSTtFOUYrelpWO0U4RnQwWk07SUFPSTtFOUZrMFpWO0U4RnowWk07SUFPSTtFOUZxMFpWO0U4RjUwWk07SUFPSTtFOUZ3MFpWO0U4Ri8wWk07SUFPSTtFOUYyMFpWO0U4RmwxWk07SUFPSTtFOUY4MFpWO0U4RnIxWk07SUFPSTtFOUZpMVpWO0U4RngxWk07SUFPSTtFOUZvMVpWO0U4RjMxWk07SUFPSTtFOUZ1MVpWO0U4RjkxWk07SUFPSTtFOUYwMVpWO0U4RmoyWk07SUFPSTtFOUY2MVpWO0U4RnAyWk07SUFPSTtFOUZnMlpWO0U4RnYyWk07SUFPSTtFOUZtMlpWO0U4RjEyWk07SUFPSTtFOUZzMlpWO0U4RjcyWk07SUFPSTtFOUZ5MlpWO0U4RmgzWk07SUFPSTtFOUY0MlpWO0U4Rm4zWk07SUFPSTtFOUYrMlpWO0U4RnQzWk07SUFPSTtFOUZrM1pWO0U4RnozWk07SUFPSTtFOUZxM1pWO0U4RjUzWk07SUFPSTtFOUZ3M1pWO0U4Ri8zWk07SUFPSTtFOUYyM1pWO0U4Rmw0Wk07SUFPSTtFOUY4M1pWO0U4RnI0Wk07SUFPSTtFOUZpNFpWO0U4Rng0Wk07SUFPSTtFOUZvNFpWO0U4RjM0Wk07SUFPSTtFOUZ1NFpWO0U4Rjk0Wk07SUFPSTtFOUYwNFpWO0U4Rmo1Wk07SUFPSTtFOUY2NFpWO0U4RnA1Wk07SUFPSTtFOUZnNVpWO0U4RnY1Wk07SUFPSTtFOUZtNVpWO0U4RjE1Wk07SUFPSTtFOUZzNVpWO0U4Rjc1Wk07SUFPSTtFOUZ5NVpWO0U4Rmg2Wk07SUFPSTtFOUY0NVpWO0U4Rm42Wk07SUFPSTtFOUYrNVpWO0U4RnQ2Wk07SUFPSTtFOUZrNlpWO0U4Rno2Wk07SUFPSTtFOUZxNlpWO0U4RjU2Wk07SUFPSTtFOUZ3NlpWO0U4Ri82Wk07SUFPSTtFOUYyNlpWO0U4Rmw3Wk07SUFPSTtFOUY4NlpWO0U4RnI3Wk07SUFPSTtFOUZpN1pWO0U4Rng3Wk07SUFPSTtFOUZvN1pWO0U4RjM3Wk07SUFPSTtFOUZ1N1pWO0U4Rjk3Wk07SUFPSTtFOUYwN1pWO0U4Rmo4Wk07SUFPSTtFOUY2N1pWO0U4RnA4Wk07SUFPSTtFOUZnOFpWO0U4RnY4Wk07SUFPSTtFOUZtOFpWO0U4RjE4Wk07SUFPSTtFOUZzOFpWO0U4Rjc4Wk07SUFPSTtFOUZ5OFpWO0U4Rmg5Wk07SUFPSTtFOUY0OFpWO0U4Rm45Wk07SUFPSTtFOUYrOFpWO0U4RnQ5Wk07SUFPSTtFOUZrOVpWO0U4Rno5Wk07SUFPSTtFOUZxOVpWO0U4RjU5Wk07SUFPSTtFOUZ3OVpWO0U4Ri85Wk07SUFPSTtFOUYyOVpWO0U4RmwrWk07SUFPSTtFOUY4OVpWO0U4RnIrWk07SUFPSTtFOUZpK1pWO0U4RngrWk07SUFPSTtFOUZvK1pWO0U4RjMrWk07SUFPSTtFOUZ1K1pWO0U4RjkrWk07SUFPSTtFOUYwK1pWO0U4RmovWk07SUFPSTtFOUY2K1pWO0U4RnAvWk07SUFPSTtFOUZnL1pWO0U4RnYvWk07SUFPSTtFOUZtL1pWO0U4RjEvWk07SUFPSTtFOUZzL1pWO0U4RjcvWk07SUFPSTtFOUZ5L1pWO0U4RmhnYU07SUFPSTtFOUY0L1pWO0U4Rm5nYU07SUFPSTtFOUYrL1pWO0U4RnRnYU07SUFPSTtFOUZrZ2FWO0U4RnpnYU07SUFPSTtJQUFBO0U5RnNnYVY7RThGN2dhTTtJQU9JO0lBQUE7RTlGMGdhVjtFOEZqaGFNO0lBT0k7SUFBQTtFOUY4Z2FWO0U4RnJoYU07SUFPSTtJQUFBO0U5RmtoYVY7RThGemhhTTtJQU9JO0lBQUE7RTlGc2hhVjtFOEY3aGFNO0lBT0k7SUFBQTtFOUYwaGFWO0U4RmppYU07SUFPSTtJQUFBO0U5RjhoYVY7RThGcmlhTTtJQU9JO0lBQUE7RTlGa2lhVjtFOEZ6aWFNO0lBT0k7SUFBQTtFOUZzaWFWO0U4RjdpYU07SUFPSTtJQUFBO0U5RjBpYVY7RThGamphTTtJQU9JO0lBQUE7RTlGOGlhVjtFOEZyamFNO0lBT0k7SUFBQTtFOUZramFWO0U4RnpqYU07SUFPSTtJQUFBO0U5RnNqYVY7RThGN2phTTtJQU9JO0lBQUE7RTlGMGphVjtFOEZqa2FNO0lBT0k7RTlGNmphVjtFOEZwa2FNO0lBT0k7RTlGZ2thVjtFOEZ2a2FNO0lBT0k7RTlGbWthVjtFOEYxa2FNO0lBT0k7RTlGc2thVjtFOEY3a2FNO0lBT0k7RTlGeWthVjtFOEZobGFNO0lBT0k7RTlGNGthVjtFOEZubGFNO0lBT0k7RTlGK2thVjtFOEZ0bGFNO0lBT0k7RTlGa2xhVjtFOEZ6bGFNO0lBT0k7RTlGcWxhVjtFOEY1bGFNO0lBT0k7RTlGd2xhVjtFOEYvbGFNO0lBT0k7RTlGMmxhVjtFOEZsbWFNO0lBT0k7RTlGOGxhVjtFOEZybWFNO0lBT0k7RTlGaW1hVjtFOEZ4bWFNO0lBT0k7RTlGb21hVjtFOEYzbWFNO0lBT0k7RTlGdW1hVjtFOEY5bWFNO0lBT0k7RTlGMG1hVjtFOEZqbmFNO0lBT0k7RTlGNm1hVjtFOEZwbmFNO0lBT0k7RTlGZ25hVjtFOEZ2bmFNO0lBT0k7RTlGbW5hVjtFOEYxbmFNO0lBT0k7RTlGc25hVjtFOEY3bmFNO0lBT0k7RTlGeW5hVjtFOEZob2FNO0lBT0k7RTlGNG5hVjtFOEZub2FNO0lBT0k7RTlGK25hVjtFOEZ0b2FNO0lBT0k7RTlGa29hVjtFOEZ6b2FNO0lBT0k7RTlGcW9hVjtFOEY1b2FNO0lBT0k7RTlGd29hVjtFOEYvb2FNO0lBT0k7RTlGMm9hVjtFOEZscGFNO0lBT0k7RTlGOG9hVjtFOEZycGFNO0lBT0k7RTlGaXBhVjtFOEZ4cGFNO0lBT0k7RTlGb3BhVjtFOEYzcGFNO0lBT0k7RTlGdXBhVjtFOEY5cGFNO0lBT0k7RTlGMHBhVjtFOEZqcWFNO0lBT0k7RTlGNnBhVjtFOEZwcWFNO0lBT0k7RTlGZ3FhVjtFOEZ2cWFNO0lBT0k7SUFBQTtFOUZvcWFWO0U4RjNxYU07SUFPSTtJQUFBO0U5RndxYVY7RThGL3FhTTtJQU9JO0lBQUE7RTlGNHFhVjtFOEZucmFNO0lBT0k7SUFBQTtFOUZncmFWO0U4RnZyYU07SUFPSTtJQUFBO0U5Rm9yYVY7RThGM3JhTTtJQU9JO0lBQUE7RTlGd3JhVjtFOEYvcmFNO0lBT0k7SUFBQTtFOUY0cmFWO0U4Rm5zYU07SUFPSTtJQUFBO0U5RmdzYVY7RThGdnNhTTtJQU9JO0lBQUE7RTlGb3NhVjtFOEYzc2FNO0lBT0k7SUFBQTtFOUZ3c2FWO0U4Ri9zYU07SUFPSTtJQUFBO0U5RjRzYVY7RThGbnRhTTtJQU9JO0lBQUE7RTlGZ3RhVjtFOEZ2dGFNO0lBT0k7RTlGbXRhVjtFOEYxdGFNO0lBT0k7RTlGc3RhVjtFOEY3dGFNO0lBT0k7RTlGeXRhVjtFOEZodWFNO0lBT0k7RTlGNHRhVjtFOEZudWFNO0lBT0k7RTlGK3RhVjtFOEZ0dWFNO0lBT0k7RTlGa3VhVjtFOEZ6dWFNO0lBT0k7RTlGcXVhVjtFOEY1dWFNO0lBT0k7RTlGd3VhVjtFOEYvdWFNO0lBT0k7RTlGMnVhVjtFOEZsdmFNO0lBT0k7RTlGOHVhVjtFOEZydmFNO0lBT0k7RTlGaXZhVjtFOEZ4dmFNO0lBT0k7RTlGb3ZhVjtFOEYzdmFNO0lBT0k7RTlGdXZhVjtFOEY5dmFNO0lBT0k7RTlGMHZhVjtFOEZqd2FNO0lBT0k7RTlGNnZhVjtFOEZwd2FNO0lBT0k7RTlGZ3dhVjtFOEZ2d2FNO0lBT0k7RTlGbXdhVjtFOEYxd2FNO0lBT0k7RTlGc3dhVjtFOEY3d2FNO0lBT0k7RTlGeXdhVjtFOEZoeGFNO0lBT0k7RTlGNHdhVjtFOEZueGFNO0lBT0k7RTlGK3dhVjtFOEZ0eGFNO0lBT0k7RTlGa3hhVjtFOEZ6eGFNO0lBT0k7RTlGcXhhVjtFOEY1eGFNO0lBT0k7RTlGd3hhVjtFOEYveGFNO0lBT0k7RTlGMnhhVjtFOEZseWFNO0lBT0k7RTlGOHhhVjtFOEZyeWFNO0lBT0k7RTlGaXlhVjtFOEZ4eWFNO0lBT0k7RTlGb3lhVjtFOEYzeWFNO0lBT0k7RTlGdXlhVjtFOEY5eWFNO0lBT0k7RTlGMHlhVjtFOEZqemFNO0lBT0k7RTlGNnlhVjtFOEZwemFNO0lBT0k7RTlGZ3phVjtFOEZ2emFNO0lBT0k7RTlGbXphVjtFOEYxemFNO0lBT0k7RTlGc3phVjtFOEY3emFNO0lBT0k7RTlGeXphVjtFOEZoMGFNO0lBT0k7RTlGNHphVjtFOEZuMGFNO0lBT0k7RTlGK3phVjtFOEZ0MGFNO0lBT0k7RTlGazBhVjtFOEZ6MGFNO0lBT0k7RTlGcTBhVjtFOEY1MGFNO0lBT0k7RTlGdzBhVjtFOEYvMGFNO0lBT0k7RTlGMjBhVjtFOEZsMWFNO0lBT0k7RTlGODBhVjtFOEZyMWFNO0lBT0k7RTlGaTFhVjtFOEZ4MWFNO0lBT0k7RTlGbzFhVjtFOEYzMWFNO0lBT0k7RTlGdTFhVjtFOEY5MWFNO0lBT0k7RTlGMDFhVjtFOEZqMmFNO0lBT0k7RTlGNjFhVjtFOEZwMmFNO0lBT0k7RTlGZzJhVjtFOEZ2MmFNO0lBT0k7RTlGbTJhVjtFOEYxMmFNO0lBT0k7RTlGczJhVjtFOEY3MmFNO0lBT0k7RTlGeTJhVjtFOEZoM2FNO0lBT0k7RTlGNDJhVjtFOEZuM2FNO0lBT0k7RTlGKzJhVjtFOEZ0M2FNO0lBT0k7RTlGazNhVjtFOEZ6M2FNO0lBT0k7RTlGcTNhVjtFOEY1M2FNO0lBT0k7RTlGdzNhVjtFOEYvM2FNO0lBT0k7RTlGMjNhVjtFOEZsNGFNO0lBT0k7RTlGODNhVjtFOEZyNGFNO0lBT0k7RTlGaTRhVjtFOEZ4NGFNO0lBT0k7RTlGbzRhVjtFOEYzNGFNO0lBT0k7SUFBQTtFOUZ3NGFWO0U4Ri80YU07SUFPSTtJQUFBO0U5RjQ0YVY7RThGbjVhTTtJQU9JO0lBQUE7RTlGZzVhVjtFOEZ2NWFNO0lBT0k7SUFBQTtFOUZvNWFWO0U4RjM1YU07SUFPSTtJQUFBO0U5Rnc1YVY7RThGLzVhTTtJQU9JO0lBQUE7RTlGNDVhVjtFOEZuNmFNO0lBT0k7SUFBQTtFOUZnNmFWO0U4RnY2YU07SUFPSTtJQUFBO0U5Rm82YVY7RThGMzZhTTtJQU9JO0lBQUE7RTlGdzZhVjtFOEYvNmFNO0lBT0k7SUFBQTtFOUY0NmFWO0U4Rm43YU07SUFPSTtJQUFBO0U5Rmc3YVY7RThGdjdhTTtJQU9JO0lBQUE7RTlGbzdhVjtFOEYzN2FNO0lBT0k7RTlGdTdhVjtFOEY5N2FNO0lBT0k7RTlGMDdhVjtFOEZqOGFNO0lBT0k7RTlGNjdhVjtFOEZwOGFNO0lBT0k7RTlGZzhhVjtFOEZ2OGFNO0lBT0k7RTlGbThhVjtFOEYxOGFNO0lBT0k7RTlGczhhVjtFOEY3OGFNO0lBT0k7RTlGeThhVjtFOEZoOWFNO0lBT0k7RTlGNDhhVjtFOEZuOWFNO0lBT0k7RTlGKzhhVjtFOEZ0OWFNO0lBT0k7RTlGazlhVjtFOEZ6OWFNO0lBT0k7RTlGcTlhVjtFOEY1OWFNO0lBT0k7RTlGdzlhVjtFOEYvOWFNO0lBT0k7RTlGMjlhVjtFOEZsK2FNO0lBT0k7RTlGODlhVjtFOEZyK2FNO0lBT0k7RTlGaSthVjtFOEZ4K2FNO0lBT0k7RTlGbythVjtFOEYzK2FNO0lBT0k7RTlGdSthVjtFOEY5K2FNO0lBT0k7RTlGMCthVjtFOEZqL2FNO0lBT0k7RTlGNithVjtFOEZwL2FNO0lBT0k7RTlGZy9hVjtFOEZ2L2FNO0lBT0k7RTlGbS9hVjtFOEYxL2FNO0lBT0k7RTlGcy9hVjtFOEY3L2FNO0lBT0k7RTlGeS9hVjtFOEZoZ2JNO0lBT0k7RTlGNC9hVjtBQUNGO0FtQnZnYkk7RTJFR0k7SUFPSTtFOUZpZ2JWO0U4RnhnYk07SUFPSTtFOUZvZ2JWO0U4RjNnYk07SUFPSTtFOUZ1Z2JWO0U4RjlnYk07SUFPSTtFOUYwZ2JWO0U4RmpoYk07SUFPSTtFOUY2Z2JWO0U4RnBoYk07SUFPSTtFOUZnaGJWO0U4RnZoYk07SUFPSTtFOUZtaGJWO0U4RjFoYk07SUFPSTtFOUZzaGJWO0U4RjdoYk07SUFPSTtFOUZ5aGJWO0U4RmhpYk07SUFPSTtFOUY0aGJWO0U4Rm5pYk07SUFPSTtFOUYraGJWO0U4RnRpYk07SUFPSTtFOUZraWJWO0U4RnppYk07SUFPSTtFOUZxaWJWO0U4RjVpYk07SUFPSTtFOUZ3aWJWO0U4Ri9pYk07SUFPSTtFOUYyaWJWO0U4RmxqYk07SUFPSTtFOUY4aWJWO0U4RnJqYk07SUFPSTtFOUZpamJWO0U4RnhqYk07SUFPSTtFOUZvamJWO0U4RjNqYk07SUFPSTtFOUZ1amJWO0U4RjlqYk07SUFPSTtFOUYwamJWO0U4RmprYk07SUFPSTtFOUY2amJWO0U4RnBrYk07SUFPSTtFOUZna2JWO0U4RnZrYk07SUFPSTtFOUZta2JWO0U4RjFrYk07SUFPSTtFOUZza2JWO0U4RjdrYk07SUFPSTtFOUZ5a2JWO0U4RmhsYk07SUFPSTtFOUY0a2JWO0U4Rm5sYk07SUFPSTtFOUYra2JWO0U4RnRsYk07SUFPSTtFOUZrbGJWO0U4RnpsYk07SUFPSTtFOUZxbGJWO0U4RjVsYk07SUFPSTtFOUZ3bGJWO0U4Ri9sYk07SUFPSTtFOUYybGJWO0U4RmxtYk07SUFPSTtFOUY4bGJWO0U4RnJtYk07SUFPSTtFOUZpbWJWO0U4RnhtYk07SUFPSTtFOUZvbWJWO0U4RjNtYk07SUFPSTtFOUZ1bWJWO0U4RjltYk07SUFPSTtFOUYwbWJWO0U4RmpuYk07SUFPSTtFOUY2bWJWO0U4RnBuYk07SUFPSTtFOUZnbmJWO0U4RnZuYk07SUFPSTtFOUZtbmJWO0U4RjFuYk07SUFPSTtFOUZzbmJWO0U4RjduYk07SUFPSTtFOUZ5bmJWO0U4RmhvYk07SUFPSTtFOUY0bmJWO0U4Rm5vYk07SUFPSTtFOUYrbmJWO0U4RnRvYk07SUFPSTtFOUZrb2JWO0U4RnpvYk07SUFPSTtFOUZxb2JWO0U4RjVvYk07SUFPSTtFOUZ3b2JWO0U4Ri9vYk07SUFPSTtFOUYyb2JWO0U4RmxwYk07SUFPSTtFOUY4b2JWO0U4RnJwYk07SUFPSTtFOUZpcGJWO0U4RnhwYk07SUFPSTtFOUZvcGJWO0U4RjNwYk07SUFPSTtFOUZ1cGJWO0U4RjlwYk07SUFPSTtFOUYwcGJWO0U4RmpxYk07SUFPSTtFOUY2cGJWO0U4RnBxYk07SUFPSTtFOUZncWJWO0U4RnZxYk07SUFPSTtFOUZtcWJWO0U4RjFxYk07SUFPSTtFOUZzcWJWO0U4RjdxYk07SUFPSTtFOUZ5cWJWO0U4RmhyYk07SUFPSTtFOUY0cWJWO0U4Rm5yYk07SUFPSTtFOUYrcWJWO0U4RnRyYk07SUFPSTtFOUZrcmJWO0U4RnpyYk07SUFPSTtFOUZxcmJWO0U4RjVyYk07SUFPSTtFOUZ3cmJWO0U4Ri9yYk07SUFPSTtFOUYycmJWO0U4RmxzYk07SUFPSTtFOUY4cmJWO0U4RnJzYk07SUFPSTtFOUZpc2JWO0U4RnhzYk07SUFPSTtFOUZvc2JWO0U4RjNzYk07SUFPSTtFOUZ1c2JWO0U4RjlzYk07SUFPSTtFOUYwc2JWO0U4Rmp0Yk07SUFPSTtFOUY2c2JWO0U4RnB0Yk07SUFPSTtJQUFBO0U5Rml0YlY7RThGeHRiTTtJQU9JO0lBQUE7RTlGcXRiVjtFOEY1dGJNO0lBT0k7SUFBQTtFOUZ5dGJWO0U4Rmh1Yk07SUFPSTtJQUFBO0U5RjZ0YlY7RThGcHViTTtJQU9JO0lBQUE7RTlGaXViVjtFOEZ4dWJNO0lBT0k7SUFBQTtFOUZxdWJWO0U4RjV1Yk07SUFPSTtJQUFBO0U5Rnl1YlY7RThGaHZiTTtJQU9JO0lBQUE7RTlGNnViVjtFOEZwdmJNO0lBT0k7SUFBQTtFOUZpdmJWO0U4Rnh2Yk07SUFPSTtJQUFBO0U5RnF2YlY7RThGNXZiTTtJQU9JO0lBQUE7RTlGeXZiVjtFOEZod2JNO0lBT0k7SUFBQTtFOUY2dmJWO0U4RnB3Yk07SUFPSTtJQUFBO0U5Rml3YlY7RThGeHdiTTtJQU9JO0lBQUE7RTlGcXdiVjtFOEY1d2JNO0lBT0k7RTlGd3diVjtFOEYvd2JNO0lBT0k7RTlGMndiVjtFOEZseGJNO0lBT0k7RTlGOHdiVjtFOEZyeGJNO0lBT0k7RTlGaXhiVjtFOEZ4eGJNO0lBT0k7RTlGb3hiVjtFOEYzeGJNO0lBT0k7RTlGdXhiVjtFOEY5eGJNO0lBT0k7RTlGMHhiVjtFOEZqeWJNO0lBT0k7RTlGNnhiVjtFOEZweWJNO0lBT0k7RTlGZ3liVjtFOEZ2eWJNO0lBT0k7RTlGbXliVjtFOEYxeWJNO0lBT0k7RTlGc3liVjtFOEY3eWJNO0lBT0k7RTlGeXliVjtFOEZoemJNO0lBT0k7RTlGNHliVjtFOEZuemJNO0lBT0k7RTlGK3liVjtFOEZ0emJNO0lBT0k7RTlGa3piVjtFOEZ6emJNO0lBT0k7RTlGcXpiVjtFOEY1emJNO0lBT0k7RTlGd3piVjtFOEYvemJNO0lBT0k7RTlGMnpiVjtFOEZsMGJNO0lBT0k7RTlGOHpiVjtFOEZyMGJNO0lBT0k7RTlGaTBiVjtFOEZ4MGJNO0lBT0k7RTlGbzBiVjtFOEYzMGJNO0lBT0k7RTlGdTBiVjtFOEY5MGJNO0lBT0k7RTlGMDBiVjtFOEZqMWJNO0lBT0k7RTlGNjBiVjtFOEZwMWJNO0lBT0k7RTlGZzFiVjtFOEZ2MWJNO0lBT0k7RTlGbTFiVjtFOEYxMWJNO0lBT0k7RTlGczFiVjtFOEY3MWJNO0lBT0k7RTlGeTFiVjtFOEZoMmJNO0lBT0k7RTlGNDFiVjtFOEZuMmJNO0lBT0k7RTlGKzFiVjtFOEZ0MmJNO0lBT0k7RTlGazJiVjtFOEZ6MmJNO0lBT0k7RTlGcTJiVjtFOEY1MmJNO0lBT0k7RTlGdzJiVjtFOEYvMmJNO0lBT0k7RTlGMjJiVjtFOEZsM2JNO0lBT0k7SUFBQTtFOUYrMmJWO0U4RnQzYk07SUFPSTtJQUFBO0U5Rm0zYlY7RThGMTNiTTtJQU9JO0lBQUE7RTlGdTNiVjtFOEY5M2JNO0lBT0k7SUFBQTtFOUYyM2JWO0U4Rmw0Yk07SUFPSTtJQUFBO0U5RiszYlY7RThGdDRiTTtJQU9JO0lBQUE7RTlGbTRiVjtFOEYxNGJNO0lBT0k7SUFBQTtFOUZ1NGJWO0U4Rjk0Yk07SUFPSTtJQUFBO0U5RjI0YlY7RThGbDViTTtJQU9JO0lBQUE7RTlGKzRiVjtFOEZ0NWJNO0lBT0k7SUFBQTtFOUZtNWJWO0U4RjE1Yk07SUFPSTtJQUFBO0U5RnU1YlY7RThGOTViTTtJQU9JO0lBQUE7RTlGMjViVjtFOEZsNmJNO0lBT0k7RTlGODViVjtFOEZyNmJNO0lBT0k7RTlGaTZiVjtFOEZ4NmJNO0lBT0k7RTlGbzZiVjtFOEYzNmJNO0lBT0k7RTlGdTZiVjtFOEY5NmJNO0lBT0k7RTlGMDZiVjtFOEZqN2JNO0lBT0k7RTlGNjZiVjtFOEZwN2JNO0lBT0k7RTlGZzdiVjtFOEZ2N2JNO0lBT0k7RTlGbTdiVjtFOEYxN2JNO0lBT0k7RTlGczdiVjtFOEY3N2JNO0lBT0k7RTlGeTdiVjtFOEZoOGJNO0lBT0k7RTlGNDdiVjtFOEZuOGJNO0lBT0k7RTlGKzdiVjtFOEZ0OGJNO0lBT0k7RTlGazhiVjtFOEZ6OGJNO0lBT0k7RTlGcThiVjtFOEY1OGJNO0lBT0k7RTlGdzhiVjtFOEYvOGJNO0lBT0k7RTlGMjhiVjtFOEZsOWJNO0lBT0k7RTlGODhiVjtFOEZyOWJNO0lBT0k7RTlGaTliVjtFOEZ4OWJNO0lBT0k7RTlGbzliVjtFOEYzOWJNO0lBT0k7RTlGdTliVjtFOEY5OWJNO0lBT0k7RTlGMDliVjtFOEZqK2JNO0lBT0k7RTlGNjliVjtFOEZwK2JNO0lBT0k7RTlGZytiVjtFOEZ2K2JNO0lBT0k7RTlGbStiVjtFOEYxK2JNO0lBT0k7RTlGcytiVjtFOEY3K2JNO0lBT0k7RTlGeStiVjtFOEZoL2JNO0lBT0k7RTlGNCtiVjtFOEZuL2JNO0lBT0k7RTlGKytiVjtFOEZ0L2JNO0lBT0k7RTlGay9iVjtFOEZ6L2JNO0lBT0k7RTlGcS9iVjtFOEY1L2JNO0lBT0k7RTlGdy9iVjtFOEYvL2JNO0lBT0k7RTlGMi9iVjtFOEZsZ2NNO0lBT0k7RTlGOC9iVjtFOEZyZ2NNO0lBT0k7RTlGaWdjVjtFOEZ4Z2NNO0lBT0k7RTlGb2djVjtFOEYzZ2NNO0lBT0k7RTlGdWdjVjtFOEY5Z2NNO0lBT0k7RTlGMGdjVjtFOEZqaGNNO0lBT0k7RTlGNmdjVjtFOEZwaGNNO0lBT0k7RTlGZ2hjVjtFOEZ2aGNNO0lBT0k7RTlGbWhjVjtFOEYxaGNNO0lBT0k7RTlGc2hjVjtFOEY3aGNNO0lBT0k7RTlGeWhjVjtFOEZoaWNNO0lBT0k7RTlGNGhjVjtFOEZuaWNNO0lBT0k7RTlGK2hjVjtFOEZ0aWNNO0lBT0k7RTlGa2ljVjtFOEZ6aWNNO0lBT0k7RTlGcWljVjtFOEY1aWNNO0lBT0k7RTlGd2ljVjtFOEYvaWNNO0lBT0k7RTlGMmljVjtFOEZsamNNO0lBT0k7RTlGOGljVjtFOEZyamNNO0lBT0k7RTlGaWpjVjtFOEZ4amNNO0lBT0k7RTlGb2pjVjtFOEYzamNNO0lBT0k7RTlGdWpjVjtFOEY5amNNO0lBT0k7RTlGMGpjVjtFOEZqa2NNO0lBT0k7RTlGNmpjVjtFOEZwa2NNO0lBT0k7RTlGZ2tjVjtFOEZ2a2NNO0lBT0k7RTlGbWtjVjtFOEYxa2NNO0lBT0k7RTlGc2tjVjtFOEY3a2NNO0lBT0k7RTlGeWtjVjtFOEZobGNNO0lBT0k7RTlGNGtjVjtFOEZubGNNO0lBT0k7RTlGK2tjVjtFOEZ0bGNNO0lBT0k7SUFBQTtFOUZtbGNWO0U4RjFsY007SUFPSTtJQUFBO0U5RnVsY1Y7RThGOWxjTTtJQU9JO0lBQUE7RTlGMmxjVjtFOEZsbWNNO0lBT0k7SUFBQTtFOUYrbGNWO0U4RnRtY007SUFPSTtJQUFBO0U5Rm1tY1Y7RThGMW1jTTtJQU9JO0lBQUE7RTlGdW1jVjtFOEY5bWNNO0lBT0k7SUFBQTtFOUYybWNWO0U4RmxuY007SUFPSTtJQUFBO0U5RittY1Y7RThGdG5jTTtJQU9JO0lBQUE7RTlGbW5jVjtFOEYxbmNNO0lBT0k7SUFBQTtFOUZ1bmNWO0U4RjluY007SUFPSTtJQUFBO0U5RjJuY1Y7RThGbG9jTTtJQU9JO0lBQUE7RTlGK25jVjtFOEZ0b2NNO0lBT0k7RTlGa29jVjtFOEZ6b2NNO0lBT0k7RTlGcW9jVjtFOEY1b2NNO0lBT0k7RTlGd29jVjtFOEYvb2NNO0lBT0k7RTlGMm9jVjtFOEZscGNNO0lBT0k7RTlGOG9jVjtFOEZycGNNO0lBT0k7RTlGaXBjVjtFOEZ4cGNNO0lBT0k7RTlGb3BjVjtFOEYzcGNNO0lBT0k7RTlGdXBjVjtFOEY5cGNNO0lBT0k7RTlGMHBjVjtFOEZqcWNNO0lBT0k7RTlGNnBjVjtFOEZwcWNNO0lBT0k7RTlGZ3FjVjtFOEZ2cWNNO0lBT0k7RTlGbXFjVjtFOEYxcWNNO0lBT0k7RTlGc3FjVjtFOEY3cWNNO0lBT0k7RTlGeXFjVjtFOEZocmNNO0lBT0k7RTlGNHFjVjtFOEZucmNNO0lBT0k7RTlGK3FjVjtFOEZ0cmNNO0lBT0k7RTlGa3JjVjtFOEZ6cmNNO0lBT0k7RTlGcXJjVjtFOEY1cmNNO0lBT0k7RTlGd3JjVjtFOEYvcmNNO0lBT0k7RTlGMnJjVjtFOEZsc2NNO0lBT0k7RTlGOHJjVjtFOEZyc2NNO0lBT0k7RTlGaXNjVjtFOEZ4c2NNO0lBT0k7RTlGb3NjVjtFOEYzc2NNO0lBT0k7RTlGdXNjVjtBQUNGO0FtQmx0Y0k7RTJFR0k7SUFPSTtFOUY0c2NWO0U4Rm50Y007SUFPSTtFOUYrc2NWO0U4RnR0Y007SUFPSTtFOUZrdGNWO0U4Rnp0Y007SUFPSTtFOUZxdGNWO0U4RjV0Y007SUFPSTtFOUZ3dGNWO0U4Ri90Y007SUFPSTtFOUYydGNWO0U4Rmx1Y007SUFPSTtFOUY4dGNWO0U4RnJ1Y007SUFPSTtFOUZpdWNWO0U4Rnh1Y007SUFPSTtFOUZvdWNWO0U4RjN1Y007SUFPSTtFOUZ1dWNWO0U4Rjl1Y007SUFPSTtFOUYwdWNWO0U4Rmp2Y007SUFPSTtFOUY2dWNWO0U4RnB2Y007SUFPSTtFOUZndmNWO0U4RnZ2Y007SUFPSTtFOUZtdmNWO0U4RjF2Y007SUFPSTtFOUZzdmNWO0U4Rjd2Y007SUFPSTtFOUZ5dmNWO0U4Rmh3Y007SUFPSTtFOUY0dmNWO0U4Rm53Y007SUFPSTtFOUYrdmNWO0U4RnR3Y007SUFPSTtFOUZrd2NWO0U4Rnp3Y007SUFPSTtFOUZxd2NWO0U4RjV3Y007SUFPSTtFOUZ3d2NWO0U4Ri93Y007SUFPSTtFOUYyd2NWO0U4Rmx4Y007SUFPSTtFOUY4d2NWO0U4RnJ4Y007SUFPSTtFOUZpeGNWO0U4Rnh4Y007SUFPSTtFOUZveGNWO0U4RjN4Y007SUFPSTtFOUZ1eGNWO0U4Rjl4Y007SUFPSTtFOUYweGNWO0U4Rmp5Y007SUFPSTtFOUY2eGNWO0U4RnB5Y007SUFPSTtFOUZneWNWO0U4RnZ5Y007SUFPSTtFOUZteWNWO0U4RjF5Y007SUFPSTtFOUZzeWNWO0U4Rjd5Y007SUFPSTtFOUZ5eWNWO0U4Rmh6Y007SUFPSTtFOUY0eWNWO0U4Rm56Y007SUFPSTtFOUYreWNWO0U4RnR6Y007SUFPSTtFOUZremNWO0U4Rnp6Y007SUFPSTtFOUZxemNWO0U4RjV6Y007SUFPSTtFOUZ3emNWO0U4Ri96Y007SUFPSTtFOUYyemNWO0U4RmwwY007SUFPSTtFOUY4emNWO0U4RnIwY007SUFPSTtFOUZpMGNWO0U4RngwY007SUFPSTtFOUZvMGNWO0U4RjMwY007SUFPSTtFOUZ1MGNWO0U4RjkwY007SUFPSTtFOUYwMGNWO0U4RmoxY007SUFPSTtFOUY2MGNWO0U4RnAxY007SUFPSTtFOUZnMWNWO0U4RnYxY007SUFPSTtFOUZtMWNWO0U4RjExY007SUFPSTtFOUZzMWNWO0U4RjcxY007SUFPSTtFOUZ5MWNWO0U4RmgyY007SUFPSTtFOUY0MWNWO0U4Rm4yY007SUFPSTtFOUYrMWNWO0U4RnQyY007SUFPSTtFOUZrMmNWO0U4RnoyY007SUFPSTtFOUZxMmNWO0U4RjUyY007SUFPSTtFOUZ3MmNWO0U4Ri8yY007SUFPSTtFOUYyMmNWO0U4RmwzY007SUFPSTtFOUY4MmNWO0U4RnIzY007SUFPSTtFOUZpM2NWO0U4RngzY007SUFPSTtFOUZvM2NWO0U4RjMzY007SUFPSTtFOUZ1M2NWO0U4RjkzY007SUFPSTtFOUYwM2NWO0U4Rmo0Y007SUFPSTtFOUY2M2NWO0U4RnA0Y007SUFPSTtFOUZnNGNWO0U4RnY0Y007SUFPSTtFOUZtNGNWO0U4RjE0Y007SUFPSTtFOUZzNGNWO0U4Rjc0Y007SUFPSTtFOUZ5NGNWO0U4Rmg1Y007SUFPSTtFOUY0NGNWO0U4Rm41Y007SUFPSTtFOUYrNGNWO0U4RnQ1Y007SUFPSTtFOUZrNWNWO0U4Rno1Y007SUFPSTtFOUZxNWNWO0U4RjU1Y007SUFPSTtFOUZ3NWNWO0U4Ri81Y007SUFPSTtJQUFBO0U5RjQ1Y1Y7RThGbjZjTTtJQU9JO0lBQUE7RTlGZzZjVjtFOEZ2NmNNO0lBT0k7SUFBQTtFOUZvNmNWO0U4RjM2Y007SUFPSTtJQUFBO0U5Rnc2Y1Y7RThGLzZjTTtJQU9JO0lBQUE7RTlGNDZjVjtFOEZuN2NNO0lBT0k7SUFBQTtFOUZnN2NWO0U4RnY3Y007SUFPSTtJQUFBO0U5Rm83Y1Y7RThGMzdjTTtJQU9JO0lBQUE7RTlGdzdjVjtFOEYvN2NNO0lBT0k7SUFBQTtFOUY0N2NWO0U4Rm44Y007SUFPSTtJQUFBO0U5Rmc4Y1Y7RThGdjhjTTtJQU9JO0lBQUE7RTlGbzhjVjtFOEYzOGNNO0lBT0k7SUFBQTtFOUZ3OGNWO0U4Ri84Y007SUFPSTtJQUFBO0U5RjQ4Y1Y7RThGbjljTTtJQU9JO0lBQUE7RTlGZzljVjtFOEZ2OWNNO0lBT0k7RTlGbTljVjtFOEYxOWNNO0lBT0k7RTlGczljVjtFOEY3OWNNO0lBT0k7RTlGeTljVjtFOEZoK2NNO0lBT0k7RTlGNDljVjtFOEZuK2NNO0lBT0k7RTlGKzljVjtFOEZ0K2NNO0lBT0k7RTlGaytjVjtFOEZ6K2NNO0lBT0k7RTlGcStjVjtFOEY1K2NNO0lBT0k7RTlGdytjVjtFOEYvK2NNO0lBT0k7RTlGMitjVjtFOEZsL2NNO0lBT0k7RTlGOCtjVjtFOEZyL2NNO0lBT0k7RTlGaS9jVjtFOEZ4L2NNO0lBT0k7RTlGby9jVjtFOEYzL2NNO0lBT0k7RTlGdS9jVjtFOEY5L2NNO0lBT0k7RTlGMC9jVjtFOEZqZ2RNO0lBT0k7RTlGNi9jVjtFOEZwZ2RNO0lBT0k7RTlGZ2dkVjtFOEZ2Z2RNO0lBT0k7RTlGbWdkVjtFOEYxZ2RNO0lBT0k7RTlGc2dkVjtFOEY3Z2RNO0lBT0k7RTlGeWdkVjtFOEZoaGRNO0lBT0k7RTlGNGdkVjtFOEZuaGRNO0lBT0k7RTlGK2dkVjtFOEZ0aGRNO0lBT0k7RTlGa2hkVjtFOEZ6aGRNO0lBT0k7RTlGcWhkVjtFOEY1aGRNO0lBT0k7RTlGd2hkVjtFOEYvaGRNO0lBT0k7RTlGMmhkVjtFOEZsaWRNO0lBT0k7RTlGOGhkVjtFOEZyaWRNO0lBT0k7RTlGaWlkVjtFOEZ4aWRNO0lBT0k7RTlGb2lkVjtFOEYzaWRNO0lBT0k7RTlGdWlkVjtFOEY5aWRNO0lBT0k7RTlGMGlkVjtFOEZqamRNO0lBT0k7RTlGNmlkVjtFOEZwamRNO0lBT0k7RTlGZ2pkVjtFOEZ2amRNO0lBT0k7RTlGbWpkVjtFOEYxamRNO0lBT0k7RTlGc2pkVjtFOEY3amRNO0lBT0k7SUFBQTtFOUYwamRWO0U4RmprZE07SUFPSTtJQUFBO0U5RjhqZFY7RThGcmtkTTtJQU9JO0lBQUE7RTlGa2tkVjtFOEZ6a2RNO0lBT0k7SUFBQTtFOUZza2RWO0U4RjdrZE07SUFPSTtJQUFBO0U5RjBrZFY7RThGamxkTTtJQU9JO0lBQUE7RTlGOGtkVjtFOEZybGRNO0lBT0k7SUFBQTtFOUZrbGRWO0U4RnpsZE07SUFPSTtJQUFBO0U5RnNsZFY7RThGN2xkTTtJQU9JO0lBQUE7RTlGMGxkVjtFOEZqbWRNO0lBT0k7SUFBQTtFOUY4bGRWO0U4RnJtZE07SUFPSTtJQUFBO0U5RmttZFY7RThGem1kTTtJQU9JO0lBQUE7RTlGc21kVjtFOEY3bWRNO0lBT0k7RTlGeW1kVjtFOEZobmRNO0lBT0k7RTlGNG1kVjtFOEZubmRNO0lBT0k7RTlGK21kVjtFOEZ0bmRNO0lBT0k7RTlGa25kVjtFOEZ6bmRNO0lBT0k7RTlGcW5kVjtFOEY1bmRNO0lBT0k7RTlGd25kVjtFOEYvbmRNO0lBT0k7RTlGMm5kVjtFOEZsb2RNO0lBT0k7RTlGOG5kVjtFOEZyb2RNO0lBT0k7RTlGaW9kVjtFOEZ4b2RNO0lBT0k7RTlGb29kVjtFOEYzb2RNO0lBT0k7RTlGdW9kVjtFOEY5b2RNO0lBT0k7RTlGMG9kVjtFOEZqcGRNO0lBT0k7RTlGNm9kVjtFOEZwcGRNO0lBT0k7RTlGZ3BkVjtFOEZ2cGRNO0lBT0k7RTlGbXBkVjtFOEYxcGRNO0lBT0k7RTlGc3BkVjtFOEY3cGRNO0lBT0k7RTlGeXBkVjtFOEZocWRNO0lBT0k7RTlGNHBkVjtFOEZucWRNO0lBT0k7RTlGK3BkVjtFOEZ0cWRNO0lBT0k7RTlGa3FkVjtFOEZ6cWRNO0lBT0k7RTlGcXFkVjtFOEY1cWRNO0lBT0k7RTlGd3FkVjtFOEYvcWRNO0lBT0k7RTlGMnFkVjtFOEZscmRNO0lBT0k7RTlGOHFkVjtFOEZycmRNO0lBT0k7RTlGaXJkVjtFOEZ4cmRNO0lBT0k7RTlGb3JkVjtFOEYzcmRNO0lBT0k7RTlGdXJkVjtFOEY5cmRNO0lBT0k7RTlGMHJkVjtFOEZqc2RNO0lBT0k7RTlGNnJkVjtFOEZwc2RNO0lBT0k7RTlGZ3NkVjtFOEZ2c2RNO0lBT0k7RTlGbXNkVjtFOEYxc2RNO0lBT0k7RTlGc3NkVjtFOEY3c2RNO0lBT0k7RTlGeXNkVjtFOEZodGRNO0lBT0k7RTlGNHNkVjtFOEZudGRNO0lBT0k7RTlGK3NkVjtFOEZ0dGRNO0lBT0k7RTlGa3RkVjtFOEZ6dGRNO0lBT0k7RTlGcXRkVjtFOEY1dGRNO0lBT0k7RTlGd3RkVjtFOEYvdGRNO0lBT0k7RTlGMnRkVjtFOEZsdWRNO0lBT0k7RTlGOHRkVjtFOEZydWRNO0lBT0k7RTlGaXVkVjtFOEZ4dWRNO0lBT0k7RTlGb3VkVjtFOEYzdWRNO0lBT0k7RTlGdXVkVjtFOEY5dWRNO0lBT0k7RTlGMHVkVjtFOEZqdmRNO0lBT0k7RTlGNnVkVjtFOEZwdmRNO0lBT0k7RTlGZ3ZkVjtFOEZ2dmRNO0lBT0k7RTlGbXZkVjtFOEYxdmRNO0lBT0k7RTlGc3ZkVjtFOEY3dmRNO0lBT0k7RTlGeXZkVjtFOEZod2RNO0lBT0k7RTlGNHZkVjtFOEZud2RNO0lBT0k7RTlGK3ZkVjtFOEZ0d2RNO0lBT0k7RTlGa3dkVjtFOEZ6d2RNO0lBT0k7RTlGcXdkVjtFOEY1d2RNO0lBT0k7RTlGd3dkVjtFOEYvd2RNO0lBT0k7RTlGMndkVjtFOEZseGRNO0lBT0k7RTlGOHdkVjtFOEZyeGRNO0lBT0k7RTlGaXhkVjtFOEZ4eGRNO0lBT0k7RTlGb3hkVjtFOEYzeGRNO0lBT0k7RTlGdXhkVjtFOEY5eGRNO0lBT0k7RTlGMHhkVjtFOEZqeWRNO0lBT0k7SUFBQTtFOUY4eGRWO0U4RnJ5ZE07SUFPSTtJQUFBO0U5Rmt5ZFY7RThGenlkTTtJQU9JO0lBQUE7RTlGc3lkVjtFOEY3eWRNO0lBT0k7SUFBQTtFOUYweWRWO0U4Rmp6ZE07SUFPSTtJQUFBO0U5Rjh5ZFY7RThGcnpkTTtJQU9JO0lBQUE7RTlGa3pkVjtFOEZ6emRNO0lBT0k7SUFBQTtFOUZzemRWO0U4Rjd6ZE07SUFPSTtJQUFBO0U5RjB6ZFY7RThGajBkTTtJQU9JO0lBQUE7RTlGOHpkVjtFOEZyMGRNO0lBT0k7SUFBQTtFOUZrMGRWO0U4RnowZE07SUFPSTtJQUFBO0U5RnMwZFY7RThGNzBkTTtJQU9JO0lBQUE7RTlGMDBkVjtFOEZqMWRNO0lBT0k7RTlGNjBkVjtFOEZwMWRNO0lBT0k7RTlGZzFkVjtFOEZ2MWRNO0lBT0k7RTlGbTFkVjtFOEYxMWRNO0lBT0k7RTlGczFkVjtFOEY3MWRNO0lBT0k7RTlGeTFkVjtFOEZoMmRNO0lBT0k7RTlGNDFkVjtFOEZuMmRNO0lBT0k7RTlGKzFkVjtFOEZ0MmRNO0lBT0k7RTlGazJkVjtFOEZ6MmRNO0lBT0k7RTlGcTJkVjtFOEY1MmRNO0lBT0k7RTlGdzJkVjtFOEYvMmRNO0lBT0k7RTlGMjJkVjtFOEZsM2RNO0lBT0k7RTlGODJkVjtFOEZyM2RNO0lBT0k7RTlGaTNkVjtFOEZ4M2RNO0lBT0k7RTlGbzNkVjtFOEYzM2RNO0lBT0k7RTlGdTNkVjtFOEY5M2RNO0lBT0k7RTlGMDNkVjtFOEZqNGRNO0lBT0k7RTlGNjNkVjtFOEZwNGRNO0lBT0k7RTlGZzRkVjtFOEZ2NGRNO0lBT0k7RTlGbTRkVjtFOEYxNGRNO0lBT0k7RTlGczRkVjtFOEY3NGRNO0lBT0k7RTlGeTRkVjtFOEZoNWRNO0lBT0k7RTlGNDRkVjtFOEZuNWRNO0lBT0k7RTlGKzRkVjtFOEZ0NWRNO0lBT0k7RTlGazVkVjtBQUNGO0ErRno4ZEE7RUQrQ1E7SUFPSTtFOUZ1NWRWO0U4Rjk1ZE07SUFPSTtFOUYwNWRWO0U4Rmo2ZE07SUFPSTtFOUY2NWRWO0FBQ0Y7QStGajhkQTtFRDRCUTtJQU9JO0U5Rms2ZFY7RThGejZkTTtJQU9JO0U5RnE2ZFY7RThGNTZkTTtJQU9JO0U5Rnc2ZFY7RThGLzZkTTtJQU9JO0U5RjI2ZFY7RThGbDdkTTtJQU9JO0U5Rjg2ZFY7RThGcjdkTTtJQU9JO0U5Rmk3ZFY7RThGeDdkTTtJQU9JO0U5Rm83ZFY7RThGMzdkTTtJQU9JO0U5RnU3ZFY7RThGOTdkTTtJQU9JO0U5RjA3ZFY7RThGajhkTTtJQU9JO0U5RjY3ZFY7RThGcDhkTTtJQU9JO0U5Rmc4ZFY7QUFDRjtBZ0cxZ2VBO0FBQ0E7QUFLTTtBQUNBO0FBRUE7RUFJRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBUUc7RUFDQTtFQUNBO0VBQ0E7QWhHNC9kWjtBZ0d6L2RTO0VBQ0c7QWhHMi9kWjtBZ0d4L2RTO0VBQ0c7QWhHMC9kWjtBZ0d2L2RTO0VBQ0c7RUFDQTtBaEd5L2RaO0FnR3orZFk7RUFDRztBaEcyK2RmO0FnR3grZFk7RUFDRztFQUNBO0VBRUE7RUFDQTtBaEd5K2RmOztBZ0d2OWRZO0VBR0c7RUFDQTtFQUNBO0FoR3c5ZGY7QWdHcjlka0I7RUFDRztBaEd1OWRyQjtBZ0dwOWRrQjtFQUNHO0VBQ0E7RUFFQTtFQUNBO0FoR3E5ZHJCO0FnR3I4ZGU7RUFFTTtBaEdzOGRyQjtBZ0cvN2RlO0VBQ0c7RUFDQTtFQUNBO0FoR2k4ZGxCOztBZ0czN2RNO0FBcklBO0FBQ0E7QUFFQTtFQUlHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFRRztFQUNBO0VBQ0E7RUFDQTtBaEd3amVaO0FnR3JqZVM7RUFDRztBaEd1amVaO0FnR3BqZVM7RUFDRztBaEdzamVaO0FnR25qZVM7RUFDRztFQUNBO0FoR3FqZVo7QWdHcmllWTtFQUNHO0FoR3VpZWY7QWdHcGllWTtFQUNHO0VBQ0E7RUFFQTtFQUNBO0FoR3FpZWY7O0FnR25oZVk7RUFHRztFQUNBO0VBQ0E7QWhHb2hlZjtBZ0dyZ2VrQjtFQUNHO0FoR3VnZXJCO0FnR3BnZWtCO0VBQ0c7RUFDQTtFQUVBO0VBQ0E7QWhHcWdlckI7QWdHamdlZTtFQUlNO0VBQ0E7QWhHZ2dlckI7QWdHNS9kZTtFQUNHO0VBQ0E7RUFDQTtBaEc4L2RsQjs7QWdHeC9kTTtBQXJJQTtBQUNBO0FBRUE7RUFJRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBUUc7RUFDQTtFQUNBO0VBQ0E7QWhHcW5lWjtBZ0dsbmVTO0VBQ0c7QWhHb25lWjtBZ0dqbmVTO0VBQ0c7QWhHbW5lWjtBZ0dobmVTO0VBQ0c7RUFDQTtBaEdrbmVaO0FnR2xtZVk7RUFDRztBaEdvbWVmO0FnR2ptZVk7RUFDRztFQUNBO0VBRUE7RUFDQTtBaEdrbWVmOztBZ0dobGVZO0VBR0c7RUFDQTtFQUNBO0FoR2lsZWY7QWdHbGtla0I7RUFDRztBaEdva2VyQjtBZ0dqa2VrQjtFQUNHO0VBQ0E7RUFFQTtFQUNBO0FoR2trZXJCO0FnRzlqZWU7RUFJTTtFQUNBO0FoRzZqZXJCO0FnR3pqZWU7RUFDRztFQUNBO0VBQ0E7QWhHMmplbEI7O0FnR3JqZU07QUFySUE7QUFDQTtBQUVBO0VBSUc7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQVFHO0VBQ0E7RUFDQTtFQUNBO0FoR2tyZVo7QWdHL3FlUztFQUNHO0FoR2lyZVo7QWdHOXFlUztFQUNHO0FoR2dyZVo7QWdHN3FlUztFQUNHO0VBQ0E7QWhHK3FlWjtBZ0cvcGVZO0VBQ0c7QWhHaXFlZjtBZ0c5cGVZO0VBQ0c7RUFDQTtFQUVBO0VBQ0E7QWhHK3BlZjs7QWdHN29lWTtFQUdHO0VBQ0E7RUFDQTtBaEc4b2VmO0FnRzNvZWtCO0VBQ0c7QWhHNm9lckI7QWdHMW9la0I7RUFDRztFQUNBO0VBRUE7RUFDQTtBaEcyb2VyQjtBZ0czbmVlO0VBRU07QWhHNG5lckI7QWdHcm5lZTtFQUNHO0VBQ0E7RUFDQTtBaEd1bmVsQjs7QWdHam5lTTtBQXJJQTtBQUNBO0FBRUE7RUFJRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBUUc7RUFDQTtFQUNBO0VBQ0E7QWhHOHVlWjtBZ0czdWVTO0VBQ0c7QWhHNnVlWjtBZ0cxdWVTO0VBQ0c7QWhHNHVlWjtBZ0d6dWVTO0VBQ0c7RUFDQTtBaEcydWVaO0FnRzN0ZVk7RUFDRztBaEc2dGVmO0FnRzF0ZVk7RUFDRztFQUNBO0VBRUE7RUFDQTtBaEcydGVmOztBZ0d6c2VZO0VBR0c7RUFDQTtFQUNBO0FoRzBzZWY7QWdHM3Jla0I7RUFDRztBaEc2cmVyQjtBZ0cxcmVrQjtFQUNHO0VBQ0E7RUFFQTtFQUNBO0FoRzJyZXJCO0FnR3ZyZWU7RUFJTTtFQUNBO0FoR3NyZXJCO0FnR2xyZWU7RUFDRztFQUNBO0VBQ0E7QWhHb3JlbEI7O0FnRzlxZU07QUFySUE7QUFDQTtBQUVBO0VBSUc7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQVFHO0VBQ0E7RUFDQTtFQUNBO0FoRzJ5ZVo7QWdHeHllUztFQUNHO0FoRzB5ZVo7QWdHdnllUztFQUNHO0FoR3l5ZVo7QWdHdHllUztFQUNHO0VBQ0E7QWhHd3llWjtBZ0d4eGVZO0VBQ0c7QWhHMHhlZjtBZ0d2eGVZO0VBQ0c7RUFDQTtFQUVBO0VBQ0E7QWhHd3hlZjs7QWdHdHdlWTtFQUdHO0VBQ0E7RUFDQTtBaEd1d2VmO0FnR3B3ZWtCO0VBQ0c7QWhHc3dlckI7QWdHbndla0I7RUFDRztFQUNBO0VBRUE7RUFDQTtBaEdvd2VyQjtBZ0dwdmVlO0VBRU07QWhHcXZlckI7QWdHOXVlZTtFQUNHO0VBQ0E7RUFDQTtBaEdndmVsQjs7QWdHMXVlTTtBQXJJQTtBQUNBO0FBRUE7RUFJRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBR0c7RUFDQTtFQUNBO0VBQ0E7QWhHNDJlWjtBZ0dwMmVTO0VBQ0c7QWhHczJlWjtBZ0duMmVTO0VBQ0c7QWhHcTJlWjtBZ0dsMmVTO0VBQ0c7RUFDQTtBaEdvMmVaO0FnR2gyZVk7RUFDRztBaEdrMmVmO0FnRy8xZVk7RUFDRztFQUNBO0VBRUE7RUFDQTtBaEdnMmVmOztBZ0dsMGVZO0VBR0c7RUFDQTtFQUNBO0FoR20wZWY7QWdHcHpla0I7RUFDRztBaEdzemVyQjtBZ0duemVrQjtFQUNHO0VBQ0E7RUFFQTtFQUNBO0FoR296ZXJCO0FnR2h6ZWU7RUFJTTtFQUNBO0FoRyt5ZXJCO0FnRzN5ZWU7RUFDRztFQUNBO0VBQ0E7QWhHNnllbEI7O0FnR3Z5ZU07QUFySUE7QUFDQTtBQUVBO0VBSUc7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQVFHO0VBQ0E7RUFDQTtFQUNBO0FoR282ZVo7QWdHajZlUztFQUNHO0FoR202ZVo7QWdHaDZlUztFQUNHO0FoR2s2ZVo7QWdHLzVlUztFQUNHO0VBQ0E7QWhHaTZlWjtBZ0dqNWVZO0VBQ0c7QWhHbTVlZjtBZ0doNWVZO0VBQ0c7RUFDQTtFQUVBO0VBQ0E7QWhHaTVlZjs7QWdHLzNlWTtFQUdHO0VBQ0E7RUFDQTtBaEdnNGVmO0FnR2ozZWtCO0VBQ0c7QWhHbTNlckI7QWdHaDNla0I7RUFDRztFQUNBO0VBRUE7RUFDQTtBaEdpM2VyQjtBZ0c3MmVlO0VBSU07RUFDQTtBaEc0MmVyQjtBZ0d4MmVlO0VBQ0c7RUFDQTtFQUNBO0FoRzAyZWxCOztBZ0dwMmVNO0FBcklBO0FBQ0E7QUFFQTtFQUlHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFRRztFQUNBO0VBQ0E7RUFDQTtBaEdpK2VaO0FnRzk5ZVM7RUFDRztBaEdnK2VaO0FnRzc5ZVM7RUFDRztBaEcrOWVaO0FnRzU5ZVM7RUFDRztFQUNBO0FoRzg5ZVo7QWdHOThlWTtFQUNHO0FoR2c5ZWY7QWdHNzhlWTtFQUNHO0VBQ0E7RUFFQTtFQUNBO0FoRzg4ZWY7O0FnRzU3ZVk7RUFHRztFQUNBO0VBQ0E7QWhHNjdlZjtBZ0cxN2VrQjtFQUNHO0FoRzQ3ZXJCO0FnR3o3ZWtCO0VBQ0c7RUFDQTtFQUVBO0VBQ0E7QWhHMDdlckI7QWdHMTZlZTtFQUVNO0FoRzI2ZXJCO0FnR3A2ZWU7RUFDRztFQUNBO0VBQ0E7QWhHczZlbEI7O0FnR2g2ZU07QUFySUE7QUFDQTtBQUVBO0VBSUc7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQVFHO0VBQ0E7RUFDQTtFQUNBO0FoRzZoZlo7QWdHMWhmUztFQUNHO0FoRzRoZlo7QWdHemhmUztFQUNHO0FoRzJoZlo7QWdHeGhmUztFQUNHO0VBQ0E7QWhHMGhmWjtBZ0cxZ2ZZO0VBQ0c7QWhHNGdmZjtBZ0d6Z2ZZO0VBQ0c7RUFDQTtFQUVBO0VBQ0E7QWhHMGdmZjs7QWdHeC9lWTtFQUdHO0VBQ0E7RUFDQTtBaEd5L2VmO0FnR3QvZWtCO0VBQ0c7QWhHdy9lckI7QWdHci9la0I7RUFDRztFQUNBO0VBRUE7RUFDQTtBaEdzL2VyQjtBZ0d0K2VlO0VBRU07QWhHdStlckI7QWdHaCtlZTtFQUNHO0VBQ0E7RUFDQTtBaEdrK2VsQjs7QWdHNTllTTtBQXJJQTtBQUNBO0FBRUE7RUFJRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBUUc7RUFDQTtFQUNBO0VBQ0E7QWhHeWxmWjtBZ0d0bGZTO0VBQ0c7QWhHd2xmWjtBZ0dybGZTO0VBQ0c7QWhHdWxmWjtBZ0dwbGZTO0VBQ0c7RUFDQTtBaEdzbGZaO0FnR3RrZlk7RUFDRztBaEd3a2ZmO0FnR3JrZlk7RUFDRztFQUNBO0VBRUE7RUFDQTtBaEdza2ZmOztBZ0dwamZZO0VBR0c7RUFDQTtFQUNBO0FoR3FqZmY7QWdHbGpma0I7RUFDRztBaEdvamZyQjtBZ0dqamZrQjtFQUNHO0VBQ0E7RUFFQTtFQUNBO0FoR2tqZnJCO0FnR2xpZmU7RUFFTTtBaEdtaWZyQjtBZ0c1aGZlO0VBQ0c7RUFDQTtFQUNBO0FoRzhoZmxCOztBZ0d4aGZNO0FDM0lOO0FBQ0E7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakdzcWZIOztBaUdscWZBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QWpHcXFmSDs7QWlHanFmQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0FqR29xZkg7O0FrRzdyZkE7QUFDQTtBQUVBO0FBQ0E7QUFHQTtFQUNHO0lBQ0c7SUFDQSxxQkNtU29DO0VuRzA1ZXhDO0FBQ0Y7QWtHcHJmRztFQUNHO0VBQ0E7QWxHc3JmTjs7QWtHanJmQTtFQUNHLGNDb1J1QztFRG5SdkMsZUNtUnVDO0FuR2k2ZTFDOztBa0docmZBO0VBQ0csNkJDK1F1QztBbkdvNmUxQzs7QWtHL3FmQTtFQUNHLCtCQ3VRdUM7RUR0UXZDLG1CQzRRdUM7QW5HczZlMUM7O0FrRzlxZkE7RUFDRztFQUNBLDhCQ3FRdUM7QW5HNDZlMUM7O0FrRzNxZk07RUFDRztJQUNHO0VsRzhxZlY7QUFDRjtBa0cxcWZNO0VBQ0csNkJDNFBpQztBbkdnN2UxQztBa0d4cWZNO0VBQ0cscUNDc1BpQztBbkdvN2UxQztBa0d0cWZNO0VBQ0csb0NDb1BpQztBbkdvN2UxQzs7QW9HOXVmQTtBQUNBO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwR2d2Zko7QW9HOXVmSTtFQUFVO0FwR2l2ZmQ7QW9HL3VmSTtFQUNJO0VBQ0E7RUFDQTtBcEdpdmZSO0FvRzl1Zkk7RUFDSTtBcEdndmZSO0FvRzV1ZlE7RUFDSTtFQUNBO0VBQ0E7QXBHOHVmWjs7QXFHeHdmQTtBQUNBO0FBRUE7RUFDSTtBckcwd2ZKOztBcUdwd2ZBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckd1d2ZIO0FxR3J3Zkc7RUFDRztFQUNBO0VBQ0E7RUFDQTtBckd1d2ZOOztBcUdud2ZBO0VBQ0c7QXJHc3dmSDs7QW1CcHVmSTtFa0Z6QkU7SUFDRyxzQkY4SFk7RW5HbW9mbkI7QUFDRjtBbUIxdWZJO0VrRnpCRTtJQUNHLHVCRjhIWTtFbkd3b2ZuQjtBQUNGO0FtQi91Zkk7RWtGekJFO0lBQ0csdUJGOEhZO0VuRzZvZm5CO0FBQ0Y7QW1CcHZmSTtFa0Z6QkU7SUFDRyxzQkY4SFk7RW5Ha3BmbkI7QUFDRjtBc0d4emZBO0FBQ0E7QUFJQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0F0R3V6Zkg7O0F1R2gwZkE7QUFDQTtBQUtHO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QXZHK3pmTjtBdUc1emZHO0VBQ0c7QXZHOHpmTjs7QXVHdHpmTTtFQUNHO0VBQ0E7RUFDQTtBdkd5emZUOztBbUJueGZJO0VvRmxDSztJQUNNO0lBQ0E7SUFDQTtFdkd5emZiO0FBQ0Y7QW1CM3hmSTtFb0ZsQ0s7SUFDTTtJQUNBO0lBQ0E7RXZHZzBmYjtBQUNGO0FtQmx5Zkk7RW9GbENLO0lBQ007SUFDQTtJQUNBO0V2R3UwZmI7QUFDRjtBbUJ6eWZJO0VvRmxDSztJQUNNO0lBQ0E7SUFDQTtFdkc4MGZiO0FBQ0Y7QW1CaHpmSTtFb0ZsQ0s7SUFDTTtJQUNBO0lBQ0E7RXZHcTFmYjtBQUNGO0F3R3QzZkE7QUFDQTtBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QXhHczNmSDtBd0dqM2ZHO0VBQ0c7RUFDQTtBeEdtM2ZOO0F3R2ozZk07RUFDRztBeEdtM2ZUO0F3R2gzZk07RUFDRztFQUNBO0VBQ0E7RUFDQTtBeEdrM2ZUO0F3R2gzZlM7RUFDRztBeEdrM2ZaO0F3R3oyZkc7RUFDRyxzQ2pHMGhCa0M7QVBpMWV4QztBd0dwMmZHO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhHczJmTjtBd0cvMWZHO0VBQ0c7QXhHaTJmTjtBd0doMmZNO0VBQ0c7QXhHazJmVDtBd0d6MWZNO0VBQ0c7RUFDQTtBeEcyMWZUO0F3R3YxZlM7RUFDRztFQUNBO0VBQ0E7QXhHeTFmWjs7QXlHNTZmQTtBQUNBO0FBSUE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpHMjZmSDs7QXlHcDZmQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekd1NmZIO0F5R2w2Zk07RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpHbzZmVDs7QTBHaCtmQTtBQUNBO0FBR0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFHaStmRjtBMEcxOWZFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhUHFMdUM7QW5HdXlmMUM7O0EyR3IvZkE7QUFDQTtBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0EzR2svZkg7QTJHMytmTTtFQUNHO0VBQ0E7QTNHNitmVDtBMkcxK2ZNO0VBQ0c7QTNHNCtmVDtBMkd6K2ZNO0VBQ0c7RUFDQSxnQnBHa1FxQjtBUHl1ZjlCO0EyR24rZkc7RUFDRztFQUNBO0EzR3ErZk47QTJHNzlmTTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRys5ZlQ7QTJHNTlmTTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0c4OWZUO0EyR3Q5Zkc7RUFDRztBM0d3OWZOO0EyR3Q5Zk07RUFDRztFQUNBO0VBQ0E7QTNHdzlmVDtBMkdyOWZNO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzR3U5ZlQ7QTJHOThmTTtFQUNHO0EzR2c5ZlQ7QTJHMzhmUztFQUNHO0VBQ0E7QTNHNjhmWjtBMkcxOGZTO0VBQ0c7RUFDQTtBM0c0OGZaO0EyR2w4Zk07RUFDRztFQUNBO0EzR284ZlQ7O0EyRzE3Zkc7RUFDRztBM0c2N2ZOO0EyRzE3Zkc7RUFDRztFQUNBO0EzRzQ3Zk47QTJHejdmRztFQUNHO0EzRzI3Zk47QTJHejdmTTtFQUNHO0EzRzI3ZlQ7QTJHeDdmTTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0EzRzA3ZlQ7O0E0R3psZ0JBO0FBQ0E7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVHeWxnQkg7QTRHcGxnQkc7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUdzbGdCTjtBNEcva2dCTTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0E1R2lsZ0JUO0E0Ry9rZ0JTO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QTVHaWxnQlo7O0E2R3ZvZ0JBO0FBQ0E7QUFJQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QTdHcW9nQkg7O0E2RzluZ0JBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QTdHaW9nQkg7O0E2RzluZ0JBO0VBQ0c7RUFDQTtFQUNBO0VBQ0Esb0JWK0h1QztBbkdrZ2dCMUM7O0E2RzFuZ0JBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdHNm5nQkg7O0E2RzFuZ0JBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RzZuZ0JIOztBNkcxbmdCQTtFQUNHO0VBQ0E7RUFDQTtBN0c2bmdCSDtBNkcxbmdCTTtFQUNHO0E3RzRuZ0JUOztBNkd2bmdCQTtFQUNHO0VBQ0E7QTdHMG5nQkg7QTZHeG5nQkc7RUFDRztFQUNBO0E3RzBuZ0JOOztBNkd0bmdCQTtFQUNHO0E3R3luZ0JIOztBNkdqbmdCQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdHb25nQkg7O0E2R2puZ0JBO0VBQ0c7QTdHb25nQkg7O0E2R2puZ0JBO0VBQ0c7RUFDQTtFQUNBO0E3R29uZ0JIO0E2R2xuZ0JHO0VBQU07QTdHcW5nQlQ7QTZHbm5nQkc7RUFDRztBN0dxbmdCTjs7QTZHNW1nQkE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0crbWdCSDtBNkc3bWdCRztFQUNHO0VBQ0E7QTdHK21nQk47O0E2R3RtZ0JBO0VBQ0c7RUFDQTtBN0d5bWdCSDtBNkd2bWdCRztFQUNHO0E3R3ltZ0JOOztBNkdybWdCQTtFQUNHO0E3R3dtZ0JIOztBNkdobWdCRztFQUNHO0VBQ0E7RUFDQSxhVm9Ib0M7QW5HKytmMUM7QTZHL2xnQk07RUFDRztFQUNBO0E3R2ltZ0JUOztBbUI5cmdCSTtFMEYwR0U7SUFDRztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U3R3dsZ0JQO0U2R3JsZ0JPO0lBQ0c7SUFDQTtFN0d1bGdCVjtFNkdwbGdCYTtJQUNHO0U3R3NsZ0JoQjtFNkdubGdCYTtJQUNHO0U3R3FsZ0JoQjtFNkdsbGdCYTtJQUNHO01BQ0c7STdHb2xnQmpCO0VBQ0Y7RTZHL2tnQlU7SUFDRztJQUNBO0U3R2lsZ0JiO0U2R2hsZ0JhO0lBQ0c7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFN0drbGdCaEI7RTZHM2tnQkk7SUFHRztFN0cya2dCUDtFNkd4a2dCVTtJQUNHO0lBQ0E7RTdHMGtnQmI7QUFDRjtBbUI1dmdCSTtFMEY2TEQ7SUFDRztFN0dra2dCSjtFNkcvamdCQztJQUNHO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTdHaWtnQko7RTZHOWpnQkM7SUFDRztFN0dna2dCSjtFNkcvamdCSTtJQUNHO0U3R2lrZ0JQO0U2RzdqZ0JDO0lBQ0c7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFN0cramdCSjtBQUNGO0FtQnh4Z0JJO0UwRmlPRDtJQUNHO0lBQ0E7RTdHMGpnQko7QUFDRjtBbUI5eGdCSTtFMEY2T0U7SUFDRyxzQlZ4SVk7RW5HNHJnQm5CO0FBQ0Y7QW1CbnlnQkk7RTBGNk9FO0lBQ0csdUJWeElZO0VuR2lzZ0JuQjtBQUNGO0FtQnh5Z0JJO0UwRjZPRTtJQUNHLHVCVnhJWTtFbkdzc2dCbkI7QUFDRjtBbUI3eWdCSTtFMEY2T0U7SUFDRyxzQlZ4SVk7RW5HMnNnQm5CO0FBQ0Y7QW1CbHpnQkk7RTBGdVBLO0lBQ0c7RTdHOGpnQlY7QUFDRjtBOEd0M2dCQTtBQUNBO0FBSUE7RUFDRztFQUNBO0E5R3EzZ0JIOztBOEc3MmdCRztFQUNHO0E5R2czZ0JOO0E4R3oyZ0JZO0VBQ0c7QTlHMjJnQmY7O0E4R3QyZ0JNO0VBQ0c7QTlHeTJnQlQ7QThHdDJnQk07RUFDRztBOUd3MmdCVDtBOEd0MmdCUztFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0J2RzhQa0I7QVAwbWdCOUI7QThHdDJnQlk7RUFDRztBOUd3MmdCZjtBOEc5MWdCZTtFQUNHO0VBRUc7RUFDQTtBOUcrMWdCckI7QThHNzFnQmtCO0VBQ0c7RUFDQTtBOUcrMWdCckI7QThHeDFnQlk7RUFDRztBOUcwMWdCZjtBOEd4MWdCZTtFQUNHO0E5RzAxZ0JsQjtBOEd2MWdCZTtFQUNHO0E5R3kxZ0JsQjtBOEd0MWdCZTtFQUNHO0VBRUc7RUFDQTtBOUd1MWdCckI7QThHcjFnQmtCO0VBQ0c7RUFDQTtBOUd1MWdCckI7QThHbjFnQmU7RUFDRztBOUdxMWdCbEI7O0E4R3gwZ0JHO0VBQ0c7RUFDQTtBOUcyMGdCTjtBOEd4MGdCRztFQUNHO0VBQ0E7QTlHMDBnQk47QThHeDBnQk07RUFDRztBOUcwMGdCVDtBOEd2MGdCTTtFQUNHO0E5R3kwZ0JUO0E4R3IwZ0JNO0VBQ0c7QTlHdTBnQlQ7QThHL3pnQk07RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlHaTBnQlQ7QThHOXpnQk07RUFDRztBOUdnMGdCVDs7QThHdHpnQkc7RUFDRztFQUNBO0E5R3l6Z0JOOztBbUIzNGdCSTtFMkYyRkQ7SUFDRztJQUNBO0U5R296Z0JKO0U4R2h6Z0JJO0lBS0c7SUFDQTtJQUNBO0lBQ0E7RTlHOHlnQlA7RThHcnpnQk87SUFDRztFOUd1emdCVjtFOEc5eWdCSTtJQUNHO0lBQ0E7RTlHZ3pnQlA7RThHN3lnQkk7SUFDRztFOUcreWdCUDtBQUNGO0FtQi82Z0JJO0UyRnNJRDtJQUNHO0lBQ0E7RTlHNHlnQko7RThHeHlnQkk7SUFLRztJQUNBO0lBQ0E7RTlHc3lnQlA7RThHNXlnQk87SUFDRztFOUc4eWdCVjtFOEd0eWdCSTtJQUNHO0lBQ0E7RTlHd3lnQlA7RThHcnlnQkk7SUFDRztFOUd1eWdCUDtBQUNGO0ErR25naEJBO0FBQ0E7QTVGOERJO0U0RjNERDtJQUNHO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUdBO0UvR2dnaEJKO0UrRzEvZ0JJO0lBQ0c7SUFDQTtJQUNBLGFaNFBpQztFbkdnd2dCeEM7RStHeC9nQk87SUFDRztFL0cwL2dCVjtFK0d0L2dCSTs7SUFFRyxpR0FyQlc7RS9HNmdoQmxCO0UrR2wvZ0JJO0lBQ0c7RS9Hby9nQlA7RStHai9nQkk7SUFDRztJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvR20vZ0JQO0UrRzUrZ0JPO0lBQ0c7RS9HOCtnQlY7RStHMytnQk87SUFDRztFL0c2K2dCVjtFK0d0K2dCSTtJQUNHO0lBQ0E7RS9HdytnQlA7RStHcitnQlU7SUFDRztFL0d1K2dCYjtFK0cvOWdCSTtJQUNHO0lBQ0E7SUFDQTtJQUNBO0UvR2krZ0JQO0UrRzM5Z0JJO0lBQ0c7RS9HNjlnQlA7RStHMzlnQk87SUFDRztFL0c2OWdCVjtFK0cxOWdCTztJQUNHO0UvRzQ5Z0JWO0UrR3g5Z0JJO0lBQ0c7SUFDQTtFL0cwOWdCUDtFK0d0OWdCSTtJQUNHO0UvR3c5Z0JQO0UrRzc4Z0JVO0lBQ0c7RS9HKzhnQmI7RStHNzhnQlU7Ozs7O0lBS0c7RS9HKzhnQmI7RStHMThnQlU7SUFDRztFL0c0OGdCYjtFK0cxOGdCYTtJQUNHO0UvRzQ4Z0JoQjtFK0d6OGdCYTtJQUNHO0lBQ0E7RS9HMjhnQmhCO0UrR3o4Z0JnQjtJQUNHO0UvRzI4Z0JuQjtFK0d0OGdCVTtJQUFxQjtFL0d5OGdCL0I7RStHeDhnQlU7SUFDRztJQUNBO0UvRzA4Z0JiO0UrR3Q4Z0JPO0lBQWtDO0UvR3k4Z0J6QztFK0duOGdCSTtJQUNHO0UvR3E4Z0JQO0UrR244Z0JPO0lBQ0c7RS9HcThnQlY7RStHOTdnQkk7SUFDRztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvR2c4Z0JQO0UrRzk3Z0JPO0lBQ0c7SUFDQTtJQUNBO0lBQ0E7RS9HZzhnQlY7RStHNzdnQk87SUFDRztFL0crN2dCVjtFK0c1N2dCTztJQUNHO0lBQ0E7SUFFQTtFL0c2N2dCVjtFK0cxN2dCTztJQUNHO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvRzQ3Z0JWO0UrR3o3Z0JPO0lBQ0c7RS9HMjdnQlY7RStHeDdnQk87SUFFRztFL0d5N2dCVjtFK0d0N2dCTztJQUNHO0UvR3c3Z0JWO0UrR3A3Z0JJO0lBQ0c7SUFDQTtFL0dzN2dCUDtFK0cvNmdCSTtJQUNHO0UvR2k3Z0JQO0FBQ0Y7QWdIcHFoQkE7QUFDQTtBN0Y4REk7RTZGMURFO0lBQ0c7RWhIb3FoQlA7RWdIanFoQkk7SUFDRztFaEhtcWhCUDtFZ0hocWhCSTtJQUNHO0lBQ0E7RWhIa3FoQlA7RWdINXBoQkk7SUFDRztFaEg4cGhCUDtFZ0h4cGhCSTtJQUNHO0lBQ0E7SUFDQTtJQUNBO0VoSDBwaEJQO0VnSHBwaEJJO0lBQ0c7RWhIc3BoQlA7QUFDRjtBbUIvbmhCSTtFNkZkaUI7SUFDRyxZYm1ISDtJYWxIRyw2QmJrSEg7RW5HOGhoQm5CO0FBQ0Y7QW1Ccm9oQkk7RTZGZGlCO0lBQ0csWWJtSEg7SWFsSEcsNkJia0hIO0VuR29paEJuQjtBQUNGO0FtQjNvaEJJO0U2RmRpQjtJQUNHLFdibUhIO0lhbEhHLDRCYmtISDtFbkcwaWhCbkI7QUFDRjtBbUJqcGhCSTtFNkZKRTtJQUNHO0lBQ0E7SUFDQTtJQUNBO0VoSHdwaEJQO0FBQ0Y7QWlIeHRoQkE7QUFDQTtBQUlBO0VBQ0c7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqSCtzaEJIOztBaUh2c2hCQTtFQUNHO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBakh5c2hCSDs7QWlIbHNoQkE7RUFDRztFQUVBO0VBQ0E7RUFDQTtFQUNBO0FqSG9zaEJIOztBaUhoc2hCQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakhtc2hCSDtBaUhqc2hCRztFQUNHO0FqSG1zaEJOO0FpSGhzaEJHO0VBQ0c7QWpIa3NoQk47QWlIL3JoQkc7RUFDRztBakhpc2hCTjs7QWlIcnJoQkc7RUFDRztBakh3cmhCTjs7QWlIcHJoQkE7RUFDRztBakh1cmhCSDs7QWlIcHJoQkE7RUFDRztBakh1cmhCSDs7QWlIanJoQkE7RUFDRztBakhvcmhCSDs7QWlIN3FoQkE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqSGdyaEJIO0FpSC9xaEJHO0VBQ0c7QWpIaXJoQk47O0FpSHpxaEJBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QWpINHFoQkg7O0FpSHJxaEJBO0VBQ0c7QWpId3FoQkg7O0FpSGpwaEJHO0VBQ0c7RUFDQTtBakhvcGhCTjtBaUhocGhCTTtFQUNHO0FqSGtwaEJUOztBaUh6b2hCQTtFQUNHO0VBQ0E7RUFDQTtBakg0b2hCSDs7QWlIcG9oQkc7RUFDRztFQUNBO0FqSHVvaEJOO0FpSHBvaEJHO0VBQ0c7QWpIc29oQk47O0FtQnZ3aEJJO0U4RnlJRDtJQUNHO0lBQ0E7RWpIa29oQko7RWlIOW5oQkk7SUFDRztJQUNBO0VqSGdvaEJQO0VpSDduaEJJO0lBQ0c7SUFDQTtFakgrbmhCUDtBQUNGO0FtQnR4aEJJO0U4RmdLRTtJQUNHO0lBQ0E7RWpIeW5oQlA7RWlIdG5oQkk7SUFDRztJQUNBO0VqSHduaEJQO0FBQ0Y7QWtINTJoQkE7QUFDQTtBQUVBO0VBQ0c7RUFDQTtFQUNBO0FsSDYyaEJIO0FrSDEyaEJHO0VBQ0csZWZxR29DO0VlcEdwQztFQUNBO0FsSDQyaEJOO0FrSHAyaEJTO0VBQ0c7QWxIczJoQlo7O0FrSDUxaEJNO0VBQ0c7QWxIKzFoQlQ7O0FtSC8zaEJBO0FBQ0E7QUFFQTtFQUNHO0VBQ0E7RUFDQTtBbkhpNGhCSDtBbUg5M2hCRztFQUNHLGVoQjRHb0M7RWdCM0dwQztFQUNBO0FuSGc0aEJOO0FtSHgzaEJTO0VBQ0c7QW5IMDNoQlo7O0FtSGgzaEJNO0VBQ0c7RUFDQTtBbkhtM2hCVDtBbUhoM2hCTTtFQUNHO0FuSGszaEJUO0FtSC8yaEJNO0VBQ0c7QW5IaTNoQlQ7O0FvSDE1aEJBO0FBQ0E7QUFFQTtFQUNHO0VBQ0E7RUFDQTtBcEg0NWhCSDtBb0h2NWhCRztFQUNHLGVqQmlIb0M7RWlCaEhwQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwSHk1aEJOO0FvSG41aEJHO0VBQ0c7QXBIcTVoQk47QW9IbDVoQkc7RUFDRztBcEhvNWhCTjtBb0hqNWhCRztFQUNHO0FwSG01aEJOO0FvSDE0aEJTO0VBQ0c7RUFDQTtBcEg0NGhCWjs7QW9IbDRoQk07RUFDRztBcEhxNGhCVDtBb0hsNGhCTTtFQUNHO0FwSG80aEJUO0FvSGo0aEJNO0VBQ0c7QXBIbTRoQlQ7QW9IaDRoQk07RUFDRztBcEhrNGhCVDs7QXFIcDhoQkE7QUFDQTtBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtBckhvOGhCSDs7QXFIaDhoQkE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFsQnlQdUM7QW5HMHNoQjFDO0FxSGo4aEJHO0VBQ0c7QXJIbThoQk47O0FxSC83aEJBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckhrOGhCSDs7QXFILzdoQkE7RUFDRztBckhrOGhCSDs7QXFIMTdoQkc7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FySDY3aEJOO0FxSHY3aEJNO0VBQ0c7QXJIeTdoQlQ7O0FxSHQ3aEJNO0VBQ0c7QXJIeTdoQlQ7O0FxSGo3aEJBO0VBeEJHO0lBQ0c7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFckg2OGhCSjtFcUh2OGhCSTtJQUNHO0VySHk4aEJQO0VxSHQ4aEJJO0lBQ0c7RXJIdzhoQlA7QUFDRjtBcUh6N2hCQTtFQUNHO0FySDI3aEJIOztBc0huaGlCQTtBQUNBO0FBR0c7RUFDRztBdEhvaGlCTjtBc0hqaGlCRztFQUNHO0F0SG1oaUJOOztBdUg1aGlCQTtBQUNBO0FBRUE7RUFDRztFQUNBO0F2SDhoaUJIOztBd0huaWlCQTtBQUNBO0FBSUE7RUFDRztBeEhtaWlCSDs7QXdINWhpQk07RUFDRztFQUNBO0VBQ0E7QXhIK2hpQlQ7QXdIM2hpQk07RUFDRztBeEg2aGlCVDtBd0h4aGlCRztFQUNHO0F4SDBoaUJOOztBeUhyamlCQTtBQUNBO0FBRUE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekh1amlCSDs7QXlIbmppQkc7RUFDRztFQUNBO0VBQ0E7RUFFQTtFQUNBO0F6SHFqaUJOO0F5SG5qaUJNO0VBQ0c7QXpIcWppQlQ7QXlIM2lpQk07RUFDRztFQUNBO0F6SDZpaUJUO0F5SDFpaUJNO0VBQ0c7QXpINGlpQlQ7QXlIcmlpQk07RUFDRztBekh1aWlCVDtBeUhyaWlCUztFQUNHO0F6SHVpaUJaO0F5SHpoaUJZO0VBQ0c7QXpIMmhpQmY7O0F5SHZoaUJTO0VBQ0c7RUFDQTtBekgwaGlCWjs7QTBIam1pQkE7QUFDQTtBQUVBO0VBSU07SUFDRztJQUNBO0lBQ0E7RTFIZ21pQlA7RTBIN2xpQkk7SUFDRztFMUgrbGlCUDtFMEg1bGlCSTtJQUNHO0UxSDhsaUJQO0UwSDNsaUJJO0lBQ0c7RTFINmxpQlA7RTBIeGxpQkk7SUFDRztFMUgwbGlCUDtFMEh6bGlCTztJQUNHO0lBQ0E7RTFIMmxpQlY7RTBIcGxpQk87SUFDRztJQUNBO0UxSHNsaUJWO0UwSGhsaUJJO0lBQ0c7SUFDQTtJQUNBO0UxSGtsaUJQO0UwSGhsaUJPO0lBQ0c7RTFIa2xpQlY7RTBIemtpQlU7SUFDRztFMUgya2lCYjtFMEh6a2lCVTtJQUNHO0UxSDJraUJiO0UwSHZraUJVO0lBQ0c7RTFIeWtpQmI7RTBIdGtpQlU7SUFDRztFMUh3a2lCYjtFMEg5amlCQztJQUNHO0UxSGdraUJKO0UwSDlqaUJJO0lBQ0c7RTFIZ2tpQlA7RTBIN2ppQkk7SUFDRztFMUgramlCUDtFMEg1amlCSTtJQUNHO0UxSDhqaUJQO0UwSHpqaUJJO0lBQ0c7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFMUgyamlCUDtFMEh0amlCSTtJQUNHO0UxSHdqaUJQO0UwSGxqaUJPO0lBQ0c7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLGF2QitJOEI7RW5HcTZoQnhDO0UwSC9paUJPO0lBQ0c7RTFIaWppQlY7QUFDRjtBMkhoc2lCQTtBQUNBO0FBQ0E7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUlBO0VBQ0E7QTNIOHJpQkg7O0E0SDdzaUJBO0FBQ0E7QUFDQTtFQUNHO0VBQ0E7QTVIZ3RpQkg7O0E2SHB0aUJBO0FBQ0E7QUFDQTtFQUNHO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBS0E7RUFDQTtFQUtBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTdINHNpQkg7O0E4SDF1aUJBO0FBQ0E7QUFDQTtFQUVHO0VBSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5SHl1aUJIO0E4SHR1aUJHO0VBQ0c7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlIdXVpQk47QThIcnVpQk07RUFDRztBOUh1dWlCVDtBOEhwdWlCTTtFQUNHO0E5SHN1aUJUO0E4SG51aUJNO0VBQ0c7QTlIcXVpQlQ7QThIcHVpQlM7RUFDRztBOUhzdWlCWjtBOEhsdWlCTTtFQUNHO0VBQ0E7QTlIb3VpQlQ7QThIaHVpQlM7RUFDRztBOUhrdWlCWjtBOEgvdGlCUztFQUNHO0E5SGl1aUJaO0E4SGh1aUJZO0VBQ0c7QTlIa3VpQmY7QThIM3RpQlk7RUFDRztFQUNBO0E5SDZ0aUJmOztBOEh2dGlCWTtFQUNHO0VBQ0E7QTlIMHRpQmY7O0E4SHB0aUJTO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QTlIdXRpQlo7QThIcHRpQlM7RUFDRztFQUNBO0E5SHN0aUJaO0E4SGx0aUJNO0VBQ0c7RUFDQTtBOUhvdGlCVDs7QThIcHNpQk07RUFDRztFQUNBO0E5SHVzaUJUO0E4SG5zaUJTO0VBQ0c7QTlIcXNpQlo7QThIbnNpQlM7RUFDRztBOUhxc2lCWjtBOEhoc2lCTTtFQUNHO0VBQ0E7QTlIa3NpQlQ7QThIMXJpQlk7RUFDRztBOUg0cmlCZjtBOEgxcmlCWTtFQUNHO0E5SDRyaUJmO0E4SHByaUJZO0VBQ0c7QTlIc3JpQmY7QThIbHJpQlk7RUFDRyxtQzNCOUgyQjtFMkIrSDNCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlIb3JpQmY7QThIaHJpQlM7RUFDRztJQUNHO0U5SGtyaUJiO0FBQ0Y7O0ErSDMxaUJBO0FBQ0E7QUFHQTtFQUVHO0EvSDIxaUJIO0ErSHQxaUJHO0VBQ0c7RUFDQTtBL0h3MWlCTjtBK0h0MWlCTTtFQUNHO0EvSHcxaUJUO0ErSHAxaUJHO0VBQ0c7QS9IczFpQk47O0FtQjV5aUJJO0U0R1BRO0lBQ007SUFDQTtFL0h1emlCaEI7QUFDRjtBK0h6eGlCQztBQUNBO0FBQ0Q7RUFHUztJQUNHO0UvSHl4aUJWO0UrSHJ4aUJVO0lBQ0c7RS9IdXhpQmI7RStIbnhpQk87SUFDRztJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvSHF4aUJWO0UrSHB4aUJVO0lBQ0c7RS9Ic3hpQmI7RStIbHhpQk87SUFDRztFL0hveGlCVjtBQUNGO0ErSDl3aUJBO0VBQ0c7SUFDRztFL0hneGlCSjtBQUNGO0FtQi8waUJJO0U0R29FRDtJQUNHO0UvSDh3aUJKO0FBQ0Y7QWdJbjVpQkE7QUFDQTtBQUNBO0VBR0c7RUFDQTtBaEltNWlCSDtBZ0kvNGlCUztFQUNHO0FoSWk1aUJaOztBaUk1NWlCQTtBQUNBO0FBQ0E7RUFLRztBakkyNWlCSDtBbUJuMmlCSTtFOEdwREU7SUFDRztJQUNBO0VqSTA1aUJQO0VpSXQ1aUJPO0lBQ0c7RWpJdzVpQlY7QUFDRjtBaUlsNWlCRztFQUlHO0FqSWk1aUJOO0FpSXA1aUJNO0VBQ0c7QWpJczVpQlQ7QWlJbjVpQk07RUFDRztBaklxNWlCVDs7QWtJcDdpQkE7QUFDQTtBQUNBO0VBQ0c7QWxJdTdpQkg7QWtJcjdpQkc7RUFDRztBbEl1N2lCTjtBa0lqN2lCRztFQUVHLG9CL0JxSm9DO0FuRzZ4aUIxQztBbUI5MGlCSTtFK0c1RlE7SUFDRyxzQi9COElNO0VuRyt4aUJuQjtBQUNGO0FtQm4xaUJJO0UrR3JGVztJQUNHLHVCL0J1SUc7RW5Hb3lpQm5CO0FBQ0Y7QW1CeDFpQkk7RStHckZXO0lBQ0csdUIvQnVJRztFbkd5eWlCbkI7QUFDRjtBbUJoNWlCSTtFK0dsQ1c7SUFDRyxzQi9CdUlHO0VuRzh5aUJuQjtBQUNGOztBbUJyNWlCSTtFK0dqQlE7SUFDRztFbEkwNmlCYjtFa0l2NmlCTztJQUNHO0VsSXk2aUJWO0FBQ0Y7QW1JNzlpQkE7QUFDQTtBQ0RBO0FBQ0E7QUFJTTs7O0VBR0c7QXBJODlpQlQ7O0FvSWoraUJNOzs7RUFHRztBcElvK2lCVDs7QW9JditpQk07OztFQUdHO0FwSTAraUJUOztBb0k3K2lCTTs7O0VBR0c7QXBJZy9pQlQ7O0FvSW4vaUJNOzs7RUFHRztBcElzL2lCVDs7QW9Jei9pQk07OztFQUdHO0FwSTQvaUJUOztBb0kvL2lCTTs7O0VBR0c7QXBJa2dqQlQ7O0FvSXJnakJNOzs7RUFHRztBcEl3Z2pCVDs7QXFJaGhqQkE7QUFDQTtBQUlBOzs7RUFHRztBcklnaGpCSDs7QXFJeGdqQkc7RUFDRztBckkyZ2pCTjs7QXFJdGdqQkc7RUFDRztBckl5Z2pCTjs7QXFJai9pQkE7RUFFTTtJQUNHO0VySW0vaUJQO0FBQ0Y7QXNJdGlqQkE7QUFDQTtBQU9BO0VBQ0c7SUFDRztFdElraWpCSjtFc0kvaGpCQztJQUNHLHNCbkM4UG9DO0ltQzdQcEMsY25DOFBvQztJbUM3UHBDO0V0SWlpakJKO0VzSTloakJDO0lBQ0csY25DMFBvQztFbkdzeWlCeEM7RXNJN2hqQkM7SUFDRztFdEkraGpCSjtFc0k1aGpCQztJQUNHO0lBQ0E7RXRJOGhqQko7RXNJM2hqQkM7SUFDRztJQUNBO0V0STZoakJKO0VzSTFoakJDO0lBQ0c7SUFDQTtJQUNBO0V0STRoakJKO0VzSXpoakJDO0lBQ0c7SUFDQTtJQUNBO0V0STJoakJKO0VzSXhoakJDO0lBQ0c7SUFDQTtFdEkwaGpCSjtFc0l2aGpCTztJQUNHO0lBQ0E7SUFDQTtJQUNBO0V0SXloakJWO0VzSXBoakJPO0lBQ0c7SUFDQTtJQUNBLHFCbkM2TThCO0ltQzVNOUI7RXRJc2hqQlY7RXNJcGhqQk87SUFDRztJQUNBO0V0SXNoakJWO0VzSWpoakJPO0lBQ0c7SUFDQTtJQUNBLHlCbkNnTThCO0VuR20xaUJ4QztFc0k3Z2pCQzs7SUFFRztFdEkrZ2pCSjtFc0k1Z2pCQztJQUNHO0V0SThnakJKO0VzSTNnakJDO0lBQ0c7RXRJNmdqQko7QUFDRjtBdUk3bWpCQTtBQUNBO0FBRUE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2SThtakJIO0F1STVtakJHO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkk4bWpCTjtBdUk1bWpCTTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkk4bWpCVDtBdUkzbWpCTTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkk2bWpCVDs7QXdJL3BqQkE7QUFDQTtBQUVBO0VBQ0c7RUFDQTtFQUNBO0F4SWlxakJIOztBeUl2cWpCQTtBQUNBO0FBRUE7RUFDRztBekl5cWpCSDs7QXlJdHFqQkE7RUFDRyw4T0FDRztBekl3cWpCTjs7QXlJbnFqQkE7RUFFRztFQUNBO0F6SXFxakJIOztBeUk1cGpCRztFQUNHO0VBQ0E7QXpJK3BqQk47O0F5SXpwakJHO0VBQ0c7QXpJNHBqQk47O0F5SXRwakJHO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QXpJeXBqQk47O0F5SWpvakJHO0VBRUc7RUFDQTtBekltb2pCTjtBeUkvbmpCRztFQUVHO0VBQ0E7RUFDQTtBeklnb2pCTjtBeUk3bmpCRztFQUNHO0F6SStuakJOOztBMEludGpCQTtBQUNBO0FBRUE7RUFDRztJQUVHO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFHQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFMUlpdGpCSjtFMEkvc2pCSTtJQUNHO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UxSWl0akJQO0UwSTNzakJJO0lBQ0c7SUFDQTtFMUk2c2pCUDtFMEl4c2pCSTtJQUNHO0lBQ0E7SUFDQTtJQUNBO0UxSTBzakJQO0UwSXZzakJJO0lBQ0c7RTFJeXNqQlA7RTBJdHNqQkk7SUFDRztFMUl3c2pCUDtFMElyc2pCSTtJQUNHO0UxSXVzakJQO0UwSXBzakJJO0lBQ0c7RTFJc3NqQlA7RTBJbHNqQkk7SUFDRztFMUlvc2pCUDtBQUNGO0EySTl3akJBO0FBQ0E7QUFJQTtFQUdTO0lBQ0c7SUFDQTtJQUNBO0lBQ0E7RTNJMndqQlY7RTJJeHdqQk87O0lBRUcsWXhDb1A4QjtJd0NuUDlCO0UzSTB3akJWO0FBQ0Y7QTJJandqQkE7RUFFUztJQUNHO0UzSWt3akJWO0UySTl2akJVO0lBQ0c7RTNJZ3dqQmI7RTJJN3ZqQlU7SUFBbUI7RTNJZ3dqQjdCO0UySS92akJVO0lBQ0c7RTNJaXdqQmI7QUFDRjtBMkl4dmpCQTtFQUdNO0lBQ0c7SUFDQTtJQUNBO0lBQ0E7RTNJd3ZqQlA7RTJJcnZqQkk7O0lBRUcsWXhDc01pQztJd0NyTWpDO0UzSXV2akJQO0UySXB2akJJO0lBQ0c7SUFDQTtJQUNBO0UzSXN2akJQO0UySW52akJJO0lBQ0c7SUFDQTtJQUNBO0UzSXF2akJQO0UySWp2akJPO0lBQ0c7RTNJbXZqQlY7RTJJaHZqQk87SUFBbUI7RTNJbXZqQjFCO0UySWx2akJPO0lBQ0c7RTNJb3ZqQlY7QUFDRjtBNEkzMGpCQTtBQUNBO0FBS007QUFDQTtBQWVNO0VBR0c7RUFJTTtBNUlzempCckI7O0E0STd5akJNO0FBaENBO0FBQ0E7QUFlTTtFQUdHO0VBSU07QTVJOHpqQnJCOztBNElyempCTTtBQWhDQTtBQUNBO0FBZU07RUFHRztFQU1NO0E1SW8wakJyQjs7QTRJN3pqQk07QUFoQ0E7QUFDQTtBQWVNO0VBR0c7RUFNTTtBNUk0MGpCckI7O0E0SXIwakJNO0FBaENBO0FBQ0E7QUFlTTtFQUdHO0VBSU07QTVJczFqQnJCOztBNEk3MGpCTTtBQWhDQTtBQUNBO0FBZU07RUFHRztFQU1NO0E1STQxakJyQjs7QTRJcjFqQk07QUFoQ0E7QUFDQTtBQWVNO0VBR0c7RUFJTTtBNUlzMmpCckI7O0E0STcxakJNO0FBaENBO0FBQ0E7QUFFQTtFQUtTO0E1STQzakJmOztBNElwM2pCWTtFQUdHO0VBTU07QTVJZzNqQnJCOztBNEl6MmpCTTtBQWhDQTtBQUNBO0FBZU07RUFHRztFQU1NO0E1SXczakJyQjs7QTRJajNqQk07QUFoQ0E7QUFDQTtBQWVNO0VBR0c7RUFJTTtBNUlrNGpCckI7O0E0SXozakJNO0FBaENBO0FBQ0E7QUFlTTtFQUdHO0VBSU07QTVJMDRqQnJCOztBNElqNGpCTTtBQWhDQTtBQUNBO0FBZU07RUFHRztFQUlNO0E1SWs1akJyQjs7QTRJejRqQk07QUM5Qk47Ozs7OztFQUFBO0FBU0E7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdJeTZqQkg7O0E2SXA2akJBO0VBQ0c7QTdJdTZqQkg7O0E2SXA2akJBO0VBQ0c7RUFDQTtFQUNBO0E3SXU2akJIO0E2SXI2akJHO0VBQ0c7RUFDQTtBN0l1NmpCTjtBNkluNmpCTTtFQUNHO0E3SXE2akJUO0E2SWw2akJNO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0lvNmpCVDtBNklsNmpCUztFQUNHO0E3SW82akJaO0E2SWo2akJTO0VBQ0c7QTdJbTZqQlo7QTZJaDZqQlM7RUFDRztBN0lrNmpCWjtBNkkzNWpCa0I7O0VBRUc7QTdJNjVqQnJCO0E2SXY1akJTO0VBQ0c7RUFDQTtFQUNBO0E3SXk1akJaO0E2SXY1akJZO0VBQ0c7RUFDQTtFQUNBLGdCdElrTGU7RXNJakxmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdJeTVqQmY7QTZJdjVqQmU7RUFDRztBN0l5NWpCbEI7QTZJdjVqQmtCO0VBQ0c7RUFDQSxnQnRJc0tTO0FQbXZqQjlCO0E2SXQ1akJrQjtFQUNHO0E3SXc1akJyQjtBNklwNWpCZTtFQUNHO0E3SXM1akJsQjtBNklwNWpCa0I7RUFDRztBN0lzNWpCckI7QTZJbjVqQmtCO0VBQ0c7QTdJcTVqQnJCO0E2SWw1akJrQjtFQUNHO0E3SW81akJyQjtBNklsNWpCcUI7RUFDRztBN0lvNWpCeEI7QTZJLzRqQmU7O0VBRUc7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3SWk1akJsQjtBNkkvNGpCa0I7O0VBQ0c7QTdJazVqQnJCO0E2STk0akJlO0VBQ0c7QTdJZzVqQmxCO0E2STk0akJrQjs7RUFFRztBN0lnNWpCckI7QTZJNzRqQmtCO0VBQ0c7QTdJKzRqQnJCO0E2STc0akJxQjtFQUNHO0E3SSs0akJ4QjtBNkkxNGpCZTtFQUNHO0E3STQ0akJsQjtBNkkxNGpCa0I7O0VBRUc7QTdJNDRqQnJCO0E2SXo0akJrQjtFQUNHO0E3STI0akJyQjtBNkl6NGpCcUI7RUFDRztBN0kyNGpCeEI7QTZJcjRqQlk7RUFDRztFQUNBO0VBQ0E7RUFDQTtBN0l1NGpCZjtBNklyNGpCZTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdJdTRqQmxCO0E2SWw0akJlO0VBQ0c7QTdJbzRqQmxCO0E2SS8zakJlO0VBQ0c7QTdJaTRqQmxCO0E2STUzakJlO0VBQ0c7QTdJODNqQmxCO0E2SXozakJlO0VBQ0c7QTdJMjNqQmxCO0E2SXIzakJNO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3SXUzakJUO0E2SXIzakJTOztFQUVHO0VBQ0E7QTdJdTNqQlo7QTZJcDNqQlM7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdJczNqQlo7QTZJcDNqQlk7RUFDRztFQUNBO0VBQ0E7QTdJczNqQmY7QTZJbjNqQlk7RUFDRztFQUNBO0VBQ0E7QTdJcTNqQmY7QTZJbDNqQlk7RUFDRztBN0lvM2pCZjtBNklsM2pCZTtFQUNHO0VBQ0E7RUFDQTtBN0lvM2pCbEI7QTZJaDNqQlk7RUFDRztFQUNBO0E3SWszakJmO0E2SS8yakJZO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3SWkzakJmO0E2SS8yakJlO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QTdJaTNqQmxCO0E2STcyakJZO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3SSsyakJmO0E2STcyakJlO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QTdJKzJqQmxCO0E2STMyakJZO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QTdJNjJqQmY7QTZJMTJqQlk7RUFDRztFQUNBO0E3STQyakJmO0E2SXgyakJTO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0kwMmpCWjtBNkl0MmpCTTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3SXcyakJUO0E2SXQyakJTO0VBQ0c7RUFDQTtBN0l3MmpCWjtBNklyMmpCUztFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdJdTJqQlo7QTZJcjJqQlk7RUFDRztBN0l1MmpCZjtBNkluMmpCUztFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3SXEyakJaO0E2SW4yakJZO0VBQ0c7QTdJcTJqQmY7QTZJbDJqQlk7RUFDRztBN0lvMmpCZjtBNkkvMWpCTTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3SWkyakJUO0E2SS8xakJTO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdJaTJqQlo7QTZJOTFqQlM7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0lnMmpCWjs7QTZJMTFqQkE7RUFDRztJQUNHO0lBQ0E7RTdJNjFqQko7RTZJMTFqQkM7SUFDRztJQUNBO0U3STQxakJKO0FBQ0Y7QUE1dmtCQTtFQUNFO0FBOHZrQkY7O0FBenZrQkE7RUFDRTtBQTR2a0JGOztBQXJ2a0JBO0VBQ0U7RUFDQTtBQXd2a0JGOztBQXR2a0JBO0VBQ0U7QUF5dmtCRjs7QUF2dmtCQTtFQUNFO0FBMHZrQkY7O0FBeHZrQkE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtBQTJ2a0JGOztBQXp2a0JBO0VBQ0U7RUFDQTtFQUNBO0FBNHZrQkY7O0FBMXZrQkE7O0VBRUU7RUFDQTtBQTZ2a0JGOztBQTN2a0JBOztFQUVFO0FBOHZrQkY7O0FBMXZrQkE7QUFFQTtFQUNFO0VBQ0E7QUE0dmtCRjs7QUExdmtCQTtFQUEyQjtBQTh2a0IzQjs7QUE3dmtCQTtFQUE0QjtBQWl3a0I1Qjs7QUEvdmtCQTtFQUFtQjtBQW13a0JuQjs7QUFsd2tCQTtFQUFtQztBQXN3a0JuQzs7QUFyd2tCQTtFQUFvQztBQXl3a0JwQzs7QUF2d2tCQTtFQUFxQjtBQTJ3a0JyQjs7QUExd2tCQTtFQUFxQztBQTh3a0JyQzs7QUE3d2tCQTtFQUFzQztBQWl4a0J0Qzs7QUEvd2tCQTtFQUFtQjtBQW14a0JuQjs7QUFseGtCQTtFQUFtQztBQXN4a0JuQzs7QUFyeGtCQTtFQUFvQztBQXl4a0JwQzs7QUF2eGtCQTtFQUFnQjtBQTJ4a0JoQjs7QUExeGtCQTtFQUFnQztBQTh4a0JoQzs7QUE3eGtCQTtFQUFpQztBQWl5a0JqQzs7QUEveGtCQTtFQUFtQjtBQW15a0JuQjs7QUFseWtCQTtFQUFtQztBQXN5a0JuQzs7QUFyeWtCQTtFQUFvQztBQXl5a0JwQzs7QUF2eWtCQTs7OztFQUFBO0FBTUE7RUFBa0I7QUEweWtCbEI7O0FBenlrQkE7RUFBa0M7QUE2eWtCbEM7O0FBNXlrQkE7RUFBbUM7QUFnemtCbkM7O0FBOXlrQkE7QUFFQTtHQWd6a0JFLGNBaHprQnlDO0dBaXprQnpDLHVCQWp6a0J3RDtHQWt6a0J4RCxpQkFsemtCK0U7QUFtemtCakY7O0FBbHprQkE7RUFBNEQ7QUFzemtCNUQsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFubmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY29sb3ItbW9kZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9ib290c3RyYXAvX3Jvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9ib290c3RyYXAvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vYm9vdHN0cmFwL19yZWJvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9ib290c3RyYXAvY29udGVudHMvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9ib290c3RyYXAvY29udGVudHMvX2ltYWdlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY29udGFpbmVycy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NvbnRhaW5lci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtdmFyaWFudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vYm9vdHN0cmFwL2NvbnRlbnRzL190YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vYm9vdHN0cmFwL2NvbnRlbnRzL190b29sYmFycy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fbGFiZWxzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLXRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tY29udHJvbC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tc2VsZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLWNoZWNrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLXJhbmdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mbG9hdGluZy1sYWJlbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vYm9vdHN0cmFwL2Zvcm1zL19mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vYm9vdHN0cmFwL2NvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19kcm9wZG93bi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL2Jvb3RzdHJhcC9jb21wb25lbnRzL19kcm9wZG93bnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL2Jvb3RzdHJhcC9jb21wb25lbnRzL19uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2FyZC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9ib290c3RyYXAvY29tcG9uZW50cy9fY2FyZHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vYm9vdHN0cmFwL2NvbXBvbmVudHMvX2JyZWFkY3J1bWIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FjY29yZGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vYm9vdHN0cmFwL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL2Jvb3RzdHJhcC9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vYm9vdHN0cmFwL2NvbXBvbmVudHMvX2FsZXJ0cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vYm9vdHN0cmFwL2NvbXBvbmVudHMvX3Byb2dyZXNzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL2Jvb3RzdHJhcC9jb21wb25lbnRzL19saXN0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9hc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tkcm9wLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9jb2xvcnMvcGFsZXR0ZXMvX2RlZmF1bHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19vZmZjYW52YXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BsYWNlaG9sZGVycy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19jb2xvci1iZy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19jb2xvcmVkLWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2ZvY3VzLXJpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9faWNvbi1saW5rLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3JhdGlvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3Bvc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3N0YWNrcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdGV4dC10cnVuY2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL192ci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9ib290c3RyYXAvaGVscGVycy9fY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL2Jvb3RzdHJhcC9oZWxwZXJzL19jb2xvcmVkLWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL2Jvb3RzdHJhcC9oZWxwZXJzL19saW5rcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3V0aWxpdGllcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FwaS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9jb2xvcnMvY29tcG9uZW50cy9fYm9vdHN0cmFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL25pZnR5L2xheW91dHMvX3Jvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vbmlmdHkvbGF5b3V0cy9fcmVib290LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL25pZnR5L192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vbmlmdHkvbGF5b3V0cy9fZnJvbnQtY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL25pZnR5L2xheW91dHMvY29udGVudC9fY29udGVudC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS9sYXlvdXRzL2NvbnRlbnQvX2NvbnRlbnQtdmlldy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS9sYXlvdXRzL2NvbnRlbnQvX2NvbnRlbnQtc2luZ2xlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL25pZnR5L2NvbXBvbmVudHMvX3NlYXJjaGJveC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS9jb21wb25lbnRzL19zY3JvbGwtcGFnZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS9jb21wb25lbnRzL19iYWNrZHJvcC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS9jb21wb25lbnRzL190aW1lbGluZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS9jb21wb25lbnRzL19zcGVlY2gtYnViYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL25pZnR5L2xheW91dHMvaGVhZGVyL19oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vbmlmdHkvbGF5b3V0cy9tYWlubmF2L19tZW51LWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL25pZnR5L2xheW91dHMvbWFpbm5hdi9fbWluLW1vZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vbmlmdHkvbGF5b3V0cy9tYWlubmF2L19tYXgtbW9kZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS9sYXlvdXRzL21haW5uYXYvX2RlZmF1bHQtbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL25pZnR5L2xheW91dHMvbWFpbm5hdi9fc2xpZGUtbW9kZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS9sYXlvdXRzL21haW5uYXYvX3B1c2gtbW9kZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS9sYXlvdXRzL21haW5uYXYvX3JldmVhbC1tb2RlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL25pZnR5L2xheW91dHMvc2lkZWJhci9fZGVmYXVsdC1zaWRlYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL25pZnR5L2xheW91dHMvc2lkZWJhci9fZGlzYWJsZS1iYWNrZHJvcC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS9sYXlvdXRzL3NpZGViYXIvX3Bvc2l0aW9uLXN0YXRpYy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS9sYXlvdXRzL3NpZGViYXIvX3N0dWNrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL25pZnR5L2xheW91dHMvc2lkZWJhci9fdW5pdGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vbmlmdHkvbGF5b3V0cy9zaWRlYmFyL19waW5uZWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vY29sb3JzL2VsZW1lbnRzL19oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vY29sb3JzL2VsZW1lbnRzL19icmFuZC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9jb2xvcnMvZWxlbWVudHMvX21haW5uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vY29sb3JzL3RoZW1lcy9fZXhwYW5kZWQtaGQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vY29sb3JzL3RoZW1lcy9fZmFpci1oZC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9jb2xvcnMvdGhlbWVzL19mdWxsLWhkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL2NvbG9ycy90aGVtZXMvX3ByaW1hcnktbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL2NvbG9ycy90aGVtZXMvX3ByaW1hcnktYnJhbmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vY29sb3JzL3RoZW1lcy9fdGFsbC1oZC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS91dGlsaXRpZXMvX3RyYW5zaXRpb24tdGltaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL25pZnR5L3V0aWxpdGllcy9fb3B0aW1pemUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vbmlmdHkvdXRpbGl0aWVzL19wcmludC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS91dGlsaXRpZXMvX3JpYmJvbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS91dGlsaXRpZXMvX2Vycm9yLWNvZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vbmlmdHkvdXRpbGl0aWVzL19ob3Zlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS9sYXlvdXRzL19ib3hlZC1sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbmlmdHktdjQuMC4wL3Njc3MvbmlmdHktYWRtaW4vbmlmdHkvbGF5b3V0cy9fY2VudGVyZWQtbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL25pZnR5LXY0LjAuMC9zY3NzL25pZnR5LWFkbWluL2NvbG9ycy9jb21wb25lbnRzL19uaWZ0eS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9uaWZ0eS12NC4wLjAvc2Nzcy92ZW5kb3JzL2xpdGVwaWNrZXIvbGl0ZXBpY2tlci5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIlxuLy8gTmlmdHkgQWRtaW4gdjQuMC4wXG5AaW1wb3J0ICcuLi9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9ib290c3RyYXAuc2Nzcyc7XG5AaW1wb3J0ICcuLi9uaWZ0eS12NC4wLjAvc2Nzcy9uaWZ0eS1hZG1pbi9uaWZ0eS5zY3NzJztcblxuLy8gVmVuZG9yc1xuLy9AaW1wb3J0ICcuLi9uaWZ0eS12NC4wLjAvc2Nzcy92ZW5kb3JzL2Jvb3RzdHJhcDUtdGFncy9ib290c3RyYXA1LXRhZ3Muc2Nzcyc7XG4vL0BpbXBvcnQgJy4uL25pZnR5LXY0LjAuMC9zY3NzL3ZlbmRvcnMvY2hhcnRzLmNzcy9jaGFydHMuc2Nzcyc7XG4vL0BpbXBvcnQgJy4uL25pZnR5LXY0LjAuMC9zY3NzL3ZlbmRvcnMvZHJvcHpvbmUvZHJvcHpvbmUuc2Nzcyc7XG4vL0BpbXBvcnQgJy4uL25pZnR5LXY0LjAuMC9zY3NzL3ZlbmRvcnMvZnVsbGNhbGVuZGFyL2Z1bGxjYWxlbmRhci5zY3NzJztcbi8vQGltcG9ydCAnLi4vbmlmdHktdjQuMC4wL3Njc3MvdmVuZG9ycy9ncmlkanMvZ3JpZGpzLnNjc3MnO1xuQGltcG9ydCAnLi4vbmlmdHktdjQuMC4wL3Njc3MvdmVuZG9ycy9saXRlcGlja2VyL2xpdGVwaWNrZXIuc2Nzcyc7XG4vL0BpbXBvcnQgJy4uL25pZnR5LXY0LjAuMC9zY3NzL3ZlbmRvcnMvbG9hZGVyLmNzcy9sb2FkZXIuc2Nzcyc7XG4vL0BpbXBvcnQgJy4uL25pZnR5LXY0LjAuMC9zY3NzL3ZlbmRvcnMvbWMtZGF0ZXBpY2tlci9tYy1jYWxlbmRhci5zY3NzJztcbi8vQGltcG9ydCAnLi4vbmlmdHktdjQuMC4wL3Njc3MvdmVuZG9ycy9tZC1kYXRlLXRpbWUtcGlja2VyL21kRGF0ZVRpbWVQaWNrZXIuc2Nzcyc7XG4vL0BpbXBvcnQgJy4uL25pZnR5LXY0LjAuMC9zY3NzL3ZlbmRvcnMvcXVpbGwvcXVpbGwuc2Nzcyc7XG4vL0BpbXBvcnQgJy4uL25pZnR5LXY0LjAuMC9zY3NzL3ZlbmRvcnMvc3BhcmtsaW5lL3NwYXJrbGluZS5zY3NzJztcbi8vQGltcG9ydCAnLi4vbmlmdHktdjQuMC4wL3Njc3MvdmVuZG9ycy9zcGlua2l0L3NwaW5raXQuc2Nzcyc7XG4vL0BpbXBvcnQgJy4uL25pZnR5LXY0LjAuMC9zY3NzL3ZlbmRvcnMvdGFidWxhdG9yL3RhYnVsYXRvci5zY3NzJztcbiAgLy9AaW1wb3J0ICcuLi9uaWZ0eS12NC4wLjAvc2Nzcy92ZW5kb3JzL3RhZ2lmeS90YWdpZnkuc2Nzcyc7XG4vL0BpbXBvcnQgJy4uL25pZnR5LXY0LjAuMC9zY3NzL3ZlbmRvcnMvemFuZ2Rhci96YW5nZGFyLnNjc3MnO1xuXG4ucm9vdCB7XG4gIC0tbmYtYnJhbmQtc2l6ZTogMzBweDtcbn1cblxuLy8gRHJhZ3VsYSA6c3RhcnRcbkBpbXBvcnQgJ2RyYWd1bGEvZGlzdC9kcmFndWxhLmNzcyc7XG4uZ3UtbWlycm9yIHtcbiAgYm9yZGVyLXdpZHRoOjJweDtcbn1cbi8vIERyYWd1bGEgOmVuZFxuXG4vLyBTZWxlY3QgMiA6c3RhcnRcbkBpbXBvcnQgJ3NlbGVjdDIvZGlzdC9jc3Mvc2VsZWN0Mi5jc3MnO1xuQGltcG9ydCAnc2VsZWN0Mi1ib290c3RyYXAtNS10aGVtZS9kaXN0L3NlbGVjdDItYm9vdHN0cmFwLTUtdGhlbWUuY3NzJztcbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgcGFkZGluZy10b3A6IDNweDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHMgdWwgbGkgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG59XG4vKiBmb3IgZGFyayAqL1xuaHRtbFtkYXRhLWJzLXRoZW1lPVwiZGFya1wiXSAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNTIsIDYxLCA3MSk7XG4gIGJvcmRlci1jb2xvcjogcmdiKDc5LCA4MSwgODQpO1xuICBjb2xvcjogI2ZmZjtcbn1cbmh0bWxbZGF0YS1icy10aGVtZT1cImRhcmtcIl0gLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duIC5zZWxlY3QyLXNlYXJjaCBpbnB1dC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNDEsIDQ4LCA1Nik7XG4gIGJvcmRlci1jb2xvcjogcmdiKDc5LCA4MSwgODQpO1xuICBjb2xvcjogI2ZmZjtcbn1cbmh0bWxbZGF0YS1icy10aGVtZT1cImRhcmtcIl0gLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLFxuaHRtbFtkYXRhLWJzLXRoZW1lPVwiZGFya1wiXSAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig0MSwgNDgsIDU2KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoNzksIDgxLCA4NCk7XG59XG5odG1sW2RhdGEtYnMtdGhlbWU9XCJkYXJrXCJdIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLFxuaHRtbFtkYXRhLWJzLXRoZW1lPVwiZGFya1wiXSAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgY29sb3I6ICNmZmY7XG59XG4vLyBTZWxlY3QgMiA6ZW5kXG5cbi8qIENhbGxvdXQgKi9cblxuLmNhbGxvdXQge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNlOWVjZWY7XG4gIHBhZGRpbmc6MC41cmVtXG59XG4uY2FsbG91dCA+IC5jYWxsb3V0LWljb24geyBjb2xvcjogI2U5ZWNlZjsgfVxuLmNhbGxvdXQgPiAuY2FsbG91dC10aXRsZSB7IGNvbG9yOiAjZTllY2VmOyB9XG5cbi5jYWxsb3V0LXByaW1hcnkgeyBib3JkZXItbGVmdC1jb2xvcjogIzAxYTNkNDsgfVxuLmNhbGxvdXQtcHJpbWFyeSA+IC5jYWxsb3V0LWljb24geyBjb2xvcjogIzAxYTNkNDsgfVxuLmNhbGxvdXQtcHJpbWFyeSA+IC5jYWxsb3V0LXRpdGxlIHsgY29sb3I6ICMwMWEzZDQ7IH1cblxuLmNhbGxvdXQtc2Vjb25kYXJ5IHsgYm9yZGVyLWxlZnQtY29sb3I6ICM2Yzc1N2Q7IH1cbi5jYWxsb3V0LXNlY29uZGFyeSA+IC5jYWxsb3V0LWljb24geyBjb2xvcjogIzZjNzU3ZDsgfVxuLmNhbGxvdXQtc2Vjb25kYXJ5ID4gLmNhbGxvdXQtdGl0bGUgeyBjb2xvcjogIzZjNzU3ZDsgfVxuXG4uY2FsbG91dC1zdWNjZXNzIHsgYm9yZGVyLWxlZnQtY29sb3I6ICM3ZmQxMGQ7IH1cbi5jYWxsb3V0LXN1Y2Nlc3MgPiAuY2FsbG91dC1pY29uIHsgY29sb3I6ICM2Yzc1N2Q7IH1cbi5jYWxsb3V0LXN1Y2Nlc3MgPiAuY2FsbG91dC10aXRsZSB7IGNvbG9yOiAjNmM3NTdkOyB9XG5cbi5jYWxsb3V0LWluZm8geyBib3JkZXItbGVmdC1jb2xvcjogIzBkY2FmMDsgfVxuLmNhbGxvdXQtaW5mbyA+IC5jYWxsb3V0LWljb24geyBjb2xvcjogIzBkY2FmMDsgfVxuLmNhbGxvdXQtaW5mbyA+IC5jYWxsb3V0LXRpdGxlIHsgY29sb3I6ICMwZGNhZjA7IH1cblxuLmNhbGxvdXQtd2FybmluZyB7IGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZjMTA3OyB9XG4uY2FsbG91dC13YXJuaW5nID4gLmNhbGxvdXQtaWNvbiB7IGNvbG9yOiAjZmZjMTA3OyB9XG4uY2FsbG91dC13YXJuaW5nID4gLmNhbGxvdXQtdGl0bGUgeyBjb2xvcjogI2ZmYzEwNzsgfVxuXG4vKlxuLmNhbGxvdXQtZGFuZ2VyIHsgYm9yZGVyLWxlZnQtY29sb3I6ICNkYzM1NDU7IH1cbi5jYWxsb3V0LWRhbmdlciA+IC5jYWxsb3V0LWljb24geyBjb2xvcjogI2RjMzU0NTsgfVxuLmNhbGxvdXQtZGFuZ2VyID4gLmNhbGxvdXQtdGl0bGUgeyBjb2xvcjogI2RjMzU0NTsgfVxuICovXG5cbi5jYWxsb3V0LWRhbmdlciB7IGJvcmRlci1sZWZ0LWNvbG9yOiByZ2IoMjUwLCA5MiwgMTI0KTsgfVxuLmNhbGxvdXQtZGFuZ2VyID4gLmNhbGxvdXQtaWNvbiB7IGNvbG9yOiByZ2IoMjUwLCA5MiwgMTI0KTsgfVxuLmNhbGxvdXQtZGFuZ2VyID4gLmNhbGxvdXQtdGl0bGUgeyBjb2xvcjogcmdiKDI1MCwgOTIsIDEyNCk7IH1cblxuLyogTGl2ZS1FdmVudCAqL1xuXG4ubGl2ZS1ldmVudC1zdGF0dXMtYnV0dG9uLXRpbWVyLW9uLXBhdXNlIHsgX2ZvbnQtc2l6ZTo3MCU7X3BhZGRpbmc6LjM1cmVtIDAuOXJlbTtfbGluZS1oZWlnaHQ6MS4xNTsgfVxuLmxpdmUtZXZlbnQtc3RhdHVzLWJ1dHRvbi10aW1lciwgLmxpdmUtZXZlbnQtc3RhcnQtYnV0dG9uIHsgd2lkdGg6IDE0MHB4OyB9XG5cblxuIiwiQG1peGluIGJzQmFubmVyKCRmaWxlKSB7XG4gIC8qIVxuICAgKiBCb290c3RyYXAgI3skZmlsZX0gdjUuMy4zIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICAgKiBDb3B5cmlnaHQgMjAxMS0yMDI0IFRoZSBCb290c3RyYXAgQXV0aG9yc1xuICAgKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAgICovXG59XG4iLCI6cm9vdCxcbltkYXRhLWJzLXRoZW1lPVwibGlnaHRcIl0ge1xuICAvLyBOb3RlOiBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cblxuICAvLyBDb2xvcnNcbiAgLy9cbiAgLy8gR2VuZXJhdGUgcGFsZXR0ZXMgZm9yIGZ1bGwgY29sb3JzLCBncmF5cywgYW5kIHRoZW1lIGNvbG9ycy5cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRncmF5cyB7XG4gICAgLS0jeyRwcmVmaXh9Z3JheS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1yZ2Ige1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2I6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtdGV4dCB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXRleHQtZW1waGFzaXM6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYmctc3VidGxlIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYmctc3VidGxlOiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJvcmRlci1zdWJ0bGUge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1ib3JkZXItc3VidGxlOiAjeyR2YWx1ZX07XG4gIH1cblxuICAtLSN7JHByZWZpeH13aGl0ZS1yZ2I6ICN7dG8tcmdiKCR3aGl0ZSl9O1xuICAtLSN7JHByZWZpeH1ibGFjay1yZ2I6ICN7dG8tcmdiKCRibGFjayl9O1xuXG4gIC8vIEZvbnRzXG5cbiAgLy8gTm90ZTogVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogI3skZ3JhZGllbnR9O1xuXG4gIC8vIFJvb3QgYW5kIGJvZHlcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9keS12YXJpYWJsZXNcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZTogI3skZm9udC1zaXplLXJvb3R9O1xuICB9XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC1mYW1pbHk6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktYmFzZSl9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZS1iYXNlLCAtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQ6ICN7JGZvbnQtd2VpZ2h0LWJhc2V9O1xuICAtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0OiAjeyRsaW5lLWhlaWdodC1iYXNlfTtcbiAgQGlmICRib2R5LXRleHQtYWxpZ24gIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9Ym9keS10ZXh0LWFsaWduOiAjeyRib2R5LXRleHQtYWxpZ259O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWVtcGhhc2lzLWNvbG9yKX07XG5cbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmc6ICN7JGJvZHktc2Vjb25kYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3I6ICN7JGJvZHktdGVydGlhcnktY29sb3J9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnOiAjeyRib2R5LXRlcnRpYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1iZyl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtYm9keS12YXJpYWJsZXNcblxuICAtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yOiAjeyRoZWFkaW5ncy1jb2xvcn07XG5cbiAgLS0jeyRwcmVmaXh9bGluay1jb2xvcjogI3skbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1saW5rLWRlY29yYXRpb246ICN7JGxpbmstZGVjb3JhdGlvbn07XG5cbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcjogI3skbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1ob3Zlci1jb2xvcil9O1xuXG4gIEBpZiAkbGluay1ob3Zlci1kZWNvcmF0aW9uICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItZGVjb3JhdGlvbjogI3skbGluay1ob3Zlci1kZWNvcmF0aW9ufTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fWNvZGUtY29sb3I6ICN7JGNvZGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3I6ICN7JG1hcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1oaWdobGlnaHQtYmc6ICN7JG1hcmstYmd9O1xuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWJvcmRlci12YXJcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoOiAjeyRib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItc3R5bGU6ICN7JGJvcmRlci1zdHlsZX07XG4gIC0tI3skcHJlZml4fWJvcmRlci1jb2xvcjogI3skYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAjeyRib3JkZXItY29sb3ItdHJhbnNsdWNlbnR9O1xuXG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtOiAjeyRib3JkZXItcmFkaXVzLXNtfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZzogI3skYm9yZGVyLXJhZGl1cy1sZ307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteGw6ICN7JGJvcmRlci1yYWRpdXMteGx9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXh4bDogI3skYm9yZGVyLXJhZGl1cy14eGx9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLTJ4bDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteHhsKTsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjAgZm9yIGNvbnNpc3RlbmN5XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtcGlsbDogI3skYm9yZGVyLXJhZGl1cy1waWxsfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWJvcmRlci12YXJcblxuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93OiAjeyRib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbTogI3skYm94LXNoYWRvdy1zbX07XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctbGc6ICN7JGJveC1zaGFkb3ctbGd9O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0OiAjeyRib3gtc2hhZG93LWluc2V0fTtcblxuICAvLyBGb2N1cyBzdHlsZXNcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZm9jdXMtdmFyaWFibGVzXG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctd2lkdGg6ICN7JGZvY3VzLXJpbmctd2lkdGh9O1xuICAtLSN7JHByZWZpeH1mb2N1cy1yaW5nLW9wYWNpdHk6ICN7JGZvY3VzLXJpbmctb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctY29sb3I6ICN7JGZvY3VzLXJpbmctY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZm9jdXMtdmFyaWFibGVzXG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZm9ybS12YWxpZGF0aW9uLXZhcmlhYmxlc1xuICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWZvcm0tdmFsaWRhdGlvbi12YXJpYWJsZXNcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrLCB0cnVlKSB7XG4gICAgY29sb3Itc2NoZW1lOiBkYXJrO1xuXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZGFyay1tb2RlLXZhcnNcbiAgICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yOiAjeyRib2R5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1iZzogI3skYm9keS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktYmctZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1lbXBoYXNpcy1jb2xvci1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3I6ICN7JGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnOiAjeyRib2R5LXNlY29uZGFyeS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktYmctZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3I6ICN7JGJvZHktdGVydGlhcnktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmc6ICN7JGJvZHktdGVydGlhcnktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1iZy1kYXJrKX07XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXRleHQtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tdGV4dC1lbXBoYXNpczogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYmctc3VidGxlLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJnLXN1YnRsZTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZS1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1ib3JkZXItc3VidGxlOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcjogI3skaGVhZGluZ3MtY29sb3ItZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3I6ICN7JGxpbmstaG92ZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstaG92ZXItY29sb3ItZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9Y29kZS1jb2xvcjogI3skY29kZS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3I6ICN7JG1hcmstY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnOiAjeyRtYXJrLWJnLWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAjeyRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQtZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3I6ICN7JGZvcm0taW52YWxpZC1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1kYXJrLW1vZGUtdmFyc1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RpbWVuc2lvbi1uby1ub24tbnVtZXJpYy12YWx1ZXNcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSB2YWx1ZXMgZm9yIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBtYXJnaW5zIGFuZCBtdWNoIG1vcmVcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL21haW4vTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIHZhbHVlXG4kcmZzLWJhc2UtdmFsdWU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtdW5pdCAhPSByZW0gYW5kICRyZnMtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgdmFsdWVzIHN0YXJ0IGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIHZhbHVlcyBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IG51bWJlciBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIE1vZGUuIFBvc3NpYmlsaXRpZXM6IFwibWluLW1lZGlhLXF1ZXJ5XCIsIFwibWF4LW1lZGlhLXF1ZXJ5XCJcbiRyZnMtbW9kZTogbWluLW1lZGlhLXF1ZXJ5ICFkZWZhdWx0O1xuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmZzIHRvIGZhbHNlXG4kZW5hYmxlLXJmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLXZhbHVlIHVuaXRcbiRyZnMtYmFzZS12YWx1ZS11bml0OiB1bml0KCRyZnMtYmFzZS12YWx1ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLXZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSBweCB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgJHJmcy1iYXNlLXZhbHVlICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcmVtIHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1lZGlhIHF1ZXJ5IHZhbHVlXG4kcmZzLW1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcbiRyZnMtbXEtcHJvcGVydHktd2lkdGg6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC13aWR0aCwgbWluLXdpZHRoKTtcbiRyZnMtbXEtcHJvcGVydHktaGVpZ2h0OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSksICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSBhbmQgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtcnVsZSB7XG4gIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgcHJvcGVydHlcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAuZW5hYmxlLXJmcyAmLFxuICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG5cbiAgQGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIC5lbmFibGUtcmZzICYsXG4gICAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgLmRpc2FibGUtcmZzICYsXG4gICAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGZvcm1hdHRlZCBub24tcmVzcG9uc2l2ZSB2YWx1ZVxuQGZ1bmN0aW9uIHJmcy12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgJHJmcy1yZW0tdmFsdWUpfXJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICR1bml0ID09IHJlbSB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcHggaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSBweCwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSkgKiAkcmZzLXJlbS12YWx1ZX1weCwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgZGl2aWRlKDEsICRyZnMtcmVtLXZhbHVlKSkpO1xuXG4gICAgICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgIEBpZiBhYnMoJHZhbHVlKSA8PSAkcmZzLWJhc2UtdmFsdWUgb3Igbm90ICRlbmFibGUtcmZzIHtcbiAgICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgZGl2aWRlKGFicygkdmFsdWUpIC0gJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICR2YWx1ZSBhbmQgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtZGlmZjogYWJzKCR2YWx1ZSkgLSAkdmFsdWUtbWluO1xuXG4gICAgICAgICAgLy8gQmFzZSB2YWx1ZSBmb3JtYXR0aW5nXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWUtbWlufXB4KTtcblxuICAgICAgICAgIC8vIFVzZSBuZWdhdGl2ZSB2YWx1ZSBpZiBuZWVkZWRcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkdmFsdWUgPCAwLCAtJG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG5cbiAgICAgICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkdmFsdWUtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBjYWxjKFwiICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsIFwiIC0gXCIsIFwiICsgXCIpICsgJHZhcmlhYmxlLXdpZHRoICsgXCIpXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkLXZhbDogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpO1xuXG4gICAgLy8gRG8gbm90IHByaW50IHRoZSBtZWRpYSBxdWVyeSBpZiByZXNwb25zaXZlICYgbm9uLXJlc3BvbnNpdmUgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgIEBpZiAkdmFsID09ICRmbHVpZC12YWwge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBfcmZzLXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICR2YWwsICRmbHVpZC12YWwpO1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWQtdmFsLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2hvcnRoYW5kIGhlbHBlciBtaXhpbnNcbkBtaXhpbiBmb250LXNpemUoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUpO1xufVxuXG5AbWl4aW4gcGFkZGluZygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZyk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy10b3ApO1xufVxuXG5AbWl4aW4gcGFkZGluZy1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1yaWdodCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1ib3R0b20pO1xufVxuXG5AbWl4aW4gcGFkZGluZy1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWxlZnQpO1xufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4pO1xufVxuXG5AbWl4aW4gbWFyZ2luLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXRvcCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1yaWdodCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tYm90dG9tKTtcbn1cblxuQG1peGluIG1hcmdpbi1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tbGVmdCk7XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItbW9kZS1taXhpblxuQG1peGluIGNvbG9yLW1vZGUoJG1vZGU6IGxpZ2h0LCAkcm9vdDogZmFsc2UpIHtcbiAgQGlmICRjb2xvci1tb2RlLXR5cGUgPT0gXCJtZWRpYS1xdWVyeVwiIHtcbiAgICBAaWYgJHJvb3QgPT0gdHJ1ZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiAkbW9kZSkge1xuICAgICAgICA6cm9vdCB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ICRtb2RlKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgW2RhdGEtYnMtdGhlbWU9XCIjeyRtb2RlfVwiXSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItbW9kZS1taXhpblxuIiwiOnJvb3Qge1xuICAgLS0jeyRwcmVmaXh9Y29tcG9uZW50LWJnOiAjeyRjb21wb25lbnQtYmd9O1xuICAgLS0jeyRwcmVmaXh9Y29tcG9uZW50LWJnLXJnYjogI3t0by1yZ2IoJGNvbXBvbmVudC1iZyl9O1xuICAgLS0jeyRwcmVmaXh9Y29tcG9uZW50LWNvbG9yOiAjeyRjb21wb25lbnQtY29sb3J9O1xuICAgLS0jeyRwcmVmaXh9Y29tcG9uZW50LWNvbG9yLXJnYjogI3t0by1yZ2IoJGNvbXBvbmVudC1jb2xvcil9O1xuXG4gICAtLSN7JHByZWZpeH1jb21wb25lbnQtaG92ZXItYmc6ICN7JGNvbXBvbmVudC1ob3Zlci1iZ307XG4gICAtLSN7JHByZWZpeH1jb21wb25lbnQtaG92ZXItYmctcmdiOiAje3RvLXJnYigkY29tcG9uZW50LWhvdmVyLWJnKX07XG4gICAtLSN7JHByZWZpeH1jb21wb25lbnQtaG92ZXItY29sb3I6ICN7JGNvbXBvbmVudC1ob3Zlci1jb2xvcn07XG4gICAtLSN7JHByZWZpeH1jb21wb25lbnQtaG92ZXItY29sb3ItcmdiOiAje3RvLXJnYigkY29tcG9uZW50LWhvdmVyLWNvbG9yKX07XG5cbiAgIC0tI3skcHJlZml4fWNvbXBvbmVudC1hbHQtYmc6ICN7ICRjb21wb25lbnQtYWx0LWJnIH07XG4gICAtLSN7JHByZWZpeH1jb21wb25lbnQtYWx0LWFjdGl2ZS1iZzogI3sgJGNvbXBvbmVudC1hbHQtYWN0aXZlLWJnIH07XG5cbiAgIC0tI3skcHJlZml4fWZvcm0tZGlzYWJsZWQtb3BhY2l0eTogI3skaW5wdXQtZGlzYWJsZWQtb3BhY2l0eX07XG5cbiAgIC0tI3skcHJlZml4fWJveC1zaGFkb3ctY29sb3I6ICN7JGJveC1zaGFkb3ctY29sb3J9O1xuICAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1hbHBoYTogI3skYm94LXNoYWRvdy1hbHBoYX07XG4gICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWFscGhhLXhzOiAjeyRib3gtc2hhZG93LWFscGhhLXhzfTtcbiAgIC0tI3skcHJlZml4fWJveC1zaGFkb3ctYWxwaGEtc206ICN7JGJveC1zaGFkb3ctYWxwaGEtc219O1xuICAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1hbHBoYS1sZzogI3skYm94LXNoYWRvdy1hbHBoYS1sZ307XG4gICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWFscGhhLWluc2V0OiAjeyRib3gtc2hhZG93LWFscGhhLWluc2V0fTtcblxuICAgLS0jeyRwcmVmaXh9cHJpbWFyeS1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkcHJpbWFyeSl9O1xuICAgLS0jeyRwcmVmaXh9cHJpbWFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKGNvbG9yLWNvbnRyYXN0KCRwcmltYXJ5KSl9O1xuICAgLS0jeyRwcmVmaXh9cHJpbWFyeS1ib3JkZXI6ICN7dGludC1jb2xvcigkcHJpbWFyeSwgMTUlKX07XG5cblxuICAgQGlmIGNvbnRyYXN0LXJhdGlvKCAkcHJpbWFyeSAgKSA8PSAkbWluLWNvbnRyYXN0LXJhdGlvIHtcbiAgICAgIC50ZXh0LXByaW1hcnkge1xuICAgICAgICAgY29sb3I6IHJnYmEoI3t0by1yZ2Ioc2hhZGUtY29sb3IoJHByaW1hcnksIDI1JSkpfSwgdmFyKC0tI3skcHJlZml4fXRleHQtb3BhY2l0eSwgMSkpO1xuICAgICAgfVxuXG4gICAgICAubGluay1wcmltYXJ5IHtcbiAgICAgICAgIC0tI3skcHJlZml4fWxpbmstcHJpbWFyeS1jb2xvcjogcmdiYSgje3RvLXJnYihzaGFkZS1jb2xvcigkcHJpbWFyeSwgMjUlKSl9LCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSk7XG4gICAgICAgICAtLSN7JHByZWZpeH1saW5rLXByaW1hcnktdW5kZXJsaW5lLWNvbG9yOiByZ2JhKCN7dG8tcmdiKHNoYWRlLWNvbG9yKCRwcmltYXJ5LCAyNSUpKX0sIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSk7XG5cbiAgICAgICAgIC0tI3skcHJlZml4fWxpbmstcHJpbWFyeS1ob3Zlci1jb2xvcjogcmdiYSgje3RvLXJnYihzaGFkZS1jb2xvcigkcHJpbWFyeSwgMTAlKSl9LCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSk7XG4gICAgICAgICAtLSN7JHByZWZpeH1saW5rLXByaW1hcnktdW5kZXJsaW5lLWhvdmVyLWNvbG9yOiByZ2JhKCN7dG8tcmdiKHNoYWRlLWNvbG9yKCRwcmltYXJ5LCAxMCUpKX0sIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSk7XG4gICAgICB9XG4gICB9IEBlbHNlIHtcbiAgICAgIC50ZXh0LXByaW1hcnkge1xuICAgICAgICAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fXByaW1hcnktcmdiKSwgdmFyKC0tI3skcHJlZml4fXRleHQtb3BhY2l0eSwgMSkpO1xuICAgICAgfVxuXG4gICAgICAubGluay1wcmltYXJ5IHtcbiAgICAgICAgIC0tI3skcHJlZml4fWxpbmstcHJpbWFyeS1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSk7XG4gICAgICAgICAtLSN7JHByZWZpeH1saW5rLXByaW1hcnktdW5kZXJsaW5lLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSk7XG5cbiAgICAgICAgIC0tI3skcHJlZml4fWxpbmstcHJpbWFyeS1ob3Zlci1jb2xvcjogcmdiYSgje3RvLXJnYih0aW50LWNvbG9yKCRwcmltYXJ5LCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSl9LCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSk7XG4gICAgICAgICAtLSN7JHByZWZpeH1saW5rLXByaW1hcnktdW5kZXJsaW5lLWhvdmVyLWNvbG9yOiByZ2JhKCN7dG8tcmdiKHRpbnQtY29sb3IoJHByaW1hcnksICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpKX0sIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSk7XG4gICAgICB9XG4gICB9XG59XG5cblxuXG4vKiBEYXJrIE1vZGUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICAgIGNvbG9yLXNjaGVtZTogZGFyaztcblxuICAgICAgLS0jeyRwcmVmaXh9Y29tcG9uZW50LWJnOiAjeyRjb21wb25lbnQtYmctZGFya307XG4gICAgICAtLSN7JHByZWZpeH1jb21wb25lbnQtYmctcmdiOiAje3RvLXJnYigkY29tcG9uZW50LWJnLWRhcmspfTtcbiAgICAgIC0tI3skcHJlZml4fWNvbXBvbmVudC1jb2xvcjogI3skY29tcG9uZW50LWNvbG9yLWRhcmt9O1xuICAgICAgLS0jeyRwcmVmaXh9Y29tcG9uZW50LWNvbG9yLXJnYjogI3t0by1yZ2IoJGNvbXBvbmVudC1jb2xvci1kYXJrKX07XG5cbiAgICAgIC0tI3skcHJlZml4fWNvbXBvbmVudC1ob3Zlci1iZzogI3skY29tcG9uZW50LWhvdmVyLWJnLWRhcmt9O1xuICAgICAgLS0jeyRwcmVmaXh9Y29tcG9uZW50LWhvdmVyLWJnLXJnYjogI3t0by1yZ2IoJGNvbXBvbmVudC1ob3Zlci1iZy1kYXJrKX07XG4gICAgICAtLSN7JHByZWZpeH1jb21wb25lbnQtaG92ZXItY29sb3I6ICN7JGNvbXBvbmVudC1ob3Zlci1jb2xvci1kYXJrfTtcbiAgICAgIC0tI3skcHJlZml4fWNvbXBvbmVudC1ob3Zlci1jb2xvci1yZ2I6ICN7dG8tcmdiKCRjb21wb25lbnQtaG92ZXItY29sb3ItZGFyayl9O1xuXG4gICAgICAtLSN7JHByZWZpeH1mb3JtLWRpc2FibGVkLW9wYWNpdHk6ICN7JGlucHV0LWRpc2FibGVkLW9wYWNpdHktZGFya307XG5cbiAgICAgIC0tI3skcHJlZml4fWJveC1zaGFkb3ctY29sb3I6ICN7JGJveC1zaGFkb3ctY29sb3ItZGFya307XG4gICAgICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWFscGhhOiAjeyRib3gtc2hhZG93LWFscGhhLWRhcmt9O1xuICAgICAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1hbHBoYS14czogI3skYm94LXNoYWRvdy1hbHBoYS14cy1kYXJrfTtcbiAgICAgIC0tI3skcHJlZml4fWJveC1zaGFkb3ctYWxwaGEtc206ICN7JGJveC1zaGFkb3ctYWxwaGEtc20tZGFya307XG4gICAgICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWFscGhhLWxnOiAjeyRib3gtc2hhZG93LWFscGhhLWxnLWRhcmt9O1xuICAgICAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1hbHBoYS1pbnNldDogI3skYm94LXNoYWRvdy1hbHBoYS1pbnNldC1kYXJrfTtcblxuXG4gICAgICBAaWYgY29udHJhc3QtcmF0aW8oICRwcmltYXJ5LCAkY29tcG9uZW50LWJnLWRhcmsgICkgPD0gJG1pbi1jb250cmFzdC1yYXRpbyB7XG4gICAgICAgICAudGV4dC1wcmltYXJ5IHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCN7dG8tcmdiKHRpbnQtY29sb3IoJHByaW1hcnksIDMwJSkpfSwgdmFyKC0tI3skcHJlZml4fXRleHQtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gICAgICAgICB9XG5cbiAgICAgICAgIC5saW5rLXByaW1hcnkge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9bGluay1wcmltYXJ5LWNvbG9yOiByZ2JhKCN7dG8tcmdiKHRpbnQtY29sb3IoJHByaW1hcnksIDMwJSkpfSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpO1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9bGluay1wcmltYXJ5LXVuZGVybGluZS1jb2xvcjogcmdiYSgje3RvLXJnYih0aW50LWNvbG9yKCRwcmltYXJ5LCAzMCUpKX0sIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSk7XG5cbiAgICAgICAgICAgIC0tI3skcHJlZml4fWxpbmstcHJpbWFyeS1ob3Zlci1jb2xvcjogcmdiYSgje3RvLXJnYih0aW50LWNvbG9yKCRwcmltYXJ5LCA0NSUpKX0sIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKTtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fWxpbmstcHJpbWFyeS11bmRlcmxpbmUtaG92ZXItY29sb3I6IHJnYmEoI3t0by1yZ2IodGludC1jb2xvcigkcHJpbWFyeSwgNDUlKSl9LCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpO1xuICAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAudGV4dC1wcmltYXJ5IHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIHZhcigtLSN7JHByZWZpeH10ZXh0LW9wYWNpdHksIDEpKTtcbiAgICAgICAgIH1cblxuICAgICAgICAgLmxpbmstcHJpbWFyeSB7XG4gICAgICAgICAgICAtLSN7JHByZWZpeH1saW5rLXByaW1hcnktY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fXByaW1hcnktcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpO1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9bGluay1wcmltYXJ5LXVuZGVybGluZS1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpO1xuXG4gICAgICAgICAgICAtLSN7JHByZWZpeH1saW5rLXByaW1hcnktaG92ZXItY29sb3I6IHJnYmEoI3t0by1yZ2IodGludC1jb2xvcigkcHJpbWFyeSwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkpfSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpO1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9bGluay1wcmltYXJ5LXVuZGVybGluZS1ob3Zlci1jb2xvcjogcmdiYSgje3RvLXJnYih0aW50LWNvbG9yKCRwcmltYXJ5LCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSl9LCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpO1xuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYnRuLW91dGxpbmUtcHJpbWFyeSB7XG4gICAgICAgICBAaWYgbGlnaHRuZXNzKCAkcHJpbWFyeSApID4gNTUlIHtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3t0aW50LWNvbG9yKCRwcmltYXJ5LCA0NSUpfTtcbiAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAje2xpZ2h0ZW4oJHByaW1hcnksIDE5JSl9O1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3tsaWdodGVuKCRwcmltYXJ5LCAxOSUpfTtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XG4gICAgICAgICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAje3NoYWRlLWNvbG9yKCRzZWNvbmRhcnksIDQ1JSl9O1xuICAgICAgfVxuXG4gICAgICAuYnRuLW91dGxpbmUtbGlnaHQge1xuICAgICAgICAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3skYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgICAgfVxuXG4gICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAtLSN7JHByZWZpeH1kcm9wZG93bi1iZzogI3t0aW50LWNvbG9yKCRjb21wb25lbnQtYmctZGFyaywgMiUpfTtcbiAgICAgIH1cbiAgIH1cblxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5cbi8vIFJvb3Rcbi8vXG4vLyBBYmlsaXR5IHRvIHRoZSB2YWx1ZSBvZiB0aGUgcm9vdCBmb250IHNpemVzLCBhZmZlY3RpbmcgdGhlIHZhbHVlIG9mIGByZW1gLlxuLy8gbnVsbCBieSBkZWZhdWx0LCB0aHVzIG5vdGhpbmcgaXMgZ2VuZXJhdGVkLlxuXG46cm9vdCB7XG4gIEBpZiAkZm9udC1zaXplLXJvb3QgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZSkpO1xuICB9XG5cbiAgQGlmICRlbmFibGUtc21vb3RoLXNjcm9sbCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4vLyA0LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHJlYm9vdC1ib2R5LXJ1bGVzXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogdmFyKC0tI3skcHJlZml4fWJvZHktdGV4dC1hbGlnbik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKTsgLy8gMlxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDNcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDRcbn1cbi8vIHNjc3MtZG9jcy1lbmQgcmVib290LWJvZHktcnVsZXNcblxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gUmVzZXQgRmlyZWZveCdzIGdyYXkgY29sb3JcblxuaHIge1xuICBtYXJnaW46ICRoci1tYXJnaW4teSAwO1xuICBjb2xvcjogJGhyLWNvbG9yOyAvLyAxXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xuICBvcGFjaXR5OiAkaHItb3BhY2l0eTtcbn1cblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gMS4gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vICAgIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyAgICBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG5cbiVoZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDsgLy8gMVxuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC1zdHlsZTogJGhlYWRpbmdzLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcik7XG59XG5cbmgxIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xufVxuXG5oMiB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbn1cblxuaDMge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG59XG5cbmg0IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xufVxuXG5oNSB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbn1cblxuaDYge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG59XG5cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAyLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyAzLiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0ge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDFcbiAgY3Vyc29yOiBoZWxwOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gM1xufVxuXG5cbi8vIEFkZHJlc3NcblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cblxuLy8gTGlzdHNcblxub2wsXG51bCB7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIDEuIFVuZG8gYnJvd3NlciBkZWZhdWx0XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyAxXG59XG5cblxuLy8gQmxvY2txdW90ZVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vLyBTdHJvbmdcbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlcjtcbn1cblxuXG4vLyBTbWFsbFxuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xufVxuXG5cbi8vIE1hcmtcblxubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZyk7XG59XG5cblxuLy8gU3ViIGFuZCBTdXBcbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHN1Yi1zdXAtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6IHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgJixcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gQ29kZVxuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktY29kZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxuLy8gMS4gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4vLyAyLiBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuLy8gMy4gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwOyAvLyAxXG4gIG1hcmdpbi1ib3R0b206IDFyZW07IC8vIDJcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIDNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cblxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNvZGUtY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cblxuXG4vLyBGaWd1cmVzXG4vL1xuLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vIEltYWdlcyBhbmQgY29udGVudFxuXG5pbWcsXG5zdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcblxudGFibGUge1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nLXk7XG4gIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICR0YWJsZS10aC1mb250LXdlaWdodDsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cbnRoZWFkLFxudGJvZHksXG50Zm9vdCxcbnRyLFxudGQsXG50aCB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG5cbi8vIEZvcm1zXG4vL1xuLy8gMS4gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcblxuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBFeHBsaWNpdGx5IHJlbW92ZSBmb2N1cyBvdXRsaW5lIGluIENocm9taXVtIHdoZW4gaXQgc2hvdWxkbid0IGJlXG4vLyB2aXNpYmxlIChlLmcuIGFzIHJlc3VsdCBvZiBtb3VzZSBjbGljayBvciB0b3VjaCB0YXApLiBJdCBhbHJlYWR5XG4vLyBzaG91bGQgYmUgZG9pbmcgdGhpcyBhdXRvbWF0aWNhbGx5LCBidXQgc2VlbXMgdG8gY3VycmVudGx5IGJlXG4vLyBjb25mdXNlZCBhbmQgYXBwbGllcyBpdHMgdmVyeSB2aXNpYmxlIHR3by10b25lIG91dGxpbmUgYW55d2F5LlxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zZWxlY3Qge1xuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuXG4gIC8vIFVuZG8gdGhlIG9wYWNpdHkgY2hhbmdlIGZyb20gQ2hyb21lXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLy8gUmVtb3ZlIHRoZSBkcm9wZG93biBhcnJvdyBvbmx5IGZyb20gdGV4dCB0eXBlIGlucHV0cyBidWlsdCB3aXRoIGRhdGFsaXN0cyBpbiBDaHJvbWUuXG4vLyBTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzU0OTk3MTE4XG5cbltsaXN0XTpub3QoW3R5cGU9XCJkYXRlXCJdKTpub3QoW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSk6bm90KFt0eXBlPVwibW9udGhcIl0pOm5vdChbdHlwZT1cIndlZWtcIl0pOm5vdChbdHlwZT1cInRpbWVcIl0pOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDMuIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCBidXR0b24gZWxlbWVudHMuXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuXG4gIEBpZiAkZW5hYmxlLWJ1dHRvbi1wb2ludGVycyB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IC8vIDNcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxuXG46Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8vIDEuIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyAvLyAxXG59XG5cbi8vIDEuIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4vLyAgICB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbi8vICAgIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4vLyAgICBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4vLyAyLiBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cblxuZmllbGRzZXQge1xuICBtaW4td2lkdGg6IDA7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDJcbiAgYm9yZGVyOiAwOyAvLyAyXG59XG5cbi8vIDEuIEJ5IHVzaW5nIGBmbG9hdDogbGVmdGAsIHRoZSBsZWdlbmQgd2lsbCBiZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnQuXG4vLyAgICBUaGlzIHdheSB0aGUgYm9yZGVyIG9mIGEgZmllbGRzZXQgd3JhcHMgYXJvdW5kIHRoZSBsZWdlbmQgaWYgcHJlc2VudC5cbi8vIDIuIEZpeCB3cmFwcGluZyBidWcuXG4vLyAgICBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yOTcxMlxuXG5sZWdlbmQge1xuICBmbG9hdDogbGVmdDsgLy8gMVxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGxlZ2VuZC1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlZ2VuZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlZ2VuZC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgKyAqIHtcbiAgICBjbGVhcjogbGVmdDsgLy8gMlxuICB9XG59XG5cbi8vIEZpeCBoZWlnaHQgb2YgaW5wdXRzIHdpdGggYSB0eXBlIG9mIGRhdGV0aW1lLWxvY2FsLCBkYXRlLCBtb250aCwgd2Vlaywgb3IgdGltZVxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTg4NDJcblxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC10ZXh0LFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gMS4gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuLy8gICAgYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4vLyAgICBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4vLyAgICBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbn1cblxuLy8gMS4gQSBmZXcgaW5wdXQgdHlwZXMgc2hvdWxkIHN0YXkgTFRSXG4vLyBTZWUgaHR0cHM6Ly9ydGxzdHlsaW5nLmNvbS9wb3N0cy9ydGwtc3R5bGluZyNmb3JtLWlucHV0c1xuLy8gMi4gUlRMIG9ubHkgb3V0cHV0XG4vLyBTZWUgaHR0cHM6Ly9ydGxjc3MuY29tL2xlYXJuL3VzYWdlLWd1aWRlL2NvbnRyb2wtZGlyZWN0aXZlcy8jcmF3XG5cbi8qIHJ0bDpyYXc6XG5bdHlwZT1cInRlbFwiXSxcblt0eXBlPVwidXJsXCJdLFxuW3R5cGU9XCJlbWFpbFwiXSxcblt0eXBlPVwibnVtYmVyXCJdIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG59XG4qL1xuXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gUmVtb3ZlIHBhZGRpbmcgYXJvdW5kIGNvbG9yIHBpY2tlcnMgaW4gd2Via2l0IGJyb3dzZXJzXG5cbjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7XG59XG5cblxuLy8gMS4gSW5oZXJpdCBmb250IGZhbWlseSBhbmQgbGluZSBoZWlnaHQgZm9yIGZpbGUgaW5wdXQgYnV0dG9uc1xuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDFcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLy8gUmVtb3ZlIGJvcmRlciBmcm9tIGlmcmFtZVxuXG5pZnJhbWUge1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFN1bW1hcnlcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gMVxuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLy8gUHJvZ3Jlc3Ncbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuXG4vLyBIaWRkZW4gYXR0cmlidXRlXG4vL1xuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZS5cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBWQVJJQUJMRVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG5cbi8vIEhFTFBFUlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHV0aWxpdGllczogKCk7XG5cblxuLy8gVGhlIGNvbnRyYXN0IHJhdGlvIHRvIHJlYWNoIGFnYWluc3Qgd2hpdGUsIHRvIGRldGVybWluZSBpZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJsaWdodFwiIHRvIFwiZGFya1wiLiBBY2NlcHRhYmxlIHZhbHVlcyBmb3IgV0NBRyAyLjAgYXJlIDMsIDQuNSBhbmQgNy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRzIwLyN2aXN1YWwtYXVkaW8tY29udHJhc3QtY29udHJhc3RcbiRtaW4tY29udHJhc3QtcmF0aW86ICAgMi4wNSAhZGVmYXVsdDtcblxuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJGNvbG9yLWNvbnRyYXN0LWRhcms6ICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNvbG9yLWNvbnRyYXN0LWxpZ2h0OiAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cblxuXG4vLyBPcHRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVkdWNlZC1tb3Rpb246ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNtb290aC1zY3JvbGw6ICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY29udGFpbmVyLWNsYXNzZXM6ICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWNzc2dyaWQ6ICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtYnV0dG9uLXBvaW50ZXJzOiAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJmczogICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtbmVnYXRpdmUtbWFyZ2luczogICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllczogIHRydWUgIWRlZmF1bHQ7XG5cbiRlbmFibGUtZGFyay1tb2RlOiAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kY29sb3ItbW9kZS10eXBlOiAgICAgICAgICAgICBkYXRhICFkZWZhdWx0OyAvLyBgZGF0YWAgb3IgYG1lZGlhLXF1ZXJ5YFxuXG5cblxuLy8gUHJlZml4IGZvciA6cm9vdCBDU1MgdmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRwcmVmaXg6ICAgICAgICAgICAgICAgICAgICAgIGJzLSAhZGVmYXVsdDtcblxuXG5cbi8vIEdyYWRpZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoZSBncmFkaWVudCB3aGljaCBpcyBhZGRlZCB0byBjb21wb25lbnRzIGlmIGAkZW5hYmxlLWdyYWRpZW50c2AgaXMgYHRydWVgXG4vLyBUaGlzIGdyYWRpZW50IGlzIGFsc28gYWRkZWQgdG8gZWxlbWVudHMgd2l0aCBgLmJnLWdyYWRpZW50YFxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwgLjM1KSwgcmdiYSgkd2hpdGUsIDApKSAhZGVmYXVsdDtcblxuXG5cbi8vIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LFxuICAyOiAkc3BhY2VyICogLjUsXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICRzcGFjZXIgKiAxLjUsXG4gIDU6ICRzcGFjZXIgKiAzLFxuKSAhZGVmYXVsdDtcblxuXG5cbi8vIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERlZmluZSB0aGUgZWRnZSBwb3NpdGlvbmluZyBhbmNob3JzIG9mIHRoZSBwb3NpdGlvbiB1dGlsaXRpZXMuXG4kcG9zaXRpb24tdmFsdWVzOiAoXG4gIDA6IDAsXG4gIDUwOiA1MCUsXG4gIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcblxuXG5cbi8vIEJvZHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuJGJvZHktdGV4dC1hbGlnbjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgIzc1ODY4ZiAhZGVmYXVsdDtcbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAjZWRmMWY2ICFkZWZhdWx0O1xuXG4kYm9keS1zZWNvbmRhcnktY29sb3I6ICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRib2R5LXNlY29uZGFyeS1iZzogICAgICAgICBzaGFkZS1jb2xvcigkYm9keS1iZywgNSUpICFkZWZhdWx0O1xuXG4kYm9keS10ZXJ0aWFyeS1jb2xvcjogICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjUpICFkZWZhdWx0O1xuJGJvZHktdGVydGlhcnktYmc6ICAgICAgICAgIHNoYWRlLWNvbG9yKCRib2R5LWJnLCAxMCUpICFkZWZhdWx0O1xuXG4kYm9keS1lbXBoYXNpcy1jb2xvcjogICAgICAgJGJsYWNrICFkZWZhdWx0O1xuXG5cblxuLy8gTGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbiRsaW5rLXNoYWRlLXBlcmNlbnRhZ2U6ICAgICAgICAgICAgICAgICAgIDI1JSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJGJsdWUsIDI1JSkgIWRlZmF1bHQ7IC8vc2hpZnQtY29sb3IoJGxpbmstY29sb3IsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50OiAgICAgICAgICAgYWZ0ZXIgIWRlZmF1bHQ7XG4kc3RyZXRjaGVkLWxpbmstei1pbmRleDogICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG5cblxuLy8gSWNvbiBsaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kaWNvbi1saW5rLWdhcDogICAgICAgICAgICAgICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0OiAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tc2l6ZTogICAgICAgICAgICAgICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAuMnMgZWFzZS1pbi1vdXQgdHJhbnNmb3JtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgdHJhbnNsYXRlM2QoLjI1ZW0sIDAsIDApICFkZWZhdWx0O1xuXG5cblxuLy8gUGFyYWdyYXBoc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcblxuXG4vL0BpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuLy9AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG4vL0BpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cblxuLy8gQ29udGFpbmVyIHBhZGRpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aHM6IChcbiAgMTogMXB4LFxuICAyOiAycHgsXG4gIDM6IDNweCxcbiAgNDogNHB4LFxuICA1OiA1cHhcbikgIWRlZmF1bHQ7XG4kYm9yZGVyLXN0eWxlOiAgICAgICAgICAgICAgICBzb2xpZCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAgICByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14eGw6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtcGlsbDogICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzLTJ4bDogICAgICAgICAgICRib3JkZXItcmFkaXVzLXh4bCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcblxuXG4kYm94LXNoYWRvdy1jb2xvcjogICAgICAgICAgICB0by1yZ2IoIzFiMTc0MSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1hbHBoYTogICAgICAgICAgICAuMjUgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1hbHBoYS14czogICAgICAgICAuMDc1ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYWxwaGEtc206ICAgICAgICAgLjEyNSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWFscGhhLWxnOiAgICAgICAgIC4yNSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWFscGhhLWluc2V0OiAgICAgIC4xICFkZWZhdWx0O1xuXG5cbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgMXJlbSAxcmVtIC0uNzVyZW0gcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1jb2xvciksIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWFscGhhKSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEodmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctY29sb3IpLCB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1hbHBoYS1zbSkpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1jb2xvciksIGNhbGModmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctYWxwaGEtbGcpLzEuNSkpLCAwIC4xMjVyZW0gMnJlbSByZ2JhKHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWNvbG9yKSwgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctYWxwaGEtbGcpKSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWluc2V0OiAgICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWNvbG9yKSwgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctYWxwaGEtaW5zZXQpKSAhZGVmYXVsdDtcblxuXG4kY29tcG9uZW50LWJnOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWNvbG9yOiAgICAgICAgICAgICB0aW50LWNvbG9yKCAkZGFyaywgMTUlICkgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSkgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWhvdmVyLWJnOiAgICAgICAgICAkYm9keS10ZXJ0aWFyeS1iZyAhZGVmYXVsdDtcbiRjb21wb25lbnQtaG92ZXItY29sb3I6ICAgICAgICRib2R5LWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cbiRjb21wb25lbnQtYWx0LWJnOiAgICAgICAgICAgIHJnYmEoIDE0NywgMTQ3LCAxNDcsIC41ICkgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFsdC1hY3RpdmUtYmc6ICAgICByZ2JhKCAyNywgMjksIDMzLCAuNSApICFkZWZhdWx0O1xuXG5cbiRmb2N1cy1yaW5nLXdpZHRoOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctb3BhY2l0eTogICAgICAgICAgLjI1ICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctY29sb3I6ICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAkZm9jdXMtcmluZy1vcGFjaXR5KSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWJsdXI6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWJveC1zaGFkb3c6ICAgICAgIDAgMCAkZm9jdXMtcmluZy1ibHVyICRmb2N1cy1yaW5nLXdpZHRoICRmb2N1cy1yaW5nLWNvbG9yICFkZWZhdWx0O1xuXG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG5cblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aDogICB3aWR0aCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cblxuJGFzcGVjdC1yYXRpb3M6IChcbiAgXCIxeDFcIjogMTAwJSxcbiAgXCI0eDNcIjogY2FsYygzIC8gNCAqIDEwMCUpLFxuICBcIjE2eDlcIjogY2FsYyg5IC8gMTYgKiAxMDAlKSxcbiAgXCIyMXg5XCI6IGNhbGMoOSAvIDIxICogMTAwJSlcbikgIWRlZmF1bHQ7XG5cblxuXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgXCJQb3BwaW5zXCIsIFwiT3BlbiBTYW5zXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1mb250LXNhbnMtc2VyaWYpICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWNvZGU6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlKSAhZGVmYXVsdDtcblxuLy8gJGZvbnQtc2l6ZS1yb290IGFmZmVjdHMgdGhlIHZhbHVlIG9mIGByZW1gLCB3aGljaCBpcyB1c2VkIGZvciBhcyB3ZWxsIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBhbmQgbWFyZ2luc1xuLy8gJGZvbnQtc2l6ZS1iYXNlIGFmZmVjdHMgdGhlIGZvbnQgc2l6ZSBvZiB0aGUgYm9keSB0ZXh0XG4kZm9udC1zaXplLXJvb3Q6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTogICAgICAgICAgNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgICAgICAgNjAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDIgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuXG4kZm9udC1zaXplczogKFxuICAxOiAkaDEtZm9udC1zaXplLFxuICAyOiAkaDItZm9udC1zaXplLFxuICAzOiAkaDMtZm9udC1zaXplLFxuICA0OiAkaDQtZm9udC1zaXplLFxuICA1OiAkaDUtZm9udC1zaXplLFxuICA2OiAkaDYtZm9udC1zaXplXG4pICFkZWZhdWx0O1xuXG5cbi8vIEhlYWRpbmdzLXZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBcIlVidW50dVwiICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtc3R5bGU6ICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgICRkYXJrICFkZWZhdWx0O1xuXG5cbiRkaXNwbGF5LWZvbnQtc2l6ZXM6IChcbiAgMTogNXJlbSxcbiAgMjogNC41cmVtLFxuICAzOiA0cmVtLFxuICA0OiAzLjVyZW0sXG4gIDU6IDNyZW0sXG4gIDY6IDIuNXJlbVxuKSAhZGVmYXVsdDtcblxuJGRpc3BsYXktZm9udC1mYW1pbHk6ICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtc3R5bGU6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZGlzcGxheS1mb250LXdlaWdodDogICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDQwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgLjg3NWVtICFkZWZhdWx0O1xuJHN1Yi1zdXAtZm9udC1zaXplOiAgICAgICAgICAgLjc1ZW0gIWRlZmF1bHQ7XG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICBvcGFxdWUoICRib2R5LWJnLCByZ2JhKCRib2R5LWNvbG9yLCAuNikgKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiA1LjMuMFxuXG4kaW5pdGlhbGlzbS1mb250LXNpemU6ICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRoci1jb2xvcjogICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRoci1iZy1jb2xvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4kaHItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBBbGxvd3MgZm9yIGluaGVyaXRlZCBjb2xvcnNcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGhyLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgLjI1ICFkZWZhdWx0O1xuXG4kdnItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcblxuJGxlZ2VuZC1tYXJnaW4tYm90dG9tOiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4xODc1ZW0gIWRlZmF1bHQ7XG4kbWFyay1jb2xvcjogICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICR5ZWxsb3ctMTAwICFkZWZhdWx0O1xuXG5cblxuLy8gVGFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cbiR0YWJsZS1jZWxsLXBhZGRpbmcteTogICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteDogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtOiAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXgtc206ICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jZWxsLXZlcnRpY2FsLWFsaWduOiAgIHRvcCAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgICRmb250LXdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtY29sb3I6ICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yOiAgICAgLjAzNSAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnOiAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksICR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmctZmFjdG9yOiAgICAgIC4yICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZy1mYWN0b3I6ICAgICAgIC4wNzUgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtaG92ZXItYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1mYWN0b3I6ICAgICAgICAgLjA3ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtYm9yZGVyLWZhY3RvcikgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyZWQtZmFjdG9yOiAgICAgICAuMTcgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyZWQtY29sb3I6ICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtYm9yZGVyZWQtZmFjdG9yKSAhZGVmYXVsdDtcblxuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1jb2x1bW5zLW9yZGVyOiBldmVuICFkZWZhdWx0O1xuXG4kdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOiBjdXJyZW50Y29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYmctc2NhbGU6ICAgICAgICAgICAgICAtODAlICFkZWZhdWx0O1xuXG4kdGFibGUtdmFyaWFudHM6IChcbiAgXCJwcmltYXJ5XCI6ICAgIHNoaWZ0LWNvbG9yKCRwcmltYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInNlY29uZGFyeVwiOiAgc2hpZnQtY29sb3IoJHNlY29uZGFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzdWNjZXNzXCI6ICAgIHNoaWZ0LWNvbG9yKCRzdWNjZXNzLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImluZm9cIjogICAgICAgc2hpZnQtY29sb3IoJGluZm8sICR0YWJsZS1iZy1zY2FsZSksXG4gIFwid2FybmluZ1wiOiAgICBzaGlmdC1jb2xvcigkd2FybmluZywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJkYW5nZXJcIjogICAgIHNoaWZ0LWNvbG9yKCRkYW5nZXIsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFyayxcbikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zcGFjZWQtc3BhY2luZzogICAgICAgIC4zNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1zcGFjZWQtY29sb3I6ICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1zcGFjZWQtYmctZmFjdG9yOiAgICAgIC4wNSAhZGVmYXVsdDtcbiR0YWJsZS1zcGFjZWQtYmc6ICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksICR0YWJsZS1zcGFjZWQtYmctZmFjdG9yKSAhZGVmYXVsdDtcbiR0YWJsZS1zcGFjZWQtYm9yZGVyLXJhZGl1czogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcblxuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC41NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgICAgJGZvY3VzLXJpbmctd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHk6ICRmb2N1cy1yaW5nLW9wYWNpdHkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICAgICRmb2N1cy1yaW5nLWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ibHVyOiAgICAgICAgICAkZm9jdXMtcmluZy1ibHVyICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuNDVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuOTVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcblxuXG5cbi8vIEJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG4kYnRuLWNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXkteHM6ICAgICAgICAgICAgLjE1cmVtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgteHM6ICAgICAgICAgICAgLjM1cmVtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUteHM6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNDUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstaG92ZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZm9jdXMtc2hhZG93LXJnYjogICB0by1yZ2IobWl4KGNvbG9yLWNvbnRyYXN0KCRsaW5rLWNvbG9yKSwgJGxpbmstY29sb3IsIDE1JSkpICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4yNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4yNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjI1cyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4wMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudDogICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudDogICAgICAgIDE1JSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudDogICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudDogICAgMTAlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci10cmFuc2xhdGU6ICAgICAgICAgICAgIHRyYW5zbGF0ZVkoLTFweCkgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQ6ICAgICAgMzAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQ6ICAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAyNSUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQ6ICAgMTAlICFkZWZhdWx0O1xuXG5cblxuLy8gRm9ybXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuXG4kZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcblxuXG4vLyBJbnB1dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1jb21wb25lbnQtYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjA3NSkgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgICAgICAgICAuNSAhZGVmYXVsdDtcblxuXG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMCAwIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAwIC43NXJlbSAwIHJnYmEoMCwwLDAsLjE1KSAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIDIpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMzVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4zNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLWNvbG9yLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gY2hlY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGZvcm0tY2hlY2staW5wdXQtd2lkdGg6ICAgICAgICAgICAgICAgICAgMS4yNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWluLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0OiAgICAgICAgICAgICAgICAkZm9ybS1jaGVjay1pbnB1dC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93IC4zNXMgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI6ICAgICAgICAgIGJyaWdodG5lc3MoOTAlKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAuMzI1ZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3JkZXI6ICAgICAgICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J202IDEwIDMgMyA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPScyJyBmaWxsPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGg4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTogICAgJGJ0bi1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDogICAgMXJlbSAhZGVmYXVsdDtcblxuXG5cbi8vIEZvcm0gc3dpdGNoXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRmb3JtLXN3aXRjaC1jb2xvcjogICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgMi41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtaGVpZ2h0OiAgICAgICAgICAgICAgMS4zNWVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ6ICAgICAgIDEuMzVlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1ib3JkZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3IpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJnLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYmctaW1hZ2U6ICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3sgJGZvcm0tc3dpdGNoLWNvbG9yIH0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYm9yZGVyLXJhZGl1czogICAgICAgJGZvcm0tc3dpdGNoLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXRyYW5zaXRpb246ICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1wb3NpdGlvbiAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3I6ICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7ICRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvciB9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1jb2xvcjogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2U6ICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7ICRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yIH0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1wb3NpdGlvbjogcmlnaHQgY2VudGVyICFkZWZhdWx0O1xuXG5cblxuLy8gSW5wdXQgZ3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnLXJnYiksIC4xKSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gU2VsZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAgICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKiAzICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIGZvciBiYWNrZ3JvdW5kLWltYWdlXG4kZm9ybS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Y29tcG9uZW50LWJnKSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uOiAgICAgICAgICAgcmlnaHQgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAxNnB4IDEycHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMi41ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgIGNlbnRlciByaWdodCAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDAgMCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuXG5cblxuLy8gUmFuZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAuODVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMCAwIDNweCB2YXIoLS0jeyRwcmVmaXh9Y29tcG9uZW50LWJnKSwgMCAwIC43NXJlbSB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMnB4IHZhcigtLSN7JHByZWZpeH1jb21wb25lbnQtYmcpLCAwIDAgMXJlbSB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBFZGdlXG4kZm9ybS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLXRyYW5zaXRpb246ICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuXG4vLyBGaWxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiKSwgLjM1KSAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWhvdmVyLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcblxuXG5cbi8vIEZvcm0gZmxvYXRpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGZvcm0tZmxvYXRpbmctaGVpZ2h0OiAgICAgICAgICAgICAgICAgIGFkZCgzLjVyZW0sICRpbnB1dC1oZWlnaHQtYm9yZGVyKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDogICAgICAgICAxLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjogICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0OiAgICAgICAgICAgIDEuNWVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eTogICAgICAgICAgIC42NSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTogICAgICAgICBzY2FsZSguODUpIHRyYW5zbGF0ZVkoLS41cmVtKSB0cmFuc2xhdGVYKC4xNXJlbSkgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2IpLCAjeyRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHl9KSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb246ICAgICAgICAgICAgICBvcGFjaXR5IC4xcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4xcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU6ICAgICAgICAgICRmb3JtLXRleHQtZm9udC1zdHlsZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgICRzdWNjZXNzICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgJGRhbmdlciAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfSc+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogICAgICAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKFxuICBcInZhbGlkXCI6IChcbiAgICBcImNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yKSxcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZCxcbiAgICBcInRvb2x0aXAtY29sb3JcIjogI2ZmZixcbiAgICBcInRvb2x0aXAtYmctY29sb3JcIjogdmFyKC0tI3skcHJlZml4fXN1Y2Nlc3MpLFxuICAgIFwiZm9jdXMtYm94LXNoYWRvd1wiOiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKHZhcigtLSN7JHByZWZpeH1zdWNjZXNzLXJnYiksICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICAgXCJib3JkZXItY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yKSxcbiAgKSxcbiAgXCJpbnZhbGlkXCI6IChcbiAgICBcImNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3IpLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQsXG4gICAgXCJ0b29sdGlwLWNvbG9yXCI6ICNmZmYsXG4gICAgXCJ0b29sdGlwLWJnLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1kYW5nZXIpLFxuICAgIFwiZm9jdXMtYm94LXNoYWRvd1wiOiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKHZhcigtLSN7JHByZWZpeH1kYW5nZXItcmdiKSwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgICBcImJvcmRlci1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvciksXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3A6ICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzOiAgICAgICAgICAgICAgICAgIDEwNDUgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1NSAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDgwICFkZWZhdWx0O1xuJHppbmRleC10b2FzdDogICAgICAgICAgICAgICAgICAgICAgMTA5MCAhZGVmYXVsdDtcblxuJHppbmRleC1sZXZlbHM6IChcbiAgbjE6IC0xLFxuICAwOiAwLFxuICAxOiAxLFxuICAyOiAyLFxuICAzOiAzXG4pICFkZWZhdWx0O1xuXG5cblxuXG4vLyBOYXZzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2IpLCAuNSkgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtbGluay1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1iZzogICAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuMDUpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYmctaG92ZXI6ICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjA3NSkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1iZy1kaXNhYmxlZDogICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuMDUpICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJG5hdi10YWJzLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgI3sgJHNwYWNlciArIC4yNSB9ICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWNvbXBvbmVudC1iZykgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWNvbG9yOiAgICAgICAgICAgICAgJG5hdi10YWJzLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstaG92ZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXVuZGVybGluZS1nYXA6ICAgICAgICAgICAgICAgICAuMDYyNXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aDogICAgICAgIC4xODc1cmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3I6ICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcblxuXG5cbi8vIE5hdmJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgMi41cmVtICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAgICAgICAgJGJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAgICAgICAgIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjY1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIDEpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1pY29uLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuMTUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaWNvbi1jb2xvcjogICAgICAgICAgICAkbmF2YmFyLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBEcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuJGRyb3Bkb3duLWFuaW1hdGlvbnM6ICAgICAgICAgICAgICAgdHJ1ZTtcbiRkcm9wZG93bi11c2UtY3VzdG9tLWpzOiAgICAgICAgICAgIHRydWU7XG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Y29tcG9uZW50LWJnKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIGNhbGMoI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c30gLSAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctbGcpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC43NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgICRzcGFjZXIgKiAuNCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgLSAkZHJvcGRvd24tcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogICAgICAgICAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteTogICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteSAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcblxuJGRyb3Bkb3duLXRyYW5zaXRpb24taW46ICAgICAgICAgICAgLjM1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi10cmFuc2l0aW9uLW91dDogICAgICAgICAgICRkcm9wZG93bi10cmFuc2l0aW9uLWluICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN0YXJ0LWdhcDogICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi10cmFuc2l0aW9uLXRpbWluZy1pbjogICAgIGVhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tdHJhbnNpdGlvbi10aW1pbmctb3V0OiAgICBlYXNlICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tZGFyay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1iZzogICAgICAgICAgICAgICAgICAkZGFyayAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJvcmRlci1jb2xvcjogICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstZGl2aWRlci1iZzogICAgICAgICAgJGRyb3Bkb3duLWRpdmlkZXItYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1ib3gtc2hhZG93OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1jb2xvcjogICAgICAgICAgJGRyb3Bkb3duLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWNvbG9yOiAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWJnOiAgICAgICByZ2JhKCR3aGl0ZSwgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWNvbG9yOiAgICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWJnOiAgICAgICRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstZGlzYWJsZWQtY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWhlYWRlci1jb2xvcjogICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuXG5cbi8vIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0OiAgICAgICAgICAgY2FsYygjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH0gKiAtMSkgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtY29sb3I6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1iZzogICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgIDAgMCAwIDFweCByZ2JhKHZhcigtLSN7JHByZWZpeH1jb21wb25lbnQtYmctcmdiKSwgLjUpLCAwIDAgLjM1cmVtIC4ycmVtIHJnYmEoIHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIC40ICkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHNoYWRlLWNvbG9yKCRwcmltYXJ5LCAxMCUpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7IC8vIFRvZG8gaW4gdjY6IHJlbW92ZSB0aGlzP1xuJHBhZ2luYXRpb24taG92ZXItYm94LXNoYWRvdzogICAgICAgMCAuMXJlbSAuNXJlbSByZ2JhKCB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAuNSApLCAwIC4yNXJlbSAxcmVtIHJnYmEoICRibGFjaywgLjIgKSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgMCAwIC41cmVtIHJnYmEoIHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIC41ICksIDAgMCAuMjVyZW0gcmdiYSggJGJsYWNrLCAuMDUgKSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cblxuXG4vLyBQbGFjZWhvbGRlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWF4OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItb3BhY2l0eS1taW46ICAgICAgICAgICAuMiAhZGVmYXVsdDtcblxuXG5cbi8vIENhcmRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgKyAuMjUgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICsgLjI1ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC43NSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKSAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICogLjc1ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1jb21wb25lbnQtYmctcmdiKSwgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKSAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWNvbXBvbmVudC1iZykgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItaGVpZ2h0OiAgICAgICAgICAgICAgICAzLjNyZW0gIWRlZmF1bHQ7XG5cblxuXG4vLyBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGFjY29yZGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgJHNwYWNlciAtIC4yNSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgKyAuMjUgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Y29tcG9uZW50LWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy15OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYmcpICFkZWZhdWx0O1xuJGFjY29yZGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uLCBib3JkZXItcmFkaXVzIC4zNXMgZWFzZSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiKSwgLjA3NSkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS10ZXh0LWVtcGhhc2lzKSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgJHByaW1hcnktdGV4dC1lbXBoYXNpcyAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNmb3JtOiAgICAgICAgICAgICAgICByb3RhdGUoLTE4MGRlZykgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLWljb246ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGFjY29yZGlvbi1pY29uLWNvbG9yfSc+PHBhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMS42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCAxMC4yOTNsNS42NDYtNS42NDdhLjUuNSAwIDAgMSAuNzA4LjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOCAwbC02LTZhLjUuNSAwIDAgMSAwLS43MDh6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb246ICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yfSc+PHBhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMS42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCAxMC4yOTNsNS42NDYtNS42NDdhLjUuNSAwIDAgMSAuNzA4LjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOCAwbC02LTZhLjUuNSAwIDAgMSAwLS43MDh6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG5cblxuLy8gVG9vbHRpcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9d2hpdGUpICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJsYWNrKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjc1ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gVE9ETzogcmVtb3ZlIHRoaXMgaW4gdjZcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcblxuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuXG4vLyBQb3BvdmVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWNvbXBvbmVudC1iZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBjYWxjKCN7JHBvcG92ZXItYm9yZGVyLXJhZGl1c30gLSAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctbGcpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgJHBvcG92ZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gVG9hc3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1jb21wb25lbnQtYmcpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWxnKSAhZGVmYXVsdDtcbiR0b2FzdC1zcGFjaW5nOiAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcikgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICAkdG9hc3QtYmFja2dyb3VuZC1jb2xvciAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG5cblxuLy8gQmFkZ2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuXG5cblxuLy8gTW9kYWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWNvbXBvbmVudC1iZykgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LXNtKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjc1ICFkZWZhdWx0O1xuXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcblxuXG5cbi8vIEFsZXJ0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRhbGVydC1kaXNtaXNzaWJsZS1wYWRkaW5nLXI6ICAgJGFsZXJ0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIDN4IGNvdmVycyB3aWR0aCBvZiB4IHBsdXMgZGVmYXVsdCBwYWRkaW5nIG9uIGVpdGhlciBzaWRlXG5cblxuJGFsZXJ0LWJnLXNjYWxlOiAgICAgICAgICAgICAgICAyNSUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtYm9yZGVyLXNjYWxlOiAgICAgICAgICAgIC03MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtY29sb3Itc2NhbGU6ICAgICAgICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcblxuXG4kYWxlcnQtY2FsbG91dC1ib3JkZXItd2lkdGg6ICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1jYWxsb3V0LWJvcmRlci1yYWRpdXM6ICAgMCAhZGVmYXVsdDtcblxuXG5cbi8vIFByb2dyZXNzIGJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjA3NSApICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnkpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtaGVpZ2h0czogKFxuICAgXCJ4c1wiIDogMC4wNjI1cmVtLFxuICAgXCJzbVwiIDogMC4xMjVyZW0sXG4gICBcIm1kXCIgOiAuMjVyZW0sXG4gICBcImxnXCIgOiAxcmVtLFxuICAgXCJ4bFwiIDogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tYmctc2NhbGU6ICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4kbGlzdC1ncm91cC1pdGVtLWNvbG9yLXNjYWxlOiAgICAgICA0MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktYmctcmdiKSwgLjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yLXJnYiksIC41KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG5cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG5cblxuXG4vLyBGaWd1cmVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuXG5cbi8vIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIj5cIikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQ6ICAgICAgICAkYnJlYWRjcnVtYi1kaXZpZGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1ob3Zlci11bmRlcmxpbmU6ICAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cblxuLy8gQ2Fyb3VzZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itb3BhY2l0eTogICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1vcGFjaXR5OiAgMSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXBhZGRpbmcteTogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tc3BhY2VyOiAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAycmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9Jz48cGF0aCBkPSdNMTEuMzU0IDEuNjQ2YS41LjUgMCAwIDEgMCAuNzA4TDUuNzA3IDhsNS42NDcgNS42NDZhLjUuNSAwIDAgMS0uNzA4LjcwOGwtNi02YS41LjUgMCAwIDEgMC0uNzA4bDYtNmEuNS41IDAgMCAxIC43MDggMHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9Jz48cGF0aCBkPSdNNC42NDYgMS42NDZhLjUuNSAwIDAgMSAuNzA4IDBsNiA2YS41LjUgMCAwIDEgMCAuNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4LS43MDhMMTAuMjkzIDggNC42NDYgMi4zNTRhLjUuNSAwIDAgMSAwLS43MDh6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjVzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuJGNhcm91c2VsLWRhcmstaW5kaWNhdG9yLWFjdGl2ZS1iZzogICRibGFjayAhZGVmYXVsdDtcbiRjYXJvdXNlbC1kYXJrLWNhcHRpb24tY29sb3I6ICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtZGFyay1jb250cm9sLWljb24tZmlsdGVyOiAgaW52ZXJ0KDEpIGdyYXlzY2FsZSgxMDApICFkZWZhdWx0O1xuXG5cblxuLy8gU3Bpbm5lcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLXZlcnRpY2FsLWFsaWduOiAgLS4xMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogICAgLjI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6IC43NXMgIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG5cblxuXG4vLyBDbG9zZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYnRuLWNsb3NlLXdpZHRoOiAgICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1oZWlnaHQ6ICAgICAgICAgICAkYnRuLWNsb3NlLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1wYWRkaW5nLXg6ICAgICAgICAuNzVlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy15OiAgICAgICAgJGJ0bi1jbG9zZS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWNvbG9yOiAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRidG4tY2xvc2UtYmc6ICAgICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGJ0bi1jbG9zZS1jb2xvcn0nPjxwYXRoIGQ9J00uMjkzLjI5M2ExIDEgMCAwIDEgMS40MTQgMEw4IDYuNTg2IDE0LjI5My4yOTNhMSAxIDAgMSAxIDEuNDE0IDEuNDE0TDkuNDE0IDhsNi4yOTMgNi4yOTNhMSAxIDAgMCAxLTEuNDE0IDEuNDE0TDggOS40MTRsLTYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNC0xLjQxNEw2LjU4NiA4IC4yOTMgMS43MDdhMSAxIDAgMCAxIDAtMS40MTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjk1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDtcblxuXG5cbi8vIE9mZmNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWNvbXBvbmVudC1iZykgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYWNrZHJvcC1iZzogICAgICAgICAgICAgJG1vZGFsLWJhY2tkcm9wLWJnICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkgIWRlZmF1bHQ7XG5cblxuXG4vLyBDb2RlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgcmVtb3ZpbmcgaW4gdjZcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuXG5cblxuLy8gVXRpbGl0aWVzIE9wdGlvbiBWYWx1ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gT3BhY2l0eVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kb3BhY2l0eTogKFxuICAgMTA6IC4xLFxuICAgMjA6IC4yLFxuICAgMjU6IC4yNSxcbiAgIDMwOiAuMyxcbiAgIDQwOiAuNCxcbiAgIDUwOiAuNSxcbiAgIDYwOiAuNixcbiAgIDcwOiAuNyxcbiAgIDc1OiAuNzUsXG4gICA4MDogLjgsXG4gICA5MDogLjksXG4gICAxMDA6IDFcbikgIWRlZmF1bHQ7XG5cblxuXG4vLyBUZXh0IERlY29yYXRpb24gVW5kZXJsaW5lc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kdGV4dC1kZWNvcmF0aW9uLXZhbHVlczogKFxuICAgZGFzaGVkOiB1bmRlcmxpbmUgZGFzaGVkLFxuICAgZG90dGVkOiB1bmRlcmxpbmUgZG90dGVkLFxuICAgZG91YmxlOiB1bmRlcmxpbmUgZG91YmxlLFxuICAgd2F2eTogdW5kZXJsaW5lIHdhdnksXG4gICBvdmVybGluZTogdW5kZXJsaW5lIG92ZXJsaW5lXG4pO1xuXG5cblxuLy8gSW1hZ2Ugc2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHRodW1ibmFpbC1zaXplcyA6IChcbiAgIHhzOiAxLjc1cmVtLFxuICAgc206IDIuMjVyZW0sXG4gICBtZDogNHJlbSxcbiAgIGxnOiA2cmVtLFxuICAgeGw6IDhyZW0sXG4gICB4eGw6IDE2cmVtXG4pICFkZWZhdWx0O1xuXG5cblxuLy8gRml4ZWQgd2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGZpeGVkLXdpZHRoOiAoXG4gICBhdXRvLFxuICAgMTAwcHgsXG4gICAxNjBweCxcbiAgIDIwMHB4LFxuICAgMjUwcHgsXG4gICAzMDBweCxcbiAgIDM1MHB4LFxuICAgNDAwcHgsXG4gICA0NTBweFxuKSAhZGVmYXVsdDtcblxuXG5cbi8vIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHNwYWNpbmc6IChcbiAgMDogMCxcbiAgMTogNXJlbSxcbiAgMjogN3JlbSxcbiAgMzogMTByZW0sXG4gIDQ6IDEzcmVtLFxuICA1OiAxNXJlbSxcbikgIWRlZmF1bHQ7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLW1peGluc1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtbWl4aW5zXG4iLCIvKiAtLSBSRUJPT1QgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gQW5jaG9yIHRhZyB3aXRoIGhlYWRpbmdzIGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYTp3aGVyZSggLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiApOmhvdmVyIHtcbiAgIGNvbG9yOiB2YXIoIC0tI3sgJHByZWZpeCB9bGluay1ob3Zlci1jb2xvciApO1xufVxuXG5cblxuLy8gSG9yaXpvbnRhbCBMaW5lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmhyIHtcbiAgIGJvcmRlci1jb2xvcjogdmFyKCAtLSN7ICRwcmVmaXggfWJvcmRlci1jb2xvciApO1xuICAgb3BhY2l0eTogMTtcbn1cblxuXG5cbi8vIExpbmtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYSB7XG4gICAmOmhvdmVyOm5vdCguYnRuKTpub3QoLmJ0bi1saW5rKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHggIWltcG9ydGFudDtcbiAgIH1cbn1cblxuXG5cbi8vIFN0cm9uZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zdHJvbmcge1xuICAgY29sb3I6IHZhciggLS0jeyAkcHJlZml4IH1lbXBoYXNpcy1jb2xvciApO1xufVxuXG5cbi8vIFNlbGVjdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG46OnNlbGVjdGlvbiB7XG4gICBjb2xvcjogdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnktdGV4dC1lbXBoYXNpcyApO1xuICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnktYmctc3VidGxlICk7XG59XG5cblxuLy8gSGlnaGxpZ2h0ICBzeW50YXhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmhpZ2hsaWdodCB7XG4gICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICBwcmUge1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhciggLS0jeyAkcHJlZml4IH1ib3JkZXItcmFkaXVzICk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgfVxufVxuIiwiLy9cbi8vIEhlYWRpbmdzXG4vL1xuLmgxIHtcbiAgQGV4dGVuZCBoMTtcbn1cblxuLmgyIHtcbiAgQGV4dGVuZCBoMjtcbn1cblxuLmgzIHtcbiAgQGV4dGVuZCBoMztcbn1cblxuLmg0IHtcbiAgQGV4dGVuZCBoNDtcbn1cblxuLmg1IHtcbiAgQGV4dGVuZCBoNTtcbn1cblxuLmg2IHtcbiAgQGV4dGVuZCBoNjtcbn1cblxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG5AZWFjaCAkZGlzcGxheSwgJGZvbnQtc2l6ZSBpbiAkZGlzcGxheS1mb250LXNpemVzIHtcbiAgLmRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgICBmb250LWZhbWlseTogJGRpc3BsYXktZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGRpc3BsYXktZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGRpc3BsYXktZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xuICB9XG59XG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cbi5zbWFsbCB7XG4gIEBleHRlbmQgc21hbGw7XG59XG5cbi5tYXJrIHtcbiAgQGV4dGVuZCBtYXJrO1xufVxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbml0aWFsaXNtLWZvbnQtc2l6ZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRibG9ja3F1b3RlLW1hcmdpbi15O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IC0kYmxvY2txdW90ZS1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGJsb2NrcXVvdGUtbWFyZ2luLXk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8qIC0tIFRZUE9HUkFQSFkgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBCbG9ja3F1b3RlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYmxvY2txdW90ZSB7XG4gICBjb2xvcjogdmFyKCAtLSN7ICRwcmVmaXggfWVtcGhhc2lzLWNvbG9yICk7XG5cbiAgIC5xdW90ZSB7XG4gICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICBjb250ZW50OiAnXFwyMDFDJztcbiAgICAgICAgIGZvbnQtc2l6ZTogMzUwJTtcbiAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgICBoZWlnaHQ6IC4yNWVtO1xuICAgICAgICAgbGluZS1oZWlnaHQ6IDFleDtcbiAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMiU7XG4gICAgICAgICBvcGFjaXR5OiAuNTU7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgY29udGVudDogJ1xcMjAxRCc7XG4gICAgICAgICBsaW5lLWhlaWdodDogMS43ZXg7XG4gICAgICAgICBtYXJnaW4taW5saW5lOiAyJSAwO1xuICAgICAgfVxuICAgfVxufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyICogLjU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG4iLCJAbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgQGVhY2ggJHZhbHVlIGluICRzaGFkb3cge1xuICAgICAgQGlmICR2YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSwgXCJjb21tYVwiKTtcbiAgICAgIH1cbiAgICAgIEBpZiAkdmFsdWUgPT0gbm9uZSBhbmQgbGVuZ3RoKCRzaGFkb3cpID4gMSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKGxlbmd0aCgkcmVzdWx0KSA+IDApIHtcbiAgICAgIGJveC1zaGFkb3c6ICRyZXN1bHQ7XG4gICAgfVxuICB9XG59XG4iLCIvKiAtLSBJTUFHRVMgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vLyBWYXJpb3VzIHNpemUgb3B0aW9ucyBmb3IgaW1hZ2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBlYWNoICRzaXplLCAkdmFsIGluICR0aHVtYm5haWwtc2l6ZXMge1xuICAgLmltZy0jeyAkc2l6ZSB9IHtcbiAgICAgIHdpZHRoOiAkdmFsO1xuICAgICAgaGVpZ2h0OiAkdmFsO1xuICAgfVxufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtY29udGFpbmVyLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIsXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZW5kIGVhY2ggYnJlYWtwb2ludCB3aGljaCBpcyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGV4dGVuZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmdcbiAgICAgICAgICBAaWYgKCRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29udGFpbmVyIG1peGluc1xuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGNvbnRhaW5lci1wYWRkaW5nLXgpIHtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JGd1dHRlcn07XG4gIC0tI3skcHJlZml4fWd1dHRlci15OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG46cm9vdCB7XG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgIC0tI3skcHJlZml4fWJyZWFrcG9pbnQtI3skbmFtZX06ICN7JHZhbHVlfTtcbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuXG4gICAgPiAqIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sLXJlYWR5KCk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWNzc2dyaWQge1xuICAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS0jeyRwcmVmaXh9cm93cywgMSksIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tI3skcHJlZml4fWNvbHVtbnMsICN7JGdyaWQtY29sdW1uc30pLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tI3skcHJlZml4fWdhcCwgI3skZ3JpZC1ndXR0ZXItd2lkdGh9KTtcblxuICAgIEBpbmNsdWRlIG1ha2UtY3NzZ3JpZCgpO1xuICB9XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvLyBUT0RPOiBSZXZpc2l0IGNhbGMgb3JkZXIgYWZ0ZXIgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LWJvb3RzdHJhcC9yZWFjdC1ib290c3RyYXAvaXNzdWVzLzYwMzkgaXMgZml4ZWRcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWd1dHRlci14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XG4gIC8vIEFkZCBib3ggc2l6aW5nIGlmIG9ubHkgdGhlIGdyaWQgaXMgbG9hZGVkXG4gIGJveC1zaXppbmc6IGlmKHZhcmlhYmxlLWV4aXN0cyhpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nKSBhbmQgJGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcsIGJvcmRlci1ib3gsIG51bGwpO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2Ugc2V0IHRoZSB3aWR0aFxuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQcmV2ZW50IGAuY29sLWF1dG9gLCBgLmNvbGAgKCYgcmVzcG9uc2l2ZSB2YXJpYW50cykgZnJvbSBicmVha2luZyBvdXQgdGhlIGdyaWRcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fWd1dHRlci15KTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplOiBmYWxzZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmICRzaXplIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG5cbiAgfSBAZWxzZSB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06IGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlciBvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRjb3VudCkpO1xuICB9XG59XG5cbi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4OiAxIDAgMCU7IC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgfVxuXG4gICAgICAucm93LWNvbHMjeyRpbmZpeH0tYXV0byA+ICoge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIC8vXG4gICAgICAvLyBNYWtlIHVzZSBvZiBgLmctKmAsIGAuZ3gtKmAgb3IgYC5neS0qYCB1dGlsaXRpZXMgdG8gY2hhbmdlIHNwYWNpbmcgYmV0d2VlbiB0aGUgY29sdW1ucy5cbiAgICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZ3V0dGVycyB7XG4gICAgICAgIC5nI3skaW5maXh9LSN7JGtleX0sXG4gICAgICAgIC5neCN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skdmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd5I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci15OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY3NzZ3JpZCgkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuZy1jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuICRpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN0YXJ0IHdpdGggYDFgIGJlY2F1c2UgYDBgIGlzIGFuIGludmFsaWQgdmFsdWUuXG4gICAgICAgIC8vIEVuZHMgd2l0aCBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGUuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIC5nLXN0YXJ0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIC8vIFJlc2V0IG5lZWRlZCBmb3IgbmVzdGluZyB0YWJsZXNcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlOiBpbml0aWFsO1xuICAvLyBFbmQgb2YgcmVzZXRcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JHRhYmxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmc6ICN7JHRhYmxlLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmc6ICN7JHRhYmxlLWFjY2VudC1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7JHRhYmxlLXN0cmlwZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnOiAjeyR0YWJsZS1zdHJpcGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yOiAjeyR0YWJsZS1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmc6ICN7JHRhYmxlLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yOiAjeyR0YWJsZS1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyR0YWJsZS1ob3Zlci1iZ307XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIHZlcnRpY2FsLWFsaWduOiAkdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcblxuICAvLyBUYXJnZXQgdGggJiB0ZFxuICAvLyBXZSBuZWVkIHRoZSBjaGlsZCBjb21iaW5hdG9yIHRvIHByZXZlbnQgc3R5bGVzIGxlYWtpbmcgdG8gbmVzdGVkIHRhYmxlcyB3aGljaCBkb2Vzbid0IGhhdmUgYSBgLnRhYmxlYCBjbGFzcy5cbiAgLy8gV2UgdXNlIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3JzIGhlcmUgdG8gc2ltcGxpZnkgdGhlIHNlbGVjdG9yIChlbHNlIHdlIHdvdWxkIG5lZWQgNiBkaWZmZXJlbnQgc2VsZWN0b3JzKS5cbiAgLy8gQW5vdGhlciBhZHZhbnRhZ2UgaXMgdGhhdCB0aGlzIGdlbmVyYXRlcyBsZXNzIGNvZGUgYW5kIG1ha2VzIHRoZSBzZWxlY3RvciBsZXNzIHNwZWNpZmljIG1ha2luZyBpdCBlYXNpZXIgdG8gb3ZlcnJpZGUuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXkgJHRhYmxlLWNlbGwtcGFkZGluZy14O1xuICAgIC8vIEZvbGxvd2luZyB0aGUgcHJlY2VwdCBvZiBjYXNjYWRlczogaHR0cHM6Ly9jb2RlcGVuLmlvL21pcmlhbXN1emFubmUvZnVsbC92WU5nb2RiXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcikpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmcpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgOTk5OXB4IHZhcigtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmcpKSk7XG4gIH1cblxuICA+IHRib2R5IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgfVxuXG4gID4gdGhlYWQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbn1cblxuLnRhYmxlLWdyb3VwLWRpdmlkZXIge1xuICBib3JkZXItdG9wOiBjYWxjKCN7JHRhYmxlLWJvcmRlci13aWR0aH0gKiAyKSBzb2xpZCAkdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG4vL1xuLy8gQ2hhbmdlIHBsYWNlbWVudCBvZiBjYXB0aW9ucyB3aXRoIGEgY2xhc3Ncbi8vXG5cbi5jYXB0aW9uLXRvcCB7XG4gIGNhcHRpb24tc2lkZTogdG9wO1xufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtICR0YWJsZS1jZWxsLXBhZGRpbmcteC1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG4vL1xuLy8gV2hlbiBib3JkZXJzIGFyZSBhZGRlZCBvbiBhbGwgc2lkZXMgb2YgdGhlIGNlbGxzLCB0aGUgY29ybmVycyBjYW4gcmVuZGVyIG9kZCB3aGVuXG4vLyB0aGVzZSBib3JkZXJzIGRvIG5vdCBoYXZlIHRoZSBzYW1lIGNvbG9yIG9yIGlmIHRoZXkgYXJlIHNlbWktdHJhbnNwYXJlbnQuXG4vLyBUaGVyZWZvcmUgd2UgYWRkIHRvcCBhbmQgYm9yZGVyIGJvdHRvbXMgdG8gdGhlIGB0cmBzIGFuZCBsZWZ0IGFuZCByaWdodCBib3JkZXJzXG4vLyB0byB0aGUgYHRkYHMgb3IgYHRoYHNcblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgPiA6bm90KGNhcHRpb24pID4gKiB7XG4gICAgYm9yZGVyLXdpZHRoOiAkdGFibGUtYm9yZGVyLXdpZHRoIDA7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICAgID4gKiB7XG4gICAgICBib3JkZXItd2lkdGg6IDAgJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgfVxuXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLy8gRm9yIHJvd3Ncbi50YWJsZS1zdHJpcGVkIHtcbiAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSA+ICoge1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZy10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZyk7XG4gIH1cbn1cblxuLy8gRm9yIGNvbHVtbnNcbi50YWJsZS1zdHJpcGVkLWNvbHVtbnMge1xuICA+IDpub3QoY2FwdGlvbikgPiB0ciA+IDpudGgtY2hpbGQoI3skdGFibGUtc3RyaXBlZC1jb2x1bW5zLW9yZGVyfSkge1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZy10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZyk7XG4gIH1cbn1cblxuLy8gQWN0aXZlIHRhYmxlXG4vL1xuLy8gVGhlIGAudGFibGUtYWN0aXZlYCBjbGFzcyBjYW4gYmUgYWRkZWQgdG8gaGlnaGxpZ2h0IHJvd3Mgb3IgY2VsbHNcblxuLnRhYmxlLWFjdGl2ZSB7XG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXN0YXRlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmcpO1xufVxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gID4gdGJvZHkgPiB0cjpob3ZlciA+ICoge1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXN0YXRlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItYmcpO1xuICB9XG59XG5cblxuLy8gVGFibGUgdmFyaWFudHNcbi8vXG4vLyBUYWJsZSB2YXJpYW50cyBzZXQgdGhlIHRhYmxlIGNlbGwgYmFja2dyb3VuZHMsIGJvcmRlciBjb2xvcnNcbi8vIGFuZCB0aGUgY29sb3JzIG9mIHRoZSBzdHJpcGVkLCBob3ZlcmVkICYgYWN0aXZlIHRhYmxlc1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGFibGUtdmFyaWFudHMge1xuICBAaW5jbHVkZSB0YWJsZS12YXJpYW50KCRjb2xvciwgJHZhbHVlKTtcbn1cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cbi8vIHNpemUgb2Ygd2hlcmUgeW91ciB0YWJsZSB3aWxsIG92ZXJmbG93LlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAudGFibGUtcmVzcG9uc2l2ZSN7JGluZml4fSB7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLXZhcmlhbnRcbkBtaXhpbiB0YWJsZS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJGNvbG9yOiBjb2xvci1jb250cmFzdChvcGFxdWUoJGJvZHktYmcsICRiYWNrZ3JvdW5kKSk7XG4gICAgJGhvdmVyLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtaG92ZXItYmctZmFjdG9yKSk7XG4gICAgJHN0cmlwZWQtYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikpO1xuICAgICRhY3RpdmUtYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSk7XG4gICAgJHRhYmxlLWJvcmRlci1jb2xvcjogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWJvcmRlci1mYWN0b3IpKTtcblxuICAgIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yOiAjeyRjb2xvcn07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmc6ICN7JGJhY2tncm91bmR9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogI3skdGFibGUtYm9yZGVyLWNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnOiAjeyRzdHJpcGVkLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRzdHJpcGVkLWJnKX07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkYWN0aXZlLWJnKX07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItYmc6ICN7JGhvdmVyLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkaG92ZXItYmcpfTtcblxuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3IpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcik7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtdmFyaWFudFxuIiwiLyogLS0gVEFCTEVTIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnRhYmxlIHtcblxuICAgLy8gVGFibGUgaGVhZGVyICggYm90dG9tIGJvdHRvbSB3aWR0aCApXG4gICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICY6bm90KCAudGFibGUtYm9yZGVybGVzcyApOm5vdCggLnRhYmxlLWJvcmRlcmVkICkgPiA6bm90KCA6bGFzdC1jaGlsZCApID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgIH1cbn1cblxuXG5cbi8vIFRhYmxlIHByaW1hcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnRhYmxlLXByaW1hcnkge1xuICAgLS0jeyRwcmVmaXh9dGFibGUtYmc6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LWJnLXN1YnRsZSk7XG59XG5cblxuXG4vLyBUYWJsZSBMYXlvdXQgRml4ZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgIC0tI3skcHJlZml4fXRhYmxlLWJvcmRlcmVkLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXJlZC1jb2xvcn07XG4gICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ib3JkZXJlZC1jb2xvcik7XG59XG5cblxuLy8gVGFibGUgTGF5b3V0IEZpeGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi50YWJsZS1sYXlvdXQtZml4ZWQge1xuICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxuXG5cbi8vIFRhYmxlIFNwYWNlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4udGFibGUtc3BhY2VkIHtcbiAgLS0jeyRwcmVmaXh9dGFibGUtc3BhY2VkLXNwYWNpbmc6ICN7JHRhYmxlLXNwYWNlZC1zcGFjaW5nfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtc3BhY2VkLWNvbG9yOiAjeyR0YWJsZS1zcGFjZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1zcGFjZWQtYmc6ICN7JHRhYmxlLXNwYWNlZC1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLXNwYWNlZC1ib3JkZXItcmFkaXVzOiAjeyR0YWJsZS1zcGFjZWQtYm9yZGVyLXJhZGl1c307XG5cbiAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICBib3JkZXItc3BhY2luZzogMCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3BhY2VkLXNwYWNpbmcpO1xuICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgIHRkLCB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3BhY2VkLWJnKTtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3BhY2VkLWNvbG9yKTtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3BhY2VkLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tI3skcHJlZml4fXRhYmxlLXNwYWNlZC1ib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3BhY2VkLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zcGFjZWQtYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICB9XG5cbiAgICYuYmctdHJhbnNwYXJlbnQge1xuICAgICAgLS0jeyRwcmVmaXh9dGFibGUtc3BhY2VkLWJnOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgfVxuXG4gICAmLnRhYmxlLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9dGFibGUtc3BhY2VkLWJnOiAjeyRkYXJrfTtcbiAgICAgIC0tI3skcHJlZml4fXRhYmxlLXNwYWNlZC1jb2xvcjogI3tjb2xvci1jb250cmFzdChvcGFxdWUoJGJvZHktYmcsICRkYXJrKSl9O1xuICAgfVxufVxuIiwiLyogLS0gVE9PTEJBUlMgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udG9vbGJhci1zdGFydCB7XG4gICBtYXJnaW4tYm90dG9tOiAkY2FyZC10aXRsZS1zcGFjZXIteTtcbn1cblxuXG4udG9vbGJhci1lbmQge1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgPiA6bm90KCA6Zmlyc3QtY2hpbGQgKSB7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgIH1cbn1cblxuXG5cbi8vIFJlc3BvbnNpdmUgVG9vbGJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggXCJtZFwiICkge1xuICAgLnRvb2xiYXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICB9XG5cbiAgIC50b29sYmFyLXN0YXJ0IHtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgIH1cbn1cbiIsIi8vXG4vLyBMYWJlbHNcbi8vXG5cbi5mb3JtLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tbGFiZWwtbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWxhYmVsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtc3R5bGU6ICRmb3JtLWxhYmVsLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgZm9udC1zdHlsZTogJGZvcm0tbGFiZWwtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xufVxuIiwiLy9cbi8vIEZvcm0gdGV4dFxuLy9cblxuLmZvcm0tdGV4dCB7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXRleHQtZm9udC1zaXplKTtcbiAgZm9udC1zdHlsZTogJGZvcm0tdGV4dC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tdGV4dC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG59XG4iLCIvL1xuLy8gR2VuZXJhbCBmb3JtIGNvbnRyb2xzIChwbHVzIGEgZmV3IHNwZWNpZmljIGhpZ2gtbGV2ZWwgaW50ZXJ2ZW50aW9ucylcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+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+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICAgIEBpZiAkc3RhdGUgPT0gXCJ2YWxpZFwiIHtcbiAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB9IEBlbHNlIGlmICRzdGF0ZSA9PSBcImludmFsaWRcIiB7XG4gICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tbWl4aW5zXG4iLCIvKiAtLSBGT1JNUyAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIEZvcm0gZmxvYXRpbmdcbi8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5mb3JtLWZsb2F0aW5nIHtcbiAgID4uZm9ybS1jb250cm9sOmZvY3VzLFxuICAgPi5mb3JtLWNvbnRyb2w6bm90KDpwbGFjZWhvbGRlci1zaG93biksXG4gICA+LmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gICA+LmZvcm0tc2VsZWN0IHtcbiAgICAgIH5sYWJlbCB7XG4gICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG5cblxuLy8gRm9ybSBkaXNhYmxlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZm9ybS1jb250cm9sLCAuZm9ybS1jb250cm9sLXBsYWludGV4dCwgLmZvcm0tc2VsZWN0IHtcbiAgICY6ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWZvcm0tZGlzYWJsZWQtb3BhY2l0eSk7XG4gICB9XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0Om5vdCg6Y2hlY2tlZCk6bm90KDppbmRldGVybWluYXRlKTpkaXNhYmxlZCB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG59XG5cblxuXG4vLyBGb3JtIHN3aXRjaFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZm9ybS1zd2l0Y2gge1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBtYXJnaW46IDA7XG5cbiAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBoZWlnaHQ6ICRmb3JtLXN3aXRjaC1oZWlnaHQ7XG5cbiAgICAgICY6aG92ZXIsICsgLmZvcm0tY2hlY2stbGFiZWw6aG92ZXIge1xuICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuXG4gICAgICAmOm5vdCg6Y2hlY2tlZCkge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tc3dpdGNoLWJnLWNvbG9yO1xuICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1zd2l0Y2gtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgfVxufVxuXG5cblxuLy8gRm9ybSByYW5nZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZm9ybS1yYW5nZSB7XG4gICAtLSN7JHByZWZpeH1mb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogI3tzaGFkZS1jb2xvciggJHByaW1hcnksIDE1JSApfTtcbn1cblxuLnJhbmdlLWJ1YmJsZSB7XG4gICBiYWNrZ3JvdW5kOiB2YXIoLS0jeyAkcHJlZml4IH1wcmltYXJ5KTtcbiAgIGJvcmRlci1yYWRpdXM6IHZhcigtLSN7ICRwcmVmaXggfWJvcmRlci1yYWRpdXMpO1xuICAgY29sb3I6IHZhcigtLSN7ICRwcmVmaXggfXByaW1hcnktY29sb3IpO1xuICAgbGVmdDogNTAlO1xuICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKGNhbGMoLTEwMCUgLSAxMHB4KSk7XG5cbiAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogYXV0byBhdXRvIC00cHggNTAlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDAgNXB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyAkcHJlZml4IH1wcmltYXJ5KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgIH1cbn1cblxuXG5cbi8vIEZvcm0gYWx0ZXJuYXRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5mb3JtLWNoZWNrLmZvcm0tY2hlY2stYWx0IHtcbiAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS0jeyRwcmVmaXh9Y29tcG9uZW50LWFsdC1iZyApO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0tI3skcHJlZml4fWNvbXBvbmVudC1hbHQtYmcgKTtcbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tI3skcHJlZml4fWNvbXBvbmVudC1hbHQtYWN0aXZlLWJnICk7XG4gICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS0jeyRwcmVmaXh9Y29tcG9uZW50LWFsdC1hY3RpdmUtYmcgKTtcbiAgICAgIH1cbiAgIH1cbn1cblxuXG5cbi8vIElucHV0IEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFByZXZlbnQgbXVsdGktYm9yZGVyIGNvbG9yaW5nIHdoZW4gdXNpbmcgYWxwaGEuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgIH1cblxuICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgfVxuXG4gICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICB9XG5cbiAgICY6Zmlyc3QtY2hpbGQgKyAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tI3sgJHByZWZpeCB9Ym9yZGVyLXdpZHRoKTtcbiAgIH1cblxuICAgJiArIC5pbnB1dC1ncm91cC10ZXh0Omxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IHZhcigtLSN7ICRwcmVmaXggfWJvcmRlci13aWR0aCk7XG4gICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXg6ICN7JGJ0bi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy15OiAjeyRidG4tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtZmFtaWx5OiAjeyRidG4tZm9udC1mYW1pbHl9O1xuICBAaW5jbHVkZSByZnMoJGJ0bi1mb250LXNpemUsIC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1idG4tZm9udC13ZWlnaHQ6ICN7JGJ0bi1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fWJ0bi1saW5lLWhlaWdodDogI3skYnRuLWxpbmUtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRidG4tY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXdpZHRoOiAjeyRidG4tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzOiAjeyRidG4tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdzogI3skYnRuLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtb3BhY2l0eTogI3skYnRuLWRpc2FibGVkLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdzogMCAwIDAgI3skYnRuLWZvY3VzLXdpZHRofSByZ2JhKHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYiksIC41KTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBidG4tY3NzLXZhcnNcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1idG4tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtZmFtaWx5KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1idG4tbGluZS1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBpZigkZW5hYmxlLWJ1dHRvbi1wb2ludGVycywgcG9pbnRlciwgbnVsbCk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1idG4tYmcpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC5idG4tY2hlY2sgKyAmOmhvdmVyIHtcbiAgICAvLyBvdmVycmlkZSBmb3IgdGhlIGNoZWNrYm94L3JhZGlvIGJ1dHRvbnNcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnKSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmZvY3VzLXZpc2libGUgKyAmIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Y2hlY2tlZCArICYsXG4gIDpub3QoLmJ0bi1jaGVjaykgKyAmOmFjdGl2ZSxcbiAgJjpmaXJzdC1jaGlsZDphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAmLnNob3cge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmcpO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpKTtcblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Y2hlY2tlZDpmb2N1cy12aXNpYmxlICsgJiB7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXQ6ZGlzYWJsZWQgJiB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFudC1sb29wc1xuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tI3skY29sb3J9IHtcbiAgICBAaWYgJGNvbG9yID09IFwibGlnaHRcIiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYmctc2hhZGUtYW1vdW50KSxcbiAgICAgICAgJGhvdmVyLWJvcmRlcjogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJhY2tncm91bmQ6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1ib3JkZXI6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudClcbiAgICAgICk7XG4gICAgfSBAZWxzZSBpZiAkY29sb3IgPT0gXCJkYXJrXCIge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkaG92ZXItYmFja2dyb3VuZDogdGludC1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYmctdGludC1hbW91bnQpLFxuICAgICAgICAkaG92ZXItYm9yZGVyOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJhY2tncm91bmQ6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYm9yZGVyOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50KVxuICAgICAgKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFudC1sb29wc1xuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICAtLSN7JHByZWZpeH1idG4tZm9udC13ZWlnaHQ6ICN7JGZvbnQtd2VpZ2h0LW5vcm1hbH07XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skYnRuLWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRidG4tbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRidG4tbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRidG4tbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdzogMCAwIDAgIzAwMDsgLy8gQ2FuJ3QgdXNlIGBub25lYCBhcyBrZXl3b3JkIG5lZ2F0ZXMgYWxsIHZhbHVlcyB3aGVuIHVzZWQgd2l0aCBtdWx0aXBsZSBzaGFkb3dzXG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAjeyRidG4tbGluay1mb2N1cy1zaGFkb3ctcmdifTtcblxuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jb2xvcik7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRidG4tZm9udC1zaXplLWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tdmFyaWFudChcbiAgJGJhY2tncm91bmQsXG4gICRib3JkZXIsXG4gICRjb2xvcjogY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpLFxuICAkaG92ZXItYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCkpLFxuICAkaG92ZXItYm9yZGVyOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRib3JkZXIsICRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50KSksXG4gICRob3Zlci1jb2xvcjogY29sb3ItY29udHJhc3QoJGhvdmVyLWJhY2tncm91bmQpLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWJvcmRlcjogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50KSksXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZCksXG4gICRkaXNhYmxlZC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCxcbiAgJGRpc2FibGVkLWJvcmRlcjogJGJvcmRlcixcbiAgJGRpc2FibGVkLWNvbG9yOiBjb2xvci1jb250cmFzdCgkZGlzYWJsZWQtYmFja2dyb3VuZClcbikge1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiAjeyRiYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3skYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogI3skaG92ZXItYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGhvdmVyLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAje3RvLXJnYihtaXgoJGNvbG9yLCAkYm9yZGVyLCAxNSUpKX07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogI3skYnRuLWFjdGl2ZS1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRkaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZzogI3skZGlzYWJsZWQtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGRpc2FibGVkLWJvcmRlcn07XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYW50LW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tb3V0bGluZS12YXJpYW50LW1peGluXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudChcbiAgJGNvbG9yLFxuICAkY29sb3ItaG92ZXI6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciksXG4gICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLFxuICAkYWN0aXZlLWJvcmRlcjogJGNvbG9yLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWN0aXZlLWJhY2tncm91bmQpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRjb2xvci1ob3Zlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKCRjb2xvcil9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRhY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6ICN7JGJ0bi1hY3RpdmUtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWdyYWRpZW50OiBub25lO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tb3V0bGluZS12YXJpYW50LW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tc2l6ZS1taXhpblxuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXk6ICN7JHBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXg6ICN7JHBhZGRpbmcteH07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLCAtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tc2l6ZS1taXhpblxuIiwiLyogLS0gQlVUVE9OUyAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIFJlbW92ZSBzaGFkb3dzIGZyb20gdGhlIHJlZ3VsYXIgYnV0dG9uLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYnRuIHtcbiAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cblxuXG4vLyBCdXR0b24gdmFyaWFudHMgbG9vcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGJ1dHRvbi12YXJpYW50LXNoYWRvd3MoJGNvbG9yLCAkdmFsdWUpIHtcbiAgIC5idG4tI3sgJGNvbG9yIH0ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJHZhbHVlLCAwIDAgMCByZ2JhKCRibGFjaywgLjI1KTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICBib3gtc2hhZG93OiAwIC4xcmVtIC41cmVtIHJnYmEoJHZhbHVlLCAuNSksIDAgLjI1cmVtIDFyZW0gcmdiYSgkdmFsdWUsIC41KVxuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICBib3gtc2hhZG93OiAwIDAgLjVyZW0gcmdiYSgkdmFsdWUsIDEpLCAwIDAgLjc1cmVtIHJnYmEoJGJsYWNrLCAwLjIpICFpbXBvcnRhbnRcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cywgJjphY3RpdmU6Zm9jdXMge1xuICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJHZhbHVlLCAxKSwgMCAwIC43cmVtIC4yNXJlbSByZ2JhKCR2YWx1ZSwgLjQpICFpbXBvcnRhbnRcbiAgICAgIH1cbiAgIH1cblxuICAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIGNhbGMoJGJ0bi1mb2N1cy13aWR0aC8yKSByZ2JhKCR2YWx1ZSwgLjUpO1xuICAgICAgfVxuICAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgIEBpZiAkY29sb3IgPT0gXCJwcmltYXJ5XCIge1xuICAgICAgJHZhbHVlOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpO1xuICAgfVxuICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQtc2hhZG93cygkY29sb3IsICR2YWx1ZSk7XG59XG5cblxuXG4vLyBTZXQgZGVmYXVsdCB2YXJpYWJsZSBmb3IgcHJpbWFyeSBidXR0b24gYW5kIG91dGxpbmUgYnV0dG9uLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYnRuLXByaW1hcnkge1xuICAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1jb2xvcik7XG4gICAtLSN7JHByZWZpeH1idG4tYmc6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcbiAgIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcblxuICAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1jb2xvcik7XG4gICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6IHZhcigtLSN7JHByZWZpeH1idG4tcHJpbWFyeS1ob3Zlci1iZyk7XG4gICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLXByaW1hcnktaG92ZXItYmcpO1xuXG4gICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1jb2xvcik7XG4gICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9YnRuLXByaW1hcnktYWN0aXZlLWJnKTtcbiAgIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLXByaW1hcnktYWN0aXZlLWJnKTtcblxuICAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1jb2xvcik7XG4gICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6IHZhcigtLSN7JHByZWZpeH1idG4tYmcpO1xuICAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1iZyk7XG5cbiAgIC0tI3skcHJlZml4fWJ0bi1wcmltYXJ5LWhvdmVyLWJnOiAje2lmKGNvbG9yLWNvbnRyYXN0KCRwcmltYXJ5KSA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRwcmltYXJ5LCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJHByaW1hcnksICRidG4taG92ZXItYmctdGludC1hbW91bnQpKX07XG4gICAtLSN7JHByZWZpeH1idG4tcHJpbWFyeS1hY3RpdmUtYmc6ICN7aWYoY29sb3ItY29udHJhc3QoJHByaW1hcnkpID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJHByaW1hcnksICRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJHByaW1hcnksICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSl9O1xufVxuXG4uYnRuLW91dGxpbmUtcHJpbWFyeSB7XG4gICAtLSN7JHByZWZpeH1idG4tY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcbiAgIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcblxuICAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1jb2xvcik7XG4gICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcbiAgIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcblxuICAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnktY29sb3IpO1xuICAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpO1xuICAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcblxuICAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSk7XG4gICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSk7XG59XG5cblxuLmJ0bi5iZy10cmFuc3BhcmVudCB7XG4gICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7ICRidG4tY29sb3IgfTtcbiAgICAgIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7ICRidG4tY29sb3IgfTtcbiAgIH1cbn1cblxuXG5cbi8vIEJ1dHRvbnMgRXh0cmEgU21hbGxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmJ0bi14cyB7XG4gICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS14cywgJGJ0bi1wYWRkaW5nLXgteHMsICRidG4tZm9udC1zaXplLXhzLCAkYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cblxuXG4vLyBQcmV2ZW50aW5nIENoaWxkIGZyb20gZmlyaW5nIGZyb20gY2xpY2sgZXZlbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmJ0biB7XG4gICBpLCAuaWNvbiB7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgfVxufVxuXG5cblxuLy8gSWNvbiBmb3IgdG9nZ2xlIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmJ0biB7XG4gICAmW2FyaWEtcHJlc3NlZD1cInRydWVcIl0ge1xuICAgICAgLmljb24tYWN0aXZlIHtcbiAgICAgICAgIGRpc3BsYXk6IHVuc2V0O1xuICAgICAgfVxuXG4gICAgICAuaWNvbi1pbmFjdGl2ZSB7XG4gICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgfVxuXG4gICAmW2FyaWEtcHJlc3NlZD1cImZhbHNlXCJdIHtcbiAgICAgIC5pY29uLWFjdGl2ZSB7XG4gICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuaWNvbi1pbmFjdGl2ZSB7XG4gICAgICAgICBkaXNwbGF5OiB1bnNldDtcbiAgICAgIH1cbiAgIH1cbn1cblxuXG5cbi8vIEZpeCBCb290c3RyYXAncyBvdXRsaW5lIGJ1dHRvbiBjb2xvci5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XG4gICAtLSN7JHByZWZpeH1idG4tY29sb3I6IHZhciggLS0jeyAkcHJlZml4IH1saWdodC10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmJ0bi1vdXRsaW5lLWxpZ2h0IHtcbiAgICYsICY6ZGlzYWJsZWQsXG4gICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlnaHQtdGV4dC1lbXBoYXNpcyk7XG4gICAgICAvL2JvcmRlci1jb2xvcjogI3tyZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuMSl9O1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcik7XG4gICB9XG59XG5cbi5idG4tb3V0bGluZS1kYXJrIHtcbiAgICYsICY6ZGlzYWJsZWQsXG4gICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZGFyay10ZXh0LWVtcGhhc2lzKTtcbiAgIH1cbn1cblxuXG5cbi8vIEJ1dHRvbnMgSWNvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYnRuLWljb24ge1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICBoZWlnaHQ6ICN7IGNhbGMoIHZhcigtLSN7ICRwcmVmaXggfWJ0bi1wYWRkaW5nLXkpICogMiArICh2YXIoLS0jeyAkcHJlZml4IH1idG4tbGluZS1oZWlnaHQpICogMWVtKSl9O1xuICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICBwYWRkaW5nOiAwO1xuICAgd2lkdGg6ICN7IGNhbGMoIHZhcigtLSN7ICRwcmVmaXggfWJ0bi1wYWRkaW5nLXkpICogMiArICh2YXIoLS0jeyAkcHJlZml4IH1idG4tbGluZS1oZWlnaHQpICogMWVtKSl9O1xuICAgJi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICAgICAgcGFkZGluZzogMDtcbiAgIH1cbn1cblxuXG5cbi8vIERpc2FibGUgdHJhbnNpdGlvbiBmb3IgYnV0dG9uIGxpbmtzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5idG4tbGluayB7XG4gICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbn1cblxuXG5cbi8vIEJ1dHRvbiB3aXRoIHRyYW5zcGFyZW50IGJhY2tncm91bmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmJ0bi5iZy10cmFuc3BhcmVudDpub3QoLnNoYWRvdy1ub25lKSB7XG4gICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmVcbiAgIH1cblxuICAgJjphY3RpdmUge1xuICAgICAgYm94LXNoYWRvdzogMCAwIC43NXJlbSByZ2JhKCRibGFjaywgMC4yKSAhaW1wb3J0YW50XG4gICB9XG5cbiAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIC43cmVtIHJnYmEoJGJsYWNrLCAuMikgIWltcG9ydGFudFxuICAgfVxufVxuXG5cblxuLy8gVW5kZXJsaW5lIGJ1dHRvbnMgYW5kIGxpbmtzIHdoZW4gaG92ZXJpbmcuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5idG4tbGluayB7XG4gICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbiAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICBib3JkZXItcmFkaXVzOiAwO1xuICAgY29sb3I6IHZhcigtLSN7ICRwcmVmaXggfWxpbmstaG92ZXItY29sb3IpO1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICYudGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xuICAgfVxuXG4gICAmOndoZXJlKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIC5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYpIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyAkcHJlZml4IH1lbXBoYXNpcy1jb2xvcik7XG4gICB9XG5cbiAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggMCAwICFpbXBvcnRhbnQ7XG4gICB9XG5cbiAgICY6aG92ZXIsXG4gICAmOmFjdGl2ZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCAwIDAgIWltcG9ydGFudDtcbiAgIH1cblxuICAgJltjbGFzcyo9XCJ0ZXh0LVwiXTpub3QoW2NsYXNzKj1cInRleHQtZGVjb3JhdGlvbi1cIl0pOm5vdChbY2xhc3MqPVwidGV4dC10cnVuY2F0ZVwiXSkge1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjphY3RpdmUsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgIGNvbG9yOiB2YXIoLS0jeyAkcHJlZml4IH1wcmltYXJ5KTtcbiAgICAgIH1cbiAgIH1cbn1cblxuXG5cbi8vIEJ0biBIb3ZlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYnRuLWhvdmVyOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpOm5vdCg6YWN0aXZlKTpub3QoLmFjdGl2ZSkge1xuICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgJjpub3QoLnRleHQtaW5oZXJpdCk6bm90KFtjbGFzcyo9XCJiZy1cIl0pIHtcbiAgICAgIGNvbG9yOiB2YXIoIC0tI3sgJHByZWZpeCB9aGVhZGluZ3MtY29sb3IgKTtcbiAgIH1cblxuICAgJi50ZXh0LWluaGVyaXQsICZbY2xhc3MqPVwiYmctXCJdIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICB9XG59XG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS1jbGFzc2VzXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xuXG4gICYuY29sbGFwc2UtaG9yaXpvbnRhbCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGgpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLWNsYXNzZXNcbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wZW5kLFxuLmRyb3Bkb3duLFxuLmRyb3BzdGFydCxcbi5kcm9wdXAtY2VudGVyLFxuLmRyb3Bkb3duLWNlbnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXppbmRleDogI3skemluZGV4LWRyb3Bkb3dufTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbWluLXdpZHRoOiAjeyRkcm9wZG93bi1taW4td2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteTogI3skZHJvcGRvd24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyOiAjeyRkcm9wZG93bi1zcGFjZXJ9O1xuICBAaW5jbHVkZSByZnMoJGRyb3Bkb3duLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3I6ICN7JGRyb3Bkb3duLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmc6ICN7JGRyb3Bkb3duLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZzogI3skZHJvcGRvd24tZGl2aWRlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICN7JGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiAjeyRkcm9wZG93bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcjogI3skZHJvcGRvd24tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjeyRkcm9wZG93bi1saW5rLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogI3skZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcjogI3skZHJvcGRvd24taGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogI3skZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24temluZGV4KTtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgbWluLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbWluLXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteCk7XG4gIG1hcmdpbjogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBtYXJnaW4gb2YgdWxcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93KSk7XG5cbiAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgPiAuZHJvcGRvd24taXRlbTpmaXJzdC1jaGlsZCxcbiAgICA+IGxpOmZpcnN0LWNoaWxkIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICAgID4gLmRyb3Bkb3duLWl0ZW06bGFzdC1jaGlsZCxcbiAgICA+IGxpOmxhc3QtY2hpbGQgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG5cbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcmVzcG9uc2l2ZS1icmVha3BvaW50c1xuLy8gV2UgZGVsaWJlcmF0ZWx5IGhhcmRjb2RlIHRoZSBgYnMtYCBwcmVmaXggYmVjYXVzZSB3ZSBjaGVja1xuLy8gdGhpcyBjdXN0b20gcHJvcGVydHkgaW4gSlMgdG8gZGV0ZXJtaW5lIFBvcHBlcidzIHBvc2l0aW9uaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXN0YXJ0IHtcbiAgICAgIC0tYnMtcG9zaXRpb246IHN0YXJ0O1xuXG4gICAgICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWVuZCB7XG4gICAgICAtLWJzLXBvc2l0aW9uOiBlbmQ7XG5cbiAgICAgICZbZGF0YS1icy1wb3BwZXJdIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHJlc3BvbnNpdmUtYnJlYWtwb2ludHNcblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3BlbmQge1xuICAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQoZW5kKTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BzdGFydCB7XG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQoc3RhcnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXkpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZyk7XG4gIG9wYWNpdHk6IDE7IC8vIFJldmlzaXQgaW4gdjYgdG8gZGUtZHVwZSBzdHlsZXMgdGhhdCBjb25mbGljdCB3aXRoIDxocj4gZWxlbWVudFxufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXgpO1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tYm9yZGVyLXJhZGl1cywgMCkpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItYmcpKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZykpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcik7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcik7XG59XG5cbi8vIERhcmsgZHJvcGRvd25zXG4uZHJvcGRvd24tbWVudS1kYXJrIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWRhcmstY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1iZzogI3skZHJvcGRvd24tZGFyay1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiAjeyRkcm9wZG93bi1kYXJrLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnOiAjeyRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWhlYWRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tZGFyay1jc3MtdmFyc1xufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LW1peGluc1xuQG1peGluIGNhcmV0LWRvd24oJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1lbmQoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LXN0YXJ0KCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KFxuICAkZGlyZWN0aW9uOiBkb3duLFxuICAkd2lkdGg6ICRjYXJldC13aWR0aCxcbiAgJHNwYWNpbmc6ICRjYXJldC1zcGFjaW5nLFxuICAkdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnblxuKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCR3aWR0aCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgkd2lkdGgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGVuZCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWVuZCgkd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHN0YXJ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1zdGFydCgkd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC1taXhpbnNcbiIsIi8qIC0tIERST1BET1dOIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJGR0bzogJGRyb3Bkb3duLXRyYW5zaXRpb24tb3V0O1xuXG4vLyBEaXNhYmxlIGFsbCB0cmFuc2l0aW9ucyB3aGVuIHRoZSBjdXN0b20tanMgdmFyaWFibGUgaXMgZGlzYWJsZWQuXG5AaWYgJGRyb3Bkb3duLXVzZS1jdXN0b20tanMgIT0gdHJ1ZSB7XG4gICAkZHRvOiAwcztcbn1cblxuXG5cbi8vIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmRyb3Bkb3duLW1lbnUge1xuICAgQGlmICRkcm9wZG93bi1hbmltYXRpb25zIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLXN0YXJ0LWdhcDtcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1zdGFydC1nYXA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0b3A6IDA7XG4gICAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGRyb3Bkb3duLXRyYW5zaXRpb24tdGltaW5nLW91dDtcbiAgICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgJGR0bywgbWFyZ2luICRkdG8gZWFzZS1pbi1vdXQsIG9wYWNpdHkgJGR0bywgdHJhbnNmb3JtIDBzIGxpbmVhciAkZHRvO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgIH1cblxuICAgLy8gU2hvdyB0aGUgZHJvcGRvd24gbWVudVxuICAgJi5zaG93IHtcbiAgICAgIGJveC1zaGFkb3c6ICRkcm9wZG93bi1ib3gtc2hhZG93O1xuXG4gICAgICBAaWYgJGRyb3Bkb3duLWFuaW1hdGlvbnMge1xuICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgcG9pbnRlci1ldmVudHM6IHZpc2libGU7XG4gICAgICAgICB0b3VjaC1hY3Rpb246IGF1dG87XG4gICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGRyb3Bkb3duLXRyYW5zaXRpb24tdGltaW5nLWluO1xuICAgICAgICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAkZHJvcGRvd24tdHJhbnNpdGlvbi1pbiwgbWFyZ2luICRkcm9wZG93bi10cmFuc2l0aW9uLWluIGVhc2UtaW4tb3V0LCBvcGFjaXR5ICRkcm9wZG93bi10cmFuc2l0aW9uLWluLCB0cmFuc2Zvcm0gMHM7XG4gICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgfVxuXG4gICAuZHJvcGRvd24taXRlbS10ZXh0LCAuZHJvcGRvd24taXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuMTVyZW07XG4gICB9XG5cbiAgIEBpZiAkZHJvcGRvd24tYW5pbWF0aW9ucyB7XG5cbiAgICAgIC8vIFRvcCBQbGFjZW1lbnRcbiAgICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Kj1cInRvcC1cIl0ge1xuICAgICAgICAgdG9wOmF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLy8gRHJvcGxlZnQgYW5kIGRyb3ByaWdodFxuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAgLmRyb3BlbmQgPiAjeyZ9LCAuZHJvcHN0YXJ0ID4gI3smfSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICN7IDAgLSAkZHJvcGRvd24tc3RhcnQtZ2FwIH07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICN7IDAgLSAkZHJvcGRvd24tc3RhcnQtZ2FwIH07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICAvLyBEcm9wZG93biBkaXZpZGVyXG4gICAuZHJvcGRvd24tZGl2aWRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgIH1cbn1cblxuXG5cbi8vIEJsb2NrIEhlYWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZHJvcGRvd24tYmxvY2staGVhZGVyIHtcbiAgIG1hcmdpbjogI3sgMCAtICRkcm9wZG93bi1wYWRkaW5nLXkgfSAjeyAwIC0gJGRyb3Bkb3duLXBhZGRpbmcteCB9O1xuICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM7XG4gICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM7XG59XG5cblxuXG4vLyBNZWdhIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5tZWdhLWRyb3Bkb3duIHtcbiAgIG1heC13aWR0aDogMTAwdnc7XG4gICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cblxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBcImxnXCIgKSB7XG4gICAubWVnYS1kcm9wZG93biB7XG4gICAgICBtYXgtd2lkdGg6IDc1dnc7XG4gICB9XG59XG5cblxuXG4vLyBSb3VuZGVkIGRyb3Bkb3duIGl0ZW1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5kcm9wZG93bi1pdGVtIHtcbiAgIGJvcmRlci1yYWRpdXM6IG1pbigkZHJvcGRvd24tYm9yZGVyLXJhZGl1cyAvIDIsIC40NXJlbSk7XG59XG5cblxuXG4vLyBTdGF0aWMgZHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmRyb3Bkb3duLW1lbnVbIGRhdGEtYnMtcG9wcGVyXSwgLm1zdCB7XG4gICB0b3A6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuXG5cbi8vIERyb3Bkb3duIFdpdGggY3VzdG9tIGphdmFzY3JpcHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGlmICRkcm9wZG93bi11c2UtY3VzdG9tLWpzIHtcblxuICAgLy8gVHJhY2sgdGhlIERyb3Bkb3duIE1lbnUgcG9zaXRpb24gYmVmb3JlIGl0IGNsb3NlcyBieSB1c2luZyBjdXN0b20ganMgZXZlbnRzLlxuICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgIC8vIE1lbnUgb24gdGhlIHRvcC5cbiAgIC5tb3Qge1xuICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgIH1cblxuICAgLy8gTWVudSBvbiB0aGUgbGVmdC5cbiAgIC5tb2wge1xuICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgIH1cblxuICAgLy8gUmVzcG9uc2l2ZSBtZW51IGFsaWdubWVudFxuICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAuZHJvcGRvd24tbWVudS1lbmQge1xuICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgIH1cblxuICAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoICRncmlkLWJyZWFrcG9pbnRzICkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggJGJyZWFrcG9pbnQgKSB7XG4gICAgICAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoICRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyApO1xuICAgICAgICAgQGlmICRicmVha3BvaW50ICE9IFwieHNcIiB7XG4gICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudSN7ICRpbmZpeCB9LXN0YXJ0IHtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUjeyAkaW5maXggfS1lbmQge1xuICAgICAgICAgICAgICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuXG5cbi8vIE5hdmJhciBkcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2YmFyLXNsaWRlZG93biwgLm5hdmJhci1uYXYge1xuICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMXM7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAmLnNob3cge1xuICAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgICB9XG5cbiAgICAgID4gKiB7XG4gICAgICAgICBtYXJnaW46ICRkcm9wZG93bi1wYWRkaW5nLXggJGRyb3Bkb3duLXBhZGRpbmcteVxuICAgICAgfVxuICAgfVxufVxuXG5cblxuLy8gUmVndWxhciBkcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gbmF2YmFyLXJlZ3VsYXItZHJvcGRvd24ge1xuICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLXN0YXJ0LWdhcDtcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1zdGFydC1nYXA7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXggJGRyb3Bkb3duLXBhZGRpbmcteTtcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkZHJvcGRvd24tdHJhbnNpdGlvbi10aW1pbmctb3V0O1xuICAgICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAkZHRvLCBtYXJnaW4gJGR0byBlYXNlLWluLW91dCwgb3BhY2l0eSAkZHRvLCB0cmFuc2Zvcm0gMHMgbGluZWFyICRkdG87XG5cbiAgICAgICYuc2hvdyB7XG4gICAgICAgICBAaWYgJGRyb3Bkb3duLWFuaW1hdGlvbnMge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiAqIHtcbiAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgIH1cbn1cblxuQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICBAaWYgJHN0YXRlICE9IFwieHNcIiB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCN7JHN0YXRlfSkge1xuICAgICAgICAgLm5hdmJhci1leHBhbmQtI3skc3RhdGV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG5hdmJhci1yZWd1bGFyLWRyb3Bkb3duXG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG4iLCIvLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAvLyB0aGUgYm9yZGVycyBwcm9wZXJseVxuICA+IC5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4sXG4gID4gLmJ0bi1jaGVjazpmb2N1cyArIC5idG4sXG4gID4gLmJ0bjpob3ZlcixcbiAgPiAuYnRuOmZvY3VzLFxuICA+IC5idG46YWN0aXZlLFxuICA+IC5idG4uYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJ0bi1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4gID4gOm5vdCguYnRuLWNoZWNrOmZpcnN0LWNoaWxkKSArIC5idG4sXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoI3skYnRuLWJvcmRlci13aWR0aH0gKiAtMSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0OmZpcnN0LWNoaWxkLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICB9XG5cbiAgLy8gVGhlIGxlZnQgcmFkaXVzIHNob3VsZCBiZSAwIGlmIHRoZSBidXR0b24gaXM6XG4gIC8vIC0gdGhlIFwidGhpcmQgb3IgbW9yZVwiIGNoaWxkXG4gIC8vIC0gdGhlIHNlY29uZCBjaGlsZCBhbmQgdGhlIHByZXZpb3VzIGVsZW1lbnQgaXNuJ3QgYC5idG4tY2hlY2tgIChtYWtpbmcgaXQgdGhlIGZpcnN0IGNoaWxkIHZpc3VhbGx5KVxuICAvLyAtIHBhcnQgb2YgYSBidG4tZ3JvdXAgd2hpY2ggaXNuJ3QgdGhlIGZpcnN0IGNoaWxkXG4gID4gLmJ0bjpudGgtY2hpbGQobiArIDMpLFxuICA+IDpub3QoLmJ0bi1jaGVjaykgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG59XG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vL1xuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy9cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyLFxuICAuZHJvcHVwICY6OmFmdGVyLFxuICAuZHJvcGVuZCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcHN0YXJ0ICY6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skYnRuLWJvcmRlci13aWR0aH0gKiAtMSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuIH4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXg6ICN7JG5hdi1saW5rLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteTogI3skbmF2LWxpbmstcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRuYXYtbGluay1mb250LXNpemUsIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0OiAjeyRuYXYtbGluay1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yOiAjeyRuYXYtbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yOiAjeyRuYXYtbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRuYXYtbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbmF2LWxpbmstdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJG5hdi1saW5rLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi10YWJzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aDogI3skbmF2LXRhYnMtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItcmFkaXVzOiAjeyRuYXYtdGFicy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi10YWJzLWNzcy12YXJzXG5cbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1jb2xvcik7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1yYWRpdXMpKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBQcmV2ZW50cyBhY3RpdmUgLm5hdi1saW5rIHRhYiBvdmVybGFwcGluZyBmb2N1cyBvdXRsaW5lIG9mIHByZXZpb3VzL25leHQgLm5hdi1saW5rXG4gICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi1waWxscy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogI3skbmF2LXBpbGxzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICN7JG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogI3skbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtcGlsbHMtY3NzLXZhcnNcblxuICAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1ib3JkZXItcmFkaXVzKSk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtYmcpKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBVbmRlcmxpbmVcbi8vXG5cbi5uYXYtdW5kZXJsaW5lIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi11bmRlcmxpbmUtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1nYXA6ICN7JG5hdi11bmRlcmxpbmUtZ2FwfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGg6ICN7JG5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXVuZGVybGluZS1jc3MtdmFyc1xuXG4gIGdhcDogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtZ2FwKTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudGNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1maWxsLFxuLm5hdi1qdXN0aWZpZWQge1xuICAubmF2LWl0ZW0gLm5hdi1saW5rIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gTWFrZSBzdXJlIGJ1dHRvbiB3aWxsIGdyb3dcbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLyogLS0gTkFWUyAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIE5hdiBsaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2IHtcbiAgICYuZmxleC1jb2x1bW4ge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICB9XG5cbiAgICY6bm90KC5uYXYtcGlsbHMpIC5uYXYtbGluayB7XG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICB9XG5cbiAgICAgIGksIC5uYXYtaWNvbiB7XG4gICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIH1cbiAgIH1cbn1cblxuXG5cbi8vIE5hdiBUYWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5uYXYtdGFicyB7XG5cbiAgIC8vIE5hdiB0YWJzIGxpbmtzXG4gICAubmF2LWxpbmsge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWJnO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICAgIG1pbi1oZWlnaHQ6ICRuYXYtbGluay1oZWlnaHQ7XG5cbiAgICAgICYuZGlzYWJsZWQsICY6ZGlzYWJsZWQge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYmctZGlzYWJsZWQ7XG4gICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIH1cblxuXG4gICAgICAmOmhvdmVyOm5vdCggLmRpc2FibGVkICk6bm90KCAuYWN0aXZlICkge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYmctaG92ZXI7XG4gICAgICB9XG4gICB9XG5cbiAgIC5uYXYtaXRlbSA+IC5uYXYtbGluazpkaXNhYmxlZCB7XG4gICAgICBAZXh0ZW5kIC5kaXNhYmxlZDtcbiAgIH1cblxuICAgLy8gTmF2IHRhYnMgd2l0aCBkcm9wZG93blxuICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM7XG4gICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tc3RhcnQtZ2FwO1xuICAgfVxuXG59XG5cblxuXG4vLyBOYXYgUGlsbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdi1waWxscyB7XG4gICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXYtcGlsbHMtbGluay1jb2xvcjtcblxuICAgICAgJi5kaXNhYmxlZCwgJjpkaXNhYmxlZCB7XG4gICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIH1cblxuICAgICAgJjpob3Zlcjpub3QoIC5kaXNhYmxlZCApOm5vdCggLmFjdGl2ZSApIHtcbiAgICAgICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstaG92ZXItY29sb3I7XG4gICAgICB9XG4gICB9XG59XG5cblxuXG4vLyBUYWIgQmFzZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnRhYi1iYXNlIHtcbiAgIC5uYXYtdGFicyB7XG4gICAgICAmLCAubmF2LWxpbmsge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgfVxuXG4gICAudGFiLWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRuYXYtdGFicy1ib3JkZXItcmFkaXVzO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJG5hdi10YWJzLWJvcmRlci1yYWRpdXM7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJG5hdi10YWJzLWJvcmRlci1yYWRpdXM7XG4gICAgICBwYWRkaW5nOiAkbmF2LXRhYnMtcGFkZGluZztcbiAgIH1cblxuICAgLm5hdi11bmRlcmxpbmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJG5hdi10YWJzLWJvcmRlci1yYWRpdXM7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJG5hdi10YWJzLWJvcmRlci1yYWRpdXM7XG4gICAgICBwYWRkaW5nLXRvcDogLjVyZW07XG5cbiAgICAgIH4gLnRhYi1jb250ZW50IHtcbiAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgfVxuICAgfVxuXG4gICAubmF2LXRhYnMge1xuICAgICAgJi5qdXN0aWZ5LWNvbnRlbnQtZW5kIHtcbiAgICAgICAgIH4gLnRhYi1jb250ZW50IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRuYXYtdGFicy1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG5cbiAgICYudGFiLXZlcnRpY2FsIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZGlzcGxheTogZmxleDtcblxuXG4gICAgICAubmF2LWl0ZW0sIC5uYXYtbGluayB7XG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuXG4gICAgICAubmF2LXRhYnMge1xuICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRuYXYtdGFicy1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm5hdi1waWxscyB+IC50YWItY29udGVudCB7XG4gICAgICAgICBib3JkZXItcmFkaXVzOiAkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgIH1cbn1cblxuXG5cbi8vIE5hdiBjb21wb25lbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5uYXYtY29tcG9uZW50IHtcbiAgIC5uYXYtbGluazpub3QoLmFjdGl2ZSk6bm90KDpmb2N1cyk6bm90KDpob3Zlcik6bm90KDphY3RpdmUpIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgfVxufVxuIiwiLy8gTmF2YmFyXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy14OiAje2lmKCRuYXZiYXItcGFkZGluZy14ID09IG51bGwsIDAsICRuYXZiYXItcGFkZGluZy14KX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXk6ICN7JG5hdmJhci1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItY29sb3I6ICN7JG5hdmJhci1saWdodC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWRpc2FibGVkLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteTogI3skbmF2YmFyLWJyYW5kLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAjeyRuYXZiYXItYnJhbmQtbWFyZ2luLWVuZH07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1mb250LXNpemU6ICN7JG5hdmJhci1icmFuZC1mb250LXNpemV9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3I6ICN7JG5hdmJhci1saWdodC1icmFuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogI3skbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogI3skbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAjeyRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICN7JG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmc6ICN7ZXNjYXBlLXN2ZygkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3I6ICN7JG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICN7JG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogI3skbmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAjeyRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9ufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoKTtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gIC8vIFRoZSBgZmxleC13cmFwYCBwcm9wZXJ0eSBpcyBpbmhlcml0ZWQgdG8gc2ltcGxpZnkgdGhlIGV4cGFuZGVkIG5hdmJhcnNcbiAgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBpbmhlcml0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgPiAuY29udGFpbmVyLFxuICA+IC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1wYWRkaW5nLXkpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1wYWRkaW5nLXkpO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtbWFyZ2luLWVuZCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1uYXYtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14OiAwO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXk6ICN7JG5hdi1saW5rLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkbmF2LWxpbmstZm9udC1zaXplLCAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodDogI3skbmF2LWxpbmstZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3IpO1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1uYXYtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5uYXYtbGluayB7XG4gICAgJi5hY3RpdmUsXG4gICAgJi5zaG93IHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuXG4gIGEsXG4gIGE6aG92ZXIsXG4gIGE6Zm9jdXMgIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3IpO1xuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciByZXNwb25zaXZlIGNvbGxhcHNpbmcgYW5kIHRvZ2dsaW5nIG9mIG5hdmJhciBjb250ZW50cy5cbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLy8gV2hlbiBjb2xsYXBzZWQsIHByZXZlbnQgdGhlIHRvZ2dsZWFibGUgbmF2YmFyIGNvbnRlbnRzIGZyb20gYXBwZWFyaW5nIGluXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbnRhdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9udC1zaXplKSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yKTsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbikpO1xuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aCk7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xufVxuXG4ubmF2YmFyLW5hdi1zY3JvbGwge1xuICBtYXgtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c2Nyb2xsLWhlaWdodCwgNzV2aCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItZXhwYW5kLWxvb3Bcbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL3NlbGVjdG9yLW5vLXVuaW9uLWNsYXNzLW5hbWVcbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9mZmNhbnZhcyB7XG4gICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICB6LWluZGV4OiBhdXRvO1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihub25lKTtcbiAgICAgICAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICAgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAub2ZmY2FudmFzLWJvZHkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZXhwYW5kLWxvb3BcblxuLy8gTmF2YmFyIHRoZW1lc1xuLy9cbi8vIFN0eWxlcyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gbmF2YmFycyB3aXRoIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC5cblxuLm5hdmJhci1saWdodCB7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImAubmF2YmFyLWxpZ2h0YFwiLCBcInY1LjIuMFwiLCBcInY2LjAuMFwiLCB0cnVlKTtcbn1cblxuLm5hdmJhci1kYXJrLFxuLm5hdmJhcltkYXRhLWJzLXRoZW1lPVwiZGFya1wiXSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItZGFyay1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXZiYXItY29sb3I6ICN7JG5hdmJhci1kYXJrLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcjogI3skbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yOiAjeyRuYXZiYXItZGFyay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3I6ICN7JG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcjogI3skbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLWNzcy12YXJzXG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICAgIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmc6ICN7ZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKX07XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmQtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteTogI3skY2FyZC1zcGFjZXIteX07XG4gIC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXg6ICN7JGNhcmQtc3BhY2VyLXh9O1xuICAtLSN7JHByZWZpeH1jYXJkLXRpdGxlLXNwYWNlci15OiAjeyRjYXJkLXRpdGxlLXNwYWNlci15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1jb2xvcjogI3skY2FyZC10aXRsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtc3VidGl0bGUtY29sb3I6ICN7JGNhcmQtc3VidGl0bGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aDogI3skY2FyZC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcjogI3skY2FyZC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1yYWRpdXM6ICN7JGNhcmQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWNhcmQtYm94LXNoYWRvdzogI3skY2FyZC1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXk6ICN7JGNhcmQtY2FwLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteDogI3skY2FyZC1jYXAtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmc6ICN7JGNhcmQtY2FwLWJnfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3I6ICN7JGNhcmQtY2FwLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1oZWlnaHQ6ICN7JGNhcmQtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jb2xvcjogI3skY2FyZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYmc6ICN7JGNhcmQtYmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICN7JGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZ307XG4gIC0tI3skcHJlZml4fWNhcmQtZ3JvdXAtbWFyZ2luOiAjeyRjYXJkLWdyb3VwLW1hcmdpbn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgY2FyZC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjI3NDAjaXNzdWVjb21tZW50LTMwNTg2ODEwNlxuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1jYXJkLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcik7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3gtc2hhZG93KSk7XG5cbiAgPiBociB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgPiAubGlzdC1ncm91cCB7XG4gICAgYm9yZGVyLXRvcDogaW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBEdWUgdG8gc3BlY2lmaWNpdHkgb2YgdGhlIGFib3ZlIHNlbGVjdG9yIChgLmNhcmQgPiAubGlzdC1ncm91cGApLCB3ZSBtdXN0XG4gIC8vIHVzZSBhIGNoaWxkIHNlbGVjdG9yIGhlcmUgdG8gcHJldmVudCBkb3VibGUgYm9yZGVycy5cbiAgPiAuY2FyZC1oZWFkZXIgKyAubGlzdC1ncm91cCxcbiAgPiAubGlzdC1ncm91cCArIC5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG4uY2FyZC1ib2R5IHtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIGZvciBkZWNrcyBhbmQgZ3JvdXBzIHNvIHRoYXQgY2FyZCBibG9ja3MgdGFrZSB1cFxuICAvLyBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLCBlbnN1cmluZyBmb290ZXJzIGFyZSBhbGlnbmVkIHRvIHRoZSBib3R0b20uXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY29sb3IpO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1jYXJkLXRpdGxlLXNwYWNlci15KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLXRpdGxlLWNvbG9yKTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLXRpdGxlLXNwYWNlci15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zdWJ0aXRsZS1jb2xvcik7XG59XG5cbi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWxpbmsge1xuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14KTtcbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIDAgMCk7XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmcpO1xuICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIC5uYXYtbGluay5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gIH1cbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3AsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbi5jYXJkLWdyb3VwIHtcbiAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICA+IC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ncm91cC1tYXJnaW4pO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiAtLSBDQVJEUyAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIENhcmQgc2hhZG93c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY2FyZCB7XG4gICBib3gtc2hhZG93OiAkY2FyZC1ib3gtc2hhZG93O1xuXG4gICAmOm5vdChbY2xhc3MgKj1cImJvcmRlci1cIl0pIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgIH1cblxuICAgJi1oZWFkZXIge1xuICAgICAgbWluLWhlaWdodDogJGNhcmQtaGVhZGVyLWhlaWdodDtcbiAgIH1cbn1cblxuXG5cbi8vIENhcmQgd2l0aCBiYWNrZ3JvdW5kIGNvbG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5jYXJkWyBjbGFzcyAqPSBcImJnLVwiIF0ge1xuICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIDAsMCwwLCAuMDMgKTtcbiAgICAgIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG4gICB9XG5cbiAgIDp3aGVyZSggaDEsIGgyLCBoMywgaDQsIGg1LCBoNiApIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgfVxufVxuXG5cblxuLy8gQ2FyZCB3aXRoIHRhYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICAgLy9tYXJnaW4tYm90dG9tOiAtMXJlbTtcbiAgIG1hcmdpbi10b3A6IC0xcHg7XG59XG5cblxuXG4vLyBDYXJkIGhlYWRlciB3aXRoIHBpbGxzIHRhYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNhcmQgLnRvb2xiYXItZW5kIC5uYXYtcGlsbHMge1xuICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1JSk7XG4gICBtYXJnaW4tdG9wOiBjYWxjKCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSAqIC0xKTtcbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXk6ICN7JGJyZWFkY3J1bWItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAjeyRicmVhZGNydW1iLW1hcmdpbi1ib3R0b219O1xuICBAaW5jbHVkZSByZnMoJGJyZWFkY3J1bWItZm9udC1zaXplLCAtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItYmc6ICN7JGJyZWFkY3J1bWItYmd9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICN7JGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogI3skYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogI3skYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICN7JGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLW1hcmdpbi1ib3R0b20pO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZm9udC1zaXplKSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3IpO1xuICAgICAgY29udGVudDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKSkgI3tcIi8qIHJ0bDpcIn0gdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQpKSAje1wiKi9cIn07XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cbiIsIi8qIC0tIEJSRUFEQ1JVTUJTIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmJyZWFkY3J1bWItaXRlbSA+IGEge1xuICAgZm9udC13ZWlnaHQ6ICRicmVhZGNydW1iLWZvbnQtd2VpZ2h0O1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgQGlmICRicmVhZGNydW1iLWhvdmVyLXVuZGVybGluZSA9PXRydWUge1xuICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgYm94LXNoYWRvdzogMCAycHg7XG4gICAgICB9XG4gICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hY2NvcmRpb24ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1jb2xvcjogI3skYWNjb3JkaW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnOiAjeyRhY2NvcmRpb24tYmd9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tdHJhbnNpdGlvbjogI3skYWNjb3JkaW9uLXRyYW5zaXRpb259O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAjeyRhY2NvcmRpb24tYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aDogI3skYWNjb3JkaW9uLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAjeyRhY2NvcmRpb24tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRhY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy14OiAjeyRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy15OiAjeyRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tY29sb3I6ICN7JGFjY29yZGlvbi1idXR0b24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWJnOiAjeyRhY2NvcmRpb24tYnV0dG9uLWJnfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24taWNvbil9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGg6ICN7JGFjY29yZGlvbi1pY29uLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zZm9ybTogI3skYWNjb3JkaW9uLWljb24tdHJhbnNmb3JtfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zaXRpb246ICN7JGFjY29yZGlvbi1pY29uLXRyYW5zaXRpb259O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb24pfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAjeyRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6ICN7JGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteTogI3skYWNjb3JkaW9uLWJvZHktcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJnOiAjeyRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1iZ307XG4gIC8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLWNzcy12YXJzXG59XG5cbi5hY2NvcmRpb24tYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gUmVzZXQgYnV0dG9uIHN0eWxlXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWJnKTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi10cmFuc2l0aW9uKSk7XG5cbiAgJjpub3QoLmNvbGxhcHNlZCkge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYmcpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoKSkgMCB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcik7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbik7XG4gICAgICB0cmFuc2Zvcm06IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtKTtcbiAgICB9XG4gIH1cblxuICAvLyBBY2NvcmRpb24gaWNvblxuICAmOjphZnRlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zaXRpb24pKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cbn1cblxuLmFjY29yZGlvbi1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYWNjb3JkaW9uLWl0ZW0ge1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcblxuICAgID4gLmFjY29yZGlvbi1oZWFkZXIgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG5cbiAgLy8gT25seSBzZXQgYSBib3JkZXItcmFkaXVzIG9uIHRoZSBsYXN0IGl0ZW0gaWYgdGhlIGFjY29yZGlvbiBpcyBjb2xsYXBzZWRcbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgPiAuYWNjb3JkaW9uLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAmLmNvbGxhcHNlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cblxuLmFjY29yZGlvbi1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteCk7XG59XG5cblxuLy8gRmx1c2ggYWNjb3JkaW9uIGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBhY2NvcmRpb24gaXRlbXMgZWRnZS10by1lZGdlLlxuXG4uYWNjb3JkaW9uLWZsdXNoIHtcbiAgPiAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7IGJvcmRlci10b3A6IDA7IH1cbiAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAwOyB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtY2xhc3NcbiAgICA+IC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICYsXG4gICAgICAmLmNvbGxhcHNlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbWF4LWNsYXNzXG5cbiAgICA+IC5hY2NvcmRpb24tY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmFjY29yZGlvbi1idXR0b246OmFmdGVyIHtcbiAgICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWljb24tZGFyayl9O1xuICAgICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXg6ICN7JHBhZ2luYXRpb24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXk6ICN7JHBhZ2luYXRpb24tcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRwYWdpbmF0aW9uLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1iZzogI3skcGFnaW5hdGlvbi1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogI3skcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmc6ICN7JHBhZ2luYXRpb24taG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1iZzogI3skcGFnaW5hdGlvbi1mb2N1cy1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogI3skcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYmc6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHBhZ2luYXRpb24tdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYmcpO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgLmFjdGl2ZSA+ICYge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJnKSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gIC5kaXNhYmxlZCA+ICYge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpub3QoOmZpcnN0LWNoaWxkKSAucGFnZS1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0O1xuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydCA9PSBjYWxjKCN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRofSAqIC0xKSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBBZGQgYm9yZGVyLXJhZGl1cyB0byBhbGwgcGFnZUxpbmtzIGluIGNhc2UgdGhleSBoYXZlIGxlZnQgbWFyZ2luXG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tbWl4aW5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXg6ICN7JHBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15OiAjeyRwYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLW1peGluXG4iLCIvKiAtLSBQQUdJTkFUSU9OIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnBhZ2UtbGluayB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICB0cmFuc2l0aW9uOiAkcGFnaW5hdGlvbi10cmFuc2l0aW9uO1xuICAgei1pbmRleDogMTtcblxuICAgQGF0LXJvb3Qge1xuXG4gICAgICAjeyZ9OmhvdmVyIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJnKTtcbiAgICAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24taG92ZXItYm94LXNoYWRvdztcbiAgICAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1jb2xvcik7XG4gICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgfVxuXG4gICAgICAjeyZ9OmZvY3VzIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJnKTtcbiAgICAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZm9jdXMtYmc7XG4gICAgICAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93ICFpbXBvcnRhbnQ7XG4gICAgICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtY29sb3IpO1xuICAgICAgICAgei1pbmRleDogNTtcbiAgICAgIH1cblxuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAgI3smfTphY3RpdmUsIC5hY3RpdmUgPiAjeyZ9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1iZyk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1hY3RpdmUtYm94LXNoYWRvdyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZGlzYWJsZWQgPiAjeyZ9IHtcbiAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgfVxuICAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteDogI3skYmFkZ2UtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy15OiAjeyRiYWRnZS1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJGJhZGdlLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC13ZWlnaHQ6ICN7JGJhZGdlLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3I6ICN7JGJhZGdlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1czogI3skYmFkZ2UtYm9yZGVyLXJhZGl1c307XG4gIC8vIHNjc3MtZG9jcy1lbmQgYmFkZ2UtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cbiIsIi8qIC0tIEJBREdFUyAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vLyBUaGUgZWxlbWVudCBpcyBhbGlnbmVkIHdpdGggdGhlIHN1cGVyc2NyaXB0IGJhc2VsaW5lIG9mIHRoZSBwYXJlbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmJhZGdlLXN1cGVyIHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgaW5zZXQ6IC4xNXJlbSBhdXRvIGF1dG8gMTAwJSAhaW1wb3J0YW50O1xuICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIE1heCggLTAuNjI1cmVtLCAtNTAlICksIC01MCUgKTtcbiAgIHotaW5kZXg6IDE7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1hbGVydC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteDogI3skYWxlcnQtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy15OiAjeyRhbGVydC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hbGVydC1tYXJnaW4tYm90dG9tOiAjeyRhbGVydC1tYXJnaW4tYm90dG9tfTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtY29sb3I6IGluaGVyaXQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlcjogI3skYWxlcnQtYm9yZGVyLXdpZHRofSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLXJhZGl1czogI3skYWxlcnQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWFsZXJ0LWxpbmstY29sb3I6IGluaGVyaXQ7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtbWFyZ2luLWJvdHRvbSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXIpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yKTtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogJGFsZXJ0LWRpc21pc3NpYmxlLXBhZGRpbmctcjtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuYnRuLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6ICRzdHJldGNoZWQtbGluay16LWluZGV4ICsgMTtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICogMS4yNSAkYWxlcnQtcGFkZGluZy14O1xuICB9XG59XG5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LW1vZGlmaWVyc1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydFxuQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCR0aGVtZS1jb2xvcnMpIHtcbiAgLmFsZXJ0LSN7JHN0YXRlfSB7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYm9yZGVyLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtbGluay1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC1tb2RpZmllcnNcbiIsIi8qIC0tIEFMRVJUUyAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIENhbGxvdXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5hbGVydC1jYWxsb3V0IHtcbiAgIC0tI3skcHJlZml4fWFsZXJ0LWNhbGxvdXQtYm9yZGVyLXdpZHRoOiAjeyRhbGVydC1jYWxsb3V0LWJvcmRlci13aWR0aH07XG4gICAtLSN7JHByZWZpeH1hbGVydC1jYWxsb3V0LWJvcmRlci1yYWRpdXM6ICN7JGFsZXJ0LWNhbGxvdXQtYm9yZGVyLXJhZGl1c307XG5cbiAgIGJvcmRlci1yYWRpdXM6IHZhcigtLSN7JHByZWZpeH1hbGVydC1jYWxsb3V0LWJvcmRlci1yYWRpdXMpO1xuICAgYm9yZGVyLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1hbGVydC1jYWxsb3V0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWFsZXJ0LWNhbGxvdXQtYm9yZGVyLWNvbG9yLCB2YXIoLS0jeyRwcmVmaXh9Z3JheS0zMDApKTtcbn1cblxuXG5cbi8vIFZhcmlhdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGVhY2ggJHZhcmlhbnQgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAgLmFsZXJ0LSN7JHZhcmlhbnR9LmFsZXJ0LWNhbGxvdXQge1xuICAgICAgLS0jeyRwcmVmaXh9YWxlcnQtY2FsbG91dC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyR2YXJpYW50fS1ib3JkZXItc3VidGxlKTtcbiAgIH1cbn1cblxuLmFsZXJ0LWxpbmsge1xuICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDJweDtcbiAgIH1cblxuICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIDFweDtcbiAgIH1cbn1cblxuXG5cbi8vIERhcmsgTW9kZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrLCB0cnVlKSB7XG5cbiAgICAgIC5hbGVydC1saW5rOmhvdmVyIHtcbiAgICAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtbGluay1ob3Zlci1jb2xvcik7XG4gICAgICB9XG5cbiAgICAgIC5hbGVydCAuYnRuLWNsb3NlIHtcbiAgICAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gVmFyaWF0aW9uc1xuICAgICAgQGVhY2ggJHN0YXRlLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG5cbiAgICAgICAgICRhbGVydC1iZzogZGVzYXR1cmF0ZShsaWdodGVuKGNoYW5nZS1jb2xvcigkdmFsdWUsICRibGFja25lc3M6IDUwJSksIDIwJSksIDEwJSk7XG4gICAgICAgICAkYWxlcnQtY29sb3I6IHNoaWZ0LWNvbG9yKCR2YWx1ZSwgNjUlKTtcbiAgICAgICAgICRhbGVydC1saW5rOiBzaGlmdC1jb2xvcigkdmFsdWUsIDcwJSk7XG5cblxuICAgICAgICAgQGlmICRzdGF0ZSA9PVwiZGFya1wiIHtcbiAgICAgICAgICAgICRhbGVydC1iZzogZGVzYXR1cmF0ZShsaWdodGVuKCR2YWx1ZSwgMTAlKSwgNSUpO1xuICAgICAgICAgfVxuXG4gICAgICAgICBAaWYgKGNvbnRyYXN0LXJhdGlvKCR2YWx1ZSwgJGFsZXJ0LWNvbG9yKSA8ICRtaW4tY29udHJhc3QtcmF0aW8pIHtcbiAgICAgICAgICAgICRhbGVydC1jb2xvcjogc2hpZnQtY29sb3IoJHZhbHVlLCAtNjUlKTtcbiAgICAgICAgICAgICRhbGVydC1saW5rOiBzaGlmdC1jb2xvcigkdmFsdWUsIC03MCUpO1xuICAgICAgICAgfVxuXG4gICAgICAgICAuYWxlcnQtI3skc3RhdGV9IHtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fWFsZXJ0LWJnOiAjeyRhbGVydC1iZ307XG4gICAgICAgICAgICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogI3skYWxlcnQtY29sb3J9O1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9YWxlcnQtbGluay1jb2xvcjogI3skYWxlcnQtbGlua307XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG4iLCIvLyBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0cmFuc2l0aW9ucyBhcmUgZGlzYWJsZWRcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLWtleWZyYW1lc1xuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICAwJSB7IGJhY2tncm91bmQtcG9zaXRpb24teDogJHByb2dyZXNzLWhlaWdodDsgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLWtleWZyYW1lc1xuXG4ucHJvZ3Jlc3MsXG4ucHJvZ3Jlc3Mtc3RhY2tlZCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQ6ICN7JHByb2dyZXNzLWhlaWdodH07XG4gIEBpbmNsdWRlIHJmcygkcHJvZ3Jlc3MtZm9udC1zaXplLCAtLSN7JHByZWZpeH1wcm9ncmVzcy1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iZzogI3skcHJvZ3Jlc3MtYmd9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAjeyRwcm9ncmVzcy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm94LXNoYWRvdzogI3skcHJvZ3Jlc3MtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1jb2xvcjogI3skcHJvZ3Jlc3MtYmFyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWJnOiAjeyRwcm9ncmVzcy1iYXItYmd9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogI3skcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb259O1xuICAvLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtZm9udC1zaXplKSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm94LXNoYWRvdykpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWJnKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb24pKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpIHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpO1xufVxuXG4ucHJvZ3Jlc3Mtc3RhY2tlZCA+IC5wcm9ncmVzcyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucHJvZ3Jlc3Mtc3RhY2tlZCA+IC5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIC0tIFBST0dSRVNTIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gQWRkIHJvdW5kZWQgY29ybmVycyB0byB0aGUgcHJvZ3Jlc3MgYmFyLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucHJvZ3Jlc3MtYmFyOmxhc3QtY2hpbGQge1xuICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRwcm9ncmVzcy1ib3JkZXItcmFkaXVzO1xuICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRwcm9ncmVzcy1ib3JkZXItcmFkaXVzO1xufVxuXG5cbi8vIFZhcmlvdXMgaGVpZ2h0cyBmb3IgdGhlIFByb2dyZXNzIEJhci5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGVhY2ggJHNpemUsICR2YWx1ZSBpbiAkcHJvZ3Jlc3MtaGVpZ2h0cyB7XG4gICAucHJvZ3Jlc3MtI3sgJHNpemUgfSAge1xuICAgICAgaGVpZ2h0OiAkdmFsdWU7XG4gICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZzogI3skbGlzdC1ncm91cC1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAjeyRsaXN0LWdyb3VwLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogI3skbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogI3skbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICN7JGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogI3skbGlzdC1ncm91cC1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1iZzogI3skbGlzdC1ncm91cC1kaXNhYmxlZC1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogI3skbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmxpc3QtZ3JvdXAtbnVtYmVyZWQge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtOjpiZWZvcmUge1xuICAgIC8vIEluY3JlbWVudHMgb25seSB0aGlzIGluc3RhbmNlIG9mIHRoZSBzZWN0aW9uIGNvdW50ZXJcbiAgICBjb250ZW50OiBjb3VudGVycyhzZWN0aW9uLCBcIi5cIikgXCIuIFwiO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xuICB9XG59XG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnKTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZyk7XG4gIH1cbn1cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmcpO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3Mvc2VsZWN0b3Itbm8tcmVkdW5kYW50LW5lc3Rpbmctc2VsZWN0b3JcbiAgJiArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtZW5kLXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1lbmQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuLy8gTGlzdCBncm91cCBjb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkdGhlbWUtY29sb3JzKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJvcmRlci1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJnLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4iLCIvKiAtLSBMSVNUIEdST1VQIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gQWN0aXZlIGl0ZW1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICA6d2hlcmUoIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgKSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgIH1cblxuICAgOndoZXJlKCBwLCBzcGFuLCBzbWFsbCwgZGl2ICl7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsXG4gICB9XG59XG5cblxuXG4vLyBMaXN0IGdyb3VwIGJvcmRlcmxlc3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmxpc3QtZ3JvdXAtYm9yZGVybGVzcyB7XG4gICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgYm9yZGVyOiAwXG4gICB9XG5cbiAgID4gLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cztcbiAgIH1cbn1cbiIsIi8vIFRyYW5zcGFyZW50IGJhY2tncm91bmQgYW5kIGJvcmRlciBwcm9wZXJ0aWVzIGluY2x1ZGVkIGZvciBidXR0b24gdmVyc2lvbi5cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLmJ0bi1jbG9zZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBjbG9zZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtY29sb3I6ICN7JGJ0bi1jbG9zZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1iZzogI3sgZXNjYXBlLXN2ZygkYnRuLWNsb3NlLWJnKSB9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2Utb3BhY2l0eTogI3skYnRuLWNsb3NlLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtaG92ZXItb3BhY2l0eTogI3skYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtc2hhZG93OiAjeyRidG4tY2xvc2UtZm9jdXMtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWRpc2FibGVkLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogI3skYnRuLWNsb3NlLXdoaXRlLWZpbHRlcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtY3NzLXZhcnNcblxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgd2lkdGg6ICRidG4tY2xvc2Utd2lkdGg7XG4gIGhlaWdodDogJGJ0bi1jbG9zZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRidG4tY2xvc2UtcGFkZGluZy15ICRidG4tY2xvc2UtcGFkZGluZy14O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1jb2xvcik7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtYmcpIGNlbnRlciAvICRidG4tY2xvc2Utd2lkdGggYXV0byBuby1yZXBlYXQ7IC8vIGluY2x1ZGUgdHJhbnNwYXJlbnQgZm9yIGJ1dHRvbiBlbGVtZW50c1xuICBib3JkZXI6IDA7IC8vIGZvciBidXR0b24gZWxlbWVudHNcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xuICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLW9wYWNpdHkpO1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5KTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1zaGFkb3cpO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtb3BhY2l0eSk7XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWRpc2FibGVkLW9wYWNpdHkpO1xuICB9XG59XG5cbkBtaXhpbiBidG4tY2xvc2Utd2hpdGUoKSB7XG4gIGZpbHRlcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS13aGl0ZS1maWx0ZXIpO1xufVxuXG4uYnRuLWNsb3NlLXdoaXRlIHtcbiAgQGluY2x1ZGUgYnRuLWNsb3NlLXdoaXRlKCk7XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5idG4tY2xvc2Uge1xuICAgICAgQGluY2x1ZGUgYnRuLWNsb3NlLXdoaXRlKCk7XG4gICAgfVxuICB9XG59XG4iLCIudG9hc3Qge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9dG9hc3QtemluZGV4OiAjeyR6aW5kZXgtdG9hc3R9O1xuICAtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXg6ICN7JHRvYXN0LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteTogI3skdG9hc3QtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3Qtc3BhY2luZzogI3skdG9hc3Qtc3BhY2luZ307XG4gIC0tI3skcHJlZml4fXRvYXN0LW1heC13aWR0aDogI3skdG9hc3QtbWF4LXdpZHRofTtcbiAgQGluY2x1ZGUgcmZzKCR0b2FzdC1mb250LXNpemUsIC0tI3skcHJlZml4fXRvYXN0LWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXRvYXN0LWNvbG9yOiAjeyR0b2FzdC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJnOiAjeyR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoOiAjeyR0b2FzdC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItY29sb3I6ICN7JHRvYXN0LWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1yYWRpdXM6ICN7JHRvYXN0LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3gtc2hhZG93OiAjeyR0b2FzdC1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWNvbG9yOiAjeyR0b2FzdC1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYmc6ICN7JHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogI3skdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtY3NzLXZhcnNcblxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvYXN0LW1heC13aWR0aCk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH10b2FzdC1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1yYWRpdXMpKTtcblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWNvbnRhaW5lciB7XG4gIC0tI3skcHJlZml4fXRvYXN0LXppbmRleDogI3skemluZGV4LXRvYXN0fTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH10b2FzdC16aW5kZXgpO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgPiA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXRvYXN0LXNwYWNpbmcpO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhjYWxjKHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItcmFkaXVzKSAtIHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGgpKSk7XG5cbiAgLmJ0bi1jbG9zZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCk7XG4gIH1cbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW1vZGFsLXppbmRleDogI3skemluZGV4LW1vZGFsfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLW1kfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZzogI3skbW9kYWwtaW5uZXItcGFkZGluZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbjogI3skbW9kYWwtZGlhbG9nLW1hcmdpbn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWNvbG9yOiAjeyRtb2RhbC1jb250ZW50LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYmc6ICN7JG1vZGFsLWNvbnRlbnQtYmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1yYWRpdXM6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3c6ICN7JG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15OiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmc6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nfTsgLy8gVG9kbyBpbiB2NjogU3BsaXQgdGhpcyBwYWRkaW5nIGludG8geCBhbmQgeVxuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogI3skbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAjeyRtb2RhbC10aXRsZS1saW5lLWhlaWdodH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXA6ICN7JG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2Vlbn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1iZzogI3skbW9kYWwtZm9vdGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogI3skbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGh9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1tb2RhbC16aW5kZXgpO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKSAqIDIpO1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3cpKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWJhY2tkcm9wLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLXppbmRleDogI3skemluZGV4LW1vZGFsLWJhY2tkcm9wfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmc6ICN7JG1vZGFsLWJhY2tkcm9wLWJnfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eTogI3skbW9kYWwtYmFja2Ryb3Atb3BhY2l0eX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtYmFja2Ryb3AtY3NzLXZhcnNcblxuICBAaW5jbHVkZSBvdmVybGF5LWJhY2tkcm9wKHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC16aW5kZXgpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmcpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eSkpO1xufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICogLjUpO1xuICAgIG1hcmdpbjogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkpIGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpKSBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSkgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nKTtcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZykgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmcpO1xuICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7IC8vIFRvZG8gaW4gdjY6IHJlcGxhY2Ugd2l0aCBnYXAgb24gcGFyZW50IGNsYXNzXG4gIH1cbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5tb2RhbCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luOiAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXB9O1xuICAgIC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3c6ICN7JG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cH07XG4gIH1cblxuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXdpZHRoKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAubW9kYWwtc20ge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1zbX07XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLWxnfTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLXhsfTtcbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJHBvc3RmaXg6IGlmKCRpbmZpeCAhPSBcIlwiLCAkaW5maXggKyBcIi1kb3duXCIsIFwiXCIpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC5tb2RhbC1mdWxsc2NyZWVuI3skcG9zdGZpeH0ge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtaGVhZGVyLFxuICAgICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG4iLCIvLyBTaGFyZWQgYmV0d2VlbiBtb2RhbHMgYW5kIG9mZmNhbnZhc2VzXG5AbWl4aW4gb3ZlcmxheS1iYWNrZHJvcCgkemluZGV4LCAkYmFja2Ryb3AtYmcsICRiYWNrZHJvcC1vcGFjaXR5KSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRiYWNrZHJvcC1vcGFjaXR5OyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXRvb2x0aXAtemluZGV4OiAjeyR6aW5kZXgtdG9vbHRpcH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoOiAjeyR0b29sdGlwLW1heC13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy14OiAjeyR0b29sdGlwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15OiAjeyR0b29sdGlwLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWFyZ2luOiAjeyR0b29sdGlwLW1hcmdpbn07XG4gIEBpbmNsdWRlIHJmcygkdG9vbHRpcC1mb250LXNpemUsIC0tI3skcHJlZml4fXRvb2x0aXAtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1jb2xvcjogI3skdG9vbHRpcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYmc6ICN7JHRvb2x0aXAtYmd9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWJvcmRlci1yYWRpdXM6ICN7JHRvb2x0aXAtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eTogI3skdG9vbHRpcC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aDogI3skdG9vbHRpcC1hcnJvdy13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAjeyR0b29sdGlwLWFycm93LWhlaWdodH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC1jc3MtdmFyc1xuXG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLXppbmRleCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW1hcmdpbik7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImAkdG9vbHRpcC1tYXJnaW5gXCIsIFwidjVcIiwgXCJ2NS54XCIsIHRydWUpO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWZvbnQtc2l6ZSkpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eSk7IH1cblxuICAudG9vbHRpcC1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3AgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtZW5kIC50b29sdGlwLWFycm93IHtcbiAgbGVmdDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICByaWdodDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtdG9vbHRpcC1ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAmOjpiZWZvcmUge1xuICAgIGJvdHRvbTogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtc3RhcnQgLnRvb2x0aXAtYXJyb3cge1xuICByaWdodDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMCBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtZW5kO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1zdGFydDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1ib3JkZXItcmFkaXVzKSk7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igb3ZlcmZsb3ctd3JhcCAvIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi5wb3BvdmVyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci16aW5kZXg6ICN7JHppbmRleC1wb3BvdmVyfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1tYXgtd2lkdGg6ICN7JHBvcG92ZXItbWF4LXdpZHRofTtcbiAgQGluY2x1ZGUgcmZzKCRwb3BvdmVyLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cG9wb3Zlci1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJnOiAjeyRwb3BvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGg6ICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3I6ICN7JHBvcG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItcmFkaXVzOiAjeyRwb3BvdmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm94LXNoYWRvdzogI3skcG9wb3Zlci1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAjeyRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICN7JHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkcG9wb3Zlci1oZWFkZXItZm9udC1zaXplLCAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1jb2xvcjogI3skcG9wb3Zlci1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZzogI3skcG9wb3Zlci1oZWFkZXItYmd9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy14OiAjeyRwb3BvdmVyLWJvZHktcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteTogI3skcG9wb3Zlci1ib2R5LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1jb2xvcjogI3skcG9wb3Zlci1ib2R5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aDogI3skcG9wb3Zlci1hcnJvdy13aWR0aH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0OiAjeyRwb3BvdmVyLWFycm93LWhlaWdodH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICAvLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItY3NzLXZhcnNcblxuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci16aW5kZXgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1tYXgtd2lkdGgpO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWZvbnQtc2l6ZSkpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJveC1zaGFkb3cpKTtcblxuICAucG9wb3Zlci1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXRvcCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIGJvdHRvbTogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXBvcG92ZXItZW5kIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgbGVmdDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXBvcG92ZXItYm90dG9tIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgdG9wOiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXBvcG92ZXItc3RhcnQge1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICByaWdodDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMCBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItZW5kO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1zdGFydDtcbiAgfVxufVxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktY29sb3IpO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1zdGFydCBhbmQgLmNhcm91c2VsLWl0ZW0tZW5kIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmVcbi8vICAgIHRoZSBhY3RpdmUgc2xpZGUgaXMgaGVhZGluZy5cbi8vIDMuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbSBpcyB0aGUgY3VycmVudCBzbGlkZS5cbi8vIDQuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCBpcyB0aGUgY3VycmVudFxuLy8gICAgc2xpZGUgaW4gaXRzIGluLXRyYW5zaXRpb24gc3RhdGUuIE9ubHkgb25lIG9mIHRoZXNlIG9jY3VycyBhdCBhIHRpbWUuXG4vLyA1LiAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1lbmRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tc3RhcnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tZW5kKSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSB0cmFuc2l0aW9uc1xuLy9cblxuLmNhcm91c2VsLWZhZGUge1xuICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQsXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uKTtcblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpLCBudWxsKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpLCBudWxsKTtcbn1cblxuLy8gSWNvbnMgZm9yIHdpdGhpblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZykgI3tcIi8qcnRsOlwiICsgZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmcpICsgXCIqL1wifTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKSAje1wiLypydGw6XCIgKyBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZykgKyBcIiovXCJ9O1xufVxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwcy9jb250cm9sc1xuLy9cbi8vIEFkZCBhIGNvbnRhaW5lciAoc3VjaCBhcyBhIGxpc3QpIHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGFuIGl0ZW0gKGlkZWFsbHkgYSBmb2N1c2FibGUgY29udHJvbCxcbi8vIGxpa2UgYSBidXR0b24pIHdpdGggZGF0YS1icy10YXJnZXQgZm9yIGVhY2ggc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuXG4gIFtkYXRhLWJzLXRhcmdldF0ge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogMDtcbiAgICAvLyBVc2UgdHJhbnNwYXJlbnQgYm9yZGVycyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICBib3JkZXItdG9wOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBib3R0b206ICRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgcGFkZGluZy10b3A6ICRjYXJvdXNlbC1jYXB0aW9uLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRjYXJvdXNlbC1jYXB0aW9uLXBhZGRpbmcteTtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIERhcmsgbW9kZSBjYXJvdXNlbFxuXG5AbWl4aW4gY2Fyb3VzZWwtZGFyaygpIHtcbiAgLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICAgIGZpbHRlcjogJGNhcm91c2VsLWRhcmstY29udHJvbC1pY29uLWZpbHRlcjtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1kYXJrLWluZGljYXRvci1hY3RpdmUtYmc7XG4gIH1cblxuICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1kYXJrLWNhcHRpb24tY29sb3I7XG4gIH1cbn1cblxuLmNhcm91c2VsLWRhcmsge1xuICBAaW5jbHVkZSBjYXJvdXNlbC1kYXJrKCk7XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIEBpZiAkY29sb3ItbW9kZS10eXBlID09IFwibWVkaWEtcXVlcnlcIiB7XG4gICAgICAuY2Fyb3VzZWwge1xuICAgICAgICBAaW5jbHVkZSBjYXJvdXNlbC1kYXJrKCk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAuY2Fyb3VzZWwsXG4gICAgICAmLmNhcm91c2VsIHtcbiAgICAgICAgQGluY2x1ZGUgY2Fyb3VzZWwtZGFyaygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNsZWFyZml4XG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNsZWFyZml4XG4iLCIvLyBERUZBVUxUIFBBTEVUVEVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kd2hpdGU6ICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRibGFjazogICAgICAgICAjMWExZDIxICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICMyMDI0MjcgIWRlZmF1bHQ7XG4kZ3JheTogICAgICAgICAgI2UxZTdmMCAhZGVmYXVsdDtcbiRibHVlOiAgICAgICAgICAjMDI4MGY1ICFkZWZhdWx0O1xuJGluZGlnbzogICAgICAgICMyNDQ0N2YgIWRlZmF1bHQ7XG4kcHVycGxlOiAgICAgICAgI2FiNDdiYyAhZGVmYXVsdDtcbiRwaW5rOiAgICAgICAgICAjZjA2MjkyICFkZWZhdWx0O1xuJHJlZDogICAgICAgICAgICNlNDUyNDAgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgICAgICAgI2ZhOWYxYiAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAgICAgICAjZmZlNDA1ICFkZWZhdWx0O1xuJGdyZWVuOiAgICAgICAgICM1N2E4MDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgICAgICAgIzI2YTY5YSAhZGVmYXVsdDtcbiRjeWFuOiAgICAgICAgICAjMGRiN2YwICFkZWZhdWx0O1xuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuLnNwaW5uZXItZ3Jvdyxcbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ24pO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQpIGxpbmVhciBpbmZpbml0ZSB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZSk7XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgI3tcIi8qIHJ0bDppZ25vcmUgKi9cIn07IH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXIta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogI3skc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbn07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoOiAjeyRzcGlubmVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItYm9yZGVyO1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLWNzcy12YXJzXG5cbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGgpIHNvbGlkIGN1cnJlbnRjb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aDogI3skc3Bpbm5lci1ib3JkZXItd2lkdGgtc219O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItZ3Jvdy1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWdyb3cta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWdyb3cge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ncm93LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduOiAjeyRzcGlubmVyLXZlcnRpY2FsLWFsaWdufTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZTogc3Bpbm5lci1ncm93O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItZ3Jvdy1jc3MtdmFyc1xuXG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xufVxuXG5AaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiB7XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnNwaW5uZXItYm9yZGVyLFxuICAgIC5zcGlubmVyLWdyb3cge1xuICAgICAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkICogMn07XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJW9mZmNhbnZhcy1jc3MtdmFycyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXppbmRleDogI3skemluZGV4LW9mZmNhbnZhc307XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aDogI3skb2ZmY2FudmFzLWhvcml6b250YWwtd2lkdGh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiAjeyRvZmZjYW52YXMtdmVydGljYWwtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteDogI3skb2ZmY2FudmFzLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXk6ICN7JG9mZmNhbnZhcy1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtY29sb3I6ICN7JG9mZmNhbnZhcy1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1iZzogI3skb2ZmY2FudmFzLWJnLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aDogI3skb2ZmY2FudmFzLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICN7JG9mZmNhbnZhcy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm94LXNoYWRvdzogI3skb2ZmY2FudmFzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtdHJhbnNpdGlvbjogI3t0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0OiAjeyRvZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHR9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG9mZmNhbnZhcy1jc3MtdmFyc1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBleHRlbmQgJW9mZmNhbnZhcy1jc3MtdmFycztcbiAgfVxufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy16aW5kZXgpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1jb2xvcik7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJnKTtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJveC1zaGFkb3cpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy10cmFuc2l0aW9uKSk7XG5cbiAgICAgICYub2ZmY2FudmFzLXN0YXJ0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aCk7XG4gICAgICAgIGJvcmRlci1yaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtZW5kIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGgpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm9mZmNhbnZhcy10b3Age1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtYm90dG9tIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuc2hvdzpub3QoLmhpZGluZykge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuaGlkaW5nLFxuICAgICAgJi5zaG93IHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIikge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgLy8gUmVzZXQgYGJhY2tncm91bmQtY29sb3JgIGluIGNhc2UgYC5iZy0qYCBjbGFzc2VzIGFyZSB1c2VkIGluIG9mZmNhbnZhc1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm9mZmNhbnZhcy1iYWNrZHJvcCB7XG4gIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3AsICRvZmZjYW52YXMtYmFja2Ryb3AtYmcsICRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eSk7XG59XG5cbi5vZmZjYW52YXMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy14KTtcblxuICAuYnRuLWNsb3NlIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSAqIC41KSBjYWxjKHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy14KSAqIC41KTtcbiAgICBtYXJnaW46IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpKSBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy14KSkgY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkpIGF1dG87XG4gIH1cbn1cblxuLm9mZmNhbnZhcy10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLm9mZmNhbnZhcy1ib2R5IHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuIiwiLnBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogd2FpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAkcGxhY2Vob2xkZXItb3BhY2l0eS1tYXg7XG5cbiAgJi5idG46OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4ucGxhY2Vob2xkZXIteHMge1xuICBtaW4taGVpZ2h0OiAuNmVtO1xufVxuXG4ucGxhY2Vob2xkZXItc20ge1xuICBtaW4taGVpZ2h0OiAuOGVtO1xufVxuXG4ucGxhY2Vob2xkZXItbGcge1xuICBtaW4taGVpZ2h0OiAxLjJlbTtcbn1cblxuLy8gQW5pbWF0aW9uXG4ucGxhY2Vob2xkZXItZ2xvdyB7XG4gIC5wbGFjZWhvbGRlciB7XG4gICAgYW5pbWF0aW9uOiBwbGFjZWhvbGRlci1nbG93IDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItZ2xvdyB7XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluO1xuICB9XG59XG5cbi5wbGFjZWhvbGRlci13YXZlIHtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzMGRlZywgJGJsYWNrIDU1JSwgcmdiYSgwLCAwLCAwLCAoMSAtICRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbikpIDc1JSwgJGJsYWNrIDk1JSk7XG4gIG1hc2stc2l6ZTogMjAwJSAxMDAlO1xuICBhbmltYXRpb246IHBsYWNlaG9sZGVyLXdhdmUgMnMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyLXdhdmUge1xuICAxMDAlIHtcbiAgICBtYXNrLXBvc2l0aW9uOiAtMjAwJSAwJTtcbiAgfVxufVxuIiwiLy8gQWxsLWNhcHMgYFJHQkEoKWAgZnVuY3Rpb24gdXNlZCBiZWNhdXNlIG9mIHRoaXMgU2FzcyBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL25vZGUtc2Fzcy9pc3N1ZXMvMjI1MVxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC50ZXh0LWJnLSN7JGNvbG9yfSB7XG4gICAgY29sb3I6IGNvbG9yLWNvbnRyYXN0KCR2YWx1ZSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWJnLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICB9XG59XG4iLCIvLyBBbGwtY2FwcyBgUkdCQSgpYCBmdW5jdGlvbiB1c2VkIGJlY2F1c2Ugb2YgdGhpcyBTYXNzIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvbm9kZS1zYXNzL2lzc3Vlcy8yMjUxXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmxpbmstI3skY29sb3J9IHtcbiAgICBjb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAgIEBpZiAkbGluay1zaGFkZS1wZXJjZW50YWdlICE9IDAge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAkaG92ZXItY29sb3I6IGlmKGNvbG9yLWNvbnRyYXN0KCR2YWx1ZSkgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkdmFsdWUsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpLCB0aW50LWNvbG9yKCR2YWx1ZSwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkpO1xuICAgICAgICBjb2xvcjogUkdCQSgje3RvLXJnYigkaG92ZXItY29sb3IpfSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh0by1yZ2IoJGhvdmVyLWNvbG9yKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPbmUtb2ZmIHNwZWNpYWwgbGluayBoZWxwZXIgYXMgYSBicmlkZ2UgdW50aWwgdjZcbi5saW5rLWJvZHktZW1waGFzaXMge1xuICBjb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIEBpZiAkbGluay1zaGFkZS1wZXJjZW50YWdlICE9IDAge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgLjc1KSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIC43NSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgfVxuICB9XG59XG4iLCIuZm9jdXMtcmluZzpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIC8vIEJ5IGRlZmF1bHQsIHRoZXJlIGlzIG5vIGAtLWJzLWZvY3VzLXJpbmcteGAsIGAtLWJzLWZvY3VzLXJpbmcteWAsIG9yIGAtLWJzLWZvY3VzLXJpbmctYmx1cmAsIGJ1dCB3ZSBwcm92aWRlIENTUyB2YXJpYWJsZXMgd2l0aCBmYWxsYmFja3MgdG8gaW5pdGlhbCBgMGAgdmFsdWVzXG4gIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXgsIDApIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXksIDApIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLWJsdXIsIDApIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXdpZHRoKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1jb2xvcik7XG59XG4iLCIuaWNvbi1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogJGljb24tbGluay1nYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAuNSkpO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6ICRpY29uLWxpbmstdW5kZXJsaW5lLW9mZnNldDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gID4gLmJpIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogJGljb24tbGluay1pY29uLXNpemU7XG4gICAgaGVpZ2h0OiAkaWNvbi1saW5rLWljb24tc2l6ZTtcbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbik7XG4gIH1cbn1cblxuLmljb24tbGluay1ob3ZlciB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgPiAuYmkge1xuICAgICAgdHJhbnNmb3JtOiB2YXIoLS0jeyRwcmVmaXh9aWNvbi1saW5rLXRyYW5zZm9ybSwgJGljb24tbGluay1pY29uLXRyYW5zZm9ybSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLnJhdGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS0jeyRwcmVmaXh9YXNwZWN0LXJhdGlvKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBlYWNoICRrZXksICRyYXRpbyBpbiAkYXNwZWN0LXJhdGlvcyB7XG4gIC5yYXRpby0jeyRrZXl9IHtcbiAgICAtLSN7JHByZWZpeH1hc3BlY3QtcmF0aW86ICN7JHJhdGlvfTtcbiAgfVxufVxuIiwiLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi8vIFJlc3BvbnNpdmUgc3RpY2t5IHRvcCBhbmQgYm90dG9tXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuc3RpY2t5I3skaW5maXh9LXRvcCB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gICAgfVxuXG4gICAgLnN0aWNreSN7JGluZml4fS1ib3R0b20ge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IHN0YWNrc1xuLmhzdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi52c3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3RhY2tzXG4iLCIvL1xuLy8gVmlzdWFsbHkgaGlkZGVuXG4vL1xuXG4udmlzdWFsbHktaGlkZGVuLFxuLnZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gSGlkZSBjb250ZW50IHZpc3VhbGx5IHdoaWxlIGtlZXBpbmcgaXQgYWNjZXNzaWJsZSB0byBhc3Npc3RpdmUgdGVjaG5vbG9naWVzXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy5hMTF5cHJvamVjdC5jb20vcG9zdHMvMjAxMy0wMS0xMS1ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2tpdHR5Z2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4oKSB7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXG4gIC8vIEZpeCBmb3IgcG9zaXRpb25lZCB0YWJsZSBjYXB0aW9uIHRoYXQgY291bGQgYmVjb21lIGFub255bW91cyBjZWxsc1xuICAmOm5vdChjYXB0aW9uKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gVXNlIHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLCBvciBvbmUgb2YgaXRzIGNoaWxkIGVsZW1lbnRzIGlzIGZvY3VzZWRcbi8vIChpLmUuIHdoZW4gZm9jdXMgaXMgd2l0aGluIHRoZSBlbGVtZW50L2NvbnRhaW5lciB0aGF0IHRoZSBjbGFzcyB3YXMgYXBwbGllZCB0bylcbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlKCkge1xuICAmOm5vdCg6Zm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gIH1cbn1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6I3skc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnR9IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRzdHJldGNoZWQtbGluay16LWluZGV4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vXG4vLyBUZXh0IHRydW5jYXRpb25cbi8vXG5cbi50ZXh0LXRydW5jYXRlIHtcbiAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpO1xufVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIudnIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIHdpZHRoOiAkdnItYm9yZGVyLXdpZHRoO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogJGhyLW9wYWNpdHk7XG59XG4iLCIvKiAtLSBDT0xPUlMgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udGV4dC1iZy1wcmltYXJ5IHtcbiAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1jb2xvcikgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbn1cblxuXG4vLyBDb2xvcnMgbWFwXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb2xvcnMtbWFwOiAoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZXMsXG4gIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvcyxcbiAgXCJwdXJwbGVcIjogICAgICRwdXJwbGVzLFxuICBcInBpbmtcIjogICAgICAgJHBpbmtzLFxuICBcInJlZFwiOiAgICAgICAgJHJlZHMsXG4gIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlcyxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3dzLFxuICBcImdyZWVuXCI6ICAgICAgJGdyZWVucyxcbiAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFscyxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFucyxcbiAgXCJncmF5XCI6ICAgICAgICRncmF5c1xuKSAhZGVmYXVsdDtcblxuXG4vLyBDb2xvcnMgVmFyaWFudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZWFjaCAkbWFwLW5hbWUsICRtYXAtdmFsIGluICRjb2xvcnMtbWFwIHtcbiAgICRjb3VudGVyIDogMDtcbiAgICRleHRCZ0NsYXNzOiBcIlwiO1xuICAgJGV4dFR4Q2xhc3M6IFwiXCI7XG4gICBAZWFjaCAkY29sb3IsICR2YWwgaW4gJG1hcC12YWwge1xuICAgICAgJGNvdW50ZXI6ICRjb3VudGVyICsgMTtcbiAgICAgIEBpZiAkY291bnRlciA9PSA1IHtcbiAgICAgICAgICRleHRCZ0NsYXNzOiBcIiwgLmJnLVwiICsgJG1hcC1uYW1lO1xuICAgICAgICAgJGV4dFR4Q2xhc3M6IFwiLCAudGV4dC1cIiArICRtYXAtbmFtZTtcbiAgICAgIH1AZWxzZSB7XG4gICAgICAgICAkZXh0QmdDbGFzczogXCJcIjtcbiAgICAgICAgICRleHRUeENsYXNzOiBcIlwiO1xuICAgICAgfVxuICAgICAgLmJnLSN7ICRtYXAtbmFtZSArIFwiLVwiIH0jeyAkY291bnRlciArIFwiMDBcIiB9I3sgJGV4dEJnQ2xhc3MgfSB7XG4gICAgICAgICAtLSN7ICRwcmVmaXggfWJnLW9wYWNpdHk6IDE7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKCdyZ2JhKCN7IHRvLXJnYigkdmFsKSB9LCB2YXIoLS0jeyAkcHJlZml4IH1iZy1vcGFjaXR5KSknKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnRleHQtI3sgJG1hcC1uYW1lICsgXCItXCIgfSN7ICRjb3VudGVyICsgXCIwMFwiIH0jeyAkZXh0VHhDbGFzcyB9IHtcbiAgICAgICAgIC0tI3sgJHByZWZpeCB9dGV4dC1vcGFjaXR5OiAxO1xuICAgICAgICAgY29sb3I6IHVucXVvdGUoJ3JnYmEoI3sgdG8tcmdiKCR2YWwpIH0sIHZhcigtLSN7ICRwcmVmaXggfXRleHQtb3BhY2l0eSkpJykgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgIH1cbn1cbiIsIi8qIC0tIENPTE9SRUQgTElOS1MgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgIEBpZiAkY29sb3IgPT0gXCJwcmltYXJ5XCIge1xuICAgICAgLmxpbmstI3skY29sb3J9IHtcbiAgICAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGluay0jeyRjb2xvcn0tY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLSN7JHByZWZpeH1saW5rLSN7JGNvbG9yfS11bmRlcmxpbmUtY29sb3IpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saW5rLSN7JGNvbG9yfS1ob3Zlci1jb2xvcikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpbmstI3skY29sb3J9LXVuZGVybGluZS1ob3Zlci1jb2xvcikgIWltcG9ydGFudDtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH0gQGVsc2Uge1xuICAgICAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0wIHtcbiAgICAgICAgIC5saW5rLSN7JGNvbG9yfSB7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAkaG92ZXItY29sb3I6IHRpbnQtY29sb3IoJHZhbHVlLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKTtcbiAgICAgICAgICAgICAgIGNvbG9yOiBSR0JBKCN7dG8tcmdiKCRob3Zlci1jb2xvcil9LCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh0by1yZ2IoJGhvdmVyLWNvbG9yKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuIiwiLy8gTElOSyBVTkRFUkxJTkVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGluay11bmRlcmxpbmUtaG92ZXI6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gVXRpbGl0eSBnZW5lcmF0b3Jcbi8vIFVzZWQgdG8gZ2VuZXJhdGUgdXRpbGl0aWVzICYgcHJpbnQgdXRpbGl0aWVzXG5AbWl4aW4gZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4OiBcIlwiLCAkaXMtcmZzLW1lZGlhLXF1ZXJ5OiBmYWxzZSkge1xuICAkdmFsdWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCB2YWx1ZXMpO1xuXG4gIC8vIElmIHRoZSB2YWx1ZXMgYXJlIGEgbGlzdCBvciBzdHJpbmcsIGNvbnZlcnQgaXQgaW50byBhIG1hcFxuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSBcInN0cmluZ1wiIG9yIHR5cGUtb2YobnRoKCR2YWx1ZXMsIDEpKSAhPSBcImxpc3RcIiB7XG4gICAgJHZhbHVlczogemlwKCR2YWx1ZXMsICR2YWx1ZXMpO1xuICB9XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICRwcm9wZXJ0aWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCBwcm9wZXJ0eSk7XG5cbiAgICAvLyBNdWx0aXBsZSBwcm9wZXJ0aWVzIGFyZSBwb3NzaWJsZSwgZm9yIGV4YW1wbGUgd2l0aCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsIG1hcmdpbnMgb3IgcGFkZGluZ3NcbiAgICBAaWYgdHlwZS1vZigkcHJvcGVydGllcykgPT0gXCJzdHJpbmdcIiB7XG4gICAgICAkcHJvcGVydGllczogYXBwZW5kKCgpLCAkcHJvcGVydGllcyk7XG4gICAgfVxuXG4gICAgLy8gVXNlIGN1c3RvbSBjbGFzcyBpZiBwcmVzZW50XG4gICAgJHByb3BlcnR5LWNsYXNzOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY2xhc3MpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjbGFzcyksIG50aCgkcHJvcGVydGllcywgMSkpO1xuICAgICRwcm9wZXJ0eS1jbGFzczogaWYoJHByb3BlcnR5LWNsYXNzID09IG51bGwsIFwiXCIsICRwcm9wZXJ0eS1jbGFzcyk7XG5cbiAgICAvLyBVc2UgY3VzdG9tIENTUyB2YXJpYWJsZSBuYW1lIGlmIHByZXNlbnQsIG90aGVyd2lzZSBkZWZhdWx0IHRvIGBjbGFzc2BcbiAgICAkY3NzLXZhcmlhYmxlLW5hbWU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXJpYWJsZS1uYW1lKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpKTtcblxuICAgIC8vIFN0YXRlIHBhcmFtcyB0byBnZW5lcmF0ZSBwc2V1ZG8tY2xhc3Nlc1xuICAgICRzdGF0ZTogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIHN0YXRlKSwgbWFwLWdldCgkdXRpbGl0eSwgc3RhdGUpLCAoKSk7XG5cbiAgICAkaW5maXg6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCBzdHItc2xpY2UoJGluZml4LCAxLCAxKSA9PSBcIi1cIiwgc3RyLXNsaWNlKCRpbmZpeCwgMiksICRpbmZpeCk7XG5cbiAgICAvLyBEb24ndCBwcmVmaXggaWYgdmFsdWUga2V5IGlzIG51bGwgKGUuZy4gd2l0aCBzaGFkb3cgY2xhc3MpXG4gICAgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyOiBpZigka2V5LCBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgJGluZml4ID09IFwiXCIsIFwiXCIsIFwiLVwiKSArICRrZXksIFwiXCIpO1xuXG4gICAgQGlmIG1hcC1nZXQoJHV0aWxpdHksIHJmcykge1xuICAgICAgLy8gSW5zaWRlIHRoZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmICRpcy1yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlKTtcblxuICAgICAgICAvLyBEbyBub3QgcmVuZGVyIGFueXRoaW5nIGlmIGZsdWlkIGFuZCBub24gZmx1aWQgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgICAgICAkdmFsdWU6IGlmKCR2YWwgPT0gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSksIG51bGwsICR2YWwpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkdmFsdWU6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICRpcy1jc3MtdmFyOiBtYXAtZ2V0KCR1dGlsaXR5LCBjc3MtdmFyKTtcbiAgICAkaXMtbG9jYWwtdmFyczogbWFwLWdldCgkdXRpbGl0eSwgbG9jYWwtdmFycyk7XG4gICAgJGlzLXJ0bDogbWFwLWdldCgkdXRpbGl0eSwgcnRsKTtcblxuICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDpiZWdpbjpyZW1vdmUgKi9cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1jc3MtdmFyIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgIEBpZiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmVuZDpyZW1vdmUgKi9cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExvb3Agb3ZlciBlYWNoIGJyZWFrcG9pbnRcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG5cbiAgLy8gR2VuZXJhdGUgbWVkaWEgcXVlcnkgaWYgbmVlZGVkXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC8vIExvb3Agb3ZlciBlYWNoIHV0aWxpdHkgcHJvcGVydHlcbiAgICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAgIC8vIE9ubHkgcHJvY2VlZCBpZiByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgYXJlIGVuYWJsZWQgb3IgaWYgaXQncyB0aGUgYmFzZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIChtYXAtZ2V0KCR1dGlsaXR5LCByZXNwb25zaXZlKSBvciAkaW5maXggPT0gXCJcIikge1xuICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBSRlMgcmVzY2FsaW5nXG5AbWVkaWEgKG1pbi13aWR0aDogJHJmcy1tcS12YWx1ZSkge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmIChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkgPCAkcmZzLWJyZWFrcG9pbnQpIHtcbiAgICAgIC8vIExvb3Agb3ZlciBlYWNoIHV0aWxpdHkgcHJvcGVydHlcbiAgICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgICAgIC8vIE9ubHkgcHJvY2VlZCBpZiByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgYXJlIGVuYWJsZWQgb3IgaWYgaXQncyB0aGUgYmFzZSBtZWRpYSBxdWVyeVxuICAgICAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLWdldCgkdXRpbGl0eSwgcmZzKSBhbmQgKG1hcC1nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4LCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByaW50IHV0aWxpdGllc1xuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgIC8vIFRoZW4gY2hlY2sgaWYgdGhlIHV0aWxpdHkgbmVlZHMgcHJpbnQgc3R5bGVzXG4gICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIG1hcC1nZXQoJHV0aWxpdHksIHByaW50KSA9PSB0cnVlIHtcbiAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksIFwiLXByaW50XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLyogLS0gQ09MT1IgQ09NUE9ORU5UUyAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AZWFjaCAka2V5LCAkYmFja2dyb3VuZCBpbiAkY29sb3Itc2NoZW1lcyB7XG4gICBAaWYgJGJhY2tncm91bmQgIT0gJHByaW1hcnkge1xuXG4gICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgICAvKiAjeyRrZXl9IGNvbG9yIHNjaGVtZSAqL1xuXG4gICAgICBbZGF0YS1zY2hlbWU9IFwiI3ska2V5fVwiXSB7XG4gICAgICAgICAkY3VycmVudC1wcmltYXJ5LXJhdGlvOiBjb250cmFzdC1yYXRpbyggJGJhY2tncm91bmQsICRjb21wb25lbnQtYmcgICk7XG5cblxuICAgICAgICAgLS0jeyRwcmVmaXh9cHJpbWFyeTogI3sgJGJhY2tncm91bmQgfTtcbiAgICAgICAgIC0tI3skcHJlZml4fXByaW1hcnktcmdiOiAjeyB0by1yZ2IoJGJhY2tncm91bmQpIH07XG4gICAgICAgICAtLSN7JHByZWZpeH1wcmltYXJ5LWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKX07XG4gICAgICAgICAtLSN7JHByZWZpeH1wcmltYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpKX07XG4gICAgICAgICAtLSN7JHByZWZpeH1wcmltYXJ5LWJvcmRlcjogI3t0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAxNSUpfTtcblxuICAgICAgICAgLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGU6ICN7IHRpbnQtY29sb3IoJGJhY2tncm91bmQsIDgwJSkgfTtcbiAgICAgICAgIC0tI3skcHJlZml4fXByaW1hcnktYm9yZGVyLXN1YnRsZTogI3sgdGludC1jb2xvcigkYmFja2dyb3VuZCwgNjAlKSB9O1xuICAgICAgICAgLS0jeyRwcmVmaXh9cHJpbWFyeS10ZXh0LWVtcGhhc2lzOiAjeyBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgNjAlKSB9O1xuXG4gICAgICAgICBAaWYgJGN1cnJlbnQtcHJpbWFyeS1yYXRpbyA8PSAkbWluLWNvbnRyYXN0LXJhdGlvIHtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fWxpbmstY29sb3I6ICN7IHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAyMCUpIH07XG4gICAgICAgICAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogI3t0by1yZ2Ioc2hhZGUtY29sb3IoJGJhY2tncm91bmQsIDIwJSkpfTtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3I6ICN7IHRpbnQtY29sb3IoJGJhY2tncm91bmQsIDQwJSkgfTtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiOiAje3RvLXJnYih0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCA0MCUpKX07XG4gICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fWxpbmstY29sb3I6ICN7ICRiYWNrZ3JvdW5kIH07XG4gICAgICAgICAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogI3sgdG8tcmdiKCRiYWNrZ3JvdW5kKSB9O1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcjogI3sgdGludC1jb2xvcigkYmFja2dyb3VuZCwgMjUlKSB9O1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2I6ICN7dG8tcmdiKHRpbnQtY29sb3IoJGJhY2tncm91bmQsIDI1JSkpfTtcbiAgICAgICAgIH1cblxuICAgICAgICAgLmZvcm0tcmFuZ2Uge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICN7dGludC1jb2xvcigkYmFja2dyb3VuZCwgMzUlKX07XG4gICAgICAgICB9XG5cbiAgICAgICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmc6ICN7c2hhZGUtY29sb3IoJGJhY2tncm91bmQsIDEwJSl9O1xuICAgICAgICAgfVxuXG4gICAgICAgICAuYnRuLXByaW1hcnkge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9YnRuLXByaW1hcnktaG92ZXItYmc6ICN7aWYoY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCkpfTtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fWJ0bi1wcmltYXJ5LWFjdGl2ZS1iZzogI3tpZihjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCkgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQpKX07XG4gICAgICAgICB9XG5cbiAgICAgICAgIEBpZiBjb250cmFzdC1yYXRpbyggJGJhY2tncm91bmQgICkgPD0gJG1pbi1jb250cmFzdC1yYXRpbyB7XG4gICAgICAgICAgICAudGV4dC1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCN7dG8tcmdiKHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAyNSUpKX0sIHZhcigtLSN7JHByZWZpeH10ZXh0LW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGluay1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgIC0tI3skcHJlZml4fWxpbmstcHJpbWFyeS1jb2xvcjogcmdiYSgje3RvLXJnYihzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgMjUlKSl9LCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSk7XG4gICAgICAgICAgICAgICAtLSN7JHByZWZpeH1saW5rLXByaW1hcnktdW5kZXJsaW5lLWNvbG9yOiByZ2JhKCN7dG8tcmdiKHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAyNSUpKX0sIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSk7XG5cbiAgICAgICAgICAgICAgIC0tI3skcHJlZml4fWxpbmstcHJpbWFyeS1ob3Zlci1jb2xvcjogcmdiYSgje3RvLXJnYihzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgMTAlKSl9LCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSk7XG4gICAgICAgICAgICAgICAtLSN7JHByZWZpeH1saW5rLXByaW1hcnktdW5kZXJsaW5lLWhvdmVyLWNvbG9yOiByZ2JhKCN7dG8tcmdiKHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAxMCUpKX0sIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIC50ZXh0LXByaW1hcnkge1xuICAgICAgICAgICAgICAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fXByaW1hcnktcmdiKSwgdmFyKC0tI3skcHJlZml4fXRleHQtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5saW5rLXByaW1hcnkge1xuICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9bGluay1wcmltYXJ5LWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKTtcbiAgICAgICAgICAgICAgIC0tI3skcHJlZml4fWxpbmstcHJpbWFyeS11bmRlcmxpbmUtY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fXByaW1hcnktcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKTtcblxuICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9bGluay1wcmltYXJ5LWhvdmVyLWNvbG9yOiByZ2JhKCN7dG8tcmdiKHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpKX0sIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKTtcbiAgICAgICAgICAgICAgIC0tI3skcHJlZml4fWxpbmstcHJpbWFyeS11bmRlcmxpbmUtaG92ZXItY29sb3I6IHJnYmEoI3t0by1yZ2IodGludC1jb2xvcigkYmFja2dyb3VuZCwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkpfSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cblxuXG4gICAgICAgICBAaWYgbGlnaHRuZXNzKCRiYWNrZ3JvdW5kICkgPiA1NSUge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9cHJpbWFyeS1jb2xvcjogI3tzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgNDUlKX07XG5cbiAgICAgICAgICAgIC5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgIC0tI3skcHJlZml4fWJ0bi1jb2xvciA6ICN7c2hhZGUtY29sb3IoJGJhY2tncm91bmQsIDI1JSl9O1xuICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvciA6ICN7c2hhZGUtY29sb3IoJGJhY2tncm91bmQsIDE1JSl9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICAgIEBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gICAgICAgICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICAgICAgICAgICZbZGF0YS1zY2hlbWU9IFwiI3ska2V5fVwiXSB7XG4gICAgICAgICAgICAgICAkY3VycmVudC1wcmltYXJ5LXJhdGlvOiBjb250cmFzdC1yYXRpbyggJGJhY2tncm91bmQsICRjb21wb25lbnQtYmctZGFyayAgKTtcblxuICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9cHJpbWFyeS10ZXh0LWVtcGhhc2lzOiAjeyB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCA1OSUpIH07XG4gICAgICAgICAgICAgICAtLSN7JHByZWZpeH1wcmltYXJ5LWJnLXN1YnRsZTogI3sgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsMzUlKSB9O1xuICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9cHJpbWFyeS1ib3JkZXItc3VidGxlOiAjeyBzaGFkZS1jb2xvcjAoJGJhY2tncm91bmQsIDIwJSkgfTtcblxuICAgICAgICAgICAgICAgQGlmICRjdXJyZW50LXByaW1hcnktcmF0aW8gPD0gJG1pbi1jb250cmFzdC1yYXRpbyB7XG4gICAgICAgICAgICAgICAgICAudGV4dC1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCN7dG8tcmdiKHRpbnQtY29sb3IoJGJhY2tncm91bmQsIDI1JSkpfSwgdmFyKC0tI3skcHJlZml4fXRleHQtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC5saW5rLXByaW1hcnkge1xuICAgICAgICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9bGluay1wcmltYXJ5LWNvbG9yOiByZ2JhKCN7dG8tcmdiKHRpbnQtY29sb3IoJGJhY2tncm91bmQsIDI1JSkpfSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpO1xuICAgICAgICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9bGluay1wcmltYXJ5LXVuZGVybGluZS1jb2xvcjogcmdiYSgje3RvLXJnYih0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAyNSUpKX0sIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSk7XG5cbiAgICAgICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fWxpbmstcHJpbWFyeS1ob3Zlci1jb2xvcjogcmdiYSgje3RvLXJnYih0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAxMCUpKX0sIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKTtcbiAgICAgICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fWxpbmstcHJpbWFyeS11bmRlcmxpbmUtaG92ZXItY29sb3I6IHJnYmEoI3t0by1yZ2IodGludC1jb2xvcigkYmFja2dyb3VuZCwgMTAlKSl9LCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAudGV4dC1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIHZhcigtLSN7JHByZWZpeH10ZXh0LW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAubGluay1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fWxpbmstcHJpbWFyeS1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSk7XG4gICAgICAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH1saW5rLXByaW1hcnktdW5kZXJsaW5lLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSk7XG5cbiAgICAgICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fWxpbmstcHJpbWFyeS1ob3Zlci1jb2xvcjogcmdiYSgje3RvLXJnYih0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSl9LCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSk7XG4gICAgICAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH1saW5rLXByaW1hcnktdW5kZXJsaW5lLWhvdmVyLWNvbG9yOiByZ2JhKCN7dG8tcmdiKHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpKX0sIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgIC5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICAgIEBpZiAkY3VycmVudC1wcmltYXJ5LXJhdGlvIDw9ICRtaW4tY29udHJhc3QtcmF0aW8ge1xuICAgICAgICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAje3RpbnQtY29sb3IoJGJhY2tncm91bmQsIDQ1JSl9O1xuICAgICAgICAgICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3tsaWdodGVuKCRiYWNrZ3JvdW5kLCAxOSUpfTtcbiAgICAgICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7bGlnaHRlbigkYmFja2dyb3VuZCwgMTklKX07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgIC5hbGVydC1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fWFsZXJ0LWJnOiAjeyBkZXNhdHVyYXRlKGxpZ2h0ZW4oY2hhbmdlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYmxhY2tuZXNzOiA1MCUpLCAyMCUpLCAxMCUpfTtcbiAgICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fWFsZXJ0LWNvbG9yOiAje3NoaWZ0LWNvbG9yKCRiYWNrZ3JvdW5kLCA2NSUpfTtcbiAgICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fWFsZXJ0LWxpbms6ICN7c2hpZnQtY29sb3IoJGJhY2tncm91bmQsIDcwJSl9O1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvKiBFbmQgI3ska2V5fSBjb2xvciBzY2hlbWUgKi9cblxuICAgfVxufVxuIiwiLyogLS0gUk9PVCAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucm9vdCB7XG4gICBkaXNwbGF5OiBncmlkO1xuICAgZ2FwOiAwIDA7XG4gICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbi1jb250ZW50IDFmcjtcbiAgIGdyaWQtdGVtcGxhdGUtcm93czogbWluLWNvbnRlbnQgMWZyO1xuICAgbWluLWhlaWdodDogMTAwdmg7XG4gICB3aWR0aDogMTAwJTtcbn1cblxuXG5ib2R5IHtcbiAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xufVxuXG5cbjpyb290IHtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9YmFja2Ryb3AtYmc6IHJnYmEoI3sgdG8tcmdiKCRiYWNrZHJvcC1iZyksICRiYWNrZHJvcC1vcGFjaXR5IH0pO1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1jb250ZW50LXRpdGxlLXNpemU6ICN7ICRjb250ZW50LXRpdGxlLXNpemUgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9Y29udGVudC10aXRsZS1jb2xvcjogI3sgJGNvbnRlbnQtdGl0bGUtY29sb3IgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9Y29udGVudC10aXRsZS13ZWlnaHQ6ICN7ICRjb250ZW50LXRpdGxlLXdlaWdodCB9O1xufVxuIiwiLyogLS0gUkVCT09UIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tIFNjcm9sbGJhciAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLy8gVzNDIHN0YW5kYXJkcyBzY3JvbGxiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSkge1xuICAgLnNjcm9sbGFibGUtY29udGVudCB7XG4gICAgICBzY3JvbGxiYXItY29sb3I6ICRzY3JvbGxiYXItY29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgICBzY3JvbGxiYXItd2lkdGg6ICRzY3JvbGxiYXItd2lkdGg7XG4gICB9XG59XG5cblxuXG5cbi8vIFdlYmtpdCBCcm93c2Vyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5odG1sW2RhdGEtb3ZlcmxheXNjcm9sbGJhcnNdPmJvZHkge1xuICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgIH1cbn1cblxuLy8gV2lkdGhcbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgd2lkdGg6ICRzY3JvbGxiYXItd2Via2l0LXdpZHRoO1xuICAgaGVpZ2h0OiAkc2Nyb2xsYmFyLXdlYmtpdC13aWR0aDtcbn1cblxuLy8gVHJhY2tcbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgYmFja2dyb3VuZC1jb2xvcjogJHNjcm9sbGJhci13ZWJraXQtdHJhY2stYmc7XG59XG5cbi8vIEhhbmRsZVxuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICBiYWNrZ3JvdW5kOiAkc2Nyb2xsYmFyLXdlYmtpdC1oYW5kbGUtYmc7XG4gICBib3JkZXItcmFkaXVzOiAkc2Nyb2xsYmFyLXdlYmtpdC1oYW5kbGUtYm9yZGVyLXJhZGl1cztcbn1cblxuLy8gSGFuZGxlIG9uIGhvdmVyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgIHdpZHRoOiAycmVtO1xuICAgYmFja2dyb3VuZDogJHNjcm9sbGJhci13ZWJraXQtaGFuZGxlLWhvdmVyLWJnO1xufVxuXG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICAgIEBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpIHtcbiAgICAgICAgIC5zY3JvbGxhYmxlLWNvbnRlbnQge1xuICAgICAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiAkc2Nyb2xsYmFyLWNvbG9yLWRhcmsgdHJhbnNwYXJlbnQ7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFRyYWNrXG4gICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzY3JvbGxiYXItd2Via2l0LXRyYWNrLWJnLWRhcms7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZVxuICAgICAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgICBiYWNrZ3JvdW5kOiAkc2Nyb2xsYmFyLXdlYmtpdC1oYW5kbGUtYmctZGFyaztcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIG9uIGhvdmVyXG4gICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICAgICAgIGJhY2tncm91bmQ6ICRzY3JvbGxiYXItd2Via2l0LWhhbmRsZS1ob3Zlci1iZy1kYXJrO1xuICAgICAgfVxuXG4gICB9XG59XG4iLCJcbi8vIFByZWZpeCBmb3IgOnJvb3QgQ1NTIHZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbmlmdHktcHJlZml4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZi0gIWRlZmF1bHQ7XG5cblxuXG4vLyBIRUFERVJTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRoZWFkZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciggLS0jeyAkcHJlZml4IH1jb21wb25lbnQtYmcgKSAhZGVmYXVsdDtcbiRoZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciggLS0jeyAkcHJlZml4IH1jb21wb25lbnQtY29sb3IgKSAhZGVmYXVsdDtcbiRoZWFkZXItc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhciggLS0jeyAkcHJlZml4IH1zZWNvbmRhcnktY29sb3IgKTtcbiRoZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHZhciggLS0jeyAkcHJlZml4IH1ib3JkZXItY29sb3IgKTtcblxuJGhlYWRlci1idG4taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgcmdiYSh2YXIoIC0tI3sgJHByZWZpeCB9Ym9keS1jb2xvci1yZ2IgKSwgLjEpICFkZWZhdWx0O1xuJGhlYWRlci1idG4taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKCAtLSN7ICRwcmVmaXggfWhlYWRpbmctY29sb3IgKSAhZGVmYXVsdDtcbiRoZWFkZXItYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgIGNhbGMoIHZhciggLS0jeyAkcHJlZml4IH1ib3JkZXItcmFkaXVzICkgKiAyICkgIWRlZmF1bHQ7XG5cbiRoZWFkZXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMTI1cmVtICFkZWZhdWx0O1xuJGhlYWRlci1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLSN7ICRwcmVmaXggfWJveC1zaGFkb3ctc20gKSAhZGVmYXVsdDtcbiRoZWFkZXItdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgIC4zNXMgIWRlZmF1bHQ7XG4kaGVhZGVyLXRyYW5zaXRpb24tdGltaW5nOiAgICAgICAgICAgICAgICBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIEV4cGFuZGVkIEhlYWRlclxuJGhlYWRlci1leHBhbmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnkgKSAhZGVmYXVsdDtcbiRoZWFkZXItZXhwYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHJnYmEodmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnktY29sb3ItcmdiICksIC42NSApICFkZWZhdWx0O1xuJGhlYWRlci1leHBhbmQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnktY29sb3IgKSAhZGVmYXVsdDtcbiRoZWFkZXItZXhwYW5kLWhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICRoZWFkZXItZXhwYW5kLXRpdGxlLWNvbG9yICFkZWZhdWx0O1xuJGhlYWRlci1leHBhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgMzcuNXZoICFkZWZhdWx0O1xuJGhlYWRlci1leHBhbmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgMCUgMCUgNTAlIDUwJSAvIDAlIDAlIDEydmggMTJ2aCAhZGVmYXVsdDtcbiRoZWFkZXItZXhwYW5kLXVzZS1zdGFydC1vdXNpZGUtcmFkaXVzOiAgIHRydWUgIWRlZmF1bHQ7XG5cblxuXG4vLyBCUkFORFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYnJhbmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRicmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItY29sb3IgKSAhZGVmYXVsdDtcbiRicmFuZC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG4kYnJhbmQtaW1nLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAuNDc1cmVtIC41cmVtICFkZWZhdWx0O1xuJGJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRicmFuZC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDUwMCAhZGVmYXVsdDtcbiRicmFuZC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgIFwiVWJ1bnR1XCIsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cblxuXG4vLyBNQUlOIE5BVklHQVRJT05cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG1haW5uYXYtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLSN7ICRwcmVmaXggfWNvbXBvbmVudC1iZyApICFkZWZhdWx0O1xuJG1haW5uYXYtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLSN7ICRwcmVmaXggfWJvZHktY29sb3IgKSAhZGVmYXVsdDtcbiRtYWlubmF2LXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgIHZhciggLS0jeyAkcHJlZml4IH1zZWNvbmRhcnktY29sb3IgKSAhZGVmYXVsdDtcblxuJG1haW5uYXYtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJG1haW5uYXYtY29sb3IgIWRlZmF1bHQ7XG4kbWFpbm5hdi1saW5rLWhvdmVyOiAgICAgICAgICAgICAgICAgICAgICB2YXIoIC0tI3sgJHByZWZpeCB9bGluay1ob3Zlci1jb2xvciApICFkZWZhdWx0O1xuJG1haW5uYXYtbGluay1hY3RpdmU6ICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLSN7ICRwcmVmaXggfWhlYWRpbmctY29sb3IgKSAhZGVmYXVsdDtcbiRtYWlubmF2LWxpbmstYWN0aXZlLXVuZGVybGluZTogICAgICAgICAgIHVuZGVybGluZSBkb3R0ZWQgIWRlZmF1bHQ7XG4kbWFpbm5hdi1saW5rLWFjdGl2ZS11bmRlcmxpbmUtY29sb3I6ICAgICByZ2JhKHZhciggLS0jeyAkcHJlZml4IH1ib2R5LWNvbG9yLXJnYiApLCAuNSkgIWRlZmF1bHQ7XG4kbWFpbm5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJG1haW5uYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgLjU5cmVtICFkZWZhdWx0O1xuXG4kbWFpbm5hdi1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICB2YXIoIC0tI3sgJHByZWZpeCB9cHJpbWFyeS10ZXh0LWVtcGhhc2lzICkgIWRlZmF1bHQ7XG4kbWFpbm5hdi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoIC0tI3sgJHByZWZpeCB9Ym9yZGVyLWNvbG9yICkgIWRlZmF1bHQ7XG4kbWFpbm5hdi1oZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoIC0tI3sgJHByZWZpeCB9aGVhZGluZy1jb2xvciApICFkZWZhdWx0O1xuXG4kbWFpbm5hdi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbWFpbm5hdi1jb250ZW50LWd1dHRlcjogICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJG1haW5uYXYtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgLjM1cyAhZGVmYXVsdDtcbiRtYWlubmF2LXRyYW5zaXRpb24tdGltaW5nOiAgICAgICAgICAgICAgIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gQWN0aXZlIGxpbmsgYW5kIHN1Ym1lbnUgMXN0IGxldmVsLlxuJG1haW5uYXYtc3VibWVudS1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbWFpbm5hdi1zdWJtZW51LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRtYWlubmF2LXN1Ym1lbnUtYWN0aXZlLXNoYWRvdzogICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7IC8vIEV4YW1wbGUgLSBBZGQgYSBib3JkZXIgdG8gdGhlIGxlZnQgOiBpbnNldCA1cHggMCAwIDBweCAkY29tcG9uZW50LWFjdGl2ZS1iZztcblxuXG4vLyBTdWJtZW51c1xuJG1haW5uYXYtc3VibWVudS1pbmRlbnQ6ICAgICAgICAgICAgICAgICAgMi4yNWVtICFkZWZhdWx0O1xuJG1haW5uYXYtc3VibWVudS1pbmRlbnQtbHYyOiAgICAgICAgICAgICAgLjc1ZW0gIWRlZmF1bHQ7XG4kbWFpbm5hdi1zdWJtZW51LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoIC0tI3sgJHByZWZpeCB9Ym9yZGVyLXJhZGl1cyApICFkZWZhdWx0O1xuJG1haW5uYXYtc3VibWVudS1kYXNoZWQtbWFyZ2luOiAgICAgICAgICAgMi4yNWVtICFkZWZhdWx0O1xuJG1haW5uYXYtc3VibWVudS1kYXNoZWQtY29sb3I6ICAgICAgICAgICAgdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnktYm9yZGVyLXN1YnRsZSApICFkZWZhdWx0O1xuXG5cbi8vIE1heCBNb2RlXG4kbWFpbm5hdi1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAxMy43NXJlbSAhZGVmYXVsdDsgLy8yMjBweDtcbiRtYWlubmF2LW1heC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDc1dncgIWRlZmF1bHQ7IC8vIDc1JSBvZiBzY3JlZW4gd2lkdGhcbiRtYWlubmF2LW1heC1hdmFpbGFibGUtYXQ6ICAgICAgICAgICAgICAgIFwibGdcIiAhZGVmYXVsdDtcbiRtYWlubmF2LW1heC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAgICRtYWlubmF2LXRyYW5zaXRpb24tZHVyYXRpb24gIWRlZmF1bHQ7XG4kbWFpbm5hdi1tYXgtdHJhbnNpdGlvbi10aW1pbmc6ICAgICAgICAgICAkbWFpbm5hdi10cmFuc2l0aW9uLXRpbWluZyAhZGVmYXVsdDtcblxuXG4vLyBNaW4gTW9kZVxuJG1haW5uYXYtbWluLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnktdGV4dC1lbXBoYXNpcyApICFkZWZhdWx0O1xuJG1haW5uYXYtbWluLWljb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJG1haW5uYXYtc3VibWVudS1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbWFpbm5hdi1taW4tc3VibWVudS1wYWRkaW5nLXg6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtYWlubmF2LW1pbi1zdWJtZW51LXBhZGRpbmcteTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1haW5uYXYtbWluLXN1Ym1lbnUtYWN0aXZlLWJnOiAgICAgICAgICAgJG1haW5uYXYtc3VibWVudS1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbWFpbm5hdi1taW4tc3VibWVudS1hY3RpdmUtY29sb3I6ICAgICAgICAkbWFpbm5hdi1zdWJtZW51LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRtYWlubmF2LW1pbi1zdWJtZW51LWxpbmstcGFkZGluZy14OiAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRtYWlubmF2LW1pbi1zdWJtZW51LWxpbmstcGFkZGluZy15OiAgICAgIC43cmVtICFkZWZhdWx0O1xuJG1haW5uYXYtbWluLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgMy43NXJlbSAhZGVmYXVsdDtcbiRtYWlubmF2LW1pbi1hdmFpbGFibGUtYXQ6ICAgICAgICAgICAgICAgIFwibGdcIiAhZGVmYXVsdDtcbiRtYWlubmF2LW1pbi1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIHZhciggLS0jeyAkcHJlZml4IH1ib3gtc2hhZG93LWxnICkgO1xuJG1haW5uYXYtbWluLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgICAgJG1haW5uYXYtdHJhbnNpdGlvbi1kdXJhdGlvbiAhZGVmYXVsdDtcbiRtYWlubmF2LW1pbi10cmFuc2l0aW9uLXRpbWluZzogICAgICAgICAgICRtYWlubmF2LXRyYW5zaXRpb24tdGltaW5nICFkZWZhdWx0O1xuXG5cbi8vIE9mZmNhbnZhcyA6IFB1c2ggbW9kZVxuJG1haW5uYXYtc2xpZGUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgMTMuNzVyZW0gIWRlZmF1bHQ7IC8vMjIwcHg7XG4kbWFpbm5hdi1zbGlkZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICA3NXZ3ICFkZWZhdWx0O1xuJG1haW5uYXYtc2xpZGUtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgJG1haW5uYXYtdHJhbnNpdGlvbi1kdXJhdGlvbiAhZGVmYXVsdDtcbiRtYWlubmF2LXNsaWRlLXRyYW5zaXRpb24tdGltaW5nOiAgICAgICAgICRtYWlubmF2LXRyYW5zaXRpb24tdGltaW5nICFkZWZhdWx0O1xuXG5cbi8vIE9mZmNhbnZhcyA6IFB1c2ggbW9kZVxuJG1haW5uYXYtcHVzaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMTMuNzVyZW0gIWRlZmF1bHQ7IC8vMjIwcHg7XG4kbWFpbm5hdi1wdXNoLW1heC13aWR0aDogICAgICAgICAgICAgICAgICA3NXZ3ICFkZWZhdWx0O1xuJG1haW5uYXYtcHVzaC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAgJG1haW5uYXYtdHJhbnNpdGlvbi1kdXJhdGlvbiAhZGVmYXVsdDtcbiRtYWlubmF2LXB1c2gtdHJhbnNpdGlvbi10aW1pbmc6ICAgICAgICAgICRtYWlubmF2LXRyYW5zaXRpb24tdGltaW5nICFkZWZhdWx0O1xuXG5cbi8vIE9mZmNhbnZhcyA6IFJldmVhbCBtb2RlXG4kbWFpbm5hdi1yZXZlYWwtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAxMy43NXJlbSAhZGVmYXVsdDsgLy8yMjBweDtcbiRtYWlubmF2LXJldmVhbC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgIDc1dncgIWRlZmF1bHQ7XG4kbWFpbm5hdi1yZXZlYWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAkbWFpbm5hdi10cmFuc2l0aW9uLWR1cmF0aW9uICFkZWZhdWx0O1xuJG1haW5uYXYtcmV2ZWFsLXRyYW5zaXRpb24tdGltaW5nOiAgICAgICAgJG1haW5uYXYtdHJhbnNpdGlvbi10aW1pbmcgIWRlZmF1bHQ7XG5cblxuXG4vLyBTSURFQkFSXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRzaWRlYmFyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciggLS0jeyAkcHJlZml4IH1jb21wb25lbnQtYmcgKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciggLS0jeyAkcHJlZml4IH1ib2R5LWNvbG9yICkgIWRlZmF1bHQ7XG4kc2lkZWJhci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAxNy4xODc1cmVtICFkZWZhdWx0O1xuJHNpZGViYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgICAgICAgIC4zNXMgIWRlZmF1bHQ7XG4kc2lkZWJhci10cmFuc2l0aW9uLXRpbWluZzogICAgICAgICAgICAgICBlYXNlICFkZWZhdWx0O1xuJHNpZGViYXItY29udGVudC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAgIHZhciggLS0jeyAkcHJlZml4IH1ib3gtc2hhZG93LWxnICkgIWRlZmF1bHQ7XG5cbi8vIFBpbm5lZCBzaWRlYmFyXG4kc2lkZWJhci1waW5uZWQtYXZhaWxhYmxlLWF0OiAgICAgICAgICAgICAxMTk1cHggIWRlZmF1bHQ7XG5cbi8vIFVuaXRlIHNpZGViYXJcbiRzaWRlYmFyLXVuaXRlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItYmcgKSAhZGVmYXVsdDtcbiRzaWRlYmFyLXVuaXRlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItY29sb3IgKSAhZGVmYXVsdDtcbiRzaWRlYmFyLXVuaXRlLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItc2Vjb25kYXJ5LWNvbG9yICkgIWRlZmF1bHQ7XG4kc2lkZWJhci11bml0ZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWJ0bi1ob3Zlci1iZyApICFkZWZhdWx0O1xuJHNpZGViYXItdW5pdGUtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1idG4taG92ZXItY29sb3IgKSAhZGVmYXVsdDtcbiRzaWRlYmFyLXVuaXRlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItYm9yZGVyLWNvbG9yICkgIWRlZmF1bHQ7XG4kc2lkZWJhci11bml0ZS1vdXRlci1ib3JkZXI6ICAgICAgICAgICAgICBjYWxjKCB2YXIoIC0tI3sgJHByZWZpeCB9Ym9yZGVyLXJhZGl1cyApICogMS41ICkgIWRlZmF1bHQ7XG5cblxuXG4vLyBDT05URU5UU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kY29udGVudC10aXRsZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAyLjI1cmVtICFkZWZhdWx0O1xuJGNvbnRlbnQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnkgKSAhZGVmYXVsdDtcbiRjb250ZW50LXRpdGxlLXdlaWdodDogICAgICAgICAgICAgICAgICAgIDUwMCAhZGVmYXVsdDtcblxuJGNvbnRlbnQtZ3V0dGVyLXg6ICAgICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjb250ZW50LWd1dHRlci15OiAgICAgICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY29udGVudC1ndXR0ZXJzLXggOiAoXG4gICBcIm1kXCI6IDEuNXJlbSxcbiAgIFwibGdcIjogMS4yNXJlbSxcbiAgIFwieGxcIjogMS4yNXJlbSxcbiAgIFwieHhsXCI6IDIuNXJlbVxuKSAhZGVmYXVsdDtcblxuXG5cbi8vIENPTVBPTkVOVFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2Nyb2xsIHRvIHRvcCBidXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJ1dHRvbi1zY3JvbGwtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kYnV0dG9uLXNjcm9sbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Nyb2xsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgIDNweCBzb2xpZCB2YXIoIC0tI3sgJHByZWZpeCB9Ym9keS1iZyApICFkZWZhdWx0O1xuJGJ1dHRvbi1zY3JvbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGJ1dHRvbi1zY3JvbGwtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgNGVtICFkZWZhdWx0O1xuJGJ1dHRvbi1zY3JvbGwtcmlnaHQtbWFyZ2luOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRidXR0b24tc2Nyb2xsLWJvdHRvbS1tYXJnaW46ICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnV0dG9uLXNjcm9sbC1zaG93LWFmdGVyLXNjcm9sbGRvd246ICAgICAxNS43NXJlbSAhZGVmYXVsdDtcbiRidXR0b24tc2Nyb2xsLXVzZS1jc3MtY2hldnJvbi1pY29uOiAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuXG4vLyBTZWFyY2hib3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHNlYXJjaGJveC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgcmdiYSggMCwwLDAsIC4xNSApICFkZWZhdWx0O1xuJHNlYXJjaGJveC1jb2xsYXBzZWQtd2lkdGg6ICAgICAgICAgICAgICAgMjB2dyAhZGVmYXVsdDtcbiRzZWFyY2hib3gtZXhwYW5kZWQtd2lkdGg6ICAgICAgICAgICAgICAgIDM1dncgIWRlZmF1bHQ7XG5cbiRzZWFyY2hib3gtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgICAgIC4zNXMgIWRlZmF1bHQ7XG4kc2VhcmNoYm94LXRyYW5zaXRpb24tZGVsYXk6ICAgICAgICAgICAgICAuMTVzICFkZWZhdWx0O1xuJHNlYXJjaGJveC10cmFuc2l0aW9uLXRpbWluZzogICAgICAgICAgICAgZWFzZSAhZGVmYXVsdDtcblxuXG5cbi8vIEJhY2tkcm9wXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRiYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRiYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGJhY2tkcm9wLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgOTk5OCAhZGVmYXVsdDtcblxuXG5cbi8vIFRpbWVsaW5lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0aW1lbGluZS1wb2ludC1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1wcmltYXJ5ICkgIWRlZmF1bHQ7XG4kdGltZWxpbmUtcG9pbnQtZ2FwOiAgICAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGltZWxpbmUtcG9pbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0aW1lbGluZS1wb2ludC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgIC43NWV4ICFkZWZhdWx0O1xuJHRpbWVsaW5lLXBvaW50LW1lZGlhLXNpemU6ICAgICAgICAgICAgICAgMi4yNXJlbSAhZGVmYXVsdDtcblxuJHRpbWVsaW5lLWxpbmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHRpbWVsaW5lLXBvaW50LWNvbG9yICFkZWZhdWx0O1xuJHRpbWVsaW5lLWxpbmUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuJHRpbWVsaW5lLWxpbmUtc3R5bGU6ICAgICAgICAgICAgICAgICAgICAgc29saWQgIWRlZmF1bHQ7XG5cbiR0aW1lbGluZS1lbnRyeS1nYXAteDogICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0aW1lbGluZS1lbnRyeS1nYXAteTogICAgICAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuXG5cbi8vIEJ1YmJsZSBzcGVlY2hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJ1YmJsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGJ1YmJsZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgTWluKCA0MDBweCwgODAlICkgIWRlZmF1bHQ7XG4kYnViYmxlLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoIC0tI3sgJHByZWZpeCB9cHJpbWFyeSApICFkZWZhdWx0O1xuJGJ1YmJsZS1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnktY29sb3IgKSAhZGVmYXVsdDtcbiRidWJibGUtc2Vjb25kYXJ5LWJnOiAgICAgICAgICAgICAgICAgICAgIHZhciggLS0jeyAkcHJlZml4IH13aGl0ZSApICFkZWZhdWx0O1xuJGJ1YmJsZS1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKCAtLSN7ICRwcmVmaXggfWRhcmsgKSAhZGVmYXVsdDtcbiRidWJibGUtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRidWJibGUtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnViYmxlLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICA3cHggIWRlZmF1bHQ7XG4kYnViYmxlLWFycm93LWhlaWdodDogICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG5cblxuXG4vLyBMQVlPVVRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQm94ZWQgTGF5b3V0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRib3hlZC1sYXlvdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEodmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnktcmdiICksIC43KSAhZGVmYXVsdDtcbiRib3hlZC1sYXlvdXQtYmctcmVwZWF0OiAgICAgICAgICAgICAgICAgIG5vLXJlcGVhdCAhZGVmYXVsdDtcbiRib3hlZC1sYXlvdXQtYmctaW1hZ2U6ICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7IC8vIEVYQU1QTEUgOiB1cmwoXCIvYXNzZXRzL2ltZy9zYW1wbGUtaW1nL2ltZy0xLmpwZ1wiKTtcbiRib3hlZC1sYXlvdXQtYmctc2l6ZTogICAgICAgICAgICAgICAgICAgIGNvdmVyICFkZWZhdWx0O1xuJGJveGVkLWxheW91dC1iZy1hdHRhY2htZW50OiAgICAgICAgICAgICAgZml4ZWQgIWRlZmF1bHQ7XG5cbiRib3hlZC1sYXlvdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kYm94ZWQtbGF5b3V0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG4kYm94ZWQtbGF5b3V0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cblxuXG4vLyBDZW50ZXJlZCBsYXlvdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNlbnRlcmVkLWxheW91dC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kY2VudGVyZWQtbGF5b3V0LW1pbi12aWV3cG9ydDogICAgICAgICAgICAxMzAwcHggIWRlZmF1bHQ7XG5cblxuXG4vLyBNRURJQSBQUklOVFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJpbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHByaW50LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzU1NWU2OSAhZGVmYXVsdDtcbiRwcmludC1ibGFjazogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMzMDM1M2IgIWRlZmF1bHQ7XG4kcHJpbnQtZ3JheTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZWNmMWY0ICFkZWZhdWx0O1xuJHByaW50LW11dGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzcyN2U4YyAhZGVmYXVsdDtcblxuXG5cbi8vIFotSU5ERVhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHotaW5kZXgtaGVhZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwMSAhZGVmYXVsdDtcbiR6LWluZGV4LW1haW5uYXY6ICAgICAgICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kei1pbmRleC1zaWRlYmFyOiAgICAgICAgICAgICAgICAgICAgICAgICAxMDAyICFkZWZhdWx0O1xuXG5cblxuLy8gVFJBTlNJVElPTiBUSU1JTkdTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0cmFuc2l0aW9uLXRpbWluZ3MgOiAoXG4gICBcImluLXF1YXJ0XCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1YmljLWJlemllcigwLjc1NSwgMC4wNDUsIDAuOTE1LCAwLjEzNSksXG4gICBcIm91dC1xdWFydFwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1YmljLWJlemllcigwLjAxNSwgMC43NzAsIDAuMDQwLCAwLjk4NSksXG4gICBcImluLWJhY2tcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1YmljLWJlemllcigwLjcwNSwgLTAuMTU1LCAwLjczNSwgMC4wNDUpLFxuICAgXCJvdXQtYmFja1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdWJpYy1iZXppZXIoMC4yODAsIDEuMDIwLCAwLjM2MCwgMS4xNDUpLFxuICAgXCJpbi1vdXQtYmFja1wiOiAgICAgICAgICAgICAgICAgICAgICAgICBjdWJpYy1iZXppZXIoMS4wMDAsIC0wLjI4MCwgMC4wMDAsIDEuMjc1KSxcbiAgIFwic3RlcHNcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3ViaWMtYmV6aWVyKDAuMDAwLCAwLjk1NSwgMS4wMDAsIDAuMDQ1KSxcbiAgIFwianVtcGluZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3ViaWMtYmV6aWVyKDAuOTYwLCAwLjAwNSwgMC4wMDAsIDEuMDc1KSxcbiAgIFwicnViYmVyXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3ViaWMtYmV6aWVyKDAuMTM1LCAxLjUyNSwgMC4wMDAsIDAuOTAwKVxuKSAhZGVmYXVsdDtcblxuXG5cbi8vIFNDUk9MTEJBUlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHNjcm9sbGJhci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgYXV0byAhZGVmYXVsdDtcbiRzY3JvbGxiYXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG5cbiRzY3JvbGxiYXItd2Via2l0LXdpZHRoOiAgICAgICAgICAgICAgICAgIC4zNXJlbSAhZGVmYXVsdDtcbiRzY3JvbGxiYXItd2Via2l0LXRyYWNrLWJnOiAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNjcm9sbGJhci13ZWJraXQtaGFuZGxlLWJnOiAgICAgICAgICAgICAgJHNjcm9sbGJhci1jb2xvciAhZGVmYXVsdDtcbiRzY3JvbGxiYXItd2Via2l0LWhhbmRsZS1ob3Zlci1iZzogICAgICAgIHJnYmEoYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRzY3JvbGxiYXItd2Via2l0LWhhbmRsZS1ib3JkZXItcmFkaXVzOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuJHNjcm9sbGJhci1jb2xvci1kYXJrOiAgICAgICAgICAgICAgICAgICAgcmdiYSh3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRzY3JvbGxiYXItd2Via2l0LXRyYWNrLWJnLWRhcms6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNjcm9sbGJhci13ZWJraXQtaGFuZGxlLWJnLWRhcms6ICAgICAgICAgJHNjcm9sbGJhci1jb2xvci1kYXJrICFkZWZhdWx0O1xuJHNjcm9sbGJhci13ZWJraXQtaGFuZGxlLWhvdmVyLWJnLWRhcms6ICAgcmdiYSh3aGl0ZSwgLjUpICFkZWZhdWx0O1xuXG5cblxuLy8gSE9WRVIgVFJBTlNJVElPTiBFRkZFQ1RTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRodi10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgIC4zNXM7XG4kaHYtdHJhbnNpdGlvbi10aW1pbmc6ICAgICAgICAgICAgICAgICAgICBlYXNlO1xuJGh2LWdyb3ctc2NhbGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4wNztcbiRodi1vdXRsaW5lLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoIHZhciggLS0jeyAkcHJlZml4IH1saW5rLWhvdmVyLWNvbG9yLXJnYiApLCAwKTtcbiRodi1vdXRsaW5lLWNvbG9yLWFjdGl2ZTogICAgICAgICAgICAgICAgIHJnYmEoIHZhciggLS0jeyAkcHJlZml4IH1saW5rLWhvdmVyLWNvbG9yLXJnYiApLCAxKTtcbiRodi1vdXRsaW5lLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgIC4xMjVyZW07ICAgIC8vIDJweFxuJGh2LW91dGxpbmUtb2Zmc2V0OiAgICAgICAgICAgICAgICAgICAgICAgLjMxMjVyZW07ICAgLy8gNXB4XG4iLCIvKiAtLSBGUk9OVCBDT05UQUlORVIgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmZyb250LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLSN7ICRwcmVmaXggfWJvZHktYmcgKTtcbiAgICBjb2xvcjogdmFyKCAtLSN7ICRwcmVmaXggfWJvZHktY29sb3IgKTtcbiAgICBncmlkLWF1dG8tY29sdW1uczogMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogbWluLWNvbnRlbnQgMWZyIG1pbi1jb250ZW50O1xuXG4gICAgLmhlYWRlciB7IGdyaWQtYXJlYTogMSAvIDEgLyAyIC8gMjsgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGdyaWQtYXJlYTogMiAvIDEgLyAzIC8gMjtcbiAgICB9XG5cbiAgICAuZm9vdGVyIHtcbiAgICAgICAgZ3JpZC1hcmVhOiAzIC8gMSAvIDQgLyAyO1xuICAgIH1cblxuICAgIEBhdC1yb290IHtcbiAgICAgICAgYm9keVsgc3R5bGUqPVwiYmFja2dyb3VuZFwiIF06bm90KCAuYm94ZWQtbGF5b3V0ICkgPiAjeyAmIH0sIC5iZy1pbWc6bm90KCAuYm94ZWQtbGF5b3V0ICkgPiAjeyAmIH0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSggdmFyKC0tI3skcHJlZml4fWJvZHktYmctcmdiKSwgMC41KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNjcmVlbjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qIC0tIENPTlRFTlRTIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5yb290Om5vdCguaGQtLWV4cGFuZGVkKSAuY29udGVudF9faGVhZGVyID4gLmNvbnRlbnRfX3dyYXAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY29udGVudCB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tI3sgJHByZWZpeCB9Ym9keS1iZyApO1xuICAgY29sb3I6IHZhciggLS0jeyAkcHJlZml4IH1ib2R5LWNvbG9yICk7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgIGdyaWQtYXJlYTogMiAvIDIgLyAzIC8gMztcbiAgIHdpZHRoOiAxMDAlO1xuICAgbWluLXdpZHRoOiAwO1xuICAgbWF4LXdpZHRoOiAxMDB2dztcblxuICAgLnBhZ2UtdGl0bGUge1xuICAgICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1jb250ZW50LXRpdGxlLWNvbG9yICk7XG4gICAgICBmb250LXNpemU6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1jb250ZW50LXRpdGxlLXNpemUgKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9Y29udGVudC10aXRsZS13ZWlnaHQgKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgfVxufVxuXG4uY29udGVudF9fd3JhcCB7XG4gICBwYWRkaW5nOiAkY29udGVudC1ndXR0ZXIteSAkY29udGVudC1ndXR0ZXIteDtcbn1cblxuXG5cbi8vIENvbnRlbnQgR3V0dGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRjb250ZW50LWd1dHRlcnMteCB7XG4gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCAkYnJlYWtwb2ludCApIHtcbiAgICAgIC5jb250ZW50X193cmFwIHtcbiAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkdmFsdWU7XG4gICAgICB9XG4gICB9XG59XG4iLCIvKiAtLSBDT05URU5UIFZJRVcgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gQ29udGVudCBmdWxsIGJvZHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNvbnRlbnQtZnVsbC1wYWdlIHtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIGluc2V0OiAwO1xuICAgei1pbmRleDogOTk5OTk5O1xuICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiLyogLS0gU0lOR0xFIENPTlRFTlQgVklFVyAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vLyBTaW5nbGUgQ29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYm9keS1zYyB7XG4gICA+IC5yb290IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgei1pbmRleDogOTk5OTk5O1xuICAgfVxuXG4gICAuc2lkZWJhciwgLmhlYWRlciwgLmNvbnRlbnRfX2hlYWRlcjphZnRlciB7XG4gICAgICB6LWluZGV4OiAwICFpbXBvcnRhbnQ7XG4gICB9XG59XG5cblxuXG5AZWFjaCAkYnJlYWtwb2ludCwgJHZhbCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICBAaWYgJGJyZWFrcG9pbnQgPT0gXCJ4c1wiIHtcbiAgICAgIC5zaW5nbGUtY29udGVudCB7XG4gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgZmxleDogMSAxIDA7XG4gICAgICB9XG4gICB9QGVsc2V7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAgICAuc2luZ2xlLWNvbnRlbnQtI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuIiwiLyogLS0gU0VBUkNIQk9YIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5zZWFyY2hib3gge1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1zZWFyY2gtZm9jdXMtYmc6ICAgICAgICAgICAgICN7ICRzZWFyY2hib3gtZm9jdXMtYmcgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9c2VhcmNoLWNvbGxhcHNlZC13aWR0aDogICAgICAjeyAkc2VhcmNoYm94LWNvbGxhcHNlZC13aWR0aCB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1zZWFyY2gtZXhwYW5kZWQtd2lkdGg6ICAgICAgICN7ICRzZWFyY2hib3gtZXhwYW5kZWQtd2lkdGggfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9c2VhcmNoLXRyYW5zaXRpb24tZHVyYXRpb246ICAjeyAkc2VhcmNoYm94LXRyYW5zaXRpb24tZHVyYXRpb24gfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9c2VhcmNoLXRyYW5zaXRpb24tZGVsYXk6ICAgICAjeyAkc2VhcmNoYm94LXRyYW5zaXRpb24tZGVsYXkgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9c2VhcmNoLXRyYW5zaXRpb24tdGltaW5nOiAgICAjeyAkc2VhcmNoYm94LXRyYW5zaXRpb24tdGltaW5nIH07XG5cbiAgIHdpZHRoOiBhdXRvO1xuXG5cbiAgIC8vIFNlYXJjaCBpbnB1dCAvIC5mb3JtLWNvbnRyb2xcbiAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgLnNlYXJjaGJveF9faW5wdXQge1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyggMWV4ICsgI3sgKCAkYnRuLXBhZGRpbmcteCAqIDIgKSB9ICk7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2VhcmNoLXRyYW5zaXRpb24tZHVyYXRpb24gKSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2VhcmNoLXRyYW5zaXRpb24tdGltaW5nICkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNlYXJjaC10cmFuc2l0aW9uLWRlbGF5ICksIGJhY2tncm91bmQtY29sb3IgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNlYXJjaC10cmFuc2l0aW9uLWR1cmF0aW9uICkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNlYXJjaC10cmFuc2l0aW9uLXRpbWluZyApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zZWFyY2gtdHJhbnNpdGlvbi1kZWxheSApO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zZWFyY2gtdHJhbnNpdGlvbi1kdXJhdGlvbiApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zZWFyY2gtdHJhbnNpdGlvbi10aW1pbmcgKSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2VhcmNoLXRyYW5zaXRpb24tZGVsYXkgKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2VhcmNoLXRyYW5zaXRpb24tZHVyYXRpb24gKSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2VhcmNoLXRyYW5zaXRpb24tdGltaW5nICkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNlYXJjaC10cmFuc2l0aW9uLWRlbGF5ICk7XG4gICAgICB9XG5cbiAgICAgICYuYmctdHJhbnNwYXJlbnQge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zZWFyY2gtZm9jdXMtYmcgKSAhaW1wb3J0YW50O1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG5cblxuICAgLy8gT3ZlcnJpZGUgQm9vdHN0cmFwJ3MgYm9yZGVyLXJhZGl1cyBmb3IgaW5wdXQgZ3JvdXBzXG4gICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICYuaW5wdXQtZ3JvdXA6bm90KCAuaGFzLXZhbGlkYXRpb24gKSA+IC5zZWFyY2hib3hfX2lucHV0Om5vdCggOmxhc3QtY2hpbGQgKTpub3QoIC5kcm9wZG93bi10b2dnbGUgKTpub3QoIC5kcm9wZG93bi1tZW51ICkge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XG4gICB9XG5cblxuXG4gICAvLyBTZWFyY2ggYnV0dG9uXG4gICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIC5zZWFyY2hib3hfX2J0biB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNlYXJjaC10cmFuc2l0aW9uLWR1cmF0aW9uICkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNlYXJjaC10cmFuc2l0aW9uLXRpbWluZyApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zZWFyY2gtdHJhbnNpdGlvbi1kZWxheSApLCB2aXNpYmlsaXR5IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zZWFyY2gtdHJhbnNpdGlvbi1kdXJhdGlvbiApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zZWFyY2gtdHJhbnNpdGlvbi10aW1pbmcgKSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2VhcmNoLXRyYW5zaXRpb24tZGVsYXkgKTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICB9XG5cblxuXG4gICAvLyBBdXRvIGV4cGFuZCB0aGUgc2VhcmNoIGJveCB3aGlsZSBmb2N1c2luZy5cbiAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgJi5zZWFyY2hib3gtLWF1dG8tZXhwYW5kIC5zZWFyY2hib3hfX2lucHV0IHtcbiAgICAgIHdpZHRoOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2VhcmNoLWNvbGxhcHNlZC13aWR0aCApO1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICB3aWR0aDogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNlYXJjaC1leHBhbmRlZC13aWR0aCApO1xuICAgICAgfVxuICAgfVxuXG5cblxuICAgLy8gT25seSBzaG93IHRoZSBzZWFyY2ggYnV0dG9uIHdoaWxlIHRoZSBpbnB1dCBpcyBpbiBmb2N1cy5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICYuc2VhcmNoYm94LS1oaWRlLWJ0biB7XG4gICAgICAuc2VhcmNoYm94X19idG4ge1xuICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLnNlYXJjaGJveF9faW5wdXQ6Zm9jdXMge1xuICAgICAgICAgfiAuc2VhcmNoYm94X19idG4sIH4gZGl2ID4gLnNlYXJjaGJveF9fYnRuIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zZWFyY2gtdHJhbnNpdGlvbi1kdXJhdGlvbiApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zZWFyY2gtdHJhbnNpdGlvbi10aW1pbmcgKSwgdmlzaWJpbGl0eSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2VhcmNoLXRyYW5zaXRpb24tZHVyYXRpb24gKSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2VhcmNoLXRyYW5zaXRpb24tdGltaW5nICk7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuIiwiLyogLS0gU0NST0xMIFBBR0UgVE8gVE9QIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIFNjcm9sbCBDb250YWluZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnNjcm9sbC1jb250YWluZXIge1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1idG4tc2Nyb2xsLWJnOiAgICAgICAgICAgICAgI3sgJGJ1dHRvbi1zY3JvbGwtYmcgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9YnRuLXNjcm9sbC1jb2xvcjogICAgICAgICAgICN7ICRidXR0b24tc2Nyb2xsLWNvbG9yIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWJ0bi1zY3JvbGwtYm9yZGVyOiAgICAgICAgICAjeyAkYnV0dG9uLXNjcm9sbC1ib3JkZXIgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9YnRuLXNjcm9sbC1ib3JkZXItcmFkaXVzOiAgICN7ICRidXR0b24tc2Nyb2xsLWJvcmRlci1yYWRpdXMgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9YnRuLXNjcm9sbC1zaXplOiAgICAgICAgICAgICN7ICRidXR0b24tc2Nyb2xsLXNpemUgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9YnRuLXNjcm9sbC1yaWdodC1tYXJnaW46ICAgICN7ICRidXR0b24tc2Nyb2xsLXJpZ2h0LW1hcmdpbiB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1idG4tc2Nyb2xsLWJvdHRvbS1tYXJnaW46ICAgI3sgJGJ1dHRvbi1zY3JvbGwtYm90dG9tLW1hcmdpbiB9O1xuXG4gICBtaW4taGVpZ2h0OiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9YnRuLXNjcm9sbC1zaXplICk7XG4gICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHJpZ2h0OiB2YXIoLS0jeyAkbmlmdHktcHJlZml4IH1idG4tc2Nyb2xsLXJpZ2h0LW1hcmdpbik7XG4gICB0b3A6IE1pbiggY2FsYyggMTAwJSAtICN7IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1idG4tc2Nyb2xsLXNpemUgKX0gKSwgMTIwdmggKTtcbiAgIGJvdHRvbTogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJ0bi1zY3JvbGwtc2l6ZSApO1xuICAgY2xpcC1wYXRoOiBpbnNldCggMCAwIDAgMCApO1xuICAgei1pbmRleDogOTk5O1xufVxuXG5cblxuLy8gU2Nyb2xsIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc2Nyb2xsLXBhZ2Uge1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1idG4tc2Nyb2xsLWJnICk7XG4gICBib3JkZXI6IHZhcigtLSN7ICRuaWZ0eS1wcmVmaXggfWJ0bi1zY3JvbGwtYm9yZGVyICk7XG4gICBib3JkZXItcmFkaXVzOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9YnRuLXNjcm9sbC1ib3JkZXItcmFkaXVzICk7XG4gICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJ0bi1zY3JvbGwtY29sb3IgKSAhaW1wb3J0YW50O1xuICAgY3Vyc29yOiBwb2ludGVyO1xuICAgZGlzcGxheTogZmxleDtcbiAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgcG9pbnRlci1ldmVudHM6IHZpc2libGU7XG4gICBwb3NpdGlvbjogc3RpY2t5O1xuICAgcmlnaHQ6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1idG4tc2Nyb2xsLXJpZ2h0LW1hcmdpbiApO1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgdG9wOiBjYWxjKCAxMDB2aCAtICN7IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1idG4tc2Nyb2xsLXNpemUgKSB9IC0gI3sgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJ0bi1zY3JvbGwtYm90dG9tLW1hcmdpbiApfSk7XG4gICB3aWR0aDogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJ0bi1zY3JvbGwtc2l6ZSApO1xuICAgei1pbmRleDogOTk5OTk7XG5cblxuICAgLy8gRHJhdyBhIGNoZXZyb24gaWNvbiB3aGVuIHRoZSAkYnV0dG9uLXNjcm9sbC11c2UtY3NzLWNoZXZyb24taWNvbiB2YXJpYWJsZSBpcyB0cnVlLlxuICAgQGlmICRidXR0b24tc2Nyb2xsLXVzZS1jc3MtY2hldnJvbi1pY29uIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgIGJvcmRlci13aWR0aDogM3B4IDNweCAwIDA7XG4gICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgIGhlaWdodDogMzAlO1xuICAgICAgICAgbGVmdDogMzUlO1xuICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICB0b3A6IDQzJTtcbiAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSggLTQ1ZGVnICk7XG4gICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgfVxuICAgfVxufVxuIiwiLyogLS0gQkFDS0RST1AgRk9SIE1BSU4gTkFWSUdBVElPTiBBTkQgU0lERUJBUiAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucm9vdCB7XG5cdCY6YmVmb3JlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9YmFja2Ryb3AtYmcgKTtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGluc2V0OiAwO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR6LWluZGV4OiAtMTtcblx0fVxuXG5cblxuICAgIC8vIFNob3cgdGhlIGJhY2tkcm9wIHdoZW4gdGhlIGNvbnRhaW5lciBjb250YWlucyBjbGFzcyAubW4tLXNob3cgb3IgLnNiLS1zaG93XG5cdCYubW4tLXNob3csICYuc2ItLXNob3cge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogdmlzaWJsZTtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHR6LWluZGV4OiAkYmFja2Ryb3Atei1pbmRleDtcblx0XHR9XG5cdH1cbn1cbiIsIi8qIC0tIFRJTUVMSU5FIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi50aW1lbGluZSB7XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfXRpbWVsaW5lLWxpbmUtY29sb3I6ICAgICAgICAjeyAkdGltZWxpbmUtbGluZS1jb2xvciB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH10aW1lbGluZS1saW5lLXN0eWxlOiAgICAgICAgI3sgJHRpbWVsaW5lLWxpbmUtc3R5bGUgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9dGltZWxpbmUtbGluZS13aWR0aDogICAgICAgICN7ICR0aW1lbGluZS1saW5lLXdpZHRoIH07XG5cbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9dGltZWxpbmUtcG9pbnQtY29sb3I6ICAgICAgICN7ICR0aW1lbGluZS1wb2ludC1jb2xvciB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH10aW1lbGluZS1wb2ludC1nYXA6ICAgICAgICAgI3sgJHRpbWVsaW5lLXBvaW50LWdhcCB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH10aW1lbGluZS1wb2ludC1zaXplOiAgICAgICAgI3sgJHRpbWVsaW5lLXBvaW50LXNpemUgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9dGltZWxpbmUtcG9pbnQtbWVkaWEtc2l6ZTogICN7ICR0aW1lbGluZS1wb2ludC1tZWRpYS1zaXplIH07XG5cblxuICAgLS0jeyAkbmlmdHktcHJlZml4IH10aW1lbGluZS1lbnRyeS1nYXAteDogICAgICAgI3sgJHRpbWVsaW5lLWVudHJ5LWdhcC14IH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfXRpbWVsaW5lLWVudHJ5LWdhcC15OiAgICAgICAjeyAkdGltZWxpbmUtZW50cnktZ2FwLXkgfTtcblxuXG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgIGdhcDogdmFyKC0tI3sgJG5pZnR5LXByZWZpeCB9dGltZWxpbmUtZW50cnktZ2FwLXkpO1xuXG5cblxuICAgLy8gVGltZWxpbmUgVGltZVxuICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAudGwtdGltZSB7XG4gICAgICAmOm5vdCggOmVtcHR5ICkge1xuICAgICAgICAgbWluLXdpZHRoOiA3cmVtO1xuICAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgICAgfVxuXG4gICAgICAudGwtZGF0ZSB7XG4gICAgICAgICBmb250LXNpemU6IDkwJTtcbiAgICAgIH1cblxuICAgICAgLnRsLXRpbWUge1xuICAgICAgICAgY29sb3I6IHZhciggLS0jeyAkcHJlZml4IH1oZWFkaW5nLWNvbG9yICk7XG4gICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICB9XG4gICB9XG5cblxuXG4gICAvLyBUaW1lbGluZSBlbnRyeVxuICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAudGwtZW50cnkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXRpbWVsaW5lLWVudHJ5LWdhcC14ICk7XG4gICB9XG5cblxuXG4gICAvLyBUaW1lbGluZSBwb2ludFxuICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAudGwtcG9pbnQge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXRpbWVsaW5lLXBvaW50LWNvbG9yICk7XG4gICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICBoZWlnaHQ6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH10aW1lbGluZS1wb2ludC1zaXplICk7XG4gICAgICAgICB0cmFuc2Zvcm06ICB0cmFuc2xhdGVZKCAkdGltZWxpbmUtcG9pbnQtbWFyZ2luLXRvcCApO1xuICAgICAgICAgd2lkdGg6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH10aW1lbGluZS1wb2ludC1zaXplICk7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydDogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXRpbWVsaW5lLWxpbmUtd2lkdGggKSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9dGltZWxpbmUtbGluZS1zdHlsZSApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH10aW1lbGluZS1saW5lLWNvbG9yICk7XG4gICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICBoZWlnaHQ6IGNhbGMoKCAxMDAlIC0gdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXRpbWVsaW5lLXBvaW50LXNpemUpIC0gKCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9dGltZWxpbmUtcG9pbnQtZ2FwICkgKiAyICkpICsgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXRpbWVsaW5lLWVudHJ5LWdhcC15ICkpO1xuICAgICAgICAgaW5zZXQ6IGNhbGMoICN7ICR0aW1lbGluZS1wb2ludC1tYXJnaW4tdG9wIH0gKyAje3ZhcigtLSN7ICRuaWZ0eS1wcmVmaXggfXRpbWVsaW5lLXBvaW50LWdhcCApfSkgYXV0byBhdXRvIGNhbGMoIDUwJSAtICggdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXRpbWVsaW5lLWxpbmUtd2lkdGggKSAvIDIgKSk7XG4gICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICB9XG5cblxuXG4gICAvLyBUaW1lbGluZSBtZWRpYSBmb3IgaWNvbnMgYW5kIGltYWdlc1xuICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAudGwtbWVkaWEge1xuICAgICAgZmxleDogMCAwIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH10aW1lbGluZS1wb2ludC1tZWRpYS1zaXplICk7XG5cbiAgICAgIGkge1xuICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9dGltZWxpbmUtbGluZS13aWR0aCApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH10aW1lbGluZS1saW5lLXN0eWxlICkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXRpbWVsaW5lLWxpbmUtY29sb3IgKTtcbiAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgIGhlaWdodDogY2FsYygoIDEwMCUgLSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9dGltZWxpbmUtcG9pbnQtbWVkaWEtc2l6ZSApIC0gKCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9dGltZWxpbmUtcG9pbnQtZ2FwICkgKiAyKSkgKyB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9dGltZWxpbmUtZW50cnktZ2FwLXkgKSk7XG4gICAgICAgICBpbnNldDogI3sgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXRpbWVsaW5lLXBvaW50LWdhcCApfSBhdXRvIGF1dG8gY2FsYyggNTAlIC0gKCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9dGltZWxpbmUtbGluZS13aWR0aCApIC8gMikpO1xuICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgfVxuXG5cblxuICAgLy8gQWN0aXZlIHN0YXRlXG4gICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIC50bC1lbnRyeS5hY3RpdmUge1xuICAgICAgLnRsLWljb24gLnJhdGlvIHtcbiAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH10aW1lbGluZS1saW5lLXdpZHRoICksXG4gICAgICAgICAwIDAgMCBjYWxjKCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9dGltZWxpbmUtbGluZS13aWR0aCApICogMiApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH10aW1lbGluZS1saW5lLWNvbG9yICk7XG4gICAgICB9XG5cbiAgICAgIC50bC1wb2ludCB7XG4gICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH10aW1lbGluZS1saW5lLXdpZHRoICkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXRpbWVsaW5lLXBvaW50LWNvbG9yICk7XG4gICAgICAgICB9XG5cbiAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCggMTAwJSAtIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH10aW1lbGluZS1saW5lLXdpZHRoICkgLSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9dGltZWxpbmUtcG9pbnQtc2l6ZSApIC0gKCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9dGltZWxpbmUtcG9pbnQtZ2FwICkgKiAyICkpICsgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXRpbWVsaW5lLWVudHJ5LWdhcC15ICkpO1xuICAgICAgICAgICAgdG9wOiAgY2FsYyggI3sgJHRpbWVsaW5lLXBvaW50LW1hcmdpbi10b3AgfSArIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH10aW1lbGluZS1wb2ludC1nYXAgKSArIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH10aW1lbGluZS1saW5lLXdpZHRoICkpO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG5cblxuICAgLy8gTGFzdCBlbnRyeSB3aXRoIGRhc2hlZCBib3JkZXJcbiAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgLnRsLWVudHJ5Omxhc3QtY2hpbGQge1xuICAgICAgLnRsLXBvaW50OmFmdGVyLCAudGwtbWVkaWE6YWZ0ZXIge1xuICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0tI3sgJHByZWZpeCB9c2Vjb25kYXJ5ICk7XG4gICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXN0eWxlOiBkb3R0ZWQ7XG4gICAgICB9XG4gICB9XG59XG5cblxuXG4vLyBUd28gY29sdW1uIHRpbWVsaW5lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi50aW1lbGluZS10d28tY29sdW1uIHtcbiAgIC50bC1lbnRyeSA+IC50bC10aW1lLCAudGwtY29udGVudCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgfVxuXG4gICAudGwtY29udGVudCA+ICoge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgfVxuXG4gICAudGwtZW50cnktc3RhcnQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAudGwtdGltZSB7XG4gICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgIH1cblxuICAgICAgLnRsLWNvbnRlbnQge1xuICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICB9XG4gICB9XG59XG4iLCIvKiAtLSBTUEVFQ0ggQlVCQkxFIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5idWJibGUge1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1idWJibGUtYm9yZGVyLXJhZGl1czogICAgI3sgJGJ1YmJsZS1ib3JkZXItcmFkaXVzIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWJ1YmJsZS1tYXgtd2lkdGg6ICAgICAgICAjeyAkYnViYmxlLW1heC13aWR0aCB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1idWJibGUtcHJpbWFyeS1iZzogICAgICAgI3sgJGJ1YmJsZS1wcmltYXJ5LWJnIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWJ1YmJsZS1wcmltYXJ5LWNvbG9yOiAgICAjeyAkYnViYmxlLXByaW1hcnktY29sb3IgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9YnViYmxlLXNlY29uZGFyeS1iZzogICAgICN7ICRidWJibGUtc2Vjb25kYXJ5LWJnIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWJ1YmJsZS1zZWNvbmRhcnktY29sb3I6ICAjeyAkYnViYmxlLXNlY29uZGFyeS1jb2xvciB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1idWJibGUtcGFkZGluZy14OiAgICAgICAgI3sgJGJ1YmJsZS1wYWRkaW5nLXggfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9YnViYmxlLXBhZGRpbmcteTogICAgICAgICN7ICRidWJibGUtcGFkZGluZy15IH07XG5cblxuICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJ1YmJsZS1zZWNvbmRhcnktYmcgKTtcbiAgIGJvcmRlci1yYWRpdXM6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1idWJibGUtYm9yZGVyLXJhZGl1cyApO1xuICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IDA7XG4gICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJ1YmJsZS1zZWNvbmRhcnktY29sb3IgKTtcbiAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgIG1heC13aWR0aDogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJ1YmJsZS1tYXgtd2lkdGggKTtcbiAgIHBhZGRpbmc6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1idWJibGUtcGFkZGluZy15ICkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJ1YmJsZS1wYWRkaW5nLXggKTtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG4gICAvLyBBcnJvdyB0cmlhbmdsZVxuICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI3sgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJ1YmJsZS1zZWNvbmRhcnktYmcgKSB9IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwICRidWJibGUtYXJyb3ctaGVpZ2h0ICRidWJibGUtYXJyb3ctd2lkdGg7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsZWZ0OiAtI3sgJGJ1YmJsZS1hcnJvdy13aWR0aCB9O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgfVxuXG5cbiAgIC8vIFByaW1hcnkgYnViYmxlIGF0IHJpZ2h0IHNpZGVcbiAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgQGF0LXJvb3Qge1xuICAgICAgJi5idWJibGUtcHJpbWFyeSwgLmJ1YmJsZS1wcmltYXJ5ICN7ICYgfSB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9YnViYmxlLXByaW1hcnktYmcgKTtcbiAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1idWJibGUtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiAwO1xuICAgICAgICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1idWJibGUtcHJpbWFyeS1jb2xvciApO1xuXG4gICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI3sgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJ1YmJsZS1wcmltYXJ5LWJnICkgfTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGJ1YmJsZS1hcnJvdy1oZWlnaHQgMCAwICRidWJibGUtYXJyb3ctd2lkdGg7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IC0jeyAkYnViYmxlLWFycm93LXdpZHRoIH07XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG4iLCIvKiAtLSBIRUFERVIgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gSGVhZGVyIHZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucm9vdCB7XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1iZzogICAgICAgICAgICAgICAgICAjeyAkaGVhZGVyLWJnIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAjeyAkaGVhZGVyLWNvbG9yIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1zZWNvbmRhcnktY29sb3I6ICAgICAjeyAkaGVhZGVyLXNlY29uZGFyeS1jb2xvciB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgI3sgJGhlYWRlci1ib3JkZXItY29sb3IgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWhlaWdodDogICAgICAgICAgICAgICN7ICRoZWFkZXItaGVpZ2h0IH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1zaGFkb3c6ICAgICAgICAgICAgICAjeyAkaGVhZGVyLXNoYWRvdyB9O1xuXG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1idG4taG92ZXItYmc6ICAgICAgICAjeyAkaGVhZGVyLWJ0bi1ob3Zlci1iZyB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItYnRuLWhvdmVyLWNvbG9yOiAgICAgI3sgJGhlYWRlci1idG4taG92ZXItY29sb3IgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWJ0bi1ib3JkZXItcmFkaXVzOiAgICN7ICRoZWFkZXItYnRuLWJvcmRlci1yYWRpdXMgfTtcblxuICAgLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItdHJhbnNpdGlvbi1kdXJhdGlvbjogI3sgJGhlYWRlci10cmFuc2l0aW9uLWR1cmF0aW9uIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci10cmFuc2l0aW9uLXRpbWluZzogICAjeyAkaGVhZGVyLXRyYW5zaXRpb24tdGltaW5nIH07XG59XG5cblxuXG4vLyBIZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmhlYWRlciB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWJnICk7XG4gICBib3gtc2hhZG93OiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLXNoYWRvdyApO1xuICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItY29sb3IgKTtcbiAgIGdyaWQtYXJlYTogMSAvIDEgLyAyIC8gMztcbn1cblxuLmhlYWRlcl9faW5uZXIge1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBoZWlnaHQ6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItaGVpZ2h0ICk7XG4gICBwYWRkaW5nLWlubGluZTogJGNvbnRlbnQtZ3V0dGVyLXg7XG59XG5cblxuXG4vLyBCcmFuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucm9vdCB7XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWJyYW5kLWJnOiAgICAgICAgICAgICAgICAgICAjeyAkYnJhbmQtYmcgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9YnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICN7ICRicmFuZC1jb2xvciB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1icmFuZC1zaXplOiAgICAgICAgICAgICAgICAgI3sgJGJyYW5kLXNpemUgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9YnJhbmQtaW1nLW1hcmdpbjogICAgICAgICAgICN7ICRicmFuZC1pbWctbWFyZ2luIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAjeyAkYnJhbmQtZm9udC1zaXplIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWJyYW5kLWZvbnQtd2VpZ2h0OiAgICAgICAgICAjeyAkYnJhbmQtZm9udC13ZWlnaHQgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9YnJhbmQtZm9udC1mYW1pbHk6ICAgICAgICAgICN7ICRicmFuZC1mb250LWZhbWlseSB9O1xufVxuXG4uaGVhZGVyX19icmFuZCB7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJyYW5kLWJnICk7XG4gICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJyYW5kLWNvbG9yICk7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgaGVpZ2h0OiAxMDAlO1xuICAgbWFyZ2luLWlubGluZS1lbmQ6IC41cmVtO1xufVxuXG4uYnJhbmQtd3JhcCB7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgZGlzcGxheTogZmxleDtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgJjpob3ZlciB7XG4gICAgICAuYnJhbmQtdGl0bGUge1xuICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMCAtMnB4O1xuICAgICAgfVxuICAgfVxufVxuXG4uYnJhbmQtaW1nIHtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgIHdpZHRoOiBhdXRvO1xuXG4gICBpbWcge1xuICAgICAgd2lkdGg6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1icmFuZC1zaXplICk7XG4gICAgICBoZWlnaHQ6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1icmFuZC1zaXplICk7XG4gICB9XG59XG5cbi5icmFuZC10aXRsZSB7XG4gICBkaXNwbGF5OiBub25lO1xufVxuXG5cblxuLy8gSGVhZGVyIENvbnRlbnRcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaGVhZGVyX19jb250ZW50IHtcbiAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICBkaXNwbGF5OiBmbGV4O1xuICAgZmxleC1ncm93OiAxO1xuICAgaGVpZ2h0OiAxMDAlO1xuICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uaGVhZGVyX19jb250ZW50LXN0YXJ0IHtcbiAgIGZsZXgtZ3JvdzogMTtcbn1cblxuLmhlYWRlcl9fY29udGVudC1zdGFydCwgLmhlYWRlcl9fY29udGVudC1lbmQge1xuICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBnYXA6IC4zcmVtO1xuXG4gICA+ICogeyBtYXJnaW46IDAgLS4xcmVtIH1cblxuICAgPiAudnIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIGN1cnJlbnRDb2xvciA1MCUsIHRyYW5zcGFyZW50KTtcbiAgIH1cbn1cblxuXG5cbi8vIEhlYWRlciBCdXR0b25zXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmhlYWRlcl9fYnRuIHtcbiAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICBib3JkZXItcmFkaXVzOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWJ0bi1ib3JkZXItcmFkaXVzICk7XG4gICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICBjb2xvcjogaW5oZXJpdDtcbiAgIGZvbnQtc2l6ZTogLjhyZW07XG5cbiAgICYuc2hvdywgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1idG4taG92ZXItYmcgKTtcbiAgICAgIGNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWJ0bi1ob3Zlci1jb2xvciApO1xuICAgfVxufVxuXG5cblxuLy8gU2VhcmNoYm94XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmhlYWRlci1zZWFyY2hib3gge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgIC5zZWFyY2hib3hfX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1zZWNvbmRhcnktY29sb3IgKTtcbiAgIH1cbn1cblxuLnNlYXJjaGJveF9fYmFja2Ryb3Age1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cblxuLy8gU3RpY2t5IEhlYWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaGQtLXN0aWNreSB7XG4gICAuaGVhZGVyIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiAkei1pbmRleC1tYWlubmF2O1xuICAgfVxuXG4gICAmLm1uLS1zdGlja3kubW4tLW1heCB7XG4gICAgICAubWFpbm5hdiAubWFpbm5hdl9faW5uZXJ7XG4gICAgICAgICBoZWlnaHQ6IGNhbGMoIDEwMHZoIC0gI3sgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1oZWlnaHQgKSB9ICk7XG4gICAgICAgICB0b3A6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItaGVpZ2h0ICk7XG4gICAgICB9XG4gICB9XG59XG5cblxuXG4vLyBTZWFyY2hib3ggZm9yIFNtYWxsIERldmljZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oIFwibWRcIiApIHtcbiAgIC5oZWFkZXJfX2NvbnRlbnQge1xuXG4gICAgICAvLyBTZWFyY2hib3ggY29udGFpbmVyXG4gICAgICAuc2VhcmNoYm94IHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItYmcgKTtcbiAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhciggLS0jeyAkcHJlZml4IH1ndXR0ZXIteCwgMC43NXJlbSApO1xuICAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKCAtLSN7ICRwcmVmaXggfWd1dHRlci14LCAwLjc1cmVtICk7XG4gICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICB0b3A6IDA7XG4gICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICB6LWluZGV4OiA5OTk5O1xuXG4gICAgICAgICAvLyBTZWFjaGJveCBpbnB1dFxuICAgICAgICAgLnNlYXJjaGJveF9faW5wdXQge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiAtOTlyZW07XG5cbiAgICAgICAgICAgIEBhdC1yb290IHtcbiAgICAgICAgICAgICAgICN7Jn0sIC5oZWFkZXJfX2NvbnRlbnQgLnNlYXJjaGJveCAuc2VhcmNoYm94X19pbnB1dDpmb2N1cyB+IC5zZWFyY2hib3hfX2JhY2tkcm9wIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAjeyZ9LCAuaGVhZGVyX19jb250ZW50IC5zZWFyY2hib3ggLnNlYXJjaGJveF9fYnRuIHtcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICBAc3VwcG9ydHMgKC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaCkge1xuICAgICAgICAgICAgICAgICAgI3smfSB7XG4gICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEJhY2tkcm9wXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItYnRuLWhvdmVyLWJnICkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICB+IC5zZWFyY2hib3hfX2JhY2tkcm9wOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1iYWNrZHJvcC1iZyApO1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKCAjeygkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpICsgMnJlbX0gKyAjeyBjYWxjKCB2YXIoIC0tI3sgJHByZWZpeCB9Ym9keS1saW5lLWhlaWdodCApICogdmFyKCAtLSN7ICRwcmVmaXggfWJvZHktZm9udC1zaXplICkpIH0gKTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gRHJvcGRvd24gbWVudVxuICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgLy8gbWFyZ2luLWlubGluZTogLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgIC8vIG1heC13aWR0aDogY2FsYyggMTAwdncgLSAxcmVtICk7XG4gICAgICAgICB3aWR0aDogMTAwdnc7XG5cbiAgICAgICAgIEBhdC1yb290IHtcbiAgICAgICAgICAgIC5oZC0tc3RpY2t5ICN7Jn0ge1xuICAgICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYyggMTAwdmggLSAoI3sgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1oZWlnaHQgKSB9KSApO1xuICAgICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG5cblxuLy8gU2VhcmNoYm94IGZvciBNZWRpdW0gZGV2aWNlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoIFwibWRcIiApIHtcbiAgIC5icmFuZC1pbWcsIC5oZWFkZXItc2VhcmNoYm94IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgIH1cblxuICAgLmJyYW5kLXRpdGxlIHtcbiAgICAgIGNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9YnJhbmQtY29sb3IgKSAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJyYW5kLWZvbnQtZmFtaWx5ICk7XG4gICAgICBmb250LXNpemU6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1icmFuZC1mb250LXNpemUgKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9YnJhbmQtZm9udC13ZWlnaHQgKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9YnJhbmQtZm9udC1zaXplICk7XG4gICAgICBtYXJnaW4taW5saW5lOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9YnJhbmQtaW1nLW1hcmdpbiApO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICB9XG5cbiAgIC5oZWFkZXIgLnNlYXJjaGJveCAuc2VhcmNoYm94X19pbnB1dC5iZy10cmFuc3BhcmVudCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkaGVhZGVyLWJ0bi1ib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItYnRuLWhvdmVyLWJnICkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgIH1cblxuICAgLnNlYXJjaGJveF9fYmFja2Ryb3Age1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgIH1cbn1cblxuXG5cbi8vIFNob3cgdGhlIGJyYW5kIHRpdGxlIG9uIExhcmdlIGRldmljZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCAkbWFpbm5hdi1tYXgtYXZhaWxhYmxlLWF0ICkge1xuICAgLm1uLS1tYXggLmhlYWRlcl9fYnJhbmQge1xuICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItdHJhbnNpdGlvbi1kdXJhdGlvbiApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItdHJhbnNpdGlvbi10aW1pbmcgKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgfVxufVxuXG5cblxuLy8gSGVhZGVyIEd1dHRlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkY29udGVudC1ndXR0ZXJzLXgge1xuICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgLmhlYWRlcl9faW5uZXIge1xuICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgIH1cbn1cblxuXG5AaWYgJG1haW5uYXYtbWF4LWF2YWlsYWJsZS1hdCA9PSAkbWFpbm5hdi1taW4tYXZhaWxhYmxlLWF0IHtcbiAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoICRtYWlubmF2LW1heC1hdmFpbGFibGUtYXQgKSB7XG4gICAgICAubW4tLW1pbiwgLm1uLS1tYXgge1xuICAgICAgICAgLmhlYWRlcl9fYnJhbmQge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59IEBlbHNlIHtcbiAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoICRtYWlubmF2LW1heC1hdmFpbGFibGUtYXQgKSB7XG4gICAgICAubW4tLW1heCB7XG4gICAgICAgICAuaGVhZGVyX19icmFuZCB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggJG1haW5uYXYtbWluLWF2YWlsYWJsZS1hdCApIHtcbiAgICAgIC5tbi0tbWluIHtcbiAgICAgICAgIC5oZWFkZXJfX2JyYW5kIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuIiwiLyogLS0gTUFJTk5BViBNRU5VIExJTksgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gTWVudSBjYXB0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5tYWlubmF2X19jYXB0aW9uIHtcbiAgIGNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1oZWFkaW5nLWNvbG9yICk7XG4gICBwYWRkaW5nLWlubGluZTogY2FsYyggI3sgY2FsYyggdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtc3VibWVudS1pbmRlbnQgKSAtIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXN1Ym1lbnUtZGFzaGVkLW1hcmdpbiApKSB9ICsgI3sgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbGluay1wYWRkaW5nLXggKSB9ICk7XG59XG5cblxuXG4vLyBNZW51IExpbmtzIGFjdGl2ZSBhbmQgaWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm1haW5uYXZfX2lubmVyIHtcbiAgIC5saXN0LWdyb3VwLWl0ZW0sIC5weC1tIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKCAjeyBjYWxjKCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zdWJtZW51LWluZGVudCApIC0gdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtc3VibWVudS1kYXNoZWQtbWFyZ2luICkpIH0gKyAjeyB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1saW5rLXBhZGRpbmcteCApIH0gKTtcbiAgIH1cblxuICAgLm1haW5uYXZfX21lbnUge1xuXG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgICAucm9vdCAjeyZ9IC5uYXYtbGluazpub3QoLmFjdGl2ZSk6bm90KDpob3Zlcik6bm90KDphY3RpdmUpLCAubW4tLW1pbiAjeyZ9IC5uYXYtbGluayB7XG4gICAgICAgICAgICAubmF2LWxhYmVsOndoZXJlKCAuZnctbWVkaXVtLCAuZnctc2VtaWJvbGQsIC5mdy1ib2xkLCAuZnctYm9sZGVyICkge1xuICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWhlYWRpbmctY29sb3IgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgIHBhZGRpbmc6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWxpbmstcGFkZGluZy15ICkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbGluay1wYWRkaW5nLXggKTtcbiAgICAgIH1cblxuICAgICAgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsge1xuICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtc3VibWVudS1hY3RpdmUtYmcgKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXN1Ym1lbnUtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtc3VibWVudS1hY3RpdmUtc2hhZG93ICk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtc3VibWVudS1hY3RpdmUtY29sb3IgKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQ7XG5cbiAgICAgICAgICAgIGksIC5uYXYtaWNvbiB7XG4gICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICBAYXQtcm9vdCB7XG4gICAgICAucm9vdCB7XG4gICAgICAgICAmLm1uLS1taW4ge1xuICAgICAgICAgICAgLm5hdi1pdGVtOm5vdCguaGFzLXN1Yikge1xuICAgICAgICAgICAgICAgLm5hdi1saW5rLmFjdGl2ZSA+IC5uYXYtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWxpbmstYWN0aXZlICk7XG4gICAgICAgICAgICAgICAgICBAaWYgJG1haW5uYXYtbGluay1hY3RpdmUtdW5kZXJsaW5lICE9IG5vbmUge1xuICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1saW5rLWFjdGl2ZS11bmRlcmxpbmUgKSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1saW5rLWFjdGl2ZS11bmRlcmxpbmUtY29sb3IgKTtcbiAgICAgICAgICAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogNXB4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbGluay1ob3ZlciApO1xuICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG5cbiAgICAgICAgIC5tYWlubmF2X19pbm5lciB7XG4gICAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWxpbmstY29sb3IgKTtcblxuICAgICAgICAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNDtcbiAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbGluay1ob3ZlciApO1xuICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAmLmFjdGl2ZSB+IC5uYXYgLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbGluay1hY3RpdmUgKTtcbiAgICAgICAgICAgICAgICAgIEBpZiAkbWFpbm5hdi1saW5rLWFjdGl2ZS11bmRlcmxpbmUgIT0gbm9uZSB7XG4gICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWxpbmstYWN0aXZlLXVuZGVybGluZSApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWxpbmstYWN0aXZlLXVuZGVybGluZS1jb2xvciApO1xuICAgICAgICAgICAgICAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiA1cHg7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1saW5rLWhvdmVyICk7XG4gICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgaSwgLm5hdi1pY29uIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1pY29uLWNvbG9yICkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuXG5cbi8vIENvbGxhcHNlZCBzdWJtZW51cyBhbmQgaGlkZGVuIGNvbnRlbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5tYWlubmF2X19tZW51IHtcbiAgIC5taW5pbmF2LWNvbnRlbnQgIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgIH1cblxuICAgLm1pbmluYXYtdG9nZ2xlIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICA+IC5uYXYtbGFiZWwsIC5uYXYtaWNvbiwgaSB7XG4gICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLm5hdi1sYWJlbCB7XG4gICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpeGVkIDogUmVndWxhciBsaW5rIGJsaW5raW5nIHdoZW4gYW5vdGhlciBjb2xsYXBzZSBpcyB0cmlnZ2VyZWRcbiAgICAgID4gLm5hdi1sYWJlbC5taW5pbmF2LWNvbnRlbnQge1xuICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICB9XG5cblxuICAgLy8gU3VibWVudSBjaGV2cm9uIGljb25zXG4gICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIC5oYXMtc3ViID4gLm1pbmluYXYtdG9nZ2xlIHtcbiAgICAgICY6bm90KCAuaGFzLWJhZGdlICk6YWZ0ZXIge1xuICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgIGJvcmRlci13aWR0aDogMC4xNWVtIDAuMTVlbSAwIDA7XG4gICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgIGhlaWdodDogMC41NWVtO1xuICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSggMTM1ZGVnICk7XG4gICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gY2FsYyggdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtdHJhbnNpdGlvbi1kdXJhdGlvbiApIC8gMik7XG4gICAgICAgICB3aWR0aDogMC41NWVtO1xuICAgICAgfVxuXG4gICAgICAmLmNvbGxhcHNlZDphZnRlciB7XG4gICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSggNDVkZWcgKTtcbiAgICAgIH1cbiAgIH1cbn1cblxuXG5cbi8vIERpc2FibGVzIGFubm95aW5nIHRyYW5zaXRpb25zIGluIHRoZSBvcGVuIHN1Ym1lbnUgd2hlbiB0aGUgcGFnZSBmaW5pc2hlcyBsb2FkaW5nLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucm9vdDpub3QoIC5tbi0tbWluICkgLm1haW5uYXZfX21lbnUgLmhhcy1zdWI6bm90KC5vcGVuZWQpIC5taW5pbmF2LXRvZ2dsZS5hY3RpdmU6bm90KC5jb2xsYXBzZWQpIHtcbiAgICsgLm1pbmluYXYtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgfVxufVxuXG5cblxuLy8gU3VibWVudSBJbmRlbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCAkbWFpbm5hdi1taW4tYXZhaWxhYmxlLWF0ICkge1xuICAgLnJvb3QgLm1pbmluYXYtY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgIH1cblxuICAgLnJvb3QgLm1haW5uYXZfX21lbnUgPiAubmF2LWl0ZW0ge1xuICAgICAgJi5oYXMtc3ViIC5oYXMtc3ViID4gLm1pbmluYXYtY29udGVudCB7XG4gICAgICAgICA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogLjc1ZW07XG4gICAgICAgICB9XG5cbiAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDFweCBkYXNoZWQgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtc3VibWVudS1kYXNoZWQtY29sb3IgKTtcbiAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKCAjeyBjYWxjKCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zdWJtZW51LWluZGVudC1sdjIgKSAtIC41ZW0gKSB9ICsgI3sgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbGluay1wYWRkaW5nLXggKSB9ICkgIWltcG9ydGFudDtcbiAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAuNXJlbTtcbiAgICAgIH1cblxuICAgICAgJi5oYXMtc3ViID4gLm1pbmluYXYtY29udGVudCB7XG4gICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAxcHggZGFzaGVkIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXN1Ym1lbnUtZGFzaGVkLWNvbG9yICk7XG4gICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zdWJtZW51LWRhc2hlZC1tYXJnaW4gKSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAmLmhhcy1zdWIgPiAubWluaW5hdi1jb250ZW50ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rIHtcbiAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKCAjeyBjYWxjKCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zdWJtZW51LWluZGVudCApIC0gdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtc3VibWVudS1kYXNoZWQtbWFyZ2luICkpIH0gKyAjeyB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1saW5rLXBhZGRpbmcteCApIH0gKTtcbiAgICAgIH1cbiAgIH1cbn1cblxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRtYWlubmF2LW1pbi1hdmFpbGFibGUtYXQpIHtcbiAgIC5yb290Om5vdCggLm1uLS1taW4gKSAubWluaW5hdi1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgfVxuXG4gICAucm9vdDpub3QoIC5tbi0tbWluICkgLm1haW5uYXZfX21lbnUgPiAubmF2LWl0ZW0ge1xuICAgICAgJi5oYXMtc3ViIC5oYXMtc3ViID4gLm1pbmluYXYtY29udGVudCB7XG4gICAgICAgICA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogLjc1ZW07XG4gICAgICAgICB9XG5cbiAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDFweCBkYXNoZWQgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtc3VibWVudS1kYXNoZWQtY29sb3IgKTtcbiAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoICN7ICRtYWlubmF2LXN1Ym1lbnUtaW5kZW50LWx2MiAtIC41ZW0gfSArICN7IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWxpbmstcGFkZGluZy14ICkgfSApICFpbXBvcnRhbnQ7XG4gICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogLjVyZW07XG4gICAgICB9XG5cbiAgICAgICYuaGFzLXN1YiA+IC5taW5pbmF2LWNvbnRlbnQge1xuICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydDogMXB4IGRhc2hlZCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zdWJtZW51LWRhc2hlZC1jb2xvciApO1xuICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtc3VibWVudS1kYXNoZWQtbWFyZ2luICkgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJi5oYXMtc3ViID4gLm1pbmluYXYtY29udGVudCA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayB7XG4gICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyggI3sgY2FsYyggdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtc3VibWVudS1pbmRlbnQgKSAtIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXN1Ym1lbnUtZGFzaGVkLW1hcmdpbiApKSB9ICsgI3sgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbGluay1wYWRkaW5nLXggKSB9KTtcbiAgICAgIH1cbiAgIH1cbn1cbiIsIi8qIC0tIE1BSU4gTkFWSUdBVElPTiAtIE1JTkkgLyBDT0xMQVBTRUQgTU9ERSAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCAkbWFpbm5hdi1taW4tYXZhaWxhYmxlLWF0ICkge1xuICAgLm1uLS1taW4ge1xuICAgICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1pbi1pY29uLWNvbG9yOiAgICAgICAgICAgICAjeyAkbWFpbm5hdi1taW4taWNvbi1jb2xvciB9O1xuICAgICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1pbi1pY29uLWFjdGl2ZS1jb2xvcjogICAgICAjeyAkbWFpbm5hdi1taW4taWNvbi1hY3RpdmUtY29sb3IgfTtcblxuICAgICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1pbi1zdWJtZW51LXBhZGRpbmcteDogICAgICAjeyAkbWFpbm5hdi1taW4tc3VibWVudS1wYWRkaW5nLXggfTtcbiAgICAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1taW4tc3VibWVudS1wYWRkaW5nLXk6ICAgICAgI3sgJG1haW5uYXYtbWluLXN1Ym1lbnUtcGFkZGluZy15IH07XG4gICAgICAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbWluLXN1Ym1lbnUtYWN0aXZlLWJnOiAgICAgICN7ICRtYWlubmF2LW1pbi1zdWJtZW51LWFjdGl2ZS1iZyB9O1xuICAgICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1pbi1zdWJtZW51LWFjdGl2ZS1jb2xvcjogICAjeyAkbWFpbm5hdi1taW4tc3VibWVudS1hY3RpdmUtY29sb3IgfTtcbiAgICAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1taW4tc2hhZG93OiAgICAgICAgICAgICAgICAgI3sgJG1haW5uYXYtbWluLXNoYWRvdyB9O1xuXG4gICAgICAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbWluLXN1Ym1lbnUtbGluay1wYWRkaW5nLXg6ICN7ICRtYWlubmF2LW1pbi1zdWJtZW51LWxpbmstcGFkZGluZy14IH07XG4gICAgICAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbWluLXN1Ym1lbnUtbGluay1wYWRkaW5nLXk6ICN7ICRtYWlubmF2LW1pbi1zdWJtZW51LWxpbmstcGFkZGluZy15IH07XG5cbiAgICAgICRuYXYtcGFkZGluZzogI3sgY2FsYyggKHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1pbi13aWR0aCApIC0gI3sgY2FsYyh2YXIoIC0tI3sgJHByZWZpeCB9Ym9keS1mb250LXNpemUgKSArIDEuNXJlbSl9KSAvIDIpIH07XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cblxuXG4gICAgICAvLyBOYXZpZ2F0aW9uIG1pbmkgbW9kZS5cbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgLm1haW5uYXYge1xuICAgICAgICAgbWF4LXdpZHRoOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1taW4td2lkdGggKTtcbiAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1taW4tdHJhbnNpdGlvbi1kdXJhdGlvbiApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1pbi10cmFuc2l0aW9uLXRpbWluZyApO1xuICAgICAgICAgei1pbmRleDogJHotaW5kZXgtbWFpbm5hdjtcbiAgICAgIH1cblxuICAgICAgLm1haW5uYXZfX2lubmVyIHtcbiAgICAgICAgIC5tYWlubmF2X19tZW51ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IC41OXJlbTtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm1haW5uYXZfX2JvdHRvbS1jb250ZW50LFxuICAgICAgLm1haW5uYXZfX3RvcC1jb250ZW50IHtcbiAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkbmF2LXBhZGRpbmc7XG4gICAgICB9XG5cblxuICAgICAgLy8gU2V0IGFsbCBvZiB0aGUgaGVhZGVyIGNvbXBvbmVudHMgdG8gbWluaSBtb2RlLlxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAuaGVhZGVyX19pbm5lciB7XG4gICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC5oZWFkZXJfX2JyYW5kIHtcbiAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgbWF4LXdpZHRoOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1taW4td2lkdGggKTtcbiAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1pbi10cmFuc2l0aW9uLWR1cmF0aW9uICkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbWluLXRyYW5zaXRpb24tdGltaW5nICk7XG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuXG4gICAgICAvLyBTdGlja3kgaGVhZGVyIHdpdGggc3RpY2t5IG5hdmlnYXRpb25cbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgJi5tbi0tc3RpY2t5LmhkLS1leHBhbmRlZCB7XG4gICAgICAgICAuY29udGVudF9faGVhZGVyOjpiZWZvcmUge1xuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICAgfVxuXG4gICAgICAgICAubWFpbm5hdiB7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgICAvLyBTdGlja3kgaGVhZGVyXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICYuaGQtLXN0aWNreSAubWFpbm5hdl9faW5uZXIge1xuICAgICAgICAgdG9wOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWhlaWdodCApO1xuICAgICAgICAgei1pbmRleDogYXV0bzsgLy8gUHJldmVudCBvdmVybGFwcGluZyB3aXRoIGxpc3Rncm91cCBhY3RpdmVcblxuICAgICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAgICAgLm1uLS1zdGlja3kjeyZ9IHtcbiAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyggMTAwdmggLSAjeyB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWhlaWdodCApIH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgICAvLyBDYXB0aW9uXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIC5tYWlubmF2X19jYXB0aW9uIHtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB9XG5cblxuICAgICAgLy8gV2lkZ2V0IGZvciB0aGUgbmF2aWdhdGlvbi5cbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgLm1haW5uYXZfX3dpZGdldCAubWluaW5hdi1jb250ZW50IHtcbiAgICAgICAgIG1pbi13aWR0aDogMTNyZW07XG5cbiAgICAgICAgIC5tYWlubmF2LXdpZGdldC10b2dnbGVbZGF0YS1icy10b2dnbGU9XCJjb2xsYXBzZVwiXSB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgIH1cblxuICAgICAgICAgLm5hdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubWFpbm5hdl9fYXZhdGFyIHtcbiAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgfVxuXG5cbiAgICAgIC5tYWlubmF2X19jYXRlZ29yaXkge1xuICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWJvcmRlci1jb2xvciApO1xuICAgICAgfVxuXG5cbiAgICAgIC8vIE1lbnVcbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgLm1haW5uYXZfX21lbnUge1xuXG5cbiAgICAgICAgIC8vIEhpZGUgYWxsIHRoZSBjb21wb25lbnRzIHdoZW4gdGhlIGN1cnJlbnQgbmF2aWdhdGlvbiBtb2RlIGlzIGluIE1pbmkuXG4gICAgICAgICBAYXQtcm9vdCB7XG4gICAgICAgICAgICAubW4tLW1pbiAuZC1tbi1taW4ge1xuICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubW4tLW1pbiAuZC1tbi1tYXgsXG4gICAgICAgICAgICAubW4tLW1pbiAuZC1tbi1tYXg6bm90KCAuc2hvdyApLFxuICAgICAgICAgICAgLm1uLS1taW4gLmJyYW5kLXRpdGxlLFxuICAgICAgICAgICAgI3sgJiB9ID4gLmhhcy1zdWIgPiAubmF2LWxpbms6YWZ0ZXIsXG4gICAgICAgICAgICAjeyAmIH0gPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsgLm5hdi1sYWJlbDpub3QoIC5zaG93ICkge1xuICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cblxuICAgICAgICAgPiAubmF2LWl0ZW0ge1xuICAgICAgICAgICAgPiAubmF2LWxpbmsge1xuICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgIGksIC5uYXYtaWNvbiB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbWluLWljb24tY29sb3IgKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1taW4tc3VibWVudS1hY3RpdmUtYmcgKTtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1taW4tc3VibWVudS1hY3RpdmUtY29sb3IgKTtcblxuICAgICAgICAgICAgICAgICAgaSwgLm5hdi1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1taW4taWNvbi1hY3RpdmUtY29sb3IgKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLCAmID4gLm5hdi1saW5rIGkgeyBtYXJnaW46IDAgIWltcG9ydGFudCB9XG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC4yNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG5cbiAgICAgICAgID4gLmhhcy1zdWIgLmhhcy1zdWIgPiAubmF2LWxpbmsgeyBnYXA6IDIuNXJlbSB9XG4gICAgICB9XG5cblxuICAgICAgLy8gU3VibWVudSB0b2dnbGVyc1xuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAubWluaW5hdi10b2dnbGUge1xuICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAubmF2LWxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1jb2xvciApO1xuICAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICAgIC8vIENvbGxhcHNlZCBzdWJtZW51cyBhbmQgaGlkZGVuIGNvbnRlbnRzXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIC5taW5pbmF2LWNvbnRlbnQge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtYmcgKTtcbiAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXN1Ym1lbnUtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICAgYm94LXNoYWRvdzogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbWluLXNoYWRvdyApO1xuICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJG5hdi1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgICBtYXgtd2lkdGg6IDE5cmVtO1xuICAgICAgICAgbWluLXdpZHRoOiAxMXJlbTtcbiAgICAgICAgIHBhZGRpbmc6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1pbi1zdWJtZW51LXBhZGRpbmcteSApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1pbi1zdWJtZW51LXBhZGRpbmcteCApO1xuICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1taW4tc3VibWVudS1saW5rLXBhZGRpbmcteSApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1pbi1zdWJtZW51LWxpbmstcGFkZGluZy14ICk7XG4gICAgICAgICB9XG5cbiAgICAgICAgICY6bm90KC5zaG93KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgfVxuXG4gICAgICAgICAmLnNob3cge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiAtMTAwcmVtO1xuICAgICAgICAgICAgLy90cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjI1cyBlYXNlIC4wNXM7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICB9XG5cbiAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDdweCA3cHggN3B4IDA7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWJnICkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBsZWZ0OiAtNnB4O1xuICAgICAgICAgfVxuXG4gICAgICAgICAmOm5vdCgubmF2KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNzVyZW0gLjI1cmVtO1xuICAgICAgICAgfVxuXG4gICAgICAgICAmLm5hdi1sYWJlbCB7XG4gICAgICAgICAgICAvL3BhZGRpbmc6IC43NXJlbSAjeyAuNXJlbSArICRuYXYtbGluay1wYWRkaW5nLXggfTtcbiAgICAgICAgICAgIHBhZGRpbmc6IC43NXJlbSAjeyB2YXIoIC0tI3sgJHByZWZpeCB9bmF2LWxpbmstcGFkZGluZy14ICl9O1xuICAgICAgICAgfVxuXG4gICAgICAgICAmLmNvbGxhcHNpbmcge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMHMgIWltcG9ydGFudDtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm1haW5uYXZfX3RvcC1jb250ZW50IHtcbiAgICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG5cblxuICAgICAgLy8gTmF2IGNvbnRlbnQgdGhhdCBzdGlja3MgdG8gdGhlIGJvdHRvbVxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAubWFpbm5hdl9fYm90dG9tLWNvbnRlbnR7XG4gICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICB9XG4gICB9XG59XG4iLCIvKiAtLSBNQUlOIE5BVklHQVRJT04gLSBNQVggLyBFWFBBTkRFRCBNT0RFIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG1haW5uYXYtbWF4LWF2YWlsYWJsZS1hdCkge1xuICAgLm1uLS1tYXgge1xuICAgICAgLm1haW5uYXYge1xuICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAubWFpbm5hdl9faW5uZXIge1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgfVxuXG4gICAgICAubWFpbm5hdiB7XG4gICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbWF4LXRyYW5zaXRpb24tZHVyYXRpb24gKSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1tYXgtdHJhbnNpdGlvbi10aW1pbmcgKTtcbiAgICAgICAgIHdpbGwtY2hhbmdlOiBtYXgtd2lkdGg7XG4gICAgICB9XG5cblxuICAgICAgLy8gV2lkZ2V0XG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIC5tYWlubmF2X193aWRnZXQgLm1pbmluYXYtY29udGVudCB7XG4gICAgICAgICBoZWlnaHQ6IG1heC1jb250ZW50O1xuICAgICAgfVxuXG5cbiAgICAgIC8vIENhcHRpb25cbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgLm1haW5uYXZfX2NhcHRpb24ge1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgbWF4LWhlaWdodDogM3JlbTtcbiAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgdmFyKC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1tYXgtdHJhbnNpdGlvbi1kdXJhdGlvbikgY2FsYyh2YXIoLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1heC10cmFuc2l0aW9uLWR1cmF0aW9uKSAqIDEuNSApO1xuICAgICAgfVxuXG5cbiAgICAgIC8vIEhlYWRlclxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAuaGVhZGVyX19pbm5lciB7XG4gICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cblxuICAgICAgJG5vdC10aGlzLWJyZWFrcG9pbnQ6IHRydWU7XG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRjb250ZW50LWd1dHRlcnMteCB7XG4gICAgICAgICBAaWYgJGJyZWFrcG9pbnQgPT0gJG1haW5uYXYtbWF4LWF2YWlsYWJsZS1hdCB7ICRub3QtdGhpcy1icmVha3BvaW50OiBmYWxzZSB9XG4gICAgICAgICBAaWYgJG5vdC10aGlzLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggJGJyZWFrcG9pbnQgKSB7XG4gICAgICAgICAgICAgICBAYXQtcm9vdCB7XG4gICAgICAgICAgICAgICAgICAjeyZ9LCAubW4tLW1pbiB7XG4gICAgICAgICAgICAgICAgICAgICAuaGVhZGVyX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogJHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICR2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmhlYWRlcl9fYnJhbmQge1xuICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoICN7IGNhbGMoIG1hcC1nZXQoICRjb250ZW50LWd1dHRlcnMteCwgJG1haW5uYXYtbWF4LWF2YWlsYWJsZS1hdCApIC8gMil9ICsgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbGluay1wYWRkaW5nLXggKSApO1xuICAgICAgICAgbWF4LXdpZHRoOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1tYXgtd2lkdGggKTtcbiAgICAgICAgIHdpZHRoOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1tYXgtd2lkdGggKTtcbiAgICAgICAgIHdpbGwtY2hhbmdlOiBtYXgtd2lkdGg7XG4gICAgICB9XG4gICB9XG59XG4iLCIvKiAtLSBERUZBVUxUIE1BSU4gTkFWSUdBVElPTiAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vLyBNYWluIG5hdmlnYXRpb24gdmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5yb290IHtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICN7ICRtYWlubmF2LWJnIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAjeyAkbWFpbm5hdi1jb2xvciB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgI3sgJG1haW5uYXYtc2Vjb25kYXJ5LWNvbG9yIH07XG5cbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICN7ICRtYWlubmF2LWxpbmstY29sb3IgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1saW5rLWhvdmVyOiAgICAgICAgICAgICAgICAgICN7ICRtYWlubmF2LWxpbmstaG92ZXIgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1saW5rLWFjdGl2ZTogICAgICAgICAgICAgICAgICN7ICRtYWlubmF2LWxpbmstYWN0aXZlIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbGluay1hY3RpdmUtdW5kZXJsaW5lOiAgICAgICAjeyAkbWFpbm5hdi1saW5rLWFjdGl2ZS11bmRlcmxpbmUgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1saW5rLWFjdGl2ZS11bmRlcmxpbmUtY29sb3I6ICN7ICRtYWlubmF2LWxpbmstYWN0aXZlLXVuZGVybGluZS1jb2xvciB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgI3sgJG1haW5uYXYtbGluay1wYWRkaW5nLXggfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICN7ICRtYWlubmF2LWxpbmstcGFkZGluZy15IH07XG5cbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICN7ICRtYWlubmF2LWljb24tY29sb3IgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgICAgICN7ICRtYWlubmF2LWhlYWRpbmdzLWNvbG9yIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAjeyAkbWFpbm5hdi1ib3JkZXItY29sb3IgfTtcblxuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgI3sgJG1haW5uYXYtcGFkZGluZyB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgICAgI3sgJG1haW5uYXYtdHJhbnNpdGlvbi1kdXJhdGlvbiB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXRyYW5zaXRpb24tdGltaW5nOiAgICAgICAgICAgI3sgJG1haW5uYXYtdHJhbnNpdGlvbi10aW1pbmcgfTtcblxuXG4gICAvLyBTdWJtZW51XG4gICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zdWJtZW51LWFjdGl2ZS1iZzogICAgICAgI3sgJG1haW5uYXYtc3VibWVudS1hY3RpdmUtYmcgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zdWJtZW51LWFjdGl2ZS1jb2xvcjogICAgI3sgJG1haW5uYXYtc3VibWVudS1hY3RpdmUtY29sb3IgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zdWJtZW51LWFjdGl2ZS1zaGFkb3c6ICAgI3sgJG1haW5uYXYtc3VibWVudS1hY3RpdmUtc2hhZG93IH07XG5cbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zdWJtZW51LWluZGVudDogICAgICAgICAgI3sgJG1haW5uYXYtc3VibWVudS1pbmRlbnQgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zdWJtZW51LWluZGVudC1sdjI6ICAgICAgI3sgJG1haW5uYXYtc3VibWVudS1pbmRlbnQtbHYyIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtc3VibWVudS1ib3JkZXItcmFkaXVzOiAgICN7ICRtYWlubmF2LXN1Ym1lbnUtYm9yZGVyLXJhZGl1cyB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXN1Ym1lbnUtZGFzaGVkLW1hcmdpbjogICAjeyAkbWFpbm5hdi1zdWJtZW51LWRhc2hlZC1tYXJnaW4gfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zdWJtZW51LWRhc2hlZC1jb2xvcjogICAgI3sgJG1haW5uYXYtc3VibWVudS1kYXNoZWQtY29sb3IgfTtcblxufVxuXG5cblxuLy8gTWF4IGFuZCBNaW4gbmF2aWdhdGlvbiB2YXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm1uLS1tYXgsIC5tbi0tbWluIHtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICN7ICRtYWlubmF2LW1heC13aWR0aCB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1heC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgI3sgJG1haW5uYXYtbWF4LXRyYW5zaXRpb24tZHVyYXRpb24gfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1tYXgtdHJhbnNpdGlvbi10aW1pbmc6ICAgICAgICN7ICRtYWlubmF2LW1heC10cmFuc2l0aW9uLXRpbWluZyB9O1xuXG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbWluLXdpZHRoOiAgICAgICAgICAgICAgICAgICAjeyAkbWFpbm5hdi1taW4td2lkdGggfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1taW4tdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICN7ICRtYWlubmF2LW1pbi10cmFuc2l0aW9uLWR1cmF0aW9uIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbWluLXRyYW5zaXRpb24tdGltaW5nOiAgICAgICAjeyAkbWFpbm5hdi1taW4tdHJhbnNpdGlvbi10aW1pbmcgfTtcbn1cblxuXG5cbi8vIE1haW4gTmF2aWdhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubWFpbm5hdntcbiAgIC0tI3sgJHByZWZpeCB9c2Vjb25kYXJ5LWNvbG9yOnZhcigtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtc2Vjb25kYXJ5LWNvbG9yKTtcblxuICAgZGlzcGxheTogZmxleDtcbiAgIGdyaWQtYXJlYTogMiAvIDEgLyAzIC8gMjtcbiAgIG1heC13aWR0aDogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbWF4LXdpZHRoICk7XG4gICB3aWR0aDogTWluKCAjeyRtYWlubmF2LW1heC1tYXgtd2lkdGh9LCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1tYXgtd2lkdGggKSk7XG5cbn1cblxuLm1haW5uYXZfX2lubmVyIHtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWJnICk7XG4gICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtY29sb3IgKTtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgaGVpZ2h0OiAxMDAlO1xuICAgd2lkdGg6IDEwMCU7XG5cbiAgIDp3aGVyZSggaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiApOm5vdCgubWFpbm5hdl9fY2FwdGlvbikge1xuICAgICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWhlYWRpbmctY29sb3IgKTtcbiAgIH1cblxuICAgOndoZXJlKCAuYm9yZGVyLXRvcCwgLmJvcmRlci1lbmQsIC5ib3JkZXItYm90dG9tLCAuYm9yZGVyLXN0YXJ0ICkge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1ib3JkZXItY29sb3IgKSAhaW1wb3J0YW50O1xuICAgfVxuXG4gICAuZHJvcGRvd24tdG9nZ2xlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1oZWFkaW5nLWNvbG9yICk7XG4gICB9XG5cblxuXG59XG5cblxuXG4vLyBTaG93IHRoZSBjb250ZW50IG9ubHkgb24gdGhlIG1heCBtb2RlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5kLW1uLW1heCB7XG4gICAmLCAmLmNvbGxhcHNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgfVxufVxuXG4uZC1tbi1taW4ge1xuICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm5hdi1sYWJlbCB7XG4gICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5cbi8vIFVzZXIgcGhvdG8gcHJvZmlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubWFpbm5hdl9fYXZhdGFyLmJvcmRlciB7XG4gICBwYWRkaW5nOiAuMXJlbTtcbn1cblxuXG5cbi8vIE1haW4gbWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubWFpbm5hdl9fdG9wLWNvbnRlbnQge1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICBoZWlnaHQ6IDEwMCU7XG4gICBvdmVyZmxvdzogYXV0bztcbiAgIHdpZHRoOiAxMDAlO1xuICAgJi5vcy1ob3N0LW92ZXJmbG93IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgfVxufVxuXG5cblxuLy8gTmF2IGNvbnRlbnQgdGhhdCBzdGlja3MgdG8gdGhlIGJvdHRvbVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubWFpbm5hdl9fYm90dG9tLWNvbnRlbnQge1xuICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtYmcgKTtcbiAgIGJvdHRvbTogMDtcbiAgIG1hcmdpbi10b3A6IGF1dG87XG4gICBwb3NpdGlvbjogc3RpY2t5O1xufVxuXG5cblxuLy8gTmF2aWdhdGlvbiBob3Jpem9udGFsIHBhZGRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5tYWlubmF2X190b3AtY29udGVudCwgLm1haW5uYXZfX2JvdHRvbS1jb250ZW50IHtcbiAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1wYWRkaW5nICk7XG59XG5cblxuXG4vLyBOYXZpZ2F0aW9uIEd1dHRlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGlmICRtYWlubmF2LWNvbnRlbnQtZ3V0dGVyIHtcbi8vICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGNvbnRlbnQtZ3V0dGVycy14IHtcbi8vICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoICRicmVha3BvaW50ICkge1xuLy8gICAgICAgICAgLm1haW5uYXZfX3RvcC1jb250ZW50LCAubWFpbm5hdl9fYm90dG9tLWNvbnRlbnQge1xuLy8gICAgICAgICAgICAgQGlmICR2YWx1ZSA8PSAkbmF2LWxpbmstcGFkZGluZy14IHsgJHZhbHVlIDogJHZhbHVlICogMS4wMSB9XG4vLyAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogTWF4KCAjeyB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1wYWRkaW5nICkgfSAsICN7ICgkdmFsdWUgLSAkbmF2LWxpbmstcGFkZGluZy14KSB9ICk7XG4vLyAgICAgICAgICB9XG4vLyAgICAgICB9XG4vLyAgICB9XG4vLyB9XG5cblxuXG4vLyBPZmYtQ2FudmFzIHNob3cgc3RhdGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm1uLS1zaG93IHtcbiAgIC5tYWlubmF2IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCggMCApO1xuICAgICAgei1pbmRleDogJGJhY2tkcm9wLXotaW5kZXggKyAxO1xuICAgfVxuXG4gICBAYXQtcm9vdCB7XG4gICAgICAjeyZ9IC5tYWlubmF2LCAubWFpbm5hdiB7XG4gICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtdHJhbnNpdGlvbi1kdXJhdGlvbiApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXRyYW5zaXRpb24tdGltaW5nICk7XG4gICAgICB9XG4gICB9XG59XG5cblxuXG4vLyBTdGlja3kgTmF2aWdhdGlvbi5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm1uLS1zdGlja3kgLm1haW5uYXZfX2lubmVyIHtcbiAgIGhlaWdodDogMTAwdmg7XG4gICBwb3NpdGlvbjogc3RpY2t5O1xuICAgdG9wOiAwO1xufVxuXG5cblxuLy8gT2ZmLUNhbnZhcyBuYXZpZ2F0aW9uLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucm9vdDpub3QoLm1uLS1tYXgpOm5vdCgubW4tLW1pbikge1xuICAgLm1haW5uYXYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDAgYXV0bztcbiAgIH1cblxuICAgJjpub3QoLm1uLS1zaG93KSAubWFpbm5hdiB7XG4gICAgICB6LWluZGV4OiAkei1pbmRleC1oZWFkZXIgKyAxO1xuICAgfVxufVxuXG5cblxuLy8gRGVmYXVsdCBuYXZpZ2F0aW9uIHN0eWxlIGZvciBzbWFsbCBzY3JlZW4gc2l6ZSB3aGVuIGNvbnRhaW5lciBoYXMgY2xhc3MgLm1uLS1taW5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbWFpbm5hdi1taW4tYXZhaWxhYmxlLWF0KSB7XG4gICAubWFpbm5hdl9fbWVudSAubWluaW5hdi10b2dnbGUgLm5hdi1sYWJlbCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgIH1cblxuICAgLm1uLS1taW4ge1xuICAgICAgLm1haW5uYXYge1xuICAgICAgICAgaW5zZXQ6IDAgYXV0bztcbiAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoIC5tbi0tc2hvdyApIC5tYWlubmF2IHtcbiAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCggTWF4KCAjey0kbWFpbm5hdi1tYXgtbWF4LXdpZHRofSwgI3sgY2FsYyggdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbWF4LXdpZHRoICkgKiAtMSAtIC4wNjI1cmVtICkgfSApICk7XG4gICAgICAgICB6LWluZGV4OiAkei1pbmRleC1oZWFkZXIgKyAxO1xuICAgICAgfVxuICAgfVxufVxuXG5cblxuLy8gRGVmYXVsdCBuYXZpZ2F0aW9uIHN0eWxlIGZvciBzbWFsbCBzY3JlZW4gc2l6ZSB3aGVuIGNvbnRhaW5lciBoYXMgY2xhc3MgLm1uLS1tYXhcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93biggJG1haW5uYXYtbWF4LWF2YWlsYWJsZS1hdCApIHtcbiAgIC5tbi0tbWF4IHtcbiAgICAgIC5tYWlubmF2IHtcbiAgICAgICAgIGluc2V0OiAwIGF1dG87XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG5cbiAgICAgICY6bm90KCAubW4tLXNob3cgKSAubWFpbm5hdiB7XG4gICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoICN7IGNhbGMoIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1heC13aWR0aCApICogLTEgLSAuMDYyNXJlbSApIH0gKTtcbiAgICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWhlYWRlciArIDE7XG4gICAgICB9XG4gICB9XG59XG4iLCIvKiAtLSBNQUlOIE5BVklHQVRJT04gLSBPRkYgQ0FOVkFTIC8gU0xJREUgTU9ERSAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubW4tLXNsaWRlIHtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zbGlkZS13aWR0aDogICAgICAgICAgICAgICAjeyAkbWFpbm5hdi1zbGlkZS13aWR0aCB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXNsaWRlLXRyYW5zaXRpb24tZHVyYXRpb246ICN7ICRtYWlubmF2LXNsaWRlLXRyYW5zaXRpb24tZHVyYXRpb24gfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zbGlkZS10cmFuc2l0aW9uLXRpbWluZzogICAjeyAkbWFpbm5hdi1zbGlkZS10cmFuc2l0aW9uLXRpbWluZyB9O1xuXG5cbiAgIC5tYWlubmF2IHtcbiAgICAgIG1heC13aWR0aDogJG1haW5uYXYtc2xpZGUtbWF4LXdpZHRoO1xuICAgICAgd2lkdGg6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXNsaWRlLXdpZHRoICk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIE1heCgjey0kbWFpbm5hdi1zbGlkZS1tYXgtd2lkdGh9LCBjYWxjKCAjeyBjYWxjKHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXNsaWRlLXdpZHRoICkgKiAtMSApfSAtIC4wNjI1cmVtICkpKTtcbiAgIH1cblxuXG4gICAvLyBzbGlkZSB0cmFuc2l0aW9uXG4gICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIEBhdC1yb290IHtcbiAgICAgICYsICYubW4tLXNob3cge1xuICAgICAgICAgLm1haW5uYXYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXNsaWRlLXRyYW5zaXRpb24tZHVyYXRpb24gKSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zbGlkZS10cmFuc2l0aW9uLXRpbWluZyApO1xuICAgICAgICAgICAgLy8gd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuXG4gICAvLyBPZmYtQ2FudmFzIHNob3cgc3RhdGVcbiAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgJi5tbi0tc2hvdyB7XG4gICAgICAubWFpbm5hdiB7XG4gICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIDAgKTtcbiAgICAgIH1cbiAgIH1cbn1cbiIsIi8qIC0tIE1BSU4gTkFWSUdBVElPTiAtIE9GRiBDQU5WQVMgLyBQVVNIIE1PREUgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLm1uLS1wdXNoIHtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1wdXNoLXdpZHRoOiAgICAgICAgICAgICAgICN7ICRtYWlubmF2LXB1c2gtd2lkdGggfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1wdXNoLXRyYW5zaXRpb24tZHVyYXRpb246ICN7ICRtYWlubmF2LXB1c2gtdHJhbnNpdGlvbi1kdXJhdGlvbiB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXB1c2gtdHJhbnNpdGlvbi10aW1pbmc6ICAgI3sgJG1haW5uYXYtcHVzaC10cmFuc2l0aW9uLXRpbWluZyB9O1xuXG5cbiAgIC5tYWlubmF2IHtcbiAgICAgIG1heC13aWR0aDogJG1haW5uYXYtcHVzaC1tYXgtd2lkdGg7XG4gICAgICB3aWR0aDogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtcHVzaC13aWR0aCApO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCBNYXgoI3stJG1haW5uYXYtcHVzaC1tYXgtd2lkdGh9LCBjYWxjKCAjeyBjYWxjKHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXB1c2gtd2lkdGggKSAqIC0xICl9IC0gLjA2MjVyZW0gKSkpO1xuICAgfVxuXG5cbiAgIC8vIFB1c2ggdHJhbnNpdGlvblxuICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBAYXQtcm9vdCB7XG4gICAgICAmLCAmLm1uLS1zaG93IHtcbiAgICAgICAgIC5tYWlubmF2LCAuY29udGVudCwgLmhlYWRlciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtcHVzaC10cmFuc2l0aW9uLWR1cmF0aW9uICkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtcHVzaC10cmFuc2l0aW9uLXRpbWluZyApO1xuICAgICAgICAgICAgLy8gd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuXG4gICAvLyBPZmYtQ2FudmFzIHNob3cgc3RhdGVcbiAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgJi5tbi0tc2hvdyB7XG4gICAgICAubWFpbm5hdiB7XG4gICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIDAgKTtcbiAgICAgICAgIHotaW5kZXg6ICRiYWNrZHJvcC16LWluZGV4ICsgMTtcbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQsIC5oZWFkZXIge1xuICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCBNaW4oJG1haW5uYXYtcHVzaC1tYXgtd2lkdGgsIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXB1c2gtd2lkdGggKSkpO1xuICAgICAgfVxuXG4gICAgICAmLnNiLS1zaG93LnNiLS1waW5uZWQgLnNpZGViYXIge1xuICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCBNaW4oJG1haW5uYXYtcHVzaC1tYXgtd2lkdGgsIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXB1c2gtd2lkdGggKSkpO1xuICAgICAgfVxuICAgfVxufVxuIiwiLyogLS0gTUFJTiBOQVZJR0FUSU9OIC0gT0ZGIENBTlZBUyAvIFJFVkVBTCBNT0RFIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5tbi0tcmV2ZWFsIHtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1yZXZlYWwtd2lkdGg6ICAgICAgICAgICAgICAgI3sgJG1haW5uYXYtcmV2ZWFsLXdpZHRoIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtcmV2ZWFsLXRyYW5zaXRpb24tZHVyYXRpb246ICN7ICRtYWlubmF2LXJldmVhbC10cmFuc2l0aW9uLWR1cmF0aW9uIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtcmV2ZWFsLXRyYW5zaXRpb24tdGltaW5nOiAgICN7ICRtYWlubmF2LXJldmVhbC10cmFuc2l0aW9uLXRpbWluZyB9O1xuXG5cbiAgIC8vIFJldmVhbCBuYXZpZ2F0aW9uXG4gICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIC5tYWlubmF2IHtcbiAgICAgIG1heC13aWR0aDogJG1haW5uYXYtcmV2ZWFsLW1heC13aWR0aDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCBNYXgoI3stJG1haW5uYXYtcmV2ZWFsLW1heC13aWR0aH0sIGNhbGMoICN7IGNhbGModmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtcmV2ZWFsLXdpZHRoICkgKiAtMSApfSAtIC4wNjI1cmVtICkpKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXJldmVhbC13aWR0aCApO1xuICAgICAgei1pbmRleDogNSAhaW1wb3J0YW50O1xuICAgfVxuXG5cbiAgIC8vIFNldCB0aGUgZGVmYXVsdCB6LWluZGV4XG4gICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIC5oZWFkZXIge1xuICAgICAgei1pbmRleDogMTI7XG4gICB9XG5cbiAgIC5jb250ZW50LCAuc2lkZWJhciB7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgIH1cblxuICAgJi5zYi0tcGlubmVkIC5zaWRlYmFyIHtcbiAgICAgIHotaW5kZXg6IDExO1xuICAgfVxuXG5cblxuICAgLy8gVHJhbnNpdGlvblxuICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBAYXQtcm9vdCB7XG4gICAgICAmLCAmLm1uLS1zaG93IHtcbiAgICAgICAgIC5jb250ZW50LCAuaGVhZGVyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1yZXZlYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXJldmVhbC10cmFuc2l0aW9uLXRpbWluZyApO1xuICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuXG5cbiAgIC8vIE9mZi1DYW52YXMgc2hvdyBzdGF0ZVxuICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAmLm1uLS1zaG93IHtcbiAgICAgIC5tYWlubmF2IHtcbiAgICAgICAgIHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSwgLmNvbnRlbnQsIC5oZWFkZXIge1xuICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCBNaW4oJG1haW5uYXYtcHVzaC1tYXgtd2lkdGgsIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXJldmVhbC13aWR0aCApKSApO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXJldmVhbC10cmFuc2l0aW9uLWR1cmF0aW9uICksIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXJldmVhbC10cmFuc2l0aW9uLWR1cmF0aW9uICkgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJi5zYi0tc2hvdy5zYi0tcGlubmVkIC5zaWRlYmFyIHtcbiAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCggTWluKCRtYWlubmF2LXB1c2gtbWF4LXdpZHRoLCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1yZXZlYWwtd2lkdGggKSkgKTtcbiAgICAgIH1cbiAgIH1cbn1cbiIsIi8qIC0tIFNJREVCQVJTIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5yb290IHtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci1iZzogICAgICAgICAgICAgICAgICAjeyAkc2lkZWJhci1iZyB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLWNvbG9yOiAgICAgICAgICAgICAgICN7ICRzaWRlYmFyLWNvbG9yIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItd2lkdGg6ICAgICAgICAgICAgICAgI3sgJHNpZGViYXItd2lkdGggfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci1zaGFkb3c6ICAgICAgICAgICAgICAjeyAkc2lkZWJhci1zaGFkb3cgfTtcblxuICAgLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXBhZGRpbmcteDogICAgICAgICAgICN7ICRzaWRlYmFyLXBhZGRpbmcteCB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXBhZGRpbmcteTogICAgICAgICAgICN7ICRzaWRlYmFyLXBhZGRpbmcteSB9O1xuXG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdHJhbnNpdGlvbi1kdXJhdGlvbjogI3sgJHNpZGViYXItdHJhbnNpdGlvbi1kdXJhdGlvbiB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXRyYW5zaXRpb24tdGltaW5nOiAgICN7ICRzaWRlYmFyLXRyYW5zaXRpb24tdGltaW5nIH07XG5cbn1cblxuLnNpZGViYXIge1xuICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci1iZyApO1xuICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItY29sb3IgKTtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgaGVpZ2h0OiAxMDAlO1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgcmlnaHQ6IDA7XG4gICB0b3A6IDA7XG4gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoICN7IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXdpZHRoICkgfSApO1xuICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgd2lkdGg6IDA7XG4gICB6LWluZGV4OiAkei1pbmRleC1zaWRlYmFyO1xuXG4gICAuc2Nyb2xsYWJsZS1jb250ZW50IHtcbiAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgIH1cbn1cblxuLnNpZGViYXJfX2lubmVyIHtcbiAgIGhlaWdodDogMTAwdmg7XG4gICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci1wYWRkaW5nLXkgKTtcbiAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICB0b3A6IDA7XG59XG5cbi5zaWRlYmFyX193cmFwIHtcbiAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci1wYWRkaW5nLXggKTtcbn1cblxuXG5cbi8vIFNpZGViYXIgc2hvdyBzdGF0ZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gc2ItLXNob3dzIHtcbiAgIC5zaWRlYmFyIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIHdpZHRoOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci13aWR0aCApO1xuICAgICAgei1pbmRleDogJGJhY2tkcm9wLXotaW5kZXggKyAxIDtcbiAgIH1cblxuXG4gICAvLyBTaWRlYmFyIHRyYW5zaXRpb25zXG4gICBAYXQtcm9vdCB7XG4gICAgICAuc2lkZWJhciB7XG4gICAgICAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXRyYW5zaXRpb24tZHVyYXRpb24gKSwgd2lkdGggMHMgbGluZWFyIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXRyYW5zaXRpb24tZHVyYXRpb24gKSwgcGFkZGluZyB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci10cmFuc2l0aW9uLWR1cmF0aW9uICkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdHJhbnNpdGlvbi10aW1pbmcgKSwgdHJhbnNmb3JtIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXRyYW5zaXRpb24tZHVyYXRpb24gKSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci10cmFuc2l0aW9uLXRpbWluZyApO1xuICAgICAgfVxuXG4gICAgICAjeyZ9IC5zaWRlYmFyIHtcbiAgICAgICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdHJhbnNpdGlvbi1kdXJhdGlvbiApLCBwYWRkaW5nIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXRyYW5zaXRpb24tZHVyYXRpb24gKSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci10cmFuc2l0aW9uLXRpbWluZyApLCB0cmFuc2Zvcm0gdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdHJhbnNpdGlvbi1kdXJhdGlvbiApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXRyYW5zaXRpb24tdGltaW5nICk7XG4gICAgICB9XG4gICB9XG59XG5cblxuXG4uc2ItLXNob3cgeyBAaW5jbHVkZSBzYi0tc2hvd3M7IH1cbkBtZWRpYSAoIG1pbi13aWR0aCA6ICRzaWRlYmFyLXBpbm5lZC1hdmFpbGFibGUtYXQgKSB7XG4gICAuc2ItLXBpbm5lZCB7IEBpbmNsdWRlIHNiLS1zaG93czsgfVxufVxuXG5cblxuLy8gSGlkZSBzdHVjayBjb250ZW50IGFuZCBkaXNwbGF5IGl0IGluIFN0dWNrIG1vZGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnNpZGViYXJfX3N0dWNrIHtcbiAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKiAtLSBESVNBQkxFIFRIRSBTSURFQkFSIEJBQ0tEUk9QIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5zYi0tYmQtMC5zYi0tc2hvdyB7XG4gICAmOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgfVxuXG4gICAuc2lkZWJhciB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci1zaGFkb3cgKTtcbiAgIH1cbn1cbiIsIi8qIC0tIFNJREVCQVIgLSBTVEFUSUMgUE9TSVRJT04gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnNiLS1zdGF0aWMgLnNpZGViYXJfX2lubmVyIHtcbiAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgcG9zaXRpb246IHN0YXRpYztcbn1cbiIsIi8qIC0tIFNJREVCQVIgLSBTVFVDSyAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vLyBUaGUgc2lkZWJhciB3aWxsIHN0YXkgc3R1Y2sgaW4gcGxhY2UgdW50aWwgeW91IGNsaWNrIHRoZSBjbG9zZSBidXR0b24uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zaWRlYmFyX19zdHVjayB7XG4gICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2ItLXN0dWNrIHtcbiAgICYuc2ItLXNob3cge1xuXG4gICAgICAvLyBEaXNhYmxlIHRoZSBiYWNrZHJvcFxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAvLyBBZGQgYSBzaGFkb3cgdG8gdGhlIHNpZGViYXIuXG4gICAgICAmOm5vdCguc2ItLXBpbm5lZCkgLnNpZGViYXIge1xuICAgICAgICAgYm94LXNoYWRvdzogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItc2hhZG93ICk7XG4gICAgICB9XG4gICB9XG5cbiAgIC8vIERpc3BsYXkgdGhlIGNvbnRlbnQgd2hlbiB0aGUgc2lkZWJhciBzaG93cyB1cC5cbiAgIC5zaWRlYmFyX19zdHVjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgfVxufVxuIiwiLyogLS0gU0lERUJBUiBVTklURSAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucm9vdCB7XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdW5pdGUtYmc6ICAgICAgICAgICAgICAgICAgI3sgJHNpZGViYXItdW5pdGUtYmcgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1jb2xvcjogICAgICAgICAgICAgICAjeyAkc2lkZWJhci11bml0ZS1jb2xvciB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLXNlY29uZGFyeS1jb2xvcjogICAgICN7ICRzaWRlYmFyLXVuaXRlLXNlY29uZGFyeS1jb2xvciB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLWFjdGl2ZS1iZzogICAgICAgICAgICN7ICRzaWRlYmFyLXVuaXRlLWFjdGl2ZS1iZyB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLWFjdGl2ZS1jb2xvcjogICAgICAgICN7ICRzaWRlYmFyLXVuaXRlLWFjdGl2ZS1jb2xvciB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLWJvcmRlci1jb2xvcjogICAgICAgICN7ICRzaWRlYmFyLXVuaXRlLWJvcmRlci1jb2xvciB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXM6ICN7ICRzaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlciB9O1xufVxuXG4uc2ItLXVuaXRlIHtcbiAgIC5zaWRlYmFyIHtcbiAgICAgIC0tI3sgJHByZWZpeCB9Ym9yZGVyLWNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1ib3JkZXItY29sb3IgKTtcbiAgICAgIC0tI3sgJHByZWZpeCB9c2Vjb25kYXJ5LWNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1zZWNvbmRhcnktY29sb3IgKTtcbiAgICAgIC0tI3sgJHByZWZpeCB9ZW1waGFzaXMtY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLWFjdGl2ZS1jb2xvciApO1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1iZyApO1xuICAgICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLWNvbG9yICk7XG5cbiAgICAgICVhY3RpdmUtY29sb3Ige1xuICAgICAgICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLWFjdGl2ZS1jb2xvciApO1xuICAgICAgfVxuXG4gICAgICA6d2hlcmUoIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIC5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYgKSB7XG4gICAgICAgICBAZXh0ZW5kICVhY3RpdmUtY29sb3I7XG4gICAgICB9XG5cblxuICAgICAgLy8gQSBuZXcgY29sb3Igd2hlbiB0aGUgY29tcG9uZW50IGNvbG9yIGVxdWFscyB0aGUgcHJpbWFyeSBjb2xvci5cbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgLmJ0bi1wcmltYXJ5LCAuZm9ybS1jaGVjay1pbnB1dDpjaGVja2VkIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7IHJnYmEoIGJsYWNrLCAuMjUgKSB9O1xuICAgICAgICAgYm9yZGVyLWNvbG9yOiAjeyByZ2JhKCBibGFjaywgLjI1ICkgfTtcbiAgICAgIH1cblxuICAgICAgLmJ0bi1saW5rIHtcbiAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuXG5cblxuICAgICAgLy8gTmF2IGxpbmtzXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIC5uYXYtbGlua3tcbiAgICAgICAgIGNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1jb2xvciApO1xuXG4gICAgICAgICBpLCAubmF2LWljb24ge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLWNvbG9yICksIC42NSApICFpbXBvcnRhbnQ7XG4gICAgICAgICB9XG5cbiAgICAgICAgICYuYWN0aXZlLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIEBleHRlbmQgJWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuXG5cbiAgICAgIC8vIExpc3QgZ3JvdXBcbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAgICAgI3smfSwgLnNiLS11bml0ZSAuc2lkZWJhciAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1jb2xvciApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuXG4gICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLWFjdGl2ZS1iZyApO1xuICAgICAgICAgICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLWFjdGl2ZS1jb2xvciApO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuIiwiLyogLS0gUElOTkVEIFNJREVCQVIgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1lZGlhICggbWluLXdpZHRoIDogJHNpZGViYXItcGlubmVkLWF2YWlsYWJsZS1hdCApIHtcblxuICAgLnNiLS1waW5uZWQge1xuICAgICAgLy8gVGhlIHBpbm5lZCBzaWRlYmFyIHNob3cgc3RhdGVcbiAgICAgICY6bm90KC5tbi0tc2hvdyk6YmVmb3JlIHtcbiAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgJi5oZC0tc3RpY2t5IC5zaWRlYmFyX19pbm5lciB7XG4gICAgICAgICB0b3A6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItaGVpZ2h0ICk7XG4gICAgICB9XG5cbiAgICAgIC5jb250ZW50X19ib3hlZCB7XG4gICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci13aWR0aCApO1xuICAgICAgfVxuXG4gICAgICAmOm5vdCgubW4tLXB1c2gpOm5vdCgubW4tLXJldmVhbCkgLnNpZGViYXIge1xuICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcbiAgICAgIH1cblxuXG4gICAgICAvLyBTZXQgYmFja2dyb3VuZCBjb2xvciB0byB0aGUgc2FtZSBhcyB0aGUgYmFja2dyb3VuZCBjb250ZW50XG4gICAgICAmOm5vdCguc2ItLXVuaXRlKSAuc2lkZWJhciB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgIC5zaWRlYmFyX19pbm5lciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tI3sgJHByZWZpeCB9Ym9keS1iZyApO1xuICAgICAgICAgICAgY29sb3I6IHZhciggLS0jeyAkcHJlZml4IH1ib2R5LWNvbG9yICk7XG4gICAgICAgICB9XG4gICAgICB9XG5cblxuICAgICAgLy8gMTAwdmggaGVpZ2h0IGNvbnRlbnRcbiAgICAgICY6bm90KC5zYi0tc3RhdGljKSAuc2lkZWJhciB7XG4gICAgICAgICAuc2lkZWJhcl9faW5uZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAxMDB2aCAtICN7IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItaGVpZ2h0ICl9KTtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgICAvLyBTaWRlYmFyIGNvbnRhaW5lclxuICAgICAgLnNpZGViYXIge1xuICAgICAgICAgaGVpZ2h0OiBjYWxjKCAxMDAlIC0gI3sgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1oZWlnaHQgKX0pO1xuICAgICAgICAgdG9wOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWhlaWdodCApO1xuICAgICAgICAgei1pbmRleDogJHotaW5kZXgtaGVhZGVyIC0gMjtcblxuICAgICAgICAgLnNpZGViYXJfX2lubmVyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgICAvLyBNb3ZlIHRoZSBzaWRlYmFyIHdoZW4gb2ZmLWNhbnZhcyBuYXZpZ2F0aW9uIGlzIHNob3duLlxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAmLnJvb3Qge1xuICAgICAgICAgJi5tbi0tcHVzaCB7XG4gICAgICAgICAgICAuc2lkZWJhciwgJi5tbi0tc2hvdyAuc2lkZWJhciB7XG4gICAgICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1wdXNoLXRyYW5zaXRpb24tZHVyYXRpb24gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubW4tLXNob3cgLnNpZGViYXIge1xuICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1wdXNoLXdpZHRoICkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgICAgJi5tbi0tcmV2ZWFsIHtcbiAgICAgICAgICAgIC5zaWRlYmFyLCAmLm1uLS1zaG93IC5zaWRlYmFyIHtcbiAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXJldmVhbC10cmFuc2l0aW9uLWR1cmF0aW9uICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubW4tLXNob3cgLnNpZGViYXIge1xuICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1yZXZlYWwtd2lkdGggKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG5cblxuXG4gICAvLyBDb21iaW5lIHRoZSBQaW5uZWQgc2lkZWJhciB3aXRoIHRoZSBVbml0eVxuICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAuc2ItLXBpbm5lZC5zYi0tdW5pdGUge1xuICAgICAgLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItc2hhZG93OiBub25lO1xuXG4gICAgICAuc2lkZWJhciB7XG4gICAgICAgICBjb250ZW50LXZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG5cbiAgICAgIC5zaWRlYmFyX19pbm5lciB7XG4gICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgfVxuXG4gICAgICAmLnRtLS1wcmltYXJ5LW1uIC5oZWFkZXJfX2NvbnRlbnQge1xuICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cblxuXG4gICAgICAvLyBMZWZ0IG91dHNpZGUgYm9yZGVyLXJhZGl1c1xuICAgICAgLnNpZGViYXI6YWZ0ZXIge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdW5pdGUtYmcgKTtcbiAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgIGhlaWdodDogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdW5pdGUtb3V0ZXItYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICAgbWFyZ2luLWxlZnQ6ICN7IGNhbGMoIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKSAqIC0xICkgfTtcbiAgICAgICAgIG1hcmdpbi10b3A6IC0xMDB2aDtcbiAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAwIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdW5pdGUtb3V0ZXItYm9yZGVyLXJhZGl1cyApLCBibGFjayAjeyB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1vdXRlci1ib3JkZXItcmFkaXVzICl9KTtcbiAgICAgICAgIG1hc2staW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1vdXRlci1ib3JkZXItcmFkaXVzICksIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKSwgYmxhY2sgI3sgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdW5pdGUtb3V0ZXItYm9yZGVyLXJhZGl1cyApIH0pO1xuICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgdG9wOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWhlaWdodCApO1xuICAgICAgICAgd2lkdGg6ICN7IGNhbGMoIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKSArIC4wNjEyNXJlbSApIH07XG4gICAgICB9XG5cblxuICAgICAgLy8gU3RpY2t5IGhlYWRlclxuICAgICAgJi5oZC0tc3RpY2t5IC5zaWRlYmFyOmFmdGVyIHtcbiAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB9XG5cblxuICAgICAgLy8gUmlnaHQgb3V0c2lkZSBib3JkZXItcmFkaXVzXG4gICAgICAmLnRtLS10YWxsLWhkLCAmLnRtLS1leHBhbmRlZC1oZCB7XG4gICAgICAgICAuY29udGVudF9faGVhZGVyOmFmdGVyIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdW5pdGUtYmcgKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogI3sgY2FsYyggdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdW5pdGUtb3V0ZXItYm9yZGVyLXJhZGl1cyApICsgLjA2MjVyZW0gKX07XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHJhZGlhbC1ncmFkaWVudCggY2lyY2xlIGF0IDAgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdW5pdGUtb3V0ZXItYm9yZGVyLXJhZGl1cyApLCB0cmFuc3BhcmVudCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1vdXRlci1ib3JkZXItcmFkaXVzICksIGJsYWNrICN7IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKSB9ICk7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoIGNpcmNsZSBhdCAwIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKSwgdHJhbnNwYXJlbnQgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdW5pdGUtb3V0ZXItYm9yZGVyLXJhZGl1cyApLCBibGFjayAjeyB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1vdXRlci1ib3JkZXItcmFkaXVzICkgfSApO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRtYWlubmF2LW1pbi10cmFuc2l0aW9uLWR1cmF0aW9uICRtYWlubmF2LW1pbi10cmFuc2l0aW9uLXRpbWluZztcbiAgICAgICAgICAgIHdpZHRoOiAjeyBjYWxjKCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1vdXRlci1ib3JkZXItcmFkaXVzICkgKyAuMDYyNXJlbSApfTtcbiAgICAgICAgICAgIHotaW5kZXg6ICR6LWluZGV4LW1haW5uYXY7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudG0tLXRhbGwtaGQsICYudG0tLWV4cGFuZGVkLWhkIHtcbiAgICAgICAgIC5jb250ZW50X19oZWFkZXIge1xuICAgICAgICAgICAgLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItZXhwYW5kLWJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG4iLCIvKiBDT0xPUkVEIEhFQURFUiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJWhlYWRlci0tcHJpbWFyeSB7XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1iZzogICAgICAgICAgICAgICN7IHZhciggLS0jeyAkcHJlZml4IH1wcmltYXJ5ICkgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWNvbG9yOiAgICAgICAgICAgI3sgcmdiYSggdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnktY29sb3ItcmdiICksIC43NSApIH07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1zZWNvbmRhcnktY29sb3I6ICN7IHJnYmEoIHZhciggLS0jeyAkcHJlZml4IH1wcmltYXJ5LWNvbG9yLXJnYiApLCAuMzUgKSB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAjeyB2YXIoIC0tI3sgJHByZWZpeCB9cHJpbWFyeS1ib3JkZXIgKSB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItc2hhZG93OiAgICAgICAgICAjeyB2YXIoLS0jeyAkcHJlZml4IH1ib3gtc2hhZG93LXNtKSB9O1xuXG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1idG4taG92ZXItYmc6ICAgICN7IHJnYmEoMCwwLDAsIC4yKSB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItYnRuLWhvdmVyLWNvbG9yOiAjeyB2YXIoIC0tI3sgJHByZWZpeCB9cHJpbWFyeS1jb2xvciApIH07XG5cbiAgIC8vIEJyYW5kXG4gICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9YnJhbmQtYmc6ICAgICAgICAgICAgICAgI3sgaW5pdGlhbCB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1icmFuZC1jb2xvcjogICAgICAgICAgICAjeyB2YXIoIC0tI3sgJHByZWZpeCB9cHJpbWFyeS1jb2xvciApfTtcbn1cblxuLmhlYWRlci0tcHJpbWFyeSB7XG4gICBAZXh0ZW5kICVoZWFkZXItLXByaW1hcnk7XG59XG4iLCIvKiBDT0xPUkVEIEJSQU5EICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4laGVhZGVyLWJyYW5kLS1wcmltYXJ5IHtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9YnJhbmQtYmc6ICN7IHZhciggLS0jeyAkcHJlZml4IH1wcmltYXJ5ICkgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9YnJhbmQtY29sb3I6ICN7IHZhciggLS0jeyAkcHJlZml4IH1wcmltYXJ5LWNvbG9yICl9O1xufVxuXG4uaGVhZGVyLWJyYW5kLS1wcmltYXJ5IHtcbiAgIEBleHRlbmQgJWhlYWRlci1icmFuZC0tcHJpbWFyeTtcbn1cbiIsIi8qIE1BSU5OQVYgQ09MT1JFRCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJW1haW5uYXYtLXByaW1hcnkge1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI3sgdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnkgKSB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgI3sgdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnktY29sb3IgKSB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgI3sgcmdiYSggdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnktY29sb3ItcmdiICksIC40ICkgfTtcblxuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgI3sgcmdiYSh2YXIoIC0tI3sgJHByZWZpeCB9cHJpbWFyeS1jb2xvci1yZ2IgKSwgLjcpfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1saW5rLWhvdmVyOiAgICAgICAgICAgICAgICAgICN7IHZhciggLS0jeyAkcHJlZml4IH1wcmltYXJ5LWNvbG9yICkgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1saW5rLWFjdGl2ZTogICAgICAgICAgICAgICAgICN7IHZhciggLS0jeyAkcHJlZml4IH1wcmltYXJ5LWNvbG9yICkgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1saW5rLWFjdGl2ZS11bmRlcmxpbmUtY29sb3I6ICN7IHJnYmEoIHZhciggLS0jeyAkcHJlZml4IH1wcmltYXJ5LWNvbG9yLXJnYiApLCAuMyApIH07XG5cbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICN7IHZhciggLS0jeyAkcHJlZml4IH1wcmltYXJ5LWNvbG9yICl9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgI3sgdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnktY29sb3IgKSB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgI3sgdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnktYm9yZGVyICkgfTtcblxuXG4gICAvLyBTdWJtZW51XG4gICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zdWJtZW51LWFjdGl2ZS1iZzogICAgICAgICAgICN7IHJnYmEoMCwwLDAsIC4yNSkgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1zdWJtZW51LWRhc2hlZC1jb2xvcjogICAgICAgICN7IHZhciggLS0jeyAkcHJlZml4IH1wcmltYXJ5LWJvcmRlciApfTtcblxuXG4gICAvLyBNaW5pIG5hdiBtb2RlXG4gICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1taW4taWNvbi1jb2xvcjogICAgICAgICAgICN7IHZhciggLS0jeyAkcHJlZml4IH1wcmltYXJ5LWNvbG9yICkgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1taW4taWNvbi1hY3RpdmUtY29sb3I6ICAgICN7IHZhciggLS0jeyAkcHJlZml4IH1wcmltYXJ5LWNvbG9yICkgfTtcblxuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1pbi1zdWJtZW51LWFjdGl2ZS1iZzogICAgI3sgcmdiYSgwLDAsMCwgLjI1KSB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1pbi1zdWJtZW51LWFjdGl2ZS1jb2xvcjogI3sgdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnktY29sb3IgKSB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1pbi1zaGFkb3c6ICAgICAgICAgICAgICAgI3sgMCAxcmVtIDJyZW0gcmdiYSgkYmxhY2ssIC41KSB9O1xufVxuXG4ubWFpbm5hdi0tcHJpbWFyeSB7XG4gICBAZXh0ZW5kICVtYWlubmF2LS1wcmltYXJ5O1xufVxuIiwiLyogLS0gRVhQQU5ERUQgSEVBREVSIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ldG0tLWV4cGFuZGVkLWhkIHtcbiAgIEBleHRlbmQgJWhlYWRlci0tcHJpbWFyeTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLXNoYWRvdzogICAgICAgICAgICAgI3sgbm9uZSB9O1xuXG4gICAvLyBOZXcgdmFyaWFibGVzXG4gICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWV4cGFuZC1iZzogICAgICAgICAgICAgI3sgJGhlYWRlci1leHBhbmQtYmcgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWV4cGFuZC1jb2xvcjogICAgICAgICAgI3sgJGhlYWRlci1leHBhbmQtY29sb3IgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWV4cGFuZC10aXRsZS1jb2xvcjogICAgI3sgJGhlYWRlci1leHBhbmQtdGl0bGUtY29sb3IgfTtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWV4cGFuZC1oZWFkaW5ncy1jb2xvcjogI3sgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1leHBhbmQtdGl0bGUtY29sb3IgKX07XG4gICAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1leHBhbmQtaGVpZ2h0OiAgICAgICAgICN7ICRoZWFkZXItZXhwYW5kLWhlaWdodCB9O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItZXhwYW5kLWJvcmRlci1yYWRpdXM6ICAjeyAkaGVhZGVyLWV4cGFuZC1ib3JkZXItcmFkaXVzIH07XG5cblxuICAgLmNvbnRlbnRfX2hlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWV4cGFuZC1iZyApO1xuICAgICAgLy8gYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4M2RlZyx2YXIoLS1icy1wcmltYXJ5KSA1NCUsdmFyKC0tYnMtYm9keS1iZykgNTQuNSUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1leHBhbmQtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItZXhwYW5kLWNvbG9yICk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICA6d2hlcmUoIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgKSB7XG4gICAgICAgICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1leHBhbmQtaGVhZGluZ3MtY29sb3IgKTtcbiAgICAgIH1cblxuICAgICAgLnRleHQtYm9keS1lbXBoYXNpczpub3QoLmJ0bikge1xuICAgICAgICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItZXhwYW5kLWhlYWRpbmdzLWNvbG9yICkgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItZXhwYW5kLXRpdGxlLWNvbG9yICk7XG4gICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItZXhwYW5kLXRpdGxlLWNvbG9yICk7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5idG4tbGluayB7XG4gICAgICAgICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1leHBhbmQtdGl0bGUtY29sb3IgKTtcbiAgICAgICAgIG9wYWNpdHk6IC44NTtcbiAgICAgIH1cblxuICAgICAgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgICAgICAmOmJlZm9yZSwgJi5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItZXhwYW5kLXRpdGxlLWNvbG9yICk7XG4gICAgICAgICB9XG5cbiAgICAgICAgID4gYSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1leHBhbmQtY29sb3IgKTtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItZXhwYW5kLXRpdGxlLWNvbG9yICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgIC5tb2RhbC1vcGVuICN7ICYgfSB7XG4gICAgICAgICAgICArIC5jb250ZW50X19ib3hlZCB7XG4gICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICB6LWluZGV4OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG5cbiAgICAgICAgIC8vIEZpeCBib290c3RyYXAgbXVsdGlwbGUgbW9kYWxzIHotaW5kZXhcbiAgICAgICAgIGJvZHlbc3R5bGUqPVwicGFkZGluZy1yaWdodFwiXSAjeyZ9e1xuICAgICAgICAgICAgKyAuY29udGVudF9fYm94ZWQge1xuICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgei1pbmRleDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm92ZXJsYXBwaW5nIHtcbiAgICAgICAgIC5jb250ZW50X193cmFwOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1leHBhbmQtaGVpZ2h0ICk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIH1cblxuICAgICAgICAgKyAuY29udGVudF9fYm94ZWQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogI3tjYWxjKCAoY2FsYyggdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWhlYWRlci1leHBhbmQtaGVpZ2h0ICkgKyAkY29udGVudC1ndXR0ZXIteSApKSAqIC0xICl9O1xuICAgICAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bm90KC5vdmVybGFwcGluZyk6bm90KC5yb3VuZGVkLTApIHtcbiAgICAgICAgIG1pbi1oZWlnaHQ6IDEwLjkzNzVyZW07XG4gICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTB2aDtcbiAgICAgIH1cbiAgIH1cblxufVxuXG4udG0tLWV4cGFuZGVkLWhkIHtcbiAgIEBleHRlbmQgJXRtLS1leHBhbmRlZC1oZDtcbn1cblxuLy8gQ29tYmluZSB3aXRoIG1heCBvciBtaW5pIG5hdmlnYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm1uLS1tYXgsIC5tbi0tbWluIHtcbiAgICYudG0tLWV4cGFuZGVkLWhkIHtcblxuICAgICAgLy8gd2l0aCBzdGlja3kgbmF2aWdhdGlvblxuICAgICAgJi5tbi0tc3RpY2t5IC5jb250ZW50X19oZWFkZXI6YmVmb3JlIHtcbiAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICB0b3A6IC0gLjA2MTI1cmVtO1xuICAgICAgfVxuXG4gICAgICAmLmhkLS1zdGlja3ksICYubW4tLXN0aWNreSB7XG4gICAgICAgICAuY29udGVudF9faGVhZGVyOm5vdCgucm91bmRlZC0wKTpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogI3sgY2FsYyggdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdW5pdGUtb3V0ZXItYm9yZGVyLXJhZGl1cyApICogMiApfTtcbiAgICAgICAgIH1cbiAgICAgICAgIC5jb250ZW50X19oZWFkZXIub3ZlcmxhcHBpbmc6bm90KC5yb3VuZGVkLTApOmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAjeyBjYWxjKCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1vdXRlci1ib3JkZXItcmFkaXVzICkgKyAxMnZoICl9O1xuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyB3aXRoIHN0aWNreSBoZWFkZXJcbiAgICAgICYuaGQtLXN0aWNreSAuY29udGVudF9faGVhZGVyOmJlZm9yZSB7XG4gICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgdG9wOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLWhlaWdodCApO1xuICAgICAgfVxuXG5cbiAgICAgIEBpZiAkaGVhZGVyLWV4cGFuZC11c2Utc3RhcnQtb3VzaWRlLXJhZGl1cyB7XG5cbiAgICAgICAgIC8vIENvbnRlbnQgSGVhZGVyXG4gICAgICAgICAmLmhkLS1zdGlja3ksICYubW4tLXN0aWNreSB7XG4gICAgICAgICAgICAuY29udGVudF9faGVhZGVyOm5vdCgucm91bmRlZC0wKSAuY29udGVudF9fd3JhcCB7XG4gICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAjeyBjYWxjKCAoIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKSApICogMyAqIC0xICl9IDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb250ZW50X19oZWFkZXIub3ZlcmxhcHBpbmc6bm90KC5yb3VuZGVkLTApIC5jb250ZW50X193cmFwIHtcbiAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICN7IGNhbGMoICgoIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKSAqIDIgKSArIDEydmggKSAqIC0xICl9IDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cblxuXG4gICAgICAgICAuY29udGVudF9faGVhZGVyIHtcblxuICAgICAgICAgICAgLy8gU2hyaW5rIHRoZSBjb250ZW50IGhlYWRlci5cbiAgICAgICAgICAgIC5jb250ZW50X193cmFwIHtcbiAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICN7IGNhbGMoIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKSAqIC0xKSB9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBMZWZ0IG91dHNpZGUgYm9yZGVyLXJhZGl1c1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1leHBhbmQtYmc7XG4gICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICBoZWlnaHQ6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKSA7XG4gICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogcmFkaWFsLWdyYWRpZW50KCBjaXJjbGUgYXQgMCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1vdXRlci1ib3JkZXItcmFkaXVzICksIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKSwgYmxhY2sgI3sgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdW5pdGUtb3V0ZXItYm9yZGVyLXJhZGl1cyApICB9KTtcbiAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHJhZGlhbC1ncmFkaWVudCggY2lyY2xlIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKSBhdCAwIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdW5pdGUtb3V0ZXItYm9yZGVyLXJhZGl1cyApLCBibGFjayAjeyB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1vdXRlci1ib3JkZXItcmFkaXVzICkgIH0pO1xuICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgdG9wOiAtIC4wNjEyNXJlbTtcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCggI3sgY2FsYyggdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdW5pdGUtb3V0ZXItYm9yZGVyLXJhZGl1cyApICogLTEgKSB9ICk7XG4gICAgICAgICAgICAgICB3aWR0aDogI3sgY2FsYyggdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdW5pdGUtb3V0ZXItYm9yZGVyLXJhZGl1cyApICsgLjA2MTI1cmVtICl9O1xuICAgICAgICAgICAgICAgei1pbmRleDogJHotaW5kZXgtbWFpbm5hdiArIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG5cbiAgICAgICAgIEBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSB7XG4gICAgICAgICAgICAuY29udGVudF9faGVhZGVyOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHJhZGlhbC1ncmFkaWVudCggY2lyY2xlIGF0IDAgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItdW5pdGUtb3V0ZXItYm9yZGVyLXJhZGl1cyApLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1vdXRlci1ib3JkZXItcmFkaXVzICksIGJsYWNrICN7IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKSAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG4iLCIvKiAtLSBGQUlSIEhFQURFUiAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4udG0tLWZhaXItaGQge1xuICAgQGV4dGVuZCAlaGVhZGVyLS1wcmltYXJ5O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItc2hhZG93OiAgICAgICAgICAgICAjeyBub25lIH07XG4gICAvLyAtLSN7ICRwcmVmaXggfWJveC1zaGFkb3ctYWxwaGEtc206IC41O1xuICAgLy8gYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc207XG5cblxuICAgLmhlYWRlcl9fYnJhbmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJyYW5kLWNvbG9yICk7XG5cbiAgICAgIC5icmFuZC10aXRsZSB7XG4gICAgICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgfVxuXG4gICAmLnRtLS1leHBhbmRlZC1oZCAuY29udGVudF9faGVhZGVyOmJlZm9yZSB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICB9XG59XG5cblxuQGlmICRicmFuZC1iZyAhPSB0cmFuc3BhcmVudCB7XG4gICAucm9vdDpub3QoIC50bS0tZmFpci1oZCApOm5vdCggLmhkLS1leHBhbmRlZCApIHtcbiAgICAgIC5oZWFkZXJfX2JyYW5kIHtcbiAgICAgICAgIHBhZGRpbmctaW5saW5lOiBtYXAtZ2V0KCRjb250ZW50LWd1dHRlcnMteCwgXCJ4bFwiKTtcbiAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAuNXJlbTtcblxuICAgICAgICAgLmJyYW5kLWltZyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG5cblxuQGlmICRtYWlubmF2LW1heC1hdmFpbGFibGUtYXQgPT0gJG1haW5uYXYtbWluLWF2YWlsYWJsZS1hdCB7XG4gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCAkbWFpbm5hdi1tYXgtYXZhaWxhYmxlLWF0ICkge1xuICAgICAgLnRtLS1mYWlyLWhke1xuICAgICAgICAgJi5tbi0tbWluLCAmLm1uLS1tYXgge1xuICAgICAgICAgICAgLy8gLmhlYWRlciB7XG4gICAgICAgICAgICAvLyAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgLy8gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgLy8gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIC8vICAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtO1xuICAgICAgICAgICAgLy8gICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIC8vICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgLy8gICAgICAgaW5zZXQ6IGNhbGMoMTAwJSAtIDNweCkgMCAwIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1heC13aWR0aCApO1xuICAgICAgICAgICAgLy8gICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy8gICAgfVxuICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICAuaGVhZGVyX19icmFuZCB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1iZyApO1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWxpbmstYWN0aXZlICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59IEBlbHNlIHtcbiAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoICRtYWlubmF2LW1heC1hdmFpbGFibGUtYXQgKSB7XG4gICAgICAudG0tLWZhaXItaGR7XG4gICAgICAgICAmLm1uLS1tYXgge1xuICAgICAgICAgICAgLmhlYWRlcl9fYnJhbmQge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtYmcgKTtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1saW5rLWFjdGl2ZSApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCAkbWFpbm5hdi1taW4tYXZhaWxhYmxlLWF0ICkge1xuICAgICAgLnRtLS1mYWlyLWhke1xuICAgICAgICAgJi5tbi0tbWluIHtcbiAgICAgICAgICAgIC5oZWFkZXJfX2JyYW5kIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LWJnICk7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbGluay1hY3RpdmUgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuXG5cbiAvKiAtLSBDRU5URVJFRCBMQVlPVVQgLS0gKi9cbiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKCBtaW4td2lkdGggOiAjeyAkY2VudGVyZWQtbGF5b3V0LW1heC13aWR0aCB9ICkge1xuICAgLmNlbnRlcmVkLWxheW91dCB7XG4gICAgICAudG0tLWZhaXItaGQge1xuICAgICAgICAgLmhlYWRlcl9fYnJhbmQge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IG1hcC1nZXQoJGNvbnRlbnQtZ3V0dGVycy14LCBcInhsXCIpO1xuICAgICAgICAgfVxuXG4gICAgICAgICAmLm1uLS1taW4sICYubW4tLW1heCB7XG4gICAgICAgICAgICAuaGVhZGVyX19pbm5lciB7XG4gICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cblxuICAgICAgICAgJi5tbi0tbWluIC5oZWFkZXJfX2JyYW5kIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1taW4td2lkdGggKTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAuYnJhbmQtdGl0bGUge1xuICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cblxuICAgICAgICAgJi5tbi0tbWF4IC5oZWFkZXJfX2JyYW5kIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1tYXgtd2lkdGggKTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuXG5AbWVkaWEgKCBtaW4td2lkdGggOiAjeyAkY2VudGVyZWQtbGF5b3V0LW1heC13aWR0aCArICggbWF0aC5kaXYoICRtYWlubmF2LW1heC13aWR0aCwgKCRtYWlubmF2LW1heC13aWR0aCAqIDAgKyAxKSApICogMTYpIH0gKSB7XG4gICAuY2VudGVyZWQtbGF5b3V0IC50bS0tZmFpci1oZC5tbi0tbWF4IC5oZWFkZXJfX2JyYW5kIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBtYXAtZ2V0KCAkY29udGVudC1ndXR0ZXJzLXgsICRtYWlubmF2LW1heC1hdmFpbGFibGUtYXQgKTtcbiAgIH1cbn1cblxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCBcInhsXCIgKSB7XG4gICAuY2VudGVyZWQtbGF5b3V0IC50bS0tZmFpci1oZC5tbi0tbWF4IC5oZWFkZXJfX2JyYW5kIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBtYXAtZ2V0KCRjb250ZW50LWd1dHRlcnMteCwgXCJ4bFwiKTtcbiAgIH1cbn1cbiIsIi8qIC0tIEZVTEwgSEVBREVSIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udG0tLWZ1bGwtaGQge1xuICAgQGV4dGVuZCAlaGVhZGVyLS1wcmltYXJ5O1xuXG4gICAtLSN7ICRwcmVmaXggfWJveC1zaGFkb3ctYWxwaGEtc206IC41O1xuICAgLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItc2hhZG93OiAjeyAkYm94LXNoYWRvdy1zbSB9O1xuXG4gICBAYXQtcm9vdCB7XG4gICAgICBbIGRhdGEtYnMtdGhlbWU9XCJkYXJrXCIgXSAjeyAmIH0ge1xuICAgICAgICAgLmhlYWRlciB7XG4gICAgICAgICAgICAtLSN7ICRwcmVmaXggfWJveC1zaGFkb3ctYWxwaGEtc206IC4xO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuIiwiLyogLS0gTUFJTk5BViBQUklNQVJZIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udG0tLXByaW1hcnktbW4ge1xuICAgQGV4dGVuZCAlbWFpbm5hdi0tcHJpbWFyeTtcbiAgIC8vQGV4dGVuZCAlaGVhZGVyLWJyYW5kLS1wcmltYXJ5O1xuXG5cbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLXNoYWRvdzogICAgICAgICAgICAgICN7IHZhciggLS0jeyAkcHJlZml4IH1ib3gtc2hhZG93LXNtICkgfTtcblxuXG4gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRtYWlubmF2LW1heC1hdmFpbGFibGUtYXQpIHtcbiAgICAgICY6d2hlcmUoLm1uLS1taW4sIC5tbi0tbWF4KSB7XG4gICAgICAgICAtLSN7ICRuaWZ0eS1wcmVmaXggfWJyYW5kLWJnOiAjeyB2YXIoIC0tI3sgJHByZWZpeCB9cHJpbWFyeSApIH07XG4gICAgICAgICAtLSN7ICRuaWZ0eS1wcmVmaXggfWJyYW5kLWNvbG9yOiAjeyB2YXIoIC0tI3sgJHByZWZpeCB9cHJpbWFyeS1jb2xvciApfTtcblxuICAgICAgICAgLy8gSGVhZGVyIFNoYWRvd1xuICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAuaGVhZGVyX19jb250ZW50IHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItc2hhZG93ICk7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG5cblxuICAgLy8gRml4ZWQgV2ViS2l0IGJ1ZyB3aXRoIHdoaXRlIGJvcmRlciBuYXZpZ2F0aW9uXG4gICAmLm1uLS1yZXZlYWwge1xuICAgICAgJjpiZWZvcmV7XG4gICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdmFyKCAtLSN7ICRwcmVmaXggfXByaW1hcnkgKTtcbiAgICAgIH1cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3sgdmFyKCAtLSN7ICRwcmVmaXggfWJvZHktYmcgKSB9O1xuICAgICAgfVxuICAgfVxufVxuIiwiLyogLS0gUFJJTUFSWSBCUkFORCAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnRtLS1wcmltYXJ5LWJyYW5kIHtcbiAgIC0tI3sgJG5pZnR5LXByZWZpeCB9aGVhZGVyLXNoYWRvdzogI3sgdmFyKCAtLSN7ICRwcmVmaXggfWJveC1zaGFkb3ctc20gKSB9O1xuXG4gICAuaGVhZGVyX19pbm5lciAge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDBcbiAgIH1cblxuXG4gICAvLyBCcmFuZFxuICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAuaGVhZGVyX19icmFuZCB7XG4gICAgICBAZXh0ZW5kICVoZWFkZXItYnJhbmQtLXByaW1hcnk7XG4gICAgICBwYWRkaW5nLWlubGluZTogJGNvbnRlbnQtZ3V0dGVyLXg7XG4gICB9XG5cbiAgICR1cC1icmVha3BvaW50OiBmYWxzZTtcbiAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGNvbnRlbnQtZ3V0dGVycy14IHtcbiAgICAgIEBpZiAkYnJlYWtwb2ludCA9PSAkbWFpbm5hdi1tYXgtYXZhaWxhYmxlLWF0IHsgJHVwLWJyZWFrcG9pbnQ6IHRydWUgfVxuICAgICAgQGlmICR1cC1icmVha3BvaW50ID09IGZhbHNlIHtcbiAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgLmhlYWRlcl9fYnJhbmQge1xuICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICR2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1AZWxzZSB7XG4gICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LW9ubHkoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIC50bS0tcHJpbWFyeS1icmFuZDpub3QoLm1uLS1taW4pOm5vdCgubW4tLW1heCkge1xuICAgICAgICAgICAgICAgLmhlYWRlcl9fYnJhbmQge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICR2YWx1ZTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuXG5cbi8vIERpc2FibGUgYm9yZGVyIHJhZGl1cyBvbiBsYXJnZSBkZXZpY2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGlmICRtYWlubmF2LW1heC1hdmFpbGFibGUtYXQgPT0gJG1haW5uYXYtbWluLWF2YWlsYWJsZS1hdCB7XG4gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCAkbWFpbm5hdi1tYXgtYXZhaWxhYmxlLWF0ICkge1xuICAgICAgLnRtLS1wcmltYXJ5LWJyYW5ke1xuICAgICAgICAgJi5tbi0tbWluLCAmLm1uLS1tYXgge1xuICAgICAgICAgICAgLmhlYWRlcl9fYnJhbmQge1xuICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgICAgICYubW4tLW1heCAuaGVhZGVyX19icmFuZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogY2FsYygjeyBjYWxjKG1hcC1nZXQoICRjb250ZW50LWd1dHRlcnMteCwgJG1haW5uYXYtbWF4LWF2YWlsYWJsZS1hdCApIC8yKX0gKyAjeyB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1saW5rLXBhZGRpbmcteCApIH0gKSAwO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufSBAZWxzZSB7XG4gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCAkbWFpbm5hdi1tYXgtYXZhaWxhYmxlLWF0ICkge1xuICAgICAgLnRtLS1wcmltYXJ5LWJyYW5ke1xuICAgICAgICAgJi5tbi0tbWF4IHtcbiAgICAgICAgICAgIC5oZWFkZXJfX2JyYW5kIHtcbiAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogI3sgbWFwLWdldCggJGNvbnRlbnQtZ3V0dGVycy14LCAkbWFpbm5hdi1tYXgtYXZhaWxhYmxlLWF0ICl9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG5cbiAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoICRtYWlubmF2LW1pbi1hdmFpbGFibGUtYXQgKSB7XG4gICAgICAudG0tLXByaW1hcnktYnJhbmR7XG4gICAgICAgICAmLm1uLS1taW4ge1xuICAgICAgICAgICAgLmhlYWRlcl9fYnJhbmQge1xuICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAjeyBtYXAtZ2V0KCAkY29udGVudC1ndXR0ZXJzLXgsICRtYWlubmF2LW1pbi1hdmFpbGFibGUtYXQgKX0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cbiIsIi8qIC0tIFRBTEwgSEVBREVSIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udG0tLXRhbGwtaGQge1xuICAgQGV4dGVuZCAldG0tLWV4cGFuZGVkLWhkO1xuICAgQGV4dGVuZCAudG0tLWZhaXItaGQ7XG59XG4iLCIvKiAtLSBUUkFOU0lUSU9OIFRJTUlORyBGVU5DVElPTlMgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGVhY2ggJG5hbWUsICR0cmFuc2l0aW9uLXRpbWluZyBpbiAkdHJhbnNpdGlvbi10aW1pbmdzIHtcbiAgIC4jeyRuYW1lfSB7XG4gICAgICAmLmNlbnRlcmVkLWxheW91dCAuY29udGVudF9faGVhZGVyOmJlZm9yZSxcbiAgICAgIC5tbi0tcmV2ZWFsLm1uLS1zaG93OmJlZm9yZSxcbiAgICAgIDp3aGVyZSggLm1haW5uYXYsIC5jb250ZW50LCAuaGVhZGVyLCAuaGVhZGVyX19icmFuZCwgLnNpZGViYXIsIC5vZmZjYW52YXMsIC5jb2xsYXBzaW5nLCAuc2VhcmNoYm94X19pbnB1dCwgLmRyb3Bkb3duLW1lbnUsIC5taW5pbmF2LXRvZ2dsZTphZnRlciwgLnNiLS1waW5uZWQgLmNvbnRlbnRfX2JveGVkICkge1xuICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0cmFuc2l0aW9uLXRpbWluZyAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgfVxufVxuIiwiLyogLS0gT1BUSU1JWkUgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gSW1wcm92ZSBpbml0aWFsIGxvYWQgdGltZSBieSBza2lwcGluZyB0aGUgcmVuZGVyaW5nIG9mIG9mZnNjcmVlbiBjb250ZW50LlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ub2ZmY2FudmFzLWJvZHksXG4uZHJvcGRvd24tbWVudSxcbi5zaWRlYmFyIHtcbiAgIGNvbnRlbnQtdmlzaWJpbGl0eTogYXV0bztcbn1cblxuXG5cbi8vIEhpZGUgdGhlIElNRyBlbGVtZW50IGR1cmluZyBpbml0aWFsIGxvYWQgYW5kIHNob3cgaXQgd2hlbiBuZWVkZWQuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiVoaWRlLWxhenktaW1nIHtcbiAgIGltZ1sgbG9hZGluZz1cImxhenlcIl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgIH1cbn1cblxuJXNob3ctbGF6eS1pbWcge1xuICAgaW1nWyBsb2FkaW5nPVwibGF6eVwiXSB7XG4gICAgICBkaXNwbGF5OiB1bnNldDtcbiAgIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUsIC5vZmZjYW52YXMge1xuICAgQGV4dGVuZCAlaGlkZS1sYXp5LWltZztcblxuICAgJi5zaG93IHtcbiAgICAgIEBleHRlbmQgJXNob3ctbGF6eS1pbWc7XG4gICB9XG59XG5cbi5zaWRlYmFyIHtcbiAgIEBleHRlbmQgJWhpZGUtbGF6eS1pbWc7XG5cbiAgIEBhdC1yb290IHtcbiAgICAgIC5zYi0tc2hvdyAjeyZ9IHtcbiAgICAgICAgIEBleHRlbmQgJXNob3ctbGF6eS1pbWc7XG4gICAgICB9XG4gICB9XG59XG5cblxuXG5AbWVkaWEgKCBtaW4td2lkdGggOiAkc2lkZWJhci1waW5uZWQtYXZhaWxhYmxlLWF0ICkge1xuICAgLnNiLS1waW5uZWQgLnNpZGViYXIge1xuICAgICAgaW1nWyBsb2FkaW5nPVwibGF6eVwiXSB7XG4gICAgICAgICBkaXNwbGF5OiB1bnNldDtcbiAgICAgIH1cbiAgIH1cbn1cbiIsIi8qIC0tIE1FRElBIFBSSU5UIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIEBwYWdlIHtcbi8vICAgIG1hcmdpbjogMGNtIGF1dG87XG4vLyAgICBzaXplOiA4LjVpbiAxMWluO1xuLy8gfVxuXG5AbWVkaWEgcHJpbnQge1xuICAgaHRtbCwgYm9keSwgI3Jvb3QsIC5jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgfVxuXG4gICAjcm9vdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbnQtYmc7XG4gICAgICBjb2xvcjogJHByaW50LWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICB9XG5cbiAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIC5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICAgICAgY29sb3I6ICRwcmludC1ibGFjaztcbiAgIH1cblxuICAgLmNvbnRlbnQge1xuICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgIH1cblxuICAgLmJhZGdlLCAuYnRuIHtcbiAgICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICB9XG5cbiAgIC5jYXJkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgIH1cblxuICAgLmJnLWxpZ2h0IHtcbiAgICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbnQtZ3JheSAhaW1wb3J0YW50O1xuICAgfVxuXG4gICAudGV4dC1tdXRlZCwgLnRleHQtYm9keS1zZWNvbmRhcnkge1xuICAgICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIGNvbG9yOiAkcHJpbnQtbXV0ZWQgIWltcG9ydGFudDtcbiAgIH1cblxuICAgLnRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHByaW50LWdyYXkgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkcHJpbnQtYmxhY2sgIWltcG9ydGFudDtcblxuICAgICAgdGhlYWQge1xuICAgICAgICAgdHIsIHRoIHtcbiAgICAgICAgICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgICAgICAgIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICRwcmludC1ibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0Ym9keSB7XG4gICAgICAgICB0ciwgdGQge1xuICAgICAgICAgICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgICAgICAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW50LWdyYXk7XG4gICAgICAgICAgICBjb2xvcjogJHByaW50LWJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICB9XG4gICAgICAgICB0ZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudGFibGUtc3RyaXBlZCB7XG4gICAgICAgICB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB0ZCB7XG4gICAgICAgICAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICAgICAgICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW50LWdyYXk7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgIH1cblxuICAgLmhlYWRlciwgLnNpZGViYXIsICNtYWlubmF2LWNvbnRhaW5lcixcbiAgIC5jb250ZW50X19oZWFkZXIsIGZvb3RlciwgLnNjcm9sbC1jb250YWluZXIsICNfZG0tc2V0dGluZ3NUb2dnbGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgIH1cblxuICAgLmNvbnRlbnRfX2hlYWRlci5vdmVybGFwcGluZyArIC5jb250ZW50X19ib3hlZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICB9XG5cbiAgIC5kLW1kLWZsZXgsIC5kLWxnLWZsZXgsIC5kLXhsLWZsZXgge1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgfVxufVxuIiwiLyogLS0gUklCQk9OIC0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5yaWJib24ge1xuICAgaGVpZ2h0OiA3NXB4O1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHJpZ2h0OiAtNXB4O1xuICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICB0b3A6IC01cHg7XG4gICB3aWR0aDogNzVweDtcbiAgIHotaW5kZXg6IDE7XG5cbiAgIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZDogI2U1M2Y1MDtcbiAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggLTNweCAjeyByZ2JhKCB2YXIoIC0tI3sgJHByZWZpeCB9Ym94LXNoYWRvdy1jb2xvciApLCAxKSB9O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTIxcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdG9wOiAxOXB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNlNTNmNTA7XG4gICAgICAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjZTUzZjUwO1xuICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCAjZTUzZjUwO1xuICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICNlNTNmNTA7XG4gICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgfVxuICAgfVxufVxuIiwiLyogLS0gRVJST1IgQ09ERSAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZXJyb3ItY29kZSB7XG4gICBmb250LXNpemU6IDlyZW0gIWltcG9ydGFudDtcbiAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICBsaW5lLWhlaWdodDogMTtcbn1cbiIsIi8qIC0tIEhPVkVSIEVGRkVDVFMgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJWh2LXRyYW5zaXRpb24tdHJhbnNmb3JtIHtcbiAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9aHYtdHJhbnNpdGlvbi1kdXJhdGlvbiApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1odi10cmFuc2l0aW9uLXRpbWluZyApO1xufVxuXG4laHYtdHJhbnNpdGlvbi1vdXRsaW5lIHtcbiAgIHRyYW5zaXRpb246XG4gICAgICBvdXRsaW5lIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1odi10cmFuc2l0aW9uLWR1cmF0aW9uICkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWh2LXRyYW5zaXRpb24tdGltaW5nICksXG4gICAgICBvdXRsaW5lLW9mZnNldCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9aHYtdHJhbnNpdGlvbi1kdXJhdGlvbiApIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1odi10cmFuc2l0aW9uLXRpbWluZyApLFxuICAgICAgdHJhbnNmb3JtIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1odi10cmFuc2l0aW9uLWR1cmF0aW9uICkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWh2LXRyYW5zaXRpb24tdGltaW5nICk7XG59XG5cbiVodi1ncm93IHtcbiAgIEBleHRlbmQgJWh2LXRyYW5zaXRpb24tdHJhbnNmb3JtO1xuICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgdHJhbnNmb3JtOiBzY2FsZSggdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWh2LWdyb3ctc2NhbGUgKSApIHRyYW5zbGF0ZVooMCk7XG4gICAvL3dpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG59XG5cblxuXG4vLyBDU1MgVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5odi1ncm93LCAuaHYtb3V0bGluZSB7XG4gICAmLCAmLXBhcmVudCB7XG4gICAgICAtLSN7ICRuaWZ0eS1wcmVmaXggfWh2LXRyYW5zaXRpb24tZHVyYXRpb246ICN7ICRodi10cmFuc2l0aW9uLWR1cmF0aW9uIH07XG4gICAgICAtLSN7ICRuaWZ0eS1wcmVmaXggfWh2LXRyYW5zaXRpb24tdGltaW5nOiAjeyAkaHYtdHJhbnNpdGlvbi10aW1pbmcgfTtcbiAgIH1cbn1cblxuXG4uaHYtZ3JvdyB7XG4gICAmLCAmLXBhcmVudCB7XG4gICAgICAtLSN7ICRuaWZ0eS1wcmVmaXggfWh2LWdyb3ctc2NhbGU6ICN7ICRodi1ncm93LXNjYWxlIH07XG4gICB9XG59XG5cblxuLmh2LW91dGxpbmUge1xuICAgJiwgJi1wYXJlbnQge1xuICAgICAgLS0jeyAkbmlmdHktcHJlZml4IH1odi1vdXRsaW5lLXdpZHRoOiAjeyAkaHYtb3V0bGluZS13aWR0aCB9O1xuICAgICAgLS0jeyAkbmlmdHktcHJlZml4IH1odi1vdXRsaW5lLW9mZnNldDogI3sgJGh2LW91dGxpbmUtb2Zmc2V0IH07XG4gICAgICAtLSN7ICRuaWZ0eS1wcmVmaXggfWh2LW91dGxpbmUtY29sb3I6ICN7ICRodi1vdXRsaW5lLWNvbG9yIH07XG4gICAgICAtLSN7ICRuaWZ0eS1wcmVmaXggfWh2LW91dGxpbmUtY29sb3ItYWN0aXZlOiAjeyAkaHYtb3V0bGluZS1jb2xvci1hY3RpdmUgfTtcbiAgIH1cbn1cblxuXG5cbi8vIEdyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmh2LWdyb3cge1xuICAgJiwgJi1wYXJlbnQgLmh2LWdjIHtcbiAgICAgIEBleHRlbmQgJWh2LXRyYW5zaXRpb24tdHJhbnNmb3JtO1xuICAgfVxuXG5cbiAgICY6aG92ZXIsICYtcGFyZW50OmhvdmVyIC5odi1nYyAge1xuICAgICAgQGV4dGVuZCAlaHYtZ3JvdztcbiAgIH1cbn1cblxuXG5cbi8vIE91dGxpbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmh2LW91dGxpbmUge1xuICAgJiwgJi1wYXJlbnQgLmh2LW9jIHtcbiAgICAgIEBleHRlbmQgJWh2LXRyYW5zaXRpb24tb3V0bGluZTtcbiAgICAgIG91dGxpbmU6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1odi1vdXRsaW5lLXdpZHRoICkgc29saWQgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWh2LW91dGxpbmUtY29sb3IgKTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgfVxuXG5cbiAgICY6aG92ZXIsICYtcGFyZW50OmhvdmVyIC5odi1vYyB7XG4gICAgICBAZXh0ZW5kICVodi10cmFuc2l0aW9uLW91dGxpbmU7XG4gICAgICBvdXRsaW5lOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9aHYtb3V0bGluZS13aWR0aCApIHNvbGlkO1xuICAgICAgb3V0bGluZS1jb2xvcjogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWh2LW91dGxpbmUtY29sb3ItYWN0aXZlICk7XG4gICAgICBvdXRsaW5lLW9mZnNldDogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWh2LW91dGxpbmUtb2Zmc2V0ICk7XG4gICB9XG5cbiAgICYuaHYtb3V0bGluZS1pbmhlcml0LCAmLXBhcmVudC5odi1vdXRsaW5lLWluaGVyaXQge1xuICAgICAgLS0jeyAkbmlmdHktcHJlZml4IH1odi1vdXRsaW5lLWNvbG9yLWFjdGl2ZTogaW5oZXJpdDtcbiAgIH1cbn1cbiIsIi8qIC0tIEJPWEVEIExBWU9VVCAtLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWVkaWEgKCBtaW4td2lkdGggOiBNYXgoIDEwMjRweCwgI3sgJGJveGVkLWxheW91dC1tYXgtd2lkdGggfSApICkge1xuICAgLmJveGVkLWxheW91dCB7XG5cbiAgICAgIC0tI3sgJG5pZnR5LXByZWZpeCB9Ym94ZWQtbGF5b3V0LWJnOiAgICAgICAgICAgICN7ICRib3hlZC1sYXlvdXQtYmcgfTtcbiAgICAgIC0tI3sgJG5pZnR5LXByZWZpeCB9Ym94ZWQtbGF5b3V0LWJnLXJlcGVhdDogICAgICN7ICRib3hlZC1sYXlvdXQtYmctcmVwZWF0IH07XG4gICAgICAtLSN7ICRuaWZ0eS1wcmVmaXggfWJveGVkLWxheW91dC1iZy1pbWFnZTogICAgICAjeyAkYm94ZWQtbGF5b3V0LWJnLWltYWdlIH07XG4gICAgICAtLSN7ICRuaWZ0eS1wcmVmaXggfWJveGVkLWxheW91dC1iZy1zaXplOiAgICAgICAjeyAkYm94ZWQtbGF5b3V0LWJnLXNpemUgfTtcbiAgICAgIC0tI3sgJG5pZnR5LXByZWZpeCB9Ym94ZWQtbGF5b3V0LWJnLWF0dGFjaG1lbnQ6ICN7ICRib3hlZC1sYXlvdXQtYmctYXR0YWNobWVudCB9O1xuXG4gICAgICAtLSN7ICRuaWZ0eS1wcmVmaXggfWJveGVkLWxheW91dC1wYWRkaW5nLXk6ICAgICAjeyAkYm94ZWQtbGF5b3V0LXBhZGRpbmcteSB9O1xuICAgICAgLS0jeyAkbmlmdHktcHJlZml4IH1ib3hlZC1sYXlvdXQtbWF4LXdpZHRoOiAgICAgI3sgJGJveGVkLWxheW91dC1tYXgtd2lkdGggfTtcbiAgICAgIC0tI3sgJG5pZnR5LXByZWZpeCB9Ym94ZWQtbGF5b3V0LWJvcmRlci1yYWRpdXM6ICN7ICRib3hlZC1sYXlvdXQtYm9yZGVyLXJhZGl1cyB9O1xuXG5cbiAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJveGVkLWxheW91dC1iZy1hdHRhY2htZW50ICk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9Ym94ZWQtbGF5b3V0LWJnICk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9Ym94ZWQtbGF5b3V0LWJnLWltYWdlICk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJveGVkLWxheW91dC1iZy1yZXBlYXQgKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJveGVkLWxheW91dC1iZy1zaXplICk7XG4gICAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9Ym94ZWQtbGF5b3V0LW1heC13aWR0aCApO1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJveGVkLWxheW91dC1wYWRkaW5nLXkgKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMCAhaW1wb3J0YW50O1xuXG4gICAgICAmOm5vdCggLnNvbGlkLWJnICk6YWZ0ZXIge1xuICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSh2YXIoIC0tI3sgJHByZWZpeCB9ZGFyay1yZ2IpLCAwLjc5KSAyOSUsIHJnYmEodmFyKCAtLSN7ICRwcmVmaXggfWRhcmstcmdiKSwgMC40KSA3NSUpO1xuICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cblxuXG4gICAgICAvLyBBZGQgY2xpcCBwYXRoIHRvIHRoZSBjb250YWluZXIuXG4gICAgICAvLyBXZSB1c2UgY2xpcC1wYXRoIHJhdGhlciB0aGFuIG92ZXJmbG93IGJlY2F1c2Ugb3ZlcmZsb3cgd2lsbCBicmVhayB0aGUgc3RpY2t5IHBvc2l0aW9uIGZvciBuYXZpZ2F0aW9uIGFuZCBoZWFkZXJzXG4gICAgICAucm9vdCB7XG4gICAgICAgICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoIDAgMCAwIDAgcm91bmQgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJveGVkLWxheW91dC1ib3JkZXItcmFkaXVzICkgKTtcbiAgICAgICAgIGNsaXAtcGF0aDogaW5zZXQoIDAgMCAwIDAgcm91bmQgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJveGVkLWxheW91dC1ib3JkZXItcmFkaXVzICkgKTtcbiAgICAgIH1cblxuXG4gICAgICAvLyBGaXggdGhlIGJhY2tkcm9wIHdoZW4gY29tYmluaW5nIGJveGVkLWxheW91dCB3aXRoIHJldmVhbCBuYXZpZ2F0aW9uLlxuICAgICAgPiAubW4tLXJldmVhbC5tbi0tc2hvdzpiZWZvcmUge1xuICAgICAgICAgbWF4LXdpZHRoOiB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9Ym94ZWQtbGF5b3V0LW1heC13aWR0aCApO1xuICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtcmV2ZWFsLXRyYW5zaXRpb24tZHVyYXRpb24gKSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1yZXZlYWwtdHJhbnNpdGlvbi10aW1pbmcgKSAhaW1wb3J0YW50O1xuICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCBjYWxjKCAoMTAwJSAtICN7IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1ib3hlZC1sYXlvdXQtbWF4LXdpZHRoICl9ICkgKyAjeyB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1tYXgtd2lkdGggKX0gKSk7XG4gICAgICB9XG5cbiAgICAgIC5tZWdhLWRyb3Bkb3duIHtcbiAgICAgICAgIG1heC13aWR0aDogY2FsYyggNzUgKiAjeyB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9Ym94ZWQtbGF5b3V0LW1heC13aWR0aCApfSAvIDEwMCApO1xuICAgICAgfVxuXG4gICAgICAuc2lkZWJhciB7XG4gICAgICAgICB0b3A6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1ib3hlZC1sYXlvdXQtcGFkZGluZy15KTtcbiAgICAgIH1cblxuICAgICAgLnNlYXJjaGJveC5zZWFyY2hib3gtLWF1dG8tZXhwYW5kIC5zZWFyY2hib3hfX2lucHV0IHtcbiAgICAgICAgIG1heC13aWR0aDogY2FsYyggdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJveGVkLWxheW91dC1tYXgtd2lkdGggKSAvIDIuMiApO1xuICAgICAgfVxuXG4gICAgICA+IC5zYi0tcGlubmVkIC5zaWRlYmFyIHtcbiAgICAgICAgIHRvcDogY2FsYyggdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfWJveGVkLWxheW91dC1wYWRkaW5nLXkgKSArIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItaGVpZ2h0ICkgKyAuMDYyNXJlbSApO1xuICAgICAgfVxuXG4gICAgICAvLyBGaXggd2Via2l0IGdhcCBlZGdlXG4gICAgICA+IC5oZC0tc3RpY2t5IC5oZWFkZXIge1xuICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItYmcgKTtcbiAgICAgIH1cbiAgICB9XG59XG4iLCIvKiAtLSBDRU5URVJFRCBMQVlPVVQgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gRGVmYXVsdCBsYXlvdXQgd2hlbiBuYXZpZ2F0aW9uIGlzIGN1cnJlbnRseSBpbiBvZmYtY2FudmFzIG1vZGUuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtZWRpYSAoIG1pbi13aWR0aCA6ICRjZW50ZXJlZC1sYXlvdXQtbWF4LXdpZHRoICkge1xuICAgLmNlbnRlcmVkLWxheW91dCB7XG4gICAgICA+IC5yb290Om5vdCgubW4tLW1heCk6bm90KC5tbi0tbWluKSB7XG4gICAgICAgICA+IC5tYWlubmF2IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0OiAwIGF1dG8gYXV0byAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgICB9XG5cbiAgICAgICAgIC5jb250ZW50X19oZWFkZXIgPiAuY29udGVudF9fd3JhcCxcbiAgICAgICAgIC5jb250ZW50X19ib3hlZDpub3QoIC5jb250ZW50X19oZWFkZXIgKSB7XG4gICAgICAgICAgICB3aWR0aDogJGNlbnRlcmVkLWxheW91dC1tYXgtd2lkdGg7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG5cblxuLy8gQ2VudGVyZWQgbGF5b3V0IHdpdGggcGlubmVkIHNpZGViYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1lZGlhICggbWluLXdpZHRoIDogJHNpZGViYXItcGlubmVkLWF2YWlsYWJsZS1hdCApIHtcbiAgIC5jZW50ZXJlZC1sYXlvdXR7XG4gICAgICAgICAuc2ItLXBpbm5lZCAuc2lkZWJhciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgICAgICAgIH1cblxuICAgICAgICAgLnNiLS1waW5uZWQ6bm90KC5tbi0tbWF4KTpub3QoLm1uLS1taW4pIHtcbiAgICAgICAgICAgICYuc2ItLXVuaXRlIC5jb250ZW50X19oZWFkZXI6YWZ0ZXIge1xuICAgICAgICAgICAgICAgcmlnaHQ6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXdpZHRoICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250ZW50X19oZWFkZXIgeyBwYWRkaW5nOiAwOyB9XG4gICAgICAgICAgICAuY29udGVudF9fYm94ZWQ6bm90KC5jb250ZW50X19oZWFkZXIpLCAuY29udGVudF9faGVhZGVyID4gLmNvbnRlbnRfX3dyYXAge1xuICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogI3sgY2FsYygkc2lkZWJhci13aWR0aCAtICggY2FsYyggMTAwdncgLSAkY2VudGVyZWQtbGF5b3V0LW1heC13aWR0aCApIC8gMiApKX07XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICB9XG59XG5cblxuXG4vLyBDZW50ZXJlZCBsYXlvdXQgd2l0aCBtYXggbmF2aWdhdGlvbiBtb2RlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtZWRpYSAoIG1pbi13aWR0aDogJGNlbnRlcmVkLWxheW91dC1taW4tdmlld3BvcnQgKSB7XG4gICAuY2VudGVyZWQtbGF5b3V0IHtcblxuICAgICAgLm1haW5uYXYge1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgaW5zZXQ6IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItaGVpZ2h0ICkgYXV0byBhdXRvIDA7XG4gICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1oZWFkZXItaGVpZ2h0ICkpO1xuICAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICB9XG5cbiAgICAgIC5jb250ZW50X19oZWFkZXIgPiAuY29udGVudF9fd3JhcCxcbiAgICAgIC5jb250ZW50X19ib3hlZDpub3QoIC5jb250ZW50X19oZWFkZXIgKSB7XG4gICAgICAgICB3aWR0aDogJGNlbnRlcmVkLWxheW91dC1tYXgtd2lkdGg7XG4gICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAubW4tLW1pbi50bS0tZXhwYW5kZWQtaGQgLmNvbnRlbnRfX2hlYWRlcjpiZWZvcmUge1xuICAgICAgICAgbGVmdDogI3sgY2FsYyggdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbWluLXdpZHRoICkgLSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9c2lkZWJhci11bml0ZS1vdXRlci1ib3JkZXItcmFkaXVzICkpIH07XG4gICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1tYWlubmF2LW1pbi10cmFuc2l0aW9uLWR1cmF0aW9uICkgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbWluLXRyYW5zaXRpb24tdGltaW5nICk7XG4gICAgICB9XG5cbiAgICAgIC5tbi0tbWF4LnRtLS1leHBhbmRlZC1oZCAuY29udGVudF9faGVhZGVyOmJlZm9yZSB7XG4gICAgICAgICBsZWZ0OiAjeyBjYWxjKCB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1tYXgtd2lkdGggKSAtIHZhciggLS0jeyAkbmlmdHktcHJlZml4IH1zaWRlYmFyLXVuaXRlLW91dGVyLWJvcmRlci1yYWRpdXMgKSkgfTtcbiAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfW1haW5uYXYtbWF4LXRyYW5zaXRpb24tZHVyYXRpb24gKSB2YXIoIC0tI3sgJG5pZnR5LXByZWZpeCB9bWFpbm5hdi1tYXgtdHJhbnNpdGlvbi10aW1pbmcgKTtcbiAgICAgIH1cblxuICAgICAgLnNiLS1waW5uZWQge1xuICAgICAgICAgJi5zYi0tdW5pdGUgLmNvbnRlbnRfX2hlYWRlcjphZnRlciB7XG4gICAgICAgICAgICByaWdodDogdmFyKCAtLSN7ICRuaWZ0eS1wcmVmaXggfXNpZGViYXItd2lkdGggKTtcbiAgICAgICAgIH1cblxuICAgICAgICAgLmNvbnRlbnRfX2hlYWRlciB7IHBhZGRpbmc6IDA7IH1cbiAgICAgICAgIC5jb250ZW50X19ib3hlZDpub3QoLmNvbnRlbnRfX2hlYWRlciksIC5jb250ZW50X19oZWFkZXIgPiAuY29udGVudF9fd3JhcCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAjeyBjYWxjKCRzaWRlYmFyLXdpZHRoIC0gKCBjYWxjKCAxMDB2dyAtICRjZW50ZXJlZC1sYXlvdXQtbWF4LXdpZHRoICkgLyAyICkpfTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cbiIsIi8qIC0tIENPTE9SIENPTVBPTkVOVFMgLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGVhY2ggJGtleSwgJGJhY2tncm91bmQgaW4gJGNvbG9yLXNjaGVtZXMge1xuICAgQGlmICRiYWNrZ3JvdW5kICE9IFwiJHByaW1hcnlcIiB7XG5cbiAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAgIC8qICN7JGtleX0gY29sb3Igc2NoZW1lICovXG5cbiAgICAgIFtkYXRhLXNjaGVtZT0gXCIjeyRrZXl9XCJdIHtcbiAgICAgICAgICRjdXJyZW50LXByaW1hcnktcmF0aW86IGNvbnRyYXN0LXJhdGlvKCAkYmFja2dyb3VuZCwgJGNvbXBvbmVudC1iZyAgKTtcblxuICAgICAgICAgQGlmICRjb250ZW50LXRpdGxlLWNvbG9yID09IFwidmFyKC0tI3sgJHByZWZpeCB9cHJpbWFyeSlcIiBvciAkY29udGVudC10aXRsZS1jb2xvciA9PSAkcHJpbWFyeSB7XG4gICAgICAgICAgICBAaWYgJGN1cnJlbnQtcHJpbWFyeS1yYXRpbyA8PSAkbWluLWNvbnRyYXN0LXJhdGlvIHtcbiAgICAgICAgICAgICAgIC0tI3sgJG5pZnR5LXByZWZpeCB9Y29udGVudC10aXRsZS1jb2xvciA6ICN7IHNoYWRlLWNvbG9yKCAkYmFja2dyb3VuZCwgMjAlICkgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgICBAaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICAgICAgICAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrLCB0cnVlKSB7XG4gICAgICAgICAgICAmW2RhdGEtc2NoZW1lPSBcIiN7JGtleX1cIl0ge1xuICAgICAgICAgICAgICAgJGN1cnJlbnQtcHJpbWFyeS1yYXRpbzogY29udHJhc3QtcmF0aW8oICRiYWNrZ3JvdW5kLCAkY29tcG9uZW50LWJnLWRhcmsgICk7XG5cbiAgICAgICAgICAgICAgIC0tI3sgJG5pZnR5LXByZWZpeCB9Y29udGVudC10aXRsZS1yYXRpbyA6ICN7ICRjdXJyZW50LXByaW1hcnktcmF0aW8gfTtcblxuICAgICAgICAgICAgICAgQGlmICRjb250ZW50LXRpdGxlLWNvbG9yID09IFwidmFyKC0tI3sgJHByZWZpeCB9cHJpbWFyeSlcIiBvciAkY29udGVudC10aXRsZS1jb2xvciA9PSAkcHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgICBAaWYgJGN1cnJlbnQtcHJpbWFyeS1yYXRpbyA8PSAkbWluLWNvbnRyYXN0LXJhdGlvIHtcbiAgICAgICAgICAgICAgICAgICAgIC0tI3sgJG5pZnR5LXByZWZpeCB9Y29udGVudC10aXRsZS1jb2xvciA6ICN7IHRpbnQtY29sb3IoICRiYWNrZ3JvdW5kLCAyMCUgKSB9O1xuICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAtLSN7ICRuaWZ0eS1wcmVmaXggfWNvbnRlbnQtdGl0bGUtY29sb3I6ICN7ICRjb250ZW50LXRpdGxlLWNvbG9yIH07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qIEVuZCAjeyRrZXl9IGNvbG9yIHNjaGVtZSAqL1xuXG4gICB9XG59XG4iLCIvLyBJbXBvcnQgZGVmYXVsdCBib290c3RyYXAncyBhbmQgbmlmdHkncyB2YXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuXG5cblxuLy8gTGl0ZXBpY2tlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKiFcbiAqIC4uL2Nzcy9saXRlcGlja2VyLmNzc1xuICogTGl0ZXBpY2tlciB2Mi4wLjEyIChodHRwczovL2dpdGh1Yi5jb20vd2FraXJpbi9MaXRlcGlja2VyKVxuICogUGFja2FnZTogbGl0ZXBpY2tlciAoaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvbGl0ZXBpY2tlcilcbiAqIExpY2Vuc2U6IE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3dha2lyaW4vTGl0ZXBpY2tlci9ibG9iL21hc3Rlci9MSUNFTkNFLm1kKVxuICogQ29weXJpZ2h0IDIwMTktMjAyMSBSaW5hdCBHLlxuICovXG5cblxuOnJvb3Qge1xuICAgLS1saXRlcGlja2VyLWNvbnRhaW5lci1tb250aHMtY29sb3ItYmc6ICAgICAgICAgICAgdmFyKC0tI3sgJHByZWZpeCAgfWNvbXBvbmVudC1iZyk7XG4gICAtLWxpdGVwaWNrZXItY29udGFpbmVyLW1vbnRocy1ib3gtc2hhZG93LWNvbG9yOiAgICAjZGRkO1xuICAgLS1saXRlcGlja2VyLWZvb3Rlci1jb2xvci1iZzogICAgICAgICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyAkcHJlZml4ICB9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjIpO1xuICAgLS1saXRlcGlja2VyLWZvb3Rlci1ib3gtc2hhZG93LWNvbG9yOiAgICAgICAgICAgICAgI2RkZDtcbiAgIC0tbGl0ZXBpY2tlci10b29sdGlwLWNvbG9yLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7ICRwcmVmaXggIH1jb21wb25lbnQtYmcpO1xuICAgLS1saXRlcGlja2VyLW1vbnRoLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3sgJHByZWZpeCAgfWVtcGhhc2lzLWNvbG9yKTtcbiAgIC0tbGl0ZXBpY2tlci1idXR0b24tcHJldi1tb250aC1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7ICRwcmVmaXggIH1zZWNvbmRhcnktY29sb3IpO1xuICAgLS1saXRlcGlja2VyLWJ1dHRvbi1uZXh0LW1vbnRoLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3sgJHByZWZpeCAgfXNlY29uZGFyeS1jb2xvcik7XG4gICAtLWxpdGVwaWNrZXItYnV0dG9uLXByZXYtbW9udGgtY29sb3ItaG92ZXI6ICAgICAgICB2YXIoLS0jeyAkcHJlZml4ICB9Y29tcG9uZW50LWhvdmVyLWJnKTtcbiAgIC0tbGl0ZXBpY2tlci1idXR0b24tbmV4dC1tb250aC1jb2xvci1ob3ZlcjogICAgICAgIHZhcigtLSN7ICRwcmVmaXggIH1jb21wb25lbnQtaG92ZXItYmcpO1xuICAgLS1saXRlcGlja2VyLW1vbnRoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsYyh2YXIoLS1saXRlcGlja2VyLWRheS13aWR0aCkgKiA3KTsgLy8gNyBkYXlzXG4gICAtLWxpdGVwaWNrZXItbW9udGgtd2Vla2RheS1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyAkcHJlZml4ICB9c2Vjb25kYXJ5LWNvbG9yKTtcbiAgIC0tbGl0ZXBpY2tlci1tb250aC13ZWVrLW51bWJlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7ICRwcmVmaXggIH1zZWNvbmRhcnktY29sb3IpO1xuICAgLS1saXRlcGlja2VyLWRheS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMzhweDtcbiAgIC0tbGl0ZXBpY2tlci1kYXktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7ICRwcmVmaXggIH1lbXBoYXNpcy1jb2xvcik7XG4gICAtLWxpdGVwaWNrZXItZGF5LWNvbG9yLWhvdmVyOiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyAkcHJlZml4ICB9ZW1waGFzaXMtY29sb3IpO1xuICAgLS1saXRlcGlja2VyLWRheS1iZy1ob3ZlcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3sgJHByZWZpeCAgfWNvbXBvbmVudC1ob3Zlci1iZyk7XG4gICAtLWxpdGVwaWNrZXItaXMtdG9kYXktYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyAkcHJlZml4ICB9cHJpbWFyeS1iZy1zdWJ0bGUpO1xuICAgLS1saXRlcGlja2VyLWlzLXRvZGF5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3sgJHByZWZpeCAgfXByaW1hcnktdGV4dC1lbXBoYXNpcyk7XG4gICAtLWxpdGVwaWNrZXItaXMtaW4tcmFuZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyAkcHJlZml4ICB9Y29tcG9uZW50LWhvdmVyLWJnKTtcbiAgIC0tbGl0ZXBpY2tlci1pcy1sb2NrZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7ICRwcmVmaXggIH1zZWNvbmRhcnktY29sb3IpO1xuICAgLS1saXRlcGlja2VyLWlzLXN0YXJ0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3sgJHByZWZpeCAgfXByaW1hcnktY29sb3IpO1xuICAgLS1saXRlcGlja2VyLWlzLXN0YXJ0LWNvbG9yLWJnOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3sgJHByZWZpeCAgfXByaW1hcnkpO1xuICAgLS1saXRlcGlja2VyLWlzLWVuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3sgJHByZWZpeCAgfXByaW1hcnktY29sb3IpO1xuICAgLS1saXRlcGlja2VyLWlzLWVuZC1jb2xvci1iZzogICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3sgJHByZWZpeCAgfXByaW1hcnkpO1xuICAgLS1saXRlcGlja2VyLWJ1dHRvbi1jYW5jZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgI2ZmZjtcbiAgIC0tbGl0ZXBpY2tlci1idXR0b24tY2FuY2VsLWNvbG9yLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7ICRwcmVmaXggIH1zZWNvbmRhcnktY29sb3IpO1xuICAgLS1saXRlcGlja2VyLWJ1dHRvbi1hcHBseS1jb2xvcjogICAgICAgICAgICAgICAgICAgI2ZmZjtcbiAgIC0tbGl0ZXBpY2tlci1idXR0b24tYXBwbHktY29sb3ItYmc6ICAgICAgICAgICAgICAgIHZhcigtLSN7ICRwcmVmaXggIH1jb21wb25lbnQtaG92ZXItYmcpO1xuICAgLS1saXRlcGlja2VyLWJ1dHRvbi1yZXNldC1jb2xvcjogICAgICAgICAgICAgICAgICAgIzkwOTA5MDtcbiAgIC0tbGl0ZXBpY2tlci1idXR0b24tcmVzZXQtY29sb3ItaG92ZXI6ICAgICAgICAgICAgIHZhcigtLSN7ICRwcmVmaXggIH1jb21wb25lbnQtaG92ZXItYmcpO1xuICAgLS1saXRlcGlja2VyLWhpZ2hsaWdodGVkLWRheS1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3sgJHByZWZpeCAgfWVtcGhhc2lzLWNvbG9yKTtcbiAgIC0tbGl0ZXBpY2tlci1oaWdobGlnaHRlZC1kYXktY29sb3ItYmc6ICAgICAgICAgICAgICNmZmViM2I7XG59XG5cbiRkZWZhdWx0LXBhZGRpbmcgOiAuNzVyZW07XG5cbi5zaG93LXdlZWstbnVtYmVycyB7XG4gICAtLWxpdGVwaWNrZXItbW9udGgtd2lkdGg6IGNhbGModmFyKC0tbGl0ZXBpY2tlci1kYXktd2lkdGgpICogOCk7XG59XG5cbi5saXRlcGlja2VyIHtcbiAgIGZvbnQtZmFtaWx5OiB2YXIoLS1icy1mb250LXNhbnMtc2VyaWYpO1xuICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICBkaXNwbGF5OiBub25lO1xuXG4gICBidXR0b24ge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgIH1cblxuICAgLmNvbnRhaW5lciB7XG4gICAgICAmX19tYWluIHtcbiAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG5cbiAgICAgICZfX21vbnRocyB7XG4gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGl0ZXBpY2tlci1jb250YWluZXItbW9udGhzLWNvbG9yLWJnKTtcbiAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLSN7ICRwcmVmaXggfWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctbGcpO1xuICAgICAgICAgd2lkdGg6IGNhbGModmFyKC0tbGl0ZXBpY2tlci1tb250aC13aWR0aCkgKyAoI3sgJGRlZmF1bHQtcGFkZGluZyAqIDIgfSkpOyAvLyAxMHB4IGlzIHBhZGRpbmcgKGxlZnQgNXB4LCByaWdodDogNXB4KVxuICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICBwYWRkaW5nLWJvdHRvbTogI3sgJGRlZmF1bHQtcGFkZGluZyB9O1xuXG4gICAgICAgICAmLmNvbHVtbnMtMiB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygodmFyKC0tbGl0ZXBpY2tlci1tb250aC13aWR0aCkgKiAyKSArICN7ICggJGRlZmF1bHQtcGFkZGluZyAqIDIgKSAqIDIgfSk7XG4gICAgICAgICB9XG5cbiAgICAgICAgICYuY29sdW1ucy0zIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCh2YXIoLS1saXRlcGlja2VyLW1vbnRoLXdpZHRoKSAqIDMpICsgI3sgKCAkZGVmYXVsdC1wYWRkaW5nICogMiApICogMyB9KTtcbiAgICAgICAgIH1cblxuICAgICAgICAgJi5jb2x1bW5zLTQge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoKHZhcigtLWxpdGVwaWNrZXItbW9udGgtd2lkdGgpICogNCkgKyAjeyAoICRkZWZhdWx0LXBhZGRpbmcgKiAyICkgKiA0IH0pO1xuICAgICAgICAgfVxuXG4gICAgICAgICAmLnNwbGl0LXZpZXcge1xuICAgICAgICAgICAgLm1vbnRoLWl0ZW0ge1xuICAgICAgICAgICAgICAgJi1oZWFkZXIge1xuXG4gICAgICAgICAgICAgICAgICAuYnV0dG9uLXByZXZpb3VzLW1vbnRoLFxuICAgICAgICAgICAgICAgICAgLmJ1dHRvbi1uZXh0LW1vbnRoIHtcbiAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG5cbiAgICAgICAgIC5tb250aC1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNhbGMoICRkZWZhdWx0LXBhZGRpbmcgLyAyICkgJGRlZmF1bHQtcGFkZGluZztcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1saXRlcGlja2VyLW1vbnRoLXdpZHRoKTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXG4gICAgICAgICAgICAmLWhlYWRlciB7XG4gICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgICAgICAgICAgICBmb250LXNpemU6IC45NXJlbTtcbiAgICAgICAgICAgICAgIHBhZGRpbmc6IC43NXJlbSAuMzEyNXJlbTtcbiAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbGl0ZXBpY2tlci1tb250aC1oZWFkZXItY29sb3IpO1xuXG4gICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgICAgZmxleDogMTtcblxuICAgICAgICAgICAgICAgICAgPi5tb250aC1pdGVtLW5hbWUge1xuICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuMzEyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICA+Lm1vbnRoLWl0ZW0teWVhciB7XG4gICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAucmVzZXQtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saXRlcGlja2VyLWJ1dHRvbi1yZXNldC1jb2xvcik7XG5cbiAgICAgICAgICAgICAgICAgID5zdmcge1xuICAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tbGl0ZXBpY2tlci1idXR0b24tcmVzZXQtY29sb3IpO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saXRlcGlja2VyLWJ1dHRvbi1yZXNldC1jb2xvci1ob3Zlcik7XG5cbiAgICAgICAgICAgICAgICAgICAgID5zdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tbGl0ZXBpY2tlci1idXR0b24tcmVzZXQtY29sb3ItaG92ZXIpO1xuICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAuYnV0dG9uLXByZXZpb3VzLW1vbnRoLFxuICAgICAgICAgICAgICAgLmJ1dHRvbi1uZXh0LW1vbnRoIHtcbiAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS0jeyAkcHJlZml4IH1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MsIGJvcmRlciAwLjNzO1xuICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAuYnV0dG9uLXByZXZpb3VzLW1vbnRoIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saXRlcGlja2VyLWJ1dHRvbi1wcmV2LW1vbnRoLWNvbG9yKTtcblxuICAgICAgICAgICAgICAgICAgPnN2ZyxcbiAgICAgICAgICAgICAgICAgID5pbWcge1xuICAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tbGl0ZXBpY2tlci1idXR0b24tcHJldi1tb250aC1jb2xvcik7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpdGVwaWNrZXItYnV0dG9uLXByZXYtbW9udGgtY29sb3ItaG92ZXIpO1xuXG4gICAgICAgICAgICAgICAgICAgICA+c3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLWxpdGVwaWNrZXItYnV0dG9uLXByZXYtbW9udGgtY29sb3ItaG92ZXIpO1xuICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAuYnV0dG9uLW5leHQtbW9udGgge1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpdGVwaWNrZXItYnV0dG9uLW5leHQtbW9udGgtY29sb3IpO1xuXG4gICAgICAgICAgICAgICAgICA+c3ZnLFxuICAgICAgICAgICAgICAgICAgPmltZyB7XG4gICAgICAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1saXRlcGlja2VyLWJ1dHRvbi1uZXh0LW1vbnRoLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbGl0ZXBpY2tlci1idXR0b24tbmV4dC1tb250aC1jb2xvci1ob3Zlcik7XG5cbiAgICAgICAgICAgICAgICAgICAgID5zdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tbGl0ZXBpY2tlci1idXR0b24tbmV4dC1tb250aC1jb2xvci1ob3Zlcik7XG4gICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtd2Vla2RheXMtcm93IHtcbiAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saXRlcGlja2VyLW1vbnRoLXdlZWtkYXktY29sb3IpO1xuXG4gICAgICAgICAgICAgICA+ZGl2IHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA4NSU7XG4gICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLWxpdGVwaWNrZXItZGF5LXdpZHRoKTtcbiAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAuYnV0dG9uLXByZXZpb3VzLW1vbnRoIHtcbiAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAuYnV0dG9uLW5leHQtbW9udGgge1xuICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5uby1wcmV2aW91cy1tb250aCB7XG4gICAgICAgICAgICAgICAuYnV0dG9uLXByZXZpb3VzLW1vbnRoIHtcbiAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5uby1uZXh0LW1vbnRoIHtcbiAgICAgICAgICAgICAgIC5idXR0b24tbmV4dC1tb250aCB7XG4gICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2RheXMge1xuICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cbiAgICAgICAgID5kaXYsXG4gICAgICAgICA+YSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1saXRlcGlja2VyLWRheS13aWR0aCk7XG4gICAgICAgICB9XG5cbiAgICAgICAgIC5kYXktaXRlbSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbGl0ZXBpY2tlci1kYXktY29sb3IpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tI3sgJHByZWZpeCB9Ym9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzLCBib3JkZXIgMC4zcztcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbGl0ZXBpY2tlci1kYXktY29sb3ItaG92ZXIpO1xuICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGl0ZXBpY2tlci1kYXktYmctaG92ZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLXRvZGF5IHtcbiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpdGVwaWNrZXItaXMtdG9kYXktYmcpO1xuICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpdGVwaWNrZXItaXMtdG9kYXktY29sb3IpO1xuICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtbG9ja2VkIHtcbiAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saXRlcGlja2VyLWlzLWxvY2tlZC1jb2xvcik7XG5cbiAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpdGVwaWNrZXItaXMtbG9ja2VkLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtaW4tcmFuZ2Uge1xuICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGl0ZXBpY2tlci1pcy1pbi1yYW5nZS1jb2xvcik7XG4gICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLXN0YXJ0LWRhdGUge1xuICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpdGVwaWNrZXItaXMtc3RhcnQtY29sb3IpO1xuICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGl0ZXBpY2tlci1pcy1zdGFydC1jb2xvci1iZyk7XG4gICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXG4gICAgICAgICAgICAgICAmLmlzLWZsaXBwZWQge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1lbmQtZGF0ZSB7XG4gICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbGl0ZXBpY2tlci1pcy1lbmQtY29sb3IpO1xuICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGl0ZXBpY2tlci1pcy1lbmQtY29sb3ItYmcpO1xuICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcblxuICAgICAgICAgICAgICAgJi5pcy1mbGlwcGVkIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtc3RhcnQtZGF0ZS5pcy1lbmQtZGF0ZSB7XG4gICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1oaWdobGlnaHRlZCB7XG4gICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbGl0ZXBpY2tlci1oaWdobGlnaHRlZC1kYXktY29sb3IpO1xuICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGl0ZXBpY2tlci1oaWdobGlnaHRlZC1kYXktY29sb3ItYmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuXG4gICAgICAgICAud2Vlay1udW1iZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saXRlcGlja2VyLW1vbnRoLXdlZWstbnVtYmVyLWNvbG9yKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogODUlO1xuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19mb290ZXIge1xuICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saXRlcGlja2VyLWZvb3Rlci1jb2xvci1iZyk7XG4gICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggM3B4IDNweCAwcHggdmFyKC0tbGl0ZXBpY2tlci1mb290ZXItYm94LXNoYWRvdy1jb2xvcik7XG4gICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuXG4gICAgICAgICAucHJldmlldy1kYXRlLXJhbmdlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgICAgICAgfVxuXG4gICAgICAgICAuYnV0dG9uLWNhbmNlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saXRlcGlja2VyLWJ1dHRvbi1jYW5jZWwtY29sb3ItYmcpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpdGVwaWNrZXItYnV0dG9uLWNhbmNlbC1jb2xvcik7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcHggN3B4IDRweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLSN7ICRwcmVmaXggfWJvcmRlci1yYWRpdXMpO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuXG4gICAgICAgICAuYnV0dG9uLWFwcGx5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpdGVwaWNrZXItYnV0dG9uLWFwcGx5LWNvbG9yLWJnKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saXRlcGlja2VyLWJ1dHRvbi1hcHBseS1jb2xvcik7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcHggN3B4IDRweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLSN7ICRwcmVmaXggfWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX190b29sdGlwIHtcbiAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tI3sgJHByZWZpeCB9Ym9yZGVyLXJhZGl1cyk7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saXRlcGlja2VyLXRvb2x0aXAtY29sb3ItYmcpO1xuICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gNXB4KTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgIH1cblxuICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IC00cHg7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDRweCk7XG4gICAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgdmFyKC0tbGl0ZXBpY2tlci10b29sdGlwLWNvbG9yLWJnKTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgLmxpdGVwaWNrZXIge1xuICAgICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICB9XG5cbiAgIC5saXRlcGlja2VyIC5jb250YWluZXJfX21vbnRocy5jb2x1bW5zLTIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/